jboynes     2004/02/12 10:31:16

  Modified:    assembly maven.xml project.xml
               modules/maven-plugin project.xml
  Added:       assembly/src/etc resolver-catalog.xml
               assembly/src/plan server-config.xml system-config.xml
  Log:
  Updated for new deployer and configuration dependency support
  
  Revision  Changes    Path
  1.6       +96 -12    incubator-geronimo/assembly/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/assembly/maven.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- maven.xml 11 Feb 2004 03:14:10 -0000      1.5
  +++ maven.xml 12 Feb 2004 18:31:16 -0000      1.6
  @@ -25,12 +25,13 @@
       <!-- ==================== -->
   
       <goal name="default">
  -        <attainGoal name="deploy:server"/>
  -        <attainGoal name="install:server"/>
  +<!--        <attainGoal name="deploy:server"/>-->
  +<!--        <attainGoal name="install:server"/>-->
  +        <attainGoal name="build"/>
       </goal>
   
       <goal name="build">
  -        <attainGoal name="default"/>
  +        <attainGoal name="assemble"/>
       </goal>
   
       <goal name="rebuild">
  @@ -39,34 +40,116 @@
       </goal>
   
       <!-- ==================================================== -->
  -    <!-- Helper to run Apache Geronimo from the current build -->
  +    <!-- Assemble server installation from generated modules  -->
       <!-- ==================================================== -->
  -    <goal name="deploy:server">
  +    <goal name="assemble">
           <!-- Copy  the runtime dependencies into lib and create a classpath 
for the server.jar file -->
           <j:set var="libDir" value="target/lib"/>
           <ant:mkdir dir="${libDir}"/>
           <j:forEach var="artifact" items="${pom.artifacts}">
               <j:set var="dependency" value="${artifact.dependency}"/>
  -            <j:if test="${dependency.getProperty('runtime') == 'true'}">
  -                <ant:echo>Processing dependency: ${dependency.id}</ant:echo>
  +            <j:if test="${dependency.getProperty('lib') == 'true'}">
                   <ant:copy todir="${libDir}" file="${artifact.path}"/>
                   <j:set var="classpath" value="${classpath} 
../lib/${artifact.name}"/>
               </j:if>
  +            <j:if test="${dependency.getProperty('server') == 'true'}">
  +                <j:set var="server.classpath" value="${server.classpath} 
../lib/${artifact.name}"/>
  +            </j:if>
  +            <j:if test="${dependency.getProperty('deploy') == 'true'}">
  +                <j:set var="deploy.classpath" value="${deploy.classpath} 
../lib/${artifact.name}"/>
  +            </j:if>
  +            <j:if test="${dependency.artifactId == 'geronimo-system'}">
  +                <j:set var="system.artifact" value="${artifact.path}"/>
  +            </j:if>
           </j:forEach>
  -        <j:set var="classpath" value="${classpath.trim()}"/>
   
  -        <!-- Create the server.jar file -->
  +        <!-- Create directory for XML schema documents -->
  +        <ant:mkdir dir="target/schema"/>
  +        <ant:copy todir="target/schema" flatten="true">
  +            <ant:fileset dir="${project.root}/specs/schema">
  +                <ant:include name="src/j2ee_1_4schema/*.xsd"/>
  +                <ant:include name="src/j2ee_1_3dtd/*.dtd"/>
  +            </ant:fileset>
  +            <ant:fileset dir="${project.root}/modules/deployment">
  +                <ant:include name="src/schema/*.xsd"/>
  +            </ant:fileset>
  +            <ant:fileset dir="src/etc"/>
  +        </ant:copy>
  +
  +        <!-- Pre-load the server's repository -->
  +        <ant:mkdir dir="target/repository"/>
  +        <ant:copy todir="target/repository">
  +            <ant:fileset dir="${maven.repo.local}">
  +                <ant:include name="geronimo/**"/>
  +                <ant:include name="geronimo-spec/**"/>
  +                <ant:include name="geronimo-j2ee/**"/>
  +                <ant:include name="log4j/jars/log4j-1.2.8.jar"/>
  +                <ant:include 
