changeset 1210:cbe65c2680e7

Use distribution/target/image to place libraries and binaries Reviewed-by: neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-August/007743.html
author Omair Majid <omajid@redhat.com>
date Wed, 07 Aug 2013 12:19:11 -0400
parents d1f55aa2b083
children 8806071b075a
files README distribution/pom.xml integration-tests/pom.xml integration-tests/src/test/java/com/redhat/thermostat/itest/IntegrationTest.java pom.xml web/war/src/main/webapp/WEB-INF/web.xml
diffstat 6 files changed, 70 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/README	Mon Aug 05 15:11:17 2013 +0200
+++ b/README	Wed Aug 07 12:19:11 2013 -0400
@@ -82,7 +82,7 @@
    
 2.1.2.
    The resulting Thermostat system can now be found under the directory
-   distribution/target.
+   distribution/target/image.
            
 --------------------------------------------------------------------------------
 2.2. BUILDING THERMOSTAT ECLIPSE (optional)
@@ -110,7 +110,7 @@
 --------------------------------------------------------------------------------
 3.1. RUNNING THERMOSTAT CORE
 
-  cd into distribution/target directory just created
+  cd into distribution/target/image directory just created
 
   To start the agent and the db:
   bin/thermostat service
--- a/distribution/pom.xml	Mon Aug 05 15:11:17 2013 +0200
+++ b/distribution/pom.xml	Wed Aug 07 12:19:11 2013 -0400
@@ -89,7 +89,7 @@
               <descriptors>
                 <descriptor>assembly/core-assembly.xml</descriptor>
               </descriptors>
-              <finalName>libs</finalName>
+              <finalName>image/libs</finalName>
               <attach>false</attach>
             </configuration>
             <phase>package</phase>
@@ -103,7 +103,7 @@
               <descriptors>
                 <descriptor>assembly/all-plugin-assembly.xml</descriptor>
               </descriptors>
-              <finalName>plugins</finalName>
+              <finalName>image/plugins</finalName>
               <attach>false</attach>
             </configuration>
             <phase>package</phase>
@@ -133,48 +133,27 @@
                 </resource>
                 <resource>
                   <directory>scripts</directory>
-                  <targetPath>bin</targetPath>
+                  <targetPath>image/bin</targetPath>
                   <filtering>true</filtering>
                 </resource>
                 <!-- systemd service unit files -->
                 <resource>
                   <directory>systemd</directory>
-                  <targetPath>systemd</targetPath>
+                  <targetPath/>
                   <filtering>true</filtering>
                 </resource>
                 <resource>
                   <directory>config</directory>
-                  <targetPath>etc</targetPath>
+                  <targetPath>image/etc</targetPath>
                   <filtering>true</filtering>
                   <includes>
                     <include>agent.properties</include>
                     <include>agent.auth</include>
-                  </includes>
-                </resource>
-                <resource>
-                  <directory>config</directory>
-                  <targetPath>etc</targetPath>
-                  <filtering>true</filtering>
-                  <includes>
                     <include>ssl.properties</include>
                     <include>thermostat-users.properties</include>
                     <include>thermostat-roles.properties</include>
                     <include>thermostat_jaas.conf</include>
-                  </includes>
-                </resource>
-                <resource>
-                  <directory>config</directory>
-                  <targetPath>etc</targetPath>
-                  <filtering>true</filtering>
-                  <includes>
                     <include>db.properties</include>
