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>