name="jetty/jars/org.mortbay.jetty-5.0.beta0.jar"/>
  +                <ant:include name="tomcat/jars/jasper-compiler-5.0.16.jar"/>
  +                <ant:include name="tomcat/jars/jasper-runtime-5.0.16.jar"/>
  +                <ant:include name="commons-el/jars/commons-el-1.0.jar"/>
  +                <ant:include name="ant/jars/ant-1.5.jar"/>
  +            </ant:fileset>
  +        </ant:copy>
  +
  +        <!-- Create the server.jar file used to run the server-->
           <ant:mkdir dir="target/bin"/>
           <ant:jar destfile="target/bin/server.jar">
               <!-- include the log4j.properties file from the kernel module -->
               <fileset file="../modules/kernel/src/conf/log4j.properties"/>
               <manifest>
                   <attribute name="Main-Class" 
value="org.apache.geronimo.Geronimo"/>
  -                <attribute name="Class-Path" value="${classpath}"/>
  +                <attribute name="Class-Path" value="${server.classpath}"/>
  +            </manifest>
  +        </ant:jar>
  +
  +        <!-- Create the deploy.jar file used to deploy things -->
  +        <ant:jar destfile="target/bin/deploy.jar">
  +            <!-- include the log4j.properties file from the kernel module -->
  +            <fileset file="../modules/kernel/src/conf/log4j.properties"/>
  +            <manifest>
  +                <attribute name="Main-Class" 
value="org.apache.geronimo.deployment.Deployer"/>
  +                <attribute name="Class-Path" value="${deploy.classpath}"/>
               </manifest>
           </ant:jar>
   
  -        <!-- build the server.car configuration -->
  +        <!-- bootstrap the service deployer -->
  +        <ant:mkdir dir="target/config"/>
  +        <ant:mkdir dir="target/config-store"/>
  +        <j:invokeStatic className="org.apache.geronimo.deployment.Bootstrap" 
method="bootstrap">
  +            <j:arg type="java.lang.String" 
value="${basedir}/target/config/service-deployer.car"/>
  +            <j:arg type="java.lang.String" 
value="${basedir}/target/config-store"/>
  +            <j:arg type="java.lang.String" value="${system.artifact}"/>
  +        </j:invokeStatic>
  +
  +        <!-- build the system configuration -->
  +        <ant:java fork="true" jar="target/bin/deploy.jar">
  +            <ant:sysproperty key="geronimo.base.dir" value="target"/>
  +            <ant:arg value="--install"/>
  +            <ant:arg value="--plan"/>
  +            <ant:arg value="src/plan/system-config.xml"/>
  +            <ant:arg value="--outfile"/>
  +            <ant:arg value="target/config/system.car"/>
  +            <ant:arg value="--store"/>
  +            <ant:arg value="target/config-store"/>
  +            <ant:arg value="--deployer"/>
  +            <ant:arg value="org/apache/geronimo/ServiceDeployer"/>
  +        </ant:java>
  +
  +        <!-- build the J2EEServer configuration -->
  +        <ant:java fork="true" jar="target/bin/deploy.jar">
  +            <ant:sysproperty key="geronimo.base.dir" value="target"/>
  +            <ant:arg value="--install"/>
  +            <ant:arg value="--plan"/>
  +            <ant:arg value="src/plan/server-config.xml"/>
  +            <ant:arg value="--outfile"/>
  +            <ant:arg value="target/config/J2EEServer.car"/>
  +            <ant:arg value="--store"/>
  +            <ant:arg value="target/config-store"/>
  +            <ant:arg value="--deployer"/>
  +            <ant:arg value="org/apache/geronimo/ServiceDeployer"/>
  +        </ant:java>
  +        <!--
           <j:set var="g.repo" value="${maven.repo.local}/geronimo/jars"/>
           <ant:mkdir dir="${basedir}/target/config"/>
           <ant:echo message="in deploy:server"/>
  @@ -75,6 +158,7 @@
               deployoutfile="target/config/server.car"
               
