[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Note that the instructions apply to snapshots and distributions as well as svn. -- Maven 2 does not use .properties files. Per-developer and per-system configuration is done in '''~/.m2/settings.xml'''. (Where '~' represents the user's home directory.) For more information, refer to the [http://maven.apache.org/maven-settings/settings.html settings model] and the Suggested Settings section below. + == Acquiring the Source Code == + - == Checkout Source from Subversion == + === Checkout Source from Subversion === The Struts Subversion repository is organized into sub-projects. You can check out Struts Action 1 alone using this URL: {{{ @@ -20, +22 @@ {{{ svn co https://svn.apache.org/repos/asf/struts/current current }}} + + === Snapshot or Distribution === + + The following instructions should work equally well from the 'src' directory of a Struts Action snapshot or distribution. If they don't, let us know! == Building with Maven == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: add settings.xml schema -- ~/.m2/settings.xml {{{ - settings + settings xmlns=http://maven.apache.org/POM/4.0.0; + xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; + xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd; ... servers ... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- == Integration Testing == - The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. + The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. Integration tests for Struts Action are located under the '''integration''' module. Integration tests will only be run if the ''perform-itest'' profile is enabled. - - === Cactus Tests === - - The Cactus tests for Struts Taglib are located in the action/integration/taglib-it module. To run the tests, you must provide a value for the 'cargo.tomcat5x.home' System property, for example: - {{{ -~/svn/struts/current/action/integration/taglib-it -$ mvn -P perform-itest -Dcargo.tomcat5x.home=c:/java/apache-tomcat-5.5.16 - }}} - - (This will run the default '''install''' goal which includes the '''integration-test''' phase.) - - See the Suggested Settings section below for information on configuring the 'cargo.tomcat5x.home' System property in your settings.xml file, so that you don't have to specify it on the command line. - - There is no Cactus plugin for Maven 2, so - * The Struts Taglib testing webapp is manually configured for Cactus with extra information in web.xml, and a jspRedirector.jsp file in the root directory. - * Executions of the Surefire, Compiler, War, and Cargo plugins are bound to various lifecycle phases - - '''NOTE:''' If the tests fail, Cargo will not be able to stop the container. === Apps === @@ -92, +74 @@ }}} Then visit http://localhost:8080/webappname in your browser. This requires that the cargo.tomcat5x.home system property is set, usually either on the command line (-Dcargo.tomcat5x.home=...) or in ~/.m2/settings.xml. See the Suggested Settings section, below. + === Cactus Tests === + + The Cactus tests for Struts Taglib are not working and have been moved to the sandbox/apps-test/taglib-it module. == Suggested Settings == @@ -154, +139 @@ To avoid repeated password prompts, configure the apache-maven-snapshots server in ~/.m2/settings.xml. + == Releases == + + * StrutsMavenRelease + == References == * [http://www.mergere.com/m2book_download.jsp Better Builds With Maven] - free book from Mergere (requires registration) * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - * StrutsMavenRelease == TODO == * Consolidate some of the example apps to reduce the size of the distribution (?Suggested by Don?) * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. * http://www.nabble.com/Re%3A-m2-Releases-and-test-builds-p3824610.html - * Figure out how to run the Cactus tests in 'integration/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. + * Figure out how to run the Cactus tests in 'sandbox/apps-test/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html * Fix the Cactus tests for Struts Taglib * Revisit the war plugin configuration for including the source code in the example webapps under WEB-INF/src. This is currently being done with an execution of the antrun plugin in apps/pom.xml. Martin mentions that a webResources element is present in the war plugin source, but it does not appear to be available in the latest released version. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Drop several TODOs that are either done, in progress, or in JIRA. -- * Consolidate some of the example apps to reduce the size of the distribution (?Suggested by Don?) * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. * http://www.nabble.com/Re%3A-m2-Releases-and-test-builds-p3824610.html - * Finish converting the xdocs to src/site/site.xml and src/site/xdoc, figure out how the Struts Action site will be arranged and put redirects in .htaccess if necessary. * Figure out how to run the Cactus tests in 'integration/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html * Fix the Cactus tests for Struts Taglib * Revisit the war plugin configuration for including the source code in the example webapps under WEB-INF/src. This is currently being done with an execution of the antrun plugin in apps/pom.xml. Martin mentions that a webResources element is present in the war plugin source, but it does not appear to be available in the latest released version. * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html - * Document the Struts Maven 2 release process: StrutsMavenRelease - * Integration tests for the webapps under various container/JDK combinations - * Remove the Tiles dependency from EL (Move the tiles-el tags to Struts Tiles) - * Use dependencyManagement in action/trunk/pom.xml to control version numbers. Modules then declare only groupId/artifactId for dependencies. + * Use dependencyManagement in action/trunk/pom.xml to control version numbers. Modules then declare only groupId/artifactId for dependencies. (A brief look says there isn't as much duplication as I thought; this might not be necessary.) - * Add reporting section to action/trunk/pom.xml and generate Javadoc and other reports for the website. - * Reorganize any files found in conf/java and src/conf into src/main/resources and remove the resource tags from pom.xml. - * Update the Struts Action Blank Archetype (groupId dependencies) and move it out of the sandbox to action/archetypes/action-blank - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Add notes on the apps-it module -- '''NOTE:''' The 'assembly:assembly' goal must be run from action/assembly. Somehow, this needs to be coordinated with release:prepare and release:perform, so that the assembly will contain the same jars that were just deployed to the repository. - - === Source Assembly === - - * The source code is included in struts-action-x.x.x-all.zip. - - * Wait for v2.1 of maven-assembly-plugin, then consider switching to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. - - * See StrutsMaven2Plan for some additional thoughts on assemblies. - == Integration Testing == The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. @@ -88, +79 @@ === Apps === - Tests for the '''apps''' module are not currently automated with Maven 2. + The integration/apps-it module contains tests to confirm that each example app starts and displays its default page: + {{{ +~/svn/struts/current/action/integration/apps-it +mvn -P perform-itest + }}} - However, each module inherits Cargo plugin configuration (from apps/pom.xml) which will start Tomcat 5.x and deploy the app: + In addition, each module inherits Cargo plugin configuration (from apps/pom.xml) which will start Tomcat 5.x and deploy the app: {{{ + ~/svn/struts/current/action/apps/[module] mvn package cargo:start }}} Then visit http://localhost:8080/webappname in your browser. This requires that the cargo.tomcat5x.home system property is set, usually either on the command line (-Dcargo.tomcat5x.home=...) or in ~/.m2/settings.xml. See the Suggested Settings section, below. @@ -133, +129 @@ profile idcargo-config/id properties - cargo.tomcat5x.homec:/java/apache-tomcat-5.5.16/cargo.tomcat5x.home + cargo.tomcat5x.homec:/java/apache-tomcat-5.5.17/cargo.tomcat5x.home cargo.tomcat4x.homec:/java/jakarta-tomcat-4.1.31/cargo.tomcat4x.home /properties /profile @@ -161, +157 @@ == References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. + * StrutsMavenRelease == TODO == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Add link to the Maven book -- == References == + * [http://www.mergere.com/m2book_download.jsp Better Builds With Maven] - free book from Mergere (requires registration) * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. * StrutsMavenRelease - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Added the server for apache-site -- usernameyourid/username privateKey/path/to/private/key/privateKey /server +server + idapache-site/id + usernameyourid/username + privateKey/path/to/private/key/privateKey +/server /servers profiles - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Update assembly instructions -- }}} === Binary and Source Assembly === - To build the -all assembly, first enable the 'pre-assembly' profile, which will cause the javadoc and source artifacts to be produced: + To build the -all assembly, enable the 'pre-assembly' profile (which produces the javadoc and source artifacts), and execute both 'install' and 'site': {{{ ~/svn/struts/current/action -$ mvn -P pre-assembly +$ mvn install site -P pre-assembly }}} And then create the assembly: {{{ @@ -56, +56 @@ === Source Assembly === - * The -sources jars are included in struts-action-x.x.x-all.[zip|tar.gz]. + * The source code is included in struts-action-x.x.x-all.zip. - * Wait for v2.1 of maven-assembly-plugin, then switch to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. + * Wait for v2.1 of maven-assembly-plugin, then consider switching to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. * See StrutsMaven2Plan for some additional thoughts on assemblies. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * Document the Struts Maven 2 release process: StrutsMavenRelease * Integration tests for the webapps under various container/JDK combinations * Remove the Tiles dependency from EL (Move the tiles-el tags to Struts Tiles) + * Use dependencyManagement in action/trunk/pom.xml to control version numbers. Modules then declare only groupId/artifactId for dependencies. + * Add reporting section to action/trunk/pom.xml and generate Javadoc and other reports for the website. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * Remove the Tiles dependency from EL (Move the tiles-el tags to Struts Tiles) * Use dependencyManagement in action/trunk/pom.xml to control version numbers. Modules then declare only groupId/artifactId for dependencies. * Add reporting section to action/trunk/pom.xml and generate Javadoc and other reports for the website. + * Reorganize any files found in conf/java and src/conf into src/main/resources and remove the resource tags from pom.xml. + * Update the Struts Action Blank Archetype (groupId dependencies) and move it out of the sandbox to action/archetypes/action-blank - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- /settings }}} + == 6. Snapshots == + To deploy snapshots of all build artifacts (pom, jar, war, including -sources and -javadoc): + {{{ +mvn deploy -P pre-assembly + }}} + + Maven will choose the appropriate repository from distributionManagement based on the version number. + (The snapshotRepository, if the version number ends in -SNAPSHOT, the repository, otherwise.) + + To avoid repeated password prompts, configure the apache-maven-snapshots server in ~/.m2/settings.xml. + - == 6. References == + == 7. References == + * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - == 7. TODO == + == 8. TODO == * Consolidate some of the example apps to reduce the size of the distribution (?Suggested by Don?) * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. @@ -138, +150 @@ * Finish converting the xdocs to src/site/site.xml and src/site/xdoc, figure out how the Struts Action site will be arranged and put redirects in .htaccess if necessary. * Figure out how to run the Cactus tests in 'integration/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html + * Fix the Cactus tests for Struts Taglib * Revisit the war plugin configuration for including the source code in the example webapps under WEB-INF/src. This is currently being done with an execution of the antrun plugin in apps/pom.xml. Martin mentions that a webResources element is present in the war plugin source, but it does not appear to be available in the latest released version. * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html - * Document the Struts Maven 2 release process: StrutsMavenRelease + * Document the Struts Maven 2 release process: StrutsMavenRelease + - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Add automatic numbering and table of contents, remove Maven 1 information -- - = Struts Action Framework and Maven 2 = + '''Struts Action Framework and Maven 2''' + [[TableOfContents]] + - == 1. Maven Setup == + == Maven Setup == Download and install Maven 2 from http://maven.apache.org. Maven 2 does not use .properties files. Per-developer and per-system configuration is done in '''~/.m2/settings.xml'''. (Where '~' represents the user's home directory.) For more information, refer to the [http://maven.apache.org/maven-settings/settings.html settings model] and the Suggested Settings section below. - == 2. Checkout Source from Subversion == + == Checkout Source from Subversion == The Struts Subversion repository is organized into sub-projects. You can check out Struts Action 1 alone using this URL: {{{ @@ -19, +21 @@ svn co https://svn.apache.org/repos/asf/struts/current current }}} - == 3. Building with Maven == + == Building with Maven == - === 3.1 Local Install === + === Local Install === To build and install all of the artifacts (pom, jar, and war files) in your local Maven repository: {{{ ~/svn/struts/current/action @@ -35, +37 @@ $ mvn clean }}} - === 3.2 Binary and Source Assembly === + === Binary and Source Assembly === To build the -all assembly, first enable the 'pre-assembly' profile, which will cause the javadoc and source artifacts to be produced: {{{ ~/svn/struts/current/action @@ -52, +54 @@ '''NOTE:''' The 'assembly:assembly' goal must be run from action/assembly. Somehow, this needs to be coordinated with release:prepare and release:perform, so that the assembly will contain the same jars that were just deployed to the repository. - === 3.3 Source Assembly === + === Source Assembly === * The -sources jars are included in struts-action-x.x.x-all.[zip|tar.gz]. @@ -60, +62 @@ * See StrutsMaven2Plan for some additional thoughts on assemblies. - == 4. Integration Testing == + == Integration Testing == The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. @@ -82, +84 @@ '''NOTE:''' If the tests fail, Cargo will not be able to stop the container. - == 5. Suggested Settings == + == Suggested Settings == ~/.m2/settings.xml @@ -126, +128 @@ /settings }}} - == 6. Snapshots == + == Snapshots == To deploy snapshots of all build artifacts (pom, jar, war, including -sources and -javadoc): {{{ @@ -138, +140 @@ To avoid repeated password prompts, configure the apache-maven-snapshots server in ~/.m2/settings.xml. - == 7. References == + == References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - == 8. TODO == + == TODO == * Consolidate some of the example apps to reduce the size of the distribution (?Suggested by Don?) * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. @@ -155, +157 @@ * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html * Document the Struts Maven 2 release process: StrutsMavenRelease + * Integration tests for the webapps under various container/JDK combinations - - - - - = The information below refers to the Maven 1 build, which is scheduled to be removed in mid-April. = - - == 1. Maven Setup == - - Note: These instructions assume that you have downloaded and installed [http://maven.apache.org/maven-1.x/start/download.html Maven 1.0.2]. - - There are two additional plugins required which are not provided with the maven distribution - - === 1.1 Cactus Plugin === - - Download the latest jar (currently cactus-maven-1.7.jar - ''April 2005'') from [http://www.ibiblio.org/maven/cactus/plugins/ ibilio] and drop it in the plugins directory in your maven home. Further instructions on the [http://jakarta.apache.org/cactus/integration/maven/installing.html Cactus] site. - - === 1.2 Findbugs Plugin === - From the command line... - - {{{ - $maven -DartifactId=maven-findbugs-plugin -DgroupId=maven-plugins -Dversion=0.8.4
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Notes on Cargo for Apps, and more TODOs -- Integration tests for Struts Action are located under the '''integration''' module. Integration tests will only be run if the ''perform-itest'' profile is enabled. + === Cactus Tests === + The Cactus tests for Struts Taglib are located in the action/integration/taglib-it module. To run the tests, you must provide a value for the 'cargo.tomcat5x.home' System property, for example: {{{ ~/svn/struts/current/action/integration @@ -83, +85 @@ * Executions of the Surefire, Compiler, War, and Cargo plugins are bound to various lifecycle phases '''NOTE:''' If the tests fail, Cargo will not be able to stop the container. + + === Apps === + + Tests for the '''apps''' module are not currently automated with Maven 2. + + However, each module inherits Cargo plugin configuration (from apps/pom.xml) which will start Tomcat 5.x and deploy the app: + {{{ + mvn package cargo:start + }}} + Then visit http://localhost:8080/webappname in your browser. This requires that the cargo.tomcat5x.home system property is set, usually either on the command line (-Dcargo.tomcat5x.home=...) or in ~/.m2/settings.xml. See the Suggested Settings section, below. + == Suggested Settings == @@ -158, +171 @@ * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html * Document the Struts Maven 2 release process: StrutsMavenRelease * Integration tests for the webapps under various container/JDK combinations + * Remove the Tiles dependency from Struts Blank + * Remove the Tiles dependency from EL (Move the tiles-el tags to Struts Tiles) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: generate-assembly - pre-assembly -- (The default goal, configured in action/pom.xml is '''install'''.) === 3.2 Binary and Source Assembly === - To build the -all assembly, first enable the 'generate-assembly' profile, which will cause the javadoc and source artifacts to be produced: + To build the -all assembly, first enable the 'pre-assembly' profile, which will cause the javadoc and source artifacts to be produced: {{{ ~/svn/struts/current/action -$ mvn -P generate-assembly +$ mvn -P pre-assembly }}} And then create the assembly: {{{ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- Download and install Maven 2 from http://maven.apache.org. - Maven 2 does not use .properties files. Per-developer and per-system configuration is done in '''~/.m2/settings.xml'''. (Where '~' represents the user's home directory.) For more information, refer to the [http://maven.apache.org/maven-settings/settings.html settings model]. + Maven 2 does not use .properties files. Per-developer and per-system configuration is done in '''~/.m2/settings.xml'''. (Where '~' represents the user's home directory.) For more information, refer to the [http://maven.apache.org/maven-settings/settings.html settings model] and the Suggested Settings section below. == 2. Checkout Source from Subversion == @@ -22, +22 @@ == 3. Building with Maven == === 3.1 Local Install === - To build and install all of the artifacts (jar and war files) in your local Maven repository: + To build and install all of the artifacts (pom, jar, and war files) in your local Maven repository: {{{ ~/svn/struts/current/action $ mvn @@ -30, +30 @@ (The default goal, configured in action/pom.xml is '''install'''.) + To clean up, which will delete all of the 'target' directories: + {{{ +$ mvn clean + }}} + === 3.2 Binary and Source Assembly === To build the -all assembly, first enable the 'pre-assembly' profile, which will cause the javadoc and source artifacts to be produced: {{{ @@ -41, +46 @@ ~/svn/struts/current/action/assembly $ mvn assembly:assembly }}} + The output will be in 'assembly/target/assembly/out'. + '''NOTE:''' The 'assembly:assembly' goal must be run from action/assembly. Somehow, this needs to be coordinated with release:prepare and release:perform, so that the assembly will contain the same jars that were just deployed to the repository. + + === 3.3 Source Assembly === * The -sources jars are included in struts-action-x.x.x-all.[zip|tar.gz]. @@ -53, +62 @@ The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. - Integration tests for Struts Action are located under the '''integration''' module. This module is not linked from action/pom.xml, so the integration tests will not run as part of the master build. Until Maven's support for integration testing improves, they should be run separately. Another option would be to link this module in, and activate the tests using a profile. + Integration tests for Struts Action are located under the '''integration''' module. Integration tests will only be run if the ''perform-itest'' profile is enabled. - The Cactus tests for Struts Taglib are located in the action/integration/taglib-it module. To run the tests, you must provide a value for the 'cargo.tomcat5x.home' System property. This may be done on the command line: + The Cactus tests for Struts Taglib are located in the action/integration/taglib-it module. To run the tests, you must provide a value for the 'cargo.tomcat5x.home' System property, for example: {{{ ~/svn/struts/current/action/integration -$ mvn -Dcargo.tomcat5x.home=c:/java/apache-tomcat-5.5.16 +$ mvn -P perform-itest -Dcargo.tomcat5x.home=c:/java/apache-tomcat-5.5.16 }}} - or in settings.xml: - {{{ + (This will run the default '''install''' goal which includes the '''integration-test''' phase.) + + See the Suggested Settings section below for information on configuring the 'cargo.tomcat5x.home' System property in your settings.xml file, so that you don't have to specify it on the command line. + + There is no Cactus plugin for Maven 2, so + * The Struts Taglib testing webapp is manually configured for Cactus with extra information in web.xml, and a jspRedirector.jsp file in the root directory. + * Executions of the Surefire, Compiler, War, and Cargo plugins are bound to various lifecycle phases + + '''NOTE:''' If the tests fail, Cargo will not be able to stop the container. + + == 5. Suggested Settings == + + ~/.m2/settings.xml + + {{{ settings ... + servers + ... +server + idapache-maven-releases/id + usernameyourid/username + privateKey/path/to/private/key/privateKey +/server +server + idapache-maven-snapshots/id + usernameyourid/username + privateKey/path/to/private/key/privateKey +
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * Wait for v2.1 of maven-assembly-plugin, then switch to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. + * See StrutsMaven2Plan for some additional thoughts on assemblies. + - === 4. Integration Testing === + == 4. Integration Testing == The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. @@ -128, +130 @@ == 6. References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. + == 7. TODO == + + * Consolidate some of the example apps to reduce the size of the distribution (?Suggested by Don?) + * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. + * http://www.nabble.com/Re%3A-m2-Releases-and-test-builds-p3824610.html + * Finish converting the xdocs to src/site/site.xml and src/site/xdoc, figure out how the Struts Action site will be arranged and put redirects in .htaccess if necessary. + * Move the Cactus tests for Struts EL into the 'integration' module, and figure out how to run them against the strutsel-exercise-taglib webapp which is in the 'apps' module. + * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html + - = The information below refers to the Maven 1 build, which is scheduled to be removed in mid-April. = - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * Create a custom deployment plugin to handle promoting our test builds from cvs.apache.org/maven-snapshot-repository to www.apache.org/dist/maven-repository. * http://www.nabble.com/Re%3A-m2-Releases-and-test-builds-p3824610.html * Finish converting the xdocs to src/site/site.xml and src/site/xdoc, figure out how the Struts Action site will be arranged and put redirects in .htaccess if necessary. - * Move the Cactus tests for Struts EL into the 'integration' module, and figure out how to run them against the strutsel-exercise-taglib webapp which is in the 'apps' module. + * Figure out how to run the Cactus tests in 'integration/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html + * Figure out how to include the source code in the example webapps under WEB-INF/src (Custom plugin, or antrun plugin?) + * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * Finish converting the xdocs to src/site/site.xml and src/site/xdoc, figure out how the Struts Action site will be arranged and put redirects in .htaccess if necessary. * Figure out how to run the Cactus tests in 'integration/el-it' against the strutsel-exercise-taglib webapp which is in the 'apps' module. * http://www.nabble.com/Cargo-and-Maven-2-and-Cactus-t1420342.html - * Figure out how to include the source code in the example webapps under WEB-INF/src (Custom plugin, or antrun plugin?) + * Revisit the war plugin configuration for including the source code in the example webapps under WEB-INF/src. This is currently being done with an execution of the antrun plugin in apps/pom.xml. Martin mentions that a webResources element is present in the war plugin source, but it does not appear to be available in the latest released version. * http://www.nabble.com/-m2-Including-the-source-code-in-a-war-t1409417.html + * http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html + * Document the Struts Maven 2 release process: StrutsMavenRelease - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Added notes on integration testing -- == 1. Maven Setup == Download and install Maven 2 from http://maven.apache.org. + + Maven 2 does not use .properties files. Per-developer and per-system configuration is done in '''~/.m2/settings.xml'''. (Where '~' represents the user's home directory.) For more information, refer to the [http://maven.apache.org/maven-settings/settings.html settings model]. == 2. Checkout Source from Subversion == @@ -47, +49 @@ * Wait for v2.1 of maven-assembly-plugin, then switch to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. + === 4. Integration Testing === + + The Maven 2 [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html build lifecycle] includes a phase for integration testing. Currently, a module may contain only unit tests ''or'' integration tests, but not both. See the [http://docs.codehaus.org/display/MAVEN/best+practices+-+testing+strategies testing strategies] page for discussion and proposals. + + Integration tests for Struts Action are located under the '''integration''' module. This module is not linked from action/pom.xml, so the integration tests will not run as part of the master build. Until Maven's support for integration testing improves, they should be run separately. Another option would be to link this module in, and activate the tests using a profile. + + The Cactus tests for Struts Taglib are located in the action/integration/taglib-it module. To run the tests, you must provide a value for the 'cargo.tomcat5x.home' System property. This may be done on the command line: + {{{ +~/svn/struts/current/action/integration +$ mvn -Dcargo.tomcat5x.home=c:/java/apache-tomcat-5.5.16 + }}} + or in settings.xml: + {{{ + + settings + ... + profiles + ... + profile + idcargo-config/id + properties + cargo.tomcat5x.homec:/java/apache-tomcat-5.5.16/cargo.tomcat5x.home + cargo.tomcat4x.homec:/java/jakarta-tomcat-4.1.31/cargo.tomcat4x.home + /properties + /profile +/profiles + +activeProfiles + activeProfilecargo-config/activeProfile +/activeProfiles + + /settings + }}} + + Then run the tests with '''mvn integration-test''' or simply '''mvn'''. (This will run the default '''install''' goal which includes integration-test.) + + There is no Cactus plugin for Maven 2, so + * The Struts Taglib testing webapp is manually configured for Cactus with extra information in web.xml, and a jspRedirector.jsp file in the root directory. + * Executions of the Surefire, Compiler, War, and Cargo plugins are bound to various lifecycle phases + + '''NOTE:''' If the tests fail, Cargo will not be able to stop the container. + - == 4. References == + == 5. References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Add some notes on the new Maven 2 build -- - The purpose of this page is to provide help on the new Maven 1.0 build that's been put in place for Struts 1.3.x onwards. + = Struts Action Framework and Maven 2 = + + == 1. Maven Setup == + + Download and install Maven 2 from http://maven.apache.org. + + == 2. Checkout Source from Subversion == + + The Struts Subversion repository is organized into sub-projects. You can check out Struts Action 1 alone using this URL: + {{{ +svn co https://svn.apache.org/repos/asf/struts/action/trunk action + }}} + Or you can check out all of the sub-projects, including the sandbox, with this: + {{{ +svn co https://svn.apache.org/repos/asf/struts/current curent + }}} + + == 3. Building with Maven == + + To build and install all of the artifacts (jar and war files) in your local Maven repository: + {{{ +~/svn/struts/current/action +$ mvn + }}} + + (The default goal, configured in action/pom.xml is '''install'''.) + + To build the binary assembly, first enable the 'generate-assembly' profile, which will cause the javadoc and source artifacts to be produced: + {{{ +~/svn/struts/current/action +$ mvn -P generate-assembly + }}} + And then create the assembly: + {{{ +~/svn/struts/current/action/assembly +$ mvn assembly:assembly + }}} + The output will be in 'assembly/target/assembly/out'. + + == 4. References == + * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. + + - + + The information below refers to the Maven 1 build, which is scheduled to be removed in mid-April. == 1. Maven Setup == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Formatting, and notes on the source assembly -- }}} Or you can check out all of the sub-projects, including the sandbox, with this: {{{ -svn co https://svn.apache.org/repos/asf/struts/current curent +svn co https://svn.apache.org/repos/asf/struts/current current }}} == 3. Building with Maven == + === 3.1 Local Install === To build and install all of the artifacts (jar and war files) in your local Maven repository: {{{ ~/svn/struts/current/action @@ -27, +28 @@ (The default goal, configured in action/pom.xml is '''install'''.) + === 3.2 Binary Assembly === To build the binary assembly, first enable the 'generate-assembly' profile, which will cause the javadoc and source artifacts to be produced: {{{ ~/svn/struts/current/action @@ -38, +40 @@ $ mvn assembly:assembly }}} The output will be in 'assembly/target/assembly/out'. + + === 3.3 Source Assembly === + + To build the source assembly, enable the 'assemble-src' profile: + {{{ +~/svn/struts/current/action +$ mvn assembly:assembly -P assemble-src + }}} + The output will be in 'action/target/assembly/out'. + + '''TODO:''' The source assembly is missing the contents of the top level directory, for example, the action/pom.xml file. == 4. References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- === 3.3 Source Assembly === + Looks like we may have to resort to 'svn export' and 'zip' until v2.1 of the maven-assembly-plugin is released. + See: [http://svn.apache.org/viewcvs?rev=392450view=rev r392450]. - To build the source assembly, enable the 'assemble-src' profile: - {{{ -~/svn/struts/current/action -$ mvn assembly:assembly -P assemble-src - }}} - The output will be in 'action/target/assembly/out'. - - '''TODO:''' The source assembly is missing the contents of the top level directory, for example, the action/pom.xml file. == 4. References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: The latest on the assembly situation. -- (The default goal, configured in action/pom.xml is '''install'''.) - === 3.2 Binary Assembly === + === 3.2 Binary and Source Assembly === - To build the binary assembly, first enable the 'generate-assembly' profile, which will cause the javadoc and source artifacts to be produced: + To build the -all assembly, first enable the 'generate-assembly' profile, which will cause the javadoc and source artifacts to be produced: {{{ ~/svn/struts/current/action $ mvn -P generate-assembly @@ -43, +43 @@ === 3.3 Source Assembly === - Looks like we may have to resort to 'svn export' and 'zip' until v2.1 of the maven-assembly-plugin is released. - See: [http://svn.apache.org/viewcvs?rev=392450view=rev r392450]. + * The -sources jars are included in struts-action-x.x.x-all.[zip|tar.gz]. + + * Wait for v2.1 of maven-assembly-plugin, then switch to the action/assembly/src/main/assembly/src.xml and dep.xml descriptors for separate -bin and -src assemblies. == 4. References == * [http://www.developer.com/open/article.php/10930_3552026_2 This article] provides a good introduction to Maven 2 and lists some other useful goals. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Note that we're using Maven 1.0.2 to avoid confusion. -- - The purpose of this way is to provide help on the new maven build thats been/being put in place for Struts 1.3.x onwards. + The purpose of this page is to provide help on the new Maven 1.0 build that's been put in place for Struts 1.3.x onwards. == 1. Maven Setup == + + Note: These instructions assume that you have downloaded and installed [http://maven.apache.org/maven-1.x/start/download.html Maven 1.0.2]. + There are two additional plugins required which are not provided with the maven distribution === 1.1 Cactus Plugin === - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- {{{ $maven build-all }}} + + If you experience an !OutOfMemoryError, try setting an environment variable: MAVEN_OPTS=-Xmx1024m + + For more information on Maven's command-line settings and options, see [http://maven.apache.org/maven-1.x/reference/command-line.html this page]. + There is also a command for cleaning up everything {{{ $maven clean-all - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven The comment on the change is: Added link to possible fix for tests running twice in core -- === 5.4 @TODO for /core === * svn mv src/share src/java - * the junit tests get run 2 times (known issue for maven, I think) + * the junit tests get run 2 times (known issue for maven, I think) (Possible fix: http://jroller.com/page/carlossg?entry=maven_tips_and_tricks_avoid ) === 5.5 @TODO for /el === * dist of el is copying twice - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- * go through all source and fix svn expandable keywords * fix all external links that do redirects (running $maven site causes exception on redirect during link check report) * Code review plugin? (what value is it? should we add it?) + * Change Log reports Syntax error in revision argument. This might be related to Problems using date revisions on http://apache.org/dev/version-control.html === 5.3 @TODO for /apps === (see [StrutsMaintenanceSvnApps this page] for help grocking the purpose of layout and build strutcture) @@ -180, +181 @@ * mailreader-chain * remove it (see above or apps/) + === 5.10 @TODO for /faces === + * Nothing in http://svn.apache.org/builds/struts/maven/trunk/nightly/struts-faces/ + - === 5.9 @TODO for Documentation (in general) === + === 5.11 @TODO for Documentation (in general) === We need something that specifies the nightly, test build, release candidate and official release deliverables. This document should detail out the naming convention and artifact locations (including use of mirrors) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Struts Wiki] Update of StrutsMaintenanceMaven by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Struts Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/struts/StrutsMaintenanceMaven -- the components - this is the url for it https://svn.apache.org/repos/asf/struts/current/ + + For example, using a command-line svn client, type this: + {{{ + $ svn checkout http://svn.apache.org/repos/asf/struts/current struts/current + }}} Say you put it in a directory called c:\svn\struts\current - then you will see the following directories... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]