farra 2004/03/08 08:00:23 Modified: fortress/examples maven.xml project.xml fortress/examples/src/java/org/apache/avalon/fortress/examples/swing Main.java fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer Main.java Added: fortress/examples README.txt fortress/examples/src/test test.txt Log: Fixed the examples. They should now build _AND_run. Project.xml and maven.xml are now independent of the avalon buildsystem. Disabled instrumentation since we need altrmi binaries Revision Changes Path 1.4 +68 -50 avalon/fortress/examples/maven.xml Index: maven.xml =================================================================== RCS file: /home/cvs/avalon/fortress/examples/maven.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- maven.xml 17 Jun 2003 17:28:38 -0000 1.3 +++ maven.xml 8 Mar 2004 16:00:22 -0000 1.4 @@ -7,42 +7,19 @@ <!-- include the avalon-wide custom project properties --> <property file="${basedir}/project.properties"/> - <property file="${basedir}/../project.properties"/> - <property file="${basedir}/../../project.properties"/> - <property file="${basedir}/../../../project.properties"/> - <property file="${basedir}/../../../../project.properties"/> - - <goal name="check"> - <!-- friendly error in case file is not available --> - <ant:available file="${avalon.buildsystem}/maven-common.xml" - property="buildsystem.available"/> - <ant:fail unless="buildsystem.available"> - =================================================================== - BUILD SYSTEM FAILURE! - =================================================================== - - a required file, ${avalon.buildsystem}/maven-common.xml, cannot be - found. Try setting the avalon.buildsystem property in - project.properties to the correct location. - </ant:fail> - </goal> - - <!-- include the avalon-wide custom goal decorators from maven-common.xml --> - <j:import file="${avalon.buildsystem}/maven-common.xml" inherit="true"/> - <goal name="fortress:generate-meta" - prereqs="avalon:init"> + + <preGoal name="jar:jar"> <ant:taskdef name="collect-meta" classname="org.apache.avalon.fortress.tools.ComponentMetaInfoCollector"> - <ant:classpath> <ant:path refid="maven.dependency.classpath"/> - <ant:pathelement path="${java.build.dir}"/> + <ant:pathelement path="${maven.build.dir}/classes"/> </ant:classpath> </ant:taskdef> - <collect-meta destdir="${java.build.dir}"> - <fileset dir="${java.src.dir}"/> + <collect-meta destdir="${maven.build.dir}/classes"> + <fileset dir="src/java"/> </collect-meta> <ant:copy todir="${java.build.dir}"> @@ -51,35 +28,21 @@ <ant:exclude name="**/package.html"/> </ant:fileset> </ant:copy> - </goal> - - <goal name="webapp" - prereqs="java:jar"> - - <mkdir dir="${maven.build.dir}/servlet"/> - <mkdir dir="${maven.build.dir}/servlet/WEB-INF"/> - <mkdir dir="${maven.build.dir}/servlet/WEB-INF/lib"/> - - <deploy:copy-deps - todir="${maven.build.dir}/servlet/WEB-INF/lib" - excludes="servletapi,junit,avalon-fortress-tools"/> + </preGoal> - <copy todir="${build.dir}/servlet/WEB-INF" - file="${maven.src.dir}/conf/web.xml"/> - </goal> - <postGoal name="java:jar"> + <postGoal name="jar:jar"> <jar jarfile="${maven.build.dir}/${maven.final.name}-viewer.jar" basedir="${maven.build.dir}/classes" - includes="**"> + includes="**/*.*"> <manifest> <attribute name="Main-Class" value="org.apache.avalon.fortress.examples.viewer.Main"/> <attribute name="Class-Path" value="logkit-1.2.jar avalon-framework-4.1.4.jar avalon-fortress-complete-1.1-dev.jar concurrent-1.3.1.jar commons-collections-2.1.jar"/> </manifest> </jar> - <jar jarfile="${lib.dir}/${name}-swing.jar" - basedir="${build.classes.dir}" + <jar jarfile="${maven.build.dir}/${maven.final.name}-swing.jar" + basedir="${maven.build.dir}/classes" includes="**/*.*"> <manifest> <attribute name="Main-Class" value="org.apache.avalon.fortress.examples.swing.Main"/> @@ -87,14 +50,69 @@ </manifest> </jar> - <jar jarfile="${lib.dir}/${name}-extended.jar" - basedir="${build.classes.dir}" + <jar jarfile="${maven.build.dir}/${maven.final.name}-extended.jar" + basedir="${maven.build.dir}/classes" includes="**/*.*"> <manifest> <attribute name="Main-Class" value="org.apache.avalon.fortress.examples.extended.Main"/> <attribute name="Class-Path" value="logkit-1.2.jar avalon-framework-4.1.4.jar avalon-fortress-complete-1.1-dev.jar concurrent-1.3.1.jar commons-collections-2.1.jar"/> </manifest> </jar> - </postGoal> + + + <!-- build webapp --> + + <mkdir dir="${maven.build.dir}/servlet"/> + <mkdir dir="${maven.build.dir}/servlet/WEB-INF"/> + <mkdir dir="${maven.build.dir}/servlet/WEB-INF/lib"/> + + <deploy:copy-deps + todir="${maven.build.dir}/servlet/WEB-INF/lib" + excludes="servletapi,junit,avalon-fortress-tools"/> + + <copy todir="${build.dir}/servlet/WEB-INF" + file="${maven.src.dir}/conf/web.xml"/> + + <jar jarfile="${maven.build.dir}/${maven.final.name}-servlet.war" + basedir="${maven.build.dir}/servlet" + includes="**/*.*" /> + </postGoal> + + <goal name="run:swing"> + <attainGoal name="jar:jar"/> + <java classname="org.apache.avalon.fortress.examples.swing.Main" fork="true" failonerror="true"> + <classpath> + <pathelement path="${maven.build.dir}/${maven.final.name}.jar"/> + <j:forEach var="dep" items="${pom.dependencies}"> + <pathelement path="${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}"/> + </j:forEach> + </classpath> + </java> + </goal> + + <goal name="run:viewer"> + <attainGoal name="jar:jar"/> + <java classname="org.apache.avalon.fortress.examples.viewer.Main" fork="true" failonerror="true"> + <classpath> + <pathelement path="${maven.build.dir}/${maven.final.name}.jar"/> + <j:forEach var="dep" items="${pom.dependencies}"> + <pathelement path="${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}"/> + </j:forEach> + </classpath> + </java> + </goal> + + <goal name="run:extended"> + <attainGoal name="jar:jar"/> + <java classname="org.apache.avalon.fortress.examples.extended.Main" fork="true" failonerror="true"> + <classpath> + <pathelement path="${maven.build.dir}/${maven.final.name}.jar"/> + <j:forEach var="dep" items="${pom.dependencies}"> + <pathelement path="${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}"/> + </j:forEach> + </classpath> + </java> + </goal> + </project> 1.4 +96 -55 avalon/fortress/examples/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/avalon/fortress/examples/project.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- project.xml 8 Mar 2004 14:47:11 -0000 1.3 +++ project.xml 8 Mar 2004 16:00:22 -0000 1.4 @@ -2,12 +2,12 @@ <project> - <extend>${avalon.buildsystem}/project-common.xml</extend> + <pomVersion>3</pomVersion> <name>Avalon-Fortress-Examples</name> <id>avalon-fortress-examples</id> <groupId>avalon-fortress</groupId> - <currentVersion>1.0-dev</currentVersion> + <currentVersion>1.1</currentVersion> <inceptionYear>2003</inceptionYear> <shortDescription>Avalon-Fortress-Examples component</shortDescription> <description> @@ -15,6 +15,68 @@ usage. </description> + <organization> + <name>The Apache Software Foundation</name> + <url>http://www.apache.org/</url> + </organization> + <inceptionYear>1997</inceptionYear> + <shortDescription>Apache Server Framework</shortDescription> + <description> + The Avalon project is an effort to create, design, develop and + maintain a common framework and set of components for + applications written using the Java language. + </description> + + <package>org.apache.avalon</package> + <gumpRepositoryId>avalon</gumpRepositoryId> + + <url>http://avalon.apache.org/</url> + <issueTrackingUrl>http://issues.apache.org/jira</issueTrackingUrl> + + <repository> + <connection>scm:cvs:pserver:[EMAIL PROTECTED]:/home/cvspublic:avalon</connection> + <url>http://cvs.apache.org/viewcvs/avalon/</url> + </repository> + + <mailingLists> + <mailingList> + <name>Avalon User List</name> + <subscribe> + [EMAIL PROTECTED] + </subscribe> + <unsubscribe> + [EMAIL PROTECTED] + </unsubscribe> + <archive> + http://marc.theaimsgroup.com/?l=avalon-users + </archive> + </mailingList> + <mailingList> + <name>Avalon Development List</name> + <subscribe> + [EMAIL PROTECTED] + </subscribe> + <unsubscribe> + [EMAIL PROTECTED] + </unsubscribe> + <archive> + http://marc.theaimsgroup.com/?l=avalon-dev + </archive> + </mailingList> + <mailingList> + <name>Avalon CVS List</name> + <subscribe> + [EMAIL PROTECTED] + </subscribe> + <unsubscribe> + [EMAIL PROTECTED] + </unsubscribe> + <archive> + http://nagoya.apache.org/eyebrowse/SummarizeList?listId=8 + </archive> + </mailingList> + </mailingLists> + <dependencies> <dependency> <id>servletapi</id> @@ -24,8 +86,7 @@ <!-- dependencies for container --> <dependency> <id>avalon-framework</id> - <version>4.1.4</version> - <groupId>framework</groupId> + <version>4.1.5</version> </dependency> <dependency> <id>logkit</id> @@ -39,60 +100,16 @@ <id>concurrent</id> <version>1.3.1</version> </dependency> - <dependency> - <id>excalibur-instrument</id> - <version>1.0</version> - </dependency> - <dependency> - <id>excalibur-instrument-manager</id> - <version>1.0</version> - <groupId>excalibur-instrument</groupId> - </dependency> - <dependency> - <id>excalibur-instrument-manager-interfaces</id> - <version>1.0</version> - <groupId>excalibur-instrument</groupId> - </dependency> - <dependency> - <id>excalibur-event</id> - <version>1.0.3</version> - </dependency> - <dependency> - <id>bcel</id> - <version>5.1</version> - </dependency> - <dependency> - <id>excalibur-logger</id> - <version>1.0.1</version> - </dependency> - <dependency> - <id>excalibur-sourceresolve</id> - <version>1.0.1</version> - </dependency> - <dependency> - <id>excalibur-lifecycle</id> - <version>1.0</version> - </dependency> - - <!-- test --> - <dependency> - <id>excalibur-i18n</id> - <version>1.0</version> - </dependency> - <dependency> - <id>xalan</id> - <version>2.5.1</version> - </dependency> - <!-- circular! --> + <!-- fortress dependencies --> <dependency> <id>avalon-fortress-tools</id> - <version>1.1</version> + <version>1.1</version> <groupId>avalon-fortress</groupId> </dependency> <dependency> <id>avalon-fortress-container</id> - <version>1.1</version> + <version>complete-1.1</version> <groupId>avalon-fortress</groupId> </dependency> @@ -105,11 +122,35 @@ <id>ant</id> <version>1.5.1</version> </dependency> - <dependency> - <id>qdox</id> - <version>1.2</version> - </dependency> </dependencies> + <build> + <nagEmailAddress>[EMAIL PROTECTED]</nagEmailAddress> + <sourceDirectory>src/java</sourceDirectory> + <unitTestSourceDirectory>src/test</unitTestSourceDirectory> + + <!-- Unit test cases --> + <unitTest> + <includes> + <include>**/*TestCase.java</include> + </includes> + <excludes> + <exclude>**/Abstract*</exclude> + </excludes> + </unitTest> + + <!-- Resources that are packaged up inside the JAR file --> + <resources> + <resource> + <directory>${basedir}/src/java</directory> + <includes> + <include>**/*.xconf</include> + <include>**/*.xlog</include> + <include>**/*.instruments</include> + </includes> + </resource> + </resources> + + </build> </project> 1.1 avalon/fortress/examples/README.txt Index: README.txt =================================================================== APACHE AVALON FORTRESS EXAMPLES To Build: You will need Apache Maven to run these examples [http://maven.apache.org] 1. Move to the root directory (fortress/examples) 2. Run "maven jar:jar" to build 3. This will build the following target/avalon-fortress-examples-1.1-extended.jar target/avalon-fortress-examples-1.1-swing.jar target/avalon-fortress-examples-1.1-viewer.jar target/avalon-fortress-examples-1.1.jar target/avalon-fortress-examples-1.1-servlet.war The Examples: 1. Extended Container Main Class: org.apache.avalon.fortress.examples.extended.Main Shows an extended container and excalibur lifecycle extensions Example results are recorded in a log file To Run: maven run:extended 2. Swing Container Main Class: org.apache.avalon.fortress.examples.swing.Main Shows a swing-based container. Uses the translator component To Run: maven run:swing 3. Viewer Container Main Class: org.apache.avalon.fortress.examples.viewer.Main Another swing example that does component lookups To Run: maven run:viewer 4. Fortress Servlet Shows an fortress container embedded in a servlet To Run: launch the 'war' file in your favorite servlet container (ie- tomcat) Notes: * For your own Fortress examples, please look at the project.xml and maven.xml. This will show you what dependencies you need and how to generate the Fortress meta-data via maven. * For other examples see avalon-sandbox/examples 1.10 +5 -2 avalon/fortress/examples/src/java/org/apache/avalon/fortress/examples/swing/Main.java Index: Main.java =================================================================== RCS file: /home/cvs/avalon/fortress/examples/src/java/org/apache/avalon/fortress/examples/swing/Main.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Main.java 24 Feb 2004 22:31:22 -0000 1.9 +++ Main.java 8 Mar 2004 16:00:22 -0000 1.10 @@ -44,7 +44,10 @@ config.setContainerClass( SwingContainer.class ); config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.xconf" ); config.setLoggerManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.xlog" ); - config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.instruments" ); + + // need the altrmi binaries + + // config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.instruments" ); // Get the root container initialized ContainerManager cm = new DefaultContainerManager( config.getContext() ); 1.11 +4 -2 avalon/fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer/Main.java Index: Main.java =================================================================== RCS file: /home/cvs/avalon/fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer/Main.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Main.java 24 Feb 2004 22:31:22 -0000 1.10 +++ Main.java 8 Mar 2004 16:00:23 -0000 1.11 @@ -47,7 +47,9 @@ config.setContainerClass( ComponentViewer.class ); config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.xconf" ); config.setLoggerManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.xlog" ); - config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.instruments" ); + + // needs the altrmi binaries + // config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.instruments" ); cm = new DefaultContainerManager( config.getContext() ); org.apache.avalon.framework.container.ContainerUtil.initialize( cm ); 1.1 avalon/fortress/examples/src/test/test.txt Index: test.txt =================================================================== # placeholder
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]