deployurl="${g.repo}/geronimo-security-package-DEV.jar,${g.repo}/geronimo-transaction-package-DEV.jar,${g.repo}/geronimo-connector-package-DEV.jar,${g.repo}/geronimo-jetty-package-DEV.jar,${g.repo}/geronimo-web-console-package-DEV.jar,${maven.repo.local}/concurrent/jars/concurrent-1.3.2.jar,${maven.repo.local}/xerces/jars/xercesImpl-2.6.0.jar,${maven.repo.local}/xml-apis/jars/xml-apis-1.0.b2.jar,${maven.repo.local}/xml-commons-resolver/jars/xml-commons-resolver-1.1.jar,${maven.repo.local}/geronimo/jars/geronimo-core-${pom.currentVersion}.jar,${maven.repo.local}/geronimo/jars/geronimo-deployment-${pom.currentVersion}.jar,${maven.repo.local}/geronimo/jars/geronimo-common-${pom.currentVersion}.jar,${maven.repo.local}/geronimo/jars/log4j-service-${pom.currentVersion}.jar,${maven.repo.local}/geronimo/jars/server-info-${pom.currentVersion}.jar"/>
           <ant:echo message="did deploy:server"/>
  +-->
       </goal>
   
       <goal name="install:server">
  
  
  
  1.4       +65 -13    incubator-geronimo/assembly/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/assembly/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml       11 Feb 2004 03:14:10 -0000      1.3
  +++ project.xml       12 Feb 2004 18:31:16 -0000      1.4
  @@ -30,18 +30,53 @@
               <artifactId>geronimo-kernel</artifactId>
               <version>DEV</version>
               <properties>
  -                <runtime>true</runtime>
  +                <lib>true</lib>
  +                <server>true</server>
  +                <deploy>true</deploy>
                   <module>true</module>
               </properties>
           </dependency>
   
           <dependency>
  +            <groupId>geronimo</groupId>
  +            <artifactId>geronimo-deployment</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +                <lib>true</lib>
  +                <deploy>true</deploy>
  +                <module>true</module>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
  +            <groupId>geronimo</groupId>
  +            <artifactId>geronimo-common</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +                <lib>true</lib>
  +                <deploy>true</deploy>
  +                <module>true</module>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
  +            <groupId>geronimo</groupId>
  +            <artifactId>geronimo-system</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
               <groupId>cglib</groupId>
               <artifactId>cglib-full</artifactId>
               <version>2.0-RC2</version>
               <url>http://cglib.sf.net/</url>
               <properties>
  -                <runtime>true</runtime>
  +                <lib>true</lib>
  +                <server>true</server>
  +                <deploy>true</deploy>
               </properties>
           </dependency>
   
  @@ -50,26 +85,43 @@
               <version>1.0.3</version>
               <url>http://jakarta.apache.org/commons/logging/</url>
               <properties>
  -                <runtime>true</runtime>
  +                <lib>true</lib>
  +                <server>true</server>
  +                <deploy>true</deploy>
               </properties>
           </dependency>
   
  -<!--        <dependency>-->
  -<!--            <id>log4j</id>-->
  -<!--            <version>1.2.8</version>-->
  -<!--            <url>http://jakarta.apache.org/log4j</url>-->
  -<!--            <properties>-->
  -<!--                <runtime>true</runtime>-->
  -<!--            </properties>-->
  -<!--        </dependency>-->
  +        <dependency>
  +            <groupId>commons-cli</groupId>
  +            <artifactId>commons-cli</artifactId>
  +            <version>1.0</version>
  +            <url>http://jakarta.apache.org/commons/cli/</url>
  +            <properties>
  +                <lib>true</lib>
  +                <deploy>true</deploy>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
   
           <dependency>
               <id>mx4j</id>
               <version>SNAPSHOT</version>
               <properties>
  -                <runtime>true</runtime>
  +                <lib>true</lib>
  +                <server>true</server>
  +                <deploy>true</deploy>
               </properties>
           </dependency>
   
  +        <dependency>
  +            <groupId>xmlbeans</groupId>
  +            <artifactId>xbean-apache</artifactId>
  +            <version>1.0-DEV</version>
  +            <properties>
  +                <lib>true</lib>
  +                <deploy>true</deploy>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
       </dependencies>
   </project>
  
  
  
  1.1                  incubator-geronimo/assembly/src/etc/resolver-catalog.xml
  
  Index: resolver-catalog.xml
  ===================================================================
  <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  
      <public publicId="http://java.sun.com/xml/ns/j2ee";
          uri="j2ee_1_4.xsd"/>
  
      <public publicId="http://www.w3.org/XML/1998/namespace";
          uri="xml.xsd"/>
  
      <system 
