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>