-                  </includes>
-                </resource>
-                <resource>
-                  <directory>config</directory>
-                  <targetPath>etc</targetPath>
-                  <filtering>true</filtering>
-                  <includes>
                     <include>logging.properties</include>
                     <include>osgi-export.properties</include>
                     <include>commands/*.properties</include>
@@ -200,7 +179,7 @@
             <phase>prepare-package</phase>
             <configuration>
               <target>
-                <chmod file="${project.build.directory}/bin/*" perm="755" />
+                <chmod file="${project.build.directory}/image/bin/*" perm="755" />
                 <chmod file="${project.build.directory}/tools/*" perm="755" />
               </target>
             </configuration>
@@ -213,28 +192,15 @@
             <phase>prepare-package</phase>
             <configuration>
               <target>
-                <mkdir dir="${project.build.directory}/etc" />
-                <mkdir dir="${project.build.directory}/etc/commands" />
-                <mkdir dir="${project.build.directory}/storage" />
-                <mkdir dir="${project.build.directory}/storage/db" />
-                <mkdir dir="${project.build.directory}/storage/logs" />
-                <mkdir dir="${project.build.directory}/storage/run" />
-                <mkdir dir="${project.build.directory}/agent/logs" />
-                <mkdir dir="${project.build.directory}/agent/run" />
-                <mkdir dir="${project.build.directory}/client" />
-                <mkdir dir="${project.build.directory}/osgi-cache" />
-                <mkdir dir="${project.build.directory}/libs/native" />
-                <mkdir dir="${project.build.directory}/plugins/" />
-                
-                <!--  also copy the native libraries -->
+                <!--  copy the native libraries -->
                 <copy file="${main.basedir}/keyring/target/libGnomeKeyringWrapper.so"
-                      todir="${project.build.directory}/libs/native" />
+                      todir="${project.build.directory}/image/libs/native" />
                 <copy file="${main.basedir}/agent/core/target/libHostNameWrapper.so"
-                      todir="${project.build.directory}/libs/native" />
+                      todir="${project.build.directory}/image/libs/native" />
                 <copy file="${main.basedir}/agent/core/target/libUserNameUtilWrapper.so"
-                      todir="${project.build.directory}/libs/native" />
+                      todir="${project.build.directory}/image/libs/native" />
                 <copy file="${main.basedir}/laf-utils/target/libGTKThemeUtils.so"
-                      todir="${project.build.directory}/libs/native" />                      
+                      todir="${project.build.directory}/image/libs/native" />
               </target>
             </configuration>
             <goals>
@@ -246,58 +212,58 @@
             <phase>prepare-package</phase>
             <configuration>
               <target>
-                <symlink link="${project.build.directory}/libs/commons-codec.jar"
-                         resource="${project.build.directory}/libs/commons-codec-1.7.jar" />
-                <symlink link="${project.build.directory}/libs/netty.jar"
-                         resource="${project.build.directory}/libs/netty-3.2.4.Final.jar" />
-                <symlink link="${project.build.directory}/libs/jline2.jar"
-                         resource="${project.build.directory}/libs/jline-2.9.jar" />
-                <symlink link="${project.build.directory}/libs/mongo.jar"
-                         resource="${project.build.directory}/libs/mongo-java-driver-2.7.3.jar" />
-                <symlink link="${project.build.directory}/libs/commons-cli.jar"
-                         resource="${project.build.directory}/libs/commons-cli-1.2.jar" />
-                <symlink link="${project.build.directory}/libs/commons-beanutils.jar"
-                         resource="${project.build.directory}/libs/commons-beanutils-1.8.3.jar" />
-                <symlink link="${project.build.directory}/libs/commons-collections.jar"
-                         resource="${project.build.directory}/libs/commons-collections-3.2.1.jar" />
-                <symlink link="${project.build.directory}/libs/commons-logging.jar"
-                         resource="${project.build.directory}/libs/commons-logging-1.1.3.jar" />
-                <symlink link="${project.build.directory}/libs/lucene.jar"
-                         resource="${project.build.directory}/libs/org.apache.servicemix.bundles.lucene-3.6.0_1.jar" />
-                <symlink link="${project.build.directory}/libs/gson.jar"
-                         resource="${project.build.directory}/libs/gson-2.2.2.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-continuation.jar"
-                         resource="${project.build.directory}/libs/jetty-continuation-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-plus.jar"
-                         resource="${project.build.directory}/libs/jetty-plus-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-jndi.jar"
-                         resource="${project.build.directory}/libs/jetty-jndi-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-http.jar"
-                         resource="${project.build.directory}/libs/jetty-http-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-io.jar"
-                         resource="${project.build.directory}/libs/jetty-io-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-security.jar"
-                         resource="${project.build.directory}/libs/jetty-security-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-server.jar"
-                         resource="${project.build.directory}/libs/jetty-server-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-servlet.jar"
-                         resource="${project.build.directory}/libs/jetty-servlet-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-util.jar"
-                         resource="${project.build.directory}/libs/jetty-util-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-webapp.jar"
-                         resource="${project.build.directory}/libs/jetty-webapp-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/jetty-xml.jar"
-                         resource="${project.build.directory}/libs/jetty-xml-8.1.5.v20120716.jar" />
-                <symlink link="${project.build.directory}/libs/javax-servlet.jar"
-                         resource="${project.build.directory}/libs/javax.servlet-3.0.0.v201112011016.jar" />
-                <symlink link="${project.build.directory}/libs/commons-io.jar"
-                         resource="${project.build.directory}/libs/commons-io-2.4.jar" />
-                <symlink link="${project.build.directory}/libs/commons-fileupload.jar"
-                         resource="${project.build.directory}/libs/commons-fileupload-1.2.2.jar" />
-                <symlink link="${project.build.directory}/libs/httpcomponents-core.jar"
-                         resource="${project.build.directory}/libs/httpcore-osgi-4.1.2.jar" />
-                <symlink link="${project.build.directory}/libs/httpcomponents-client.jar"
-                         resource="${project.build.directory}/libs/httpclient-osgi-4.1.2.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-codec.jar"
+                         resource="${project.build.directory}/image/libs/commons-codec-1.7.jar" />
+                <symlink link="${project.build.directory}/image/libs/netty.jar"
+                         resource="${project.build.directory}/image/libs/netty-3.2.4.Final.jar" />
+                <symlink link="${project.build.directory}/image/libs/jline2.jar"
+                         resource="${project.build.directory}/image/libs/jline-2.9.jar" />
+                <symlink link="${project.build.directory}/image/libs/mongo.jar"
+                         resource="${project.build.directory}/image/libs/mongo-java-driver-2.7.3.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-cli.jar"
+                         resource="${project.build.directory}/image/libs/commons-cli-1.2.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-beanutils.jar"
+                         resource="${project.build.directory}/image/libs/commons-beanutils-1.8.3.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-collections.jar"
+                         resource="${project.build.directory}/image/libs/commons-collections-3.2.1.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-logging.jar"
+                         resource="${project.build.directory}/image/libs/commons-logging-1.1.3.jar" />
+                <symlink link="${project.build.directory}/image/libs/lucene.jar"
+                         resource="${project.build.directory}/image/libs/org.apache.servicemix.bundles.lucene-3.6.0_1.jar" />
+                <symlink link="${project.build.directory}/image/libs/gson.jar"
+                         resource="${project.build.directory}/image/libs/gson-2.2.2.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-continuation.jar"
+                         resource="${project.build.directory}/image/libs/jetty-continuation-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-plus.jar"
+                         resource="${project.build.directory}/image/libs/jetty-plus-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-jndi.jar"
+                         resource="${project.build.directory}/image/libs/jetty-jndi-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-http.jar"
+                         resource="${project.build.directory}/image/libs/jetty-http-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-io.jar"
+                         resource="${project.build.directory}/image/libs/jetty-io-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-security.jar"
+                         resource="${project.build.directory}/image/libs/jetty-security-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-server.jar"
+                         resource="${project.build.directory}/image/libs/jetty-server-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-servlet.jar"
+                         resource="${project.build.directory}/image/libs/jetty-servlet-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-util.jar"
+                         resource="${project.build.directory}/image/libs/jetty-util-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-webapp.jar"
+                         resource="${project.build.directory}/image/libs/jetty-webapp-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/jetty-xml.jar"
+                         resource="${project.build.directory}/image/libs/jetty-xml-8.1.5.v20120716.jar" />
+                <symlink link="${project.build.directory}/image/libs/javax-servlet.jar"
+                         resource="${project.build.directory}/image/libs/javax.servlet-3.0.0.v201112011016.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-io.jar"
+                         resource="${project.build.directory}/image/libs/commons-io-2.4.jar" />
+                <symlink link="${project.build.directory}/image/libs/commons-fileupload.jar"
+                         resource="${project.build.directory}/image/libs/commons-fileupload-1.2.2.jar" />
+                <symlink link="${project.build.directory}/image/libs/httpcomponents-core.jar"
+                         resource="${project.build.directory}/image/libs/httpcore-osgi-4.1.2.jar" />
+                <symlink link="${project.build.directory}/image/libs/httpcomponents-client.jar"
+                         resource="${project.build.directory}/image/libs/httpclient-osgi-4.1.2.jar" />
               </target>
             </configuration>
             <goals>
--- a/integration-tests/pom.xml	Mon Aug 05 15:11:17 2013 +0200
+++ b/integration-tests/pom.xml	Wed Aug 07 12:19:11 2013 -0400
@@ -52,7 +52,6 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <main.basedir>${project.basedir}/..</main.basedir>
   </properties>
 
   <build>
@@ -86,7 +85,7 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <argLine>-Djava.security.auth.login.config=${main.basedir}/distribution/target/etc/thermostat_jaas.conf ${coverageAgent}</argLine>
+          <argLine>-Djava.security.auth.login.config=${thermostat.home}/etc/thermostat_jaas.conf ${coverageAgent}</argLine>
           <skip>true</skip>
         </configuration>
         <executions>
--- a/integration-tests/src/test/java/com/redhat/thermostat/itest/IntegrationTest.java	Mon Aug 05 15:11:17 2013 +0200
+++ b/integration-tests/src/test/java/com/redhat/thermostat/itest/IntegrationTest.java	Wed Aug 07 12:19:11 2013 -0400
@@ -86,11 +86,11 @@
     /* This is a mirror of paths from c.r.t.shared.Configuration */
 
     private static String getThermostatExecutable() {
-        return "../distribution/target/bin/thermostat";
+        return getThermostatHome() + "/bin/thermostat";
     }
     
     public static String getThermostatHome() {
-        return "../distribution/target";
+        return "../distribution/target/image";
     }
 
     public static String getPluginHome() {
--- a/pom.xml	Mon Aug 05 15:11:17 2013 +0200
+++ b/pom.xml	Wed Aug 07 12:19:11 2013 -0400
@@ -58,7 +58,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <thermostat.build.directory>target</thermostat.build.directory>
     <thermostat.java.version>1.7</thermostat.java.version>
-    <thermostat.home>${project.build.directory}</thermostat.home>
+    <thermostat.home>${user.dir}/distribution/target/image/</thermostat.home>
     <!-- used in systemd service files. Set this to the username thermostat should run
          under when run via systemd. -->
     <thermostat.system.user>thermostat</thermostat.system.user>
--- a/web/war/src/main/webapp/WEB-INF/web.xml	Mon Aug 05 15:11:17 2013 +0200
+++ b/web/war/src/main/webapp/WEB-INF/web.xml	Wed Aug 07 12:19:11 2013 -0400
@@ -71,7 +71,7 @@
   <!-- THERMOSTAT_HOME is set via the listener below -->
   <context-param>
     <param-name>THERMOSTAT_HOME</param-name>
-    <param-value>${project.build.directory}/../../../distribution/target/</param-value>
+    <param-value>${thermostat.home}</param-value>
   </context-param>
   
   <listener>