systemId="http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd";
          uri="j2ee_web_services_client_1_1.xsd"/>
  
  </catalog>
  
  
  1.1                  incubator-geronimo/assembly/src/plan/server-config.xml
  
  Index: server-config.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!--
  Configuration for the main ring of a Geronimo server.
  
  This configuration should contain those services normally provided
  by the server.
  -->
  <configuration
      xmlns="http://geronimo.apache.org/xml/ns/deployment";
      configId="org/apache/geronimo/Server"
      parentId="org/apache/geronimo/System"
      >
  
      <dependency>
          <uri>geronimo-j2ee/jars/geronimo-spec-j2ee-DEV.jar</uri>
      </dependency>
      <dependency>
          <uri>geronimo/jars/geronimo-jetty-DEV.jar</uri>
      </dependency>
  
      <!-- todo all the dependencies below here should be inherited from the 
geronimo-service.xml files -->
      <dependency>
          <uri>jetty/jars/org.mortbay.jetty-5.0.beta0.jar</uri>
      </dependency>
      <dependency>
          <uri>tomcat/jars/jasper-compiler-5.0.16.jar</uri>
      </dependency>
      <dependency>
          <uri>tomcat/jars/jasper-runtime-5.0.16.jar</uri>
      </dependency>
      <dependency>
          <uri>commons-el/jars/commons-el-1.0.jar</uri>
      </dependency>
      <dependency>
          <uri>ant/jars/ant-1.5.jar</uri>
      </dependency>
  
      <gbean name="geronimo.server:type=WebContainer,container=Jetty" 
class="org.apache.geronimo.jetty.JettyContainerImpl">
      </gbean>
  
      <gbean name="geronimo.server:type=WebConnector,container=Jetty,port=8080" 
class="org.apache.geronimo.jetty.connector.HTTPConnector">
          <attribute name="Port" type="int">8080</attribute>
          <reference 
name="JettyContainer">geronimo.server:type=WebContainer,container=Jetty</reference>
  <!--        <attribute name="MaxConnections" type="int">10</attribute>-->
  <!--        <attribute name="MaxIdleTime" type="int">10</attribute>-->
      </gbean>
  
  </configuration>
  
  
  1.1                  incubator-geronimo/assembly/src/plan/system-config.xml
  
  Index: system-config.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!--
  Configuration for the innermost ring of a Geronimo server.
  This configuration should only contain critical services needed to
  run other Configurations - for example, the ServerInfo, Logging
  and Repository services used to load them.
  
  This configuration should *NOT* be used to provide server or application
  specific services - those should be provided by children.
  -->
  <configuration
      xmlns="http://geronimo.apache.org/xml/ns/deployment";
      configId="org/apache/geronimo/System"
      >
  
      <include>
          <uri>geronimo/jars/geronimo-system-DEV.jar</uri>
      </include>
      <include>
          <uri>log4j/jars/log4j-1.2.8.jar</uri>
      </include>
  
      <!-- ServerInfo service -->
      <gbean name="geronimo.system:role=ServerInfo" 
class="org.apache.geronimo.system.serverinfo.ServerInfo">
      </gbean>
  
      <!-- Logging service -->
      <gbean name="geronimo.system:role=Logger" 
class="org.apache.geronimo.system.logging.log4j.Log4jService">
          <attribute name="RefreshPeriod" type="int">60</attribute>
          <attribute name="ConfigurationURL" 
type="java.net.URL">log4j.xml</attribute>
          <reference 
name="ServerInfo">geronimo.system:role=ServerInfo</reference>
      </gbean>
  
      <gbean name="geronimo.system:role=LogAppender,type=ConsoleAppender" 
class="org.apache.geronimo.system.logging.log4j.appender.ConsoleAppenderService">
          <attribute name="Threshold" type="java.lang.String">INFO</attribute>
          <attribute name="LayoutPattern" type="java.lang.String">%d{ABSOLUTE} 
%-5p [%c{1}] %m%n</attribute>
          <attribute name="Target" 
type="java.lang.String">System.out</attribute>
      </gbean>
  
      <gbean 
name="geronimo.system:role=LogAppender,type=DailyRollingFileAppender" 
class="org.apache.geronimo.system.logging.log4j.appender.RollingFileAppenderService">
          <attribute name="Threshold" type="java.lang.String">DEBUG</attribute>
          <attribute name="LayoutPattern" type="java.lang.String">%d{ABSOLUTE} 
%-5p [%c{1}] %m%n</attribute>
          <attribute name="Append" type="boolean">true</attribute>
          <attribute name="File" 
type="java.lang.String">log/geronimo.log</attribute>
          <attribute name="BufferedIO" type="boolean">false</attribute>
          <attribute name="BufferedSize" type="int">8192</attribute>
          <attribute name="MaxBackupIndex" type="int">1</attribute>
          <attribute name="MaxFileSize" type="java.lang.String">10MB</attribute>
          <reference 
name="ServerInfo">geronimo.system:role=ServerInfo</reference>
      </gbean>
  
      <!-- Repository -->
      <gbean name="geronimo.system:role=Repository" 
class="org.apache.geronimo.system.repository.ReadOnlyRepository">
          <attribute name="Root" type="java.net.URI">repository/</attribute>
          <reference 
name="ServerInfo">geronimo.system:role=ServerInfo</reference>
      </gbean>
  </configuration>
  
  
  1.4       +37 -1     incubator-geronimo/modules/maven-plugin/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/maven-plugin/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml       28 Jan 2004 23:03:22 -0000      1.3
  +++ project.xml       12 Feb 2004 18:31:16 -0000      1.4
  @@ -51,7 +51,26 @@
                   <classloader>root</classloader>
               </properties>
           </dependency>
  -<!-- TODO remove this stupid dependency -->
  +
  +        <dependency>
  +            <groupId>geronimo</groupId>
  +            <artifactId>geronimo-system</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
  +            <groupId>geronimo-spec</groupId>
  +            <artifactId>geronimo-spec-j2ee-deployment</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
  +
  +        <!-- TODO remove this stupid dependency -->
           <dependency>
               <groupId>geronimo</groupId>
               <artifactId>geronimo-core</artifactId>
  @@ -62,6 +81,15 @@
           </dependency>
   
           <dependency>
  +            <id>commons-cli</id>
  +            <version>1.0</version>
  +            <url>http://jakarta.apache.org/commons/cli/</url>
  +            <properties>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
               <id>commons-logging</id>
               <version>1.0.3</version>
               <url>http://jakarta.apache.org/commons/logging/</url>
  @@ -97,6 +125,14 @@
               </properties>
           </dependency>
   
  +        <dependency>
  +            <groupId>xmlbeans</groupId>
  +            <artifactId>xbean-apache</artifactId>
  +            <version>1.0-DEV</version>
  +            <properties>
  +                <classloader>root</classloader>
  +            </properties>
  +        </dependency>
       </dependencies>
   
       <build>
  
  
  

Reply via email to