From 1902938d312ac9192e700222ee9f280ee8c2e479 Mon Sep 17 00:00:00 2001 From: brett Date: Wed, 15 Jun 2005 00:29:43 +0000 Subject: [PATCH] removal of demoted plugins from the main plugin repository git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@190672 13f79535-47bb-0310-9956-ffa450edef68 --- appserver/plugin.jelly | 652 ---- appserver/plugin.properties | 122 - appserver/project.properties | 19 - appserver/project.xml | 84 - appserver/src/legacy/build-enhydra-31.xml | 92 - appserver/src/legacy/build-j2ee-12.xml | 60 - appserver/src/legacy/build-j2ee-13.xml | 52 - appserver/src/legacy/build-j2ee-share.xml | 52 - appserver/src/legacy/build-orion-14.xml | 123 - appserver/src/legacy/build-orion-15.xml | 124 - appserver/src/legacy/build-resin-12.xml | 128 - appserver/src/legacy/build-resin-13.xml | 128 - appserver/src/legacy/build-resin-20.xml | 129 - appserver/src/legacy/build-tomcat-32.xml | 134 - appserver/src/legacy/build-tomcat-33.xml | 127 - appserver/src/legacy/build-weblogic-51.xml | 142 - appserver/src/legacy/build-weblogic-61.xml | 137 - .../src/plugin-resources/orion-2.0.x.jelly | 209 -- .../src/plugin-resources/tomcat-4.0.x.jelly | 138 - .../src/plugin-resources/tomcat-4.1.x.jelly | 142 - appserver/xdocs/appserver.xml | 141 - appserver/xdocs/changes.xml | 42 - appserver/xdocs/dirlayout.xml | 82 - appserver/xdocs/futures.xml | 51 - appserver/xdocs/goals.xml | 401 --- appserver/xdocs/index.xml | 89 - appserver/xdocs/navigation.xml | 36 - appserver/xdocs/properties.xml | 510 --- ashkelon/plugin.jelly | 79 - ashkelon/project.properties | 19 - ashkelon/project.xml | 89 - .../apache/maven/ashkelon/PackageTool.java | 121 - ashkelon/xdocs/changes.xml | 33 - ashkelon/xdocs/index.xml | 40 - aspectwerkz/plugin.jelly | 365 -- aspectwerkz/plugin.properties | 82 - aspectwerkz/project.properties | 19 - aspectwerkz/project.xml | 124 - .../plugin-test/child/conf/aspectwerkz.xml | 30 - aspectwerkz/src/plugin-test/child/maven.xml | 41 - .../src/plugin-test/child/project.properties | 22 - aspectwerkz/src/plugin-test/child/project.xml | 54 - .../SampleNonProductionAspect.java | 28 - .../maven/aspectwerkz/SampleAspect.java | 27 - .../org/apache/maven/aspectwerkz/Target.java | 23 - aspectwerkz/src/plugin-test/maven.xml | 28 - aspectwerkz/src/plugin-test/parent/maven.xml | 22 - .../src/plugin-test/parent/project.properties | 22 - .../src/plugin-test/parent/project.xml | 24 - .../maven/aspectwerkz/ReusableAspect.java | 27 - .../src/plugin-test/project.properties | 22 - aspectwerkz/src/plugin-test/project.xml | 64 - aspectwerkz/xdocs/changes.xml | 35 - aspectwerkz/xdocs/goals.xml | 59 - aspectwerkz/xdocs/index.xml | 37 - aspectwerkz/xdocs/navigation.xml | 34 - aspectwerkz/xdocs/properties.xml | 208 -- caller/plugin.jelly | 65 - caller/plugin.properties | 23 - caller/project.properties | 19 - caller/project.xml | 63 - caller/xdocs/changes.xml | 32 - caller/xdocs/goals.xml | 52 - caller/xdocs/index.xml | 79 - caller/xdocs/navigation.xml | 35 - caller/xdocs/properties.xml | 46 - docbook/plugin.jelly | 60 - docbook/plugin.properties | 26 - docbook/project.properties | 19 - docbook/project.xml | 71 - .../src/plugin-resources/docbook2document.xsl | 347 -- docbook/src/test/xslt/developersguide.xml | 163 - docbook/xdocs/changes.xml | 39 - docbook/xdocs/goals.xml | 37 - docbook/xdocs/index.xml | 38 - docbook/xdocs/navigation.xml | 35 - docbook/xdocs/properties.xml | 57 - jdee/plugin.jelly | 84 - jdee/plugin.properties | 27 - jdee/project.properties | 19 - jdee/project.xml | 64 - jdee/xdocs/changes.xml | 34 - jdee/xdocs/goals.xml | 46 - jdee/xdocs/index.xml | 102 - jdee/xdocs/navigation.xml | 35 - jdee/xdocs/properties.xml | 57 - jdee/xdocs/tasks.xml | 50 - jdeveloper/plugin.jelly | 426 --- jdeveloper/plugin.properties | 31 - jdeveloper/project.properties | 19 - jdeveloper/project.xml | 71 - .../maven/jdeveloper/JavaSourceTool.java | 70 - jdeveloper/xdocs/changes.xml | 39 - jdeveloper/xdocs/goals.xml | 55 - jdeveloper/xdocs/index.xml | 44 - jdeveloper/xdocs/navigation.xml | 34 - jdeveloper/xdocs/properties.xml | 93 - junitdoclet/plugin.jelly | 62 - junitdoclet/plugin.properties | 24 - junitdoclet/project.properties | 19 - junitdoclet/project.xml | 68 - junitdoclet/xdocs/changes.xml | 39 - junitdoclet/xdocs/goals.xml | 41 - junitdoclet/xdocs/index.xml | 33 - junitdoclet/xdocs/navigation.xml | 34 - junitdoclet/xdocs/properties.xml | 46 - latex/plugin.jelly | 89 - latex/plugin.properties | 17 - latex/project.properties | 19 - latex/project.xml | 87 - latex/xdocs/changes.xml | 44 - latex/xdocs/goals.xml | 38 - latex/xdocs/index.xml | 34 - latex/xdocs/navigation.xml | 35 - latex/xdocs/properties.xml | 45 - latka/plugin.jelly | 124 - latka/plugin.properties | 17 - latka/project.properties | 19 - latka/project.xml | 120 - latka/src/plugin-resources/jmeter2suite.jelly | 46 - latka/src/plugin-test/file1.jmx | 1276 ------- latka/src/plugin-test/maven.xml | 40 - latka/src/plugin-test/project.xml | 61 - latka/src/test/latka/test.latka | 60 - latka/xdocs/changes.xml | 50 - latka/xdocs/goals.xml | 50 - latka/xdocs/index.xml | 170 - latka/xdocs/navigation.xml | 34 - latka/xdocs/properties.xml | 41 - shell/plugin.jelly | 141 - shell/plugin.properties | 26 - shell/project.properties | 19 - shell/project.xml | 55 - shell/xdocs/changes.xml | 37 - shell/xdocs/goals.xml | 46 - shell/xdocs/index.xml | 82 - shell/xdocs/navigation.xml | 34 - shell/xdocs/properties.xml | 54 - struts/plugin.jelly | 56 - struts/project.properties | 20 - struts/project.xml | 108 - .../main/org/apache/maven/struts/Action.java | 145 - .../maven/struts/ConfigurationEntry.java | 108 - .../org/apache/maven/struts/FormBean.java | 33 - .../main/org/apache/maven/struts/Forward.java | 70 - .../struts/ObjectConfigurationEntry.java | 54 - .../apache/maven/struts/Struts10WarFile.java | 314 -- .../maven/struts/Struts10WarValidator.java | 440 --- .../maven/struts/StrutsEntityResolver.java | 42 - .../plugin-resources/struts-config_1_0.dtd | 408 --- .../plugin-resources/struts-config_1_1.dtd | 575 ---- struts/src/plugin-test/maven.xml | 35 - struts/src/plugin-test/project.properties | 16 - struts/src/plugin-test/project.xml | 144 - struts/src/plugin-test/src/MANIFEST.MF | 1 - .../struts/ApplicationResources.properties | 16 - .../java/org/apache/maven/struts/Nada.java | 57 - .../src/webapp/WEB-INF/struts-bean.tld | 382 --- .../src/webapp/WEB-INF/struts-config.xml | 53 - .../src/webapp/WEB-INF/struts-html.tld | 2972 ----------------- .../src/webapp/WEB-INF/struts-logic.tld | 642 ---- .../src/webapp/WEB-INF/struts-nested.tld | 2870 ---------------- .../src/webapp/WEB-INF/struts-template.tld | 73 - .../src/webapp/WEB-INF/struts-tiles.tld | 344 -- .../src/webapp/WEB-INF/validator-rules.xml | 1044 ------ .../plugin-test/src/webapp/WEB-INF/web.xml | 47 - struts/src/plugin-test/src/webapp/index.html | 25 - struts/src/plugin-test/src/webapp/index.jsp | 46 - struts/src/plugin-test/src/webapp/page2.jsp | 47 - .../test-resources/struts/struts-example.war | Bin 414348 -> 0 bytes .../org/apache/maven/struts/ActionTest.java | 147 - .../org/apache/maven/struts/FormBeanTest.java | 98 - .../org/apache/maven/struts/ForwardTest.java | 105 - .../maven/struts/Struts10WarFileTest.java | 196 -- struts/xdocs/changes.xml | 44 - struts/xdocs/futures.xml | 41 - struts/xdocs/goals.xml | 75 - struts/xdocs/index.xml | 75 - struts/xdocs/navigation.xml | 35 - struts/xdocs/properties.xml | 30 - tjdo/announcements/1.0.ann | 11 - tjdo/plugin.jelly | 114 - tjdo/plugin.properties | 34 - tjdo/project.properties | 19 - tjdo/project.xml | 52 - tjdo/xdocs/changes.xml | 44 - tjdo/xdocs/goals.xml | 47 - tjdo/xdocs/index.xml | 35 - tjdo/xdocs/navigation.xml | 35 - tjdo/xdocs/properties.xml | 56 - webserver/plugin.jelly | 616 ---- webserver/plugin.properties | 112 - webserver/project.properties | 19 - webserver/project.xml | 85 - .../src/plugin-resources/apache-2.x.jelly | 263 -- webserver/xdocs/changes.xml | 32 - webserver/xdocs/goals.xml | 62 - webserver/xdocs/index.xml | 44 - webserver/xdocs/navigation.xml | 35 - webserver/xdocs/properties.xml | 205 -- wizard/plugin.jelly | 69 - wizard/project.xml | 73 - wizard/xdocs/changes.xml | 34 - wizard/xdocs/goals.xml | 40 - wizard/xdocs/index.xml | 48 - wizard/xdocs/navigation.xml | 33 - wizard/xdocs/properties.xml | 31 - wizard/xdocs/tasks.xml | 43 - 208 files changed, 26330 deletions(-) delete mode 100644 appserver/plugin.jelly delete mode 100644 appserver/plugin.properties delete mode 100644 appserver/project.properties delete mode 100644 appserver/project.xml delete mode 100644 appserver/src/legacy/build-enhydra-31.xml delete mode 100644 appserver/src/legacy/build-j2ee-12.xml delete mode 100644 appserver/src/legacy/build-j2ee-13.xml delete mode 100644 appserver/src/legacy/build-j2ee-share.xml delete mode 100644 appserver/src/legacy/build-orion-14.xml delete mode 100644 appserver/src/legacy/build-orion-15.xml delete mode 100644 appserver/src/legacy/build-resin-12.xml delete mode 100644 appserver/src/legacy/build-resin-13.xml delete mode 100644 appserver/src/legacy/build-resin-20.xml delete mode 100644 appserver/src/legacy/build-tomcat-32.xml delete mode 100644 appserver/src/legacy/build-tomcat-33.xml delete mode 100644 appserver/src/legacy/build-weblogic-51.xml delete mode 100644 appserver/src/legacy/build-weblogic-61.xml delete mode 100644 appserver/src/plugin-resources/orion-2.0.x.jelly delete mode 100755 appserver/src/plugin-resources/tomcat-4.0.x.jelly delete mode 100755 appserver/src/plugin-resources/tomcat-4.1.x.jelly delete mode 100644 appserver/xdocs/appserver.xml delete mode 100644 appserver/xdocs/changes.xml delete mode 100644 appserver/xdocs/dirlayout.xml delete mode 100644 appserver/xdocs/futures.xml delete mode 100644 appserver/xdocs/goals.xml delete mode 100644 appserver/xdocs/index.xml delete mode 100644 appserver/xdocs/navigation.xml delete mode 100644 appserver/xdocs/properties.xml delete mode 100644 ashkelon/plugin.jelly delete mode 100644 ashkelon/project.properties delete mode 100644 ashkelon/project.xml delete mode 100644 ashkelon/src/main/org/apache/maven/ashkelon/PackageTool.java delete mode 100644 ashkelon/xdocs/changes.xml delete mode 100644 ashkelon/xdocs/index.xml delete mode 100644 aspectwerkz/plugin.jelly delete mode 100644 aspectwerkz/plugin.properties delete mode 100644 aspectwerkz/project.properties delete mode 100644 aspectwerkz/project.xml delete mode 100644 aspectwerkz/src/plugin-test/child/conf/aspectwerkz.xml delete mode 100644 aspectwerkz/src/plugin-test/child/maven.xml delete mode 100644 aspectwerkz/src/plugin-test/child/project.properties delete mode 100644 aspectwerkz/src/plugin-test/child/project.xml delete mode 100644 aspectwerkz/src/plugin-test/child/src/aspectwerkz/org/apache/maven/aspectwerkz/SampleNonProductionAspect.java delete mode 100644 aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/SampleAspect.java delete mode 100644 aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/Target.java delete mode 100644 aspectwerkz/src/plugin-test/maven.xml delete mode 100644 aspectwerkz/src/plugin-test/parent/maven.xml delete mode 100644 aspectwerkz/src/plugin-test/parent/project.properties delete mode 100644 aspectwerkz/src/plugin-test/parent/project.xml delete mode 100644 aspectwerkz/src/plugin-test/parent/src/main/org/apache/maven/aspectwerkz/ReusableAspect.java delete mode 100644 aspectwerkz/src/plugin-test/project.properties delete mode 100644 aspectwerkz/src/plugin-test/project.xml delete mode 100644 aspectwerkz/xdocs/changes.xml delete mode 100644 aspectwerkz/xdocs/goals.xml delete mode 100644 aspectwerkz/xdocs/index.xml delete mode 100644 aspectwerkz/xdocs/navigation.xml delete mode 100644 aspectwerkz/xdocs/properties.xml delete mode 100644 caller/plugin.jelly delete mode 100644 caller/plugin.properties delete mode 100644 caller/project.properties delete mode 100644 caller/project.xml delete mode 100644 caller/xdocs/changes.xml delete mode 100644 caller/xdocs/goals.xml delete mode 100644 caller/xdocs/index.xml delete mode 100644 caller/xdocs/navigation.xml delete mode 100644 caller/xdocs/properties.xml delete mode 100644 docbook/plugin.jelly delete mode 100644 docbook/plugin.properties delete mode 100644 docbook/project.properties delete mode 100644 docbook/project.xml delete mode 100644 docbook/src/plugin-resources/docbook2document.xsl delete mode 100644 docbook/src/test/xslt/developersguide.xml delete mode 100644 docbook/xdocs/changes.xml delete mode 100644 docbook/xdocs/goals.xml delete mode 100644 docbook/xdocs/index.xml delete mode 100644 docbook/xdocs/navigation.xml delete mode 100644 docbook/xdocs/properties.xml delete mode 100644 jdee/plugin.jelly delete mode 100644 jdee/plugin.properties delete mode 100644 jdee/project.properties delete mode 100644 jdee/project.xml delete mode 100644 jdee/xdocs/changes.xml delete mode 100644 jdee/xdocs/goals.xml delete mode 100644 jdee/xdocs/index.xml delete mode 100644 jdee/xdocs/navigation.xml delete mode 100644 jdee/xdocs/properties.xml delete mode 100644 jdee/xdocs/tasks.xml delete mode 100644 jdeveloper/plugin.jelly delete mode 100644 jdeveloper/plugin.properties delete mode 100644 jdeveloper/project.properties delete mode 100644 jdeveloper/project.xml delete mode 100644 jdeveloper/src/main/org/apache/maven/jdeveloper/JavaSourceTool.java delete mode 100644 jdeveloper/xdocs/changes.xml delete mode 100644 jdeveloper/xdocs/goals.xml delete mode 100644 jdeveloper/xdocs/index.xml delete mode 100644 jdeveloper/xdocs/navigation.xml delete mode 100644 jdeveloper/xdocs/properties.xml delete mode 100644 junitdoclet/plugin.jelly delete mode 100644 junitdoclet/plugin.properties delete mode 100644 junitdoclet/project.properties delete mode 100644 junitdoclet/project.xml delete mode 100644 junitdoclet/xdocs/changes.xml delete mode 100644 junitdoclet/xdocs/goals.xml delete mode 100644 junitdoclet/xdocs/index.xml delete mode 100644 junitdoclet/xdocs/navigation.xml delete mode 100644 junitdoclet/xdocs/properties.xml delete mode 100644 latex/plugin.jelly delete mode 100644 latex/plugin.properties delete mode 100644 latex/project.properties delete mode 100644 latex/project.xml delete mode 100644 latex/xdocs/changes.xml delete mode 100644 latex/xdocs/goals.xml delete mode 100644 latex/xdocs/index.xml delete mode 100644 latex/xdocs/navigation.xml delete mode 100644 latex/xdocs/properties.xml delete mode 100644 latka/plugin.jelly delete mode 100644 latka/plugin.properties delete mode 100644 latka/project.properties delete mode 100644 latka/project.xml delete mode 100644 latka/src/plugin-resources/jmeter2suite.jelly delete mode 100644 latka/src/plugin-test/file1.jmx delete mode 100644 latka/src/plugin-test/maven.xml delete mode 100644 latka/src/plugin-test/project.xml delete mode 100644 latka/src/test/latka/test.latka delete mode 100644 latka/xdocs/changes.xml delete mode 100644 latka/xdocs/goals.xml delete mode 100644 latka/xdocs/index.xml delete mode 100644 latka/xdocs/navigation.xml delete mode 100644 latka/xdocs/properties.xml delete mode 100644 shell/plugin.jelly delete mode 100644 shell/plugin.properties delete mode 100644 shell/project.properties delete mode 100644 shell/project.xml delete mode 100644 shell/xdocs/changes.xml delete mode 100644 shell/xdocs/goals.xml delete mode 100644 shell/xdocs/index.xml delete mode 100644 shell/xdocs/navigation.xml delete mode 100644 shell/xdocs/properties.xml delete mode 100644 struts/plugin.jelly delete mode 100644 struts/project.properties delete mode 100644 struts/project.xml delete mode 100644 struts/src/main/org/apache/maven/struts/Action.java delete mode 100644 struts/src/main/org/apache/maven/struts/ConfigurationEntry.java delete mode 100644 struts/src/main/org/apache/maven/struts/FormBean.java delete mode 100644 struts/src/main/org/apache/maven/struts/Forward.java delete mode 100644 struts/src/main/org/apache/maven/struts/ObjectConfigurationEntry.java delete mode 100644 struts/src/main/org/apache/maven/struts/Struts10WarFile.java delete mode 100644 struts/src/main/org/apache/maven/struts/Struts10WarValidator.java delete mode 100644 struts/src/main/org/apache/maven/struts/StrutsEntityResolver.java delete mode 100644 struts/src/plugin-resources/struts-config_1_0.dtd delete mode 100644 struts/src/plugin-resources/struts-config_1_1.dtd delete mode 100644 struts/src/plugin-test/maven.xml delete mode 100644 struts/src/plugin-test/project.properties delete mode 100644 struts/src/plugin-test/project.xml delete mode 100644 struts/src/plugin-test/src/MANIFEST.MF delete mode 100644 struts/src/plugin-test/src/java/org/apache/maven/struts/ApplicationResources.properties delete mode 100644 struts/src/plugin-test/src/java/org/apache/maven/struts/Nada.java delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-bean.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-config.xml delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-html.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-logic.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-nested.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-template.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/struts-tiles.tld delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/validator-rules.xml delete mode 100644 struts/src/plugin-test/src/webapp/WEB-INF/web.xml delete mode 100644 struts/src/plugin-test/src/webapp/index.html delete mode 100644 struts/src/plugin-test/src/webapp/index.jsp delete mode 100644 struts/src/plugin-test/src/webapp/page2.jsp delete mode 100644 struts/src/test-resources/struts/struts-example.war delete mode 100644 struts/src/test/org/apache/maven/struts/ActionTest.java delete mode 100644 struts/src/test/org/apache/maven/struts/FormBeanTest.java delete mode 100644 struts/src/test/org/apache/maven/struts/ForwardTest.java delete mode 100644 struts/src/test/org/apache/maven/struts/Struts10WarFileTest.java delete mode 100644 struts/xdocs/changes.xml delete mode 100644 struts/xdocs/futures.xml delete mode 100644 struts/xdocs/goals.xml delete mode 100644 struts/xdocs/index.xml delete mode 100644 struts/xdocs/navigation.xml delete mode 100644 struts/xdocs/properties.xml delete mode 100644 tjdo/announcements/1.0.ann delete mode 100644 tjdo/plugin.jelly delete mode 100644 tjdo/plugin.properties delete mode 100644 tjdo/project.properties delete mode 100644 tjdo/project.xml delete mode 100644 tjdo/xdocs/changes.xml delete mode 100644 tjdo/xdocs/goals.xml delete mode 100644 tjdo/xdocs/index.xml delete mode 100644 tjdo/xdocs/navigation.xml delete mode 100644 tjdo/xdocs/properties.xml delete mode 100644 webserver/plugin.jelly delete mode 100644 webserver/plugin.properties delete mode 100644 webserver/project.properties delete mode 100644 webserver/project.xml delete mode 100644 webserver/src/plugin-resources/apache-2.x.jelly delete mode 100644 webserver/xdocs/changes.xml delete mode 100644 webserver/xdocs/goals.xml delete mode 100644 webserver/xdocs/index.xml delete mode 100644 webserver/xdocs/navigation.xml delete mode 100644 webserver/xdocs/properties.xml delete mode 100644 wizard/plugin.jelly delete mode 100644 wizard/project.xml delete mode 100644 wizard/xdocs/changes.xml delete mode 100644 wizard/xdocs/goals.xml delete mode 100644 wizard/xdocs/index.xml delete mode 100644 wizard/xdocs/navigation.xml delete mode 100644 wizard/xdocs/properties.xml delete mode 100644 wizard/xdocs/tasks.xml diff --git a/appserver/plugin.jelly b/appserver/plugin.jelly deleted file mode 100644 index 928e4466..00000000 --- a/appserver/plugin.jelly +++ /dev/null @@ -1,652 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - A required property is missing a value. - - Property name: ${propname} - - Errors must be corrected before using this plugin. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - A required property is pointing to an invalid directory. - - Property name: ${propname} - Invalid value: ${propvalue} - - Errors must be corrected before using this plugin. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - The specified appserver name is currently not supported. - - Property name: ${propname} - Property value: ${propvalue} - - For supported ${propname} values, please see the help docs. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - The specified version for the ${appserver} appserver is currently - not supported. - - Property name: ${propname} - Property value: ${propvalue} - - For supported ${propname} values, please see the help docs. - - -------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - installed - not installed - - - - - - started - not started - - - - - -Maven has determined your appserver instance is in directory [ ] and on - - - - - -Maven has determined your appserver instance is in directory [ ] and using socket on host . - - - - - - - - - - - - - -: Deleting appserver instance ... - - - - - - - - - - -: Installing appserver instance ... - - - - - - - - - -: Re-installing appserver instance ... - - - - - - - - - - -: Starting appserver instance ... - - - - - - - - - -: Re-starting appserver instance ... - - - - - - - - - -: Stopping appserver instance ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Runtime Error | - -------------------------------------------------------------------------- - - Maven could not determine the current status for your - instance. This was an unexpected runtime error that should be reported. - - -------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - -Appserver could not be installed because it is already installed. Trying to -reinstall the appserver instead ... - - - - - - - - - - - - - - - - - - - - -Appserver could not be reinstalled because it is not yet installed. Trying to -install the appserver instead ... - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Warning | - -------------------------------------------------------------------------- - - Appserver not yet installed - - You may try - o appserver:install appserver:start - o appserver:cycle - - -------------------------------------------------------------------------- - - - - -Appserver could not be started because it is already started. Trying to restart -the appserver instead ... - - - - - - - - - - - - - - - - - - - - - - - - -Appserver could not be restarted because it is not yet started. Trying to start -the appserver ... - - - - - - - - - - - - - - - - - - -Appserver already stopped! - - - - - - - - - - - - - - - - - - - - - - - - - - - -Appserver already cleaned! - - - - - - - diff --git a/appserver/plugin.properties b/appserver/plugin.properties deleted file mode 100644 index 2e3ff8e6..00000000 --- a/appserver/plugin.properties +++ /dev/null @@ -1,122 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -############################################################################ -# W E B S E R V E R -#--------------------------------------------------------------------------- - -#-------------------------------------------------------# -# OPTIONAL PROPERTIES TO BE SET BY PLUGIN CONSUMER # -#-------------------------------------------------------# - -# -# ports to access and configure this server instance -# -maven.appserver.port.http=80 -maven.appserver.port.https=443 - -# -# optional ports for other work -# -# maven.appserver.port.A= -# maven.appserver.port.B= -# maven.appserver.port.C= - -# -# The host name, used when configuring, defaults to localhost -# -maven.appserver.host=localhost - -# -#RMI port, Admin Username, and Admin Password used for orion support -# -maven.appserver.rmi.port= -maven.appserver.adminusername=admin -maven.appserver.adminpassword=admin - -#-------------------------------------------------------# - - -#-------------------------------------------------------# -# REQUIRED PROPERTIES THAT MAY/MUST BE SET BY USER # -#-------------------------------------------------------# - -# -# a supported name of an application server instance to install -# -# maven.appserver.name=tomcat - -# -# version number of the application server -# -# maven.appserver.version=4.x - -# -# The place where the binary machine install of the web server resides -# -# maven.appserver.home=/apps/apache2 - -# -# The directory to install the local instance of the server -# -maven.appserver.dir=${basedir}/server - -# -# The default port to test for a TCP/IP connection listener for determining if -# the appserver instance is started. Default is the same as the http port -# -maven.appserver.test.socket=${maven.appserver.port.http} - -# -# The URL used to test the current running status of the appserver -# Default is left as null, so that only the socket is used to test if the server -# is started -# -# maven.appserver.test.url=http://${maven.appserver.host}:${maven.appserver.port.http}/index.html - -# -# The root directory out of which you will server will serve your documents -# The default is under webapps, to allow this appserver to play friendly -# with a Tomcat application container by default -# -maven.appserver.root=${maven.appserver.dir}/webapps/ROOT - -#-------------------------------------------------------# - - -#-------------------------------------------------------# -# REQUIRED PROPERTIES NOT NORMALLY MODIFIED BY USERS # -#-------------------------------------------------------# - -# needed for dir searches and messages, should NOT be changed by user -maven.appserver.fullname=${maven.appserver.name}-${maven.appserver.version} - -# -# where to look for the instance specific config files for this appserver -# -maven.appserver.conf.dir=${maven.conf.dir}/appserver/${maven.appserver.fullname} - -#-------------------------------------------------------# -# DEBUG REQUIRED PROPERTIES # -#-------------------------------------------------------# -maven.appserver.debug=false -maven.appserver.debug.transport=dt_socket -maven.appserver.debug.address=8000 -maven.appserver.debug.server=y -maven.appserver.debug.suspend=n - - - diff --git a/appserver/project.properties b/appserver/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/appserver/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/appserver/project.xml b/appserver/project.xml deleted file mode 100644 index a6e00bcc..00000000 --- a/appserver/project.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - ../plugin-parent/project.xml - 3 - maven-appserver-plugin - Maven Appserver Plugin - 2.1-SNAPSHOT - - A Maven plugin that can be used to install and control a J2EE application server instance. - http://maven.apache.org/reference/plugins/appserver/ - /www/maven.apache.org/reference/plugins/appserver/ - http://jira.codehaus.org/browse/MPAPPSERVER - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/appserver/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/appserver/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/appserver/ - - - - 2.0 - 2.0 - MAVEN_APPSERVER_2_0 - - - - - Peter Lynch - plynch - plynch at apache dot org - - - Architect - Java Developer - - - - Stéphane Mor - smor - stephanemor@yahoo.fr - Hasgard Systèmes et Réseaux - - Java Developer - - - - Jason van Zyl - jvanzyl - jason@zenplex.com - Zenplex - - Release Manager - - - - - - ant - ant - 1.5.3-1 - - - commons-jelly - commons-jelly-tags-log - 1.0 - - - diff --git a/appserver/src/legacy/build-enhydra-31.xml b/appserver/src/legacy/build-enhydra-31.xml deleted file mode 100644 index 78198e8f..00000000 --- a/appserver/src/legacy/build-enhydra-31.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-j2ee-12.xml b/appserver/src/legacy/build-j2ee-12.xml deleted file mode 100644 index b7f24190..00000000 --- a/appserver/src/legacy/build-j2ee-12.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - -]> - - - - &build-j2ee-share; - - &build-tomcat-40; - - diff --git a/appserver/src/legacy/build-j2ee-13.xml b/appserver/src/legacy/build-j2ee-13.xml deleted file mode 100644 index 9c3224c7..00000000 --- a/appserver/src/legacy/build-j2ee-13.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -]> - - - - - &build-j2ee-share; - - &build-tomcat-40; - - diff --git a/appserver/src/legacy/build-j2ee-share.xml b/appserver/src/legacy/build-j2ee-share.xml deleted file mode 100644 index fb497f67..00000000 --- a/appserver/src/legacy/build-j2ee-share.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-orion-14.xml b/appserver/src/legacy/build-orion-14.xml deleted file mode 100644 index e27af68c..00000000 --- a/appserver/src/legacy/build-orion-14.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-orion-15.xml b/appserver/src/legacy/build-orion-15.xml deleted file mode 100644 index ea2c744b..00000000 --- a/appserver/src/legacy/build-orion-15.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-resin-12.xml b/appserver/src/legacy/build-resin-12.xml deleted file mode 100644 index a8f280ed..00000000 --- a/appserver/src/legacy/build-resin-12.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-resin-13.xml b/appserver/src/legacy/build-resin-13.xml deleted file mode 100644 index ee64e796..00000000 --- a/appserver/src/legacy/build-resin-13.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-resin-20.xml b/appserver/src/legacy/build-resin-20.xml deleted file mode 100644 index 221188a5..00000000 --- a/appserver/src/legacy/build-resin-20.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-tomcat-32.xml b/appserver/src/legacy/build-tomcat-32.xml deleted file mode 100644 index 112b9f05..00000000 --- a/appserver/src/legacy/build-tomcat-32.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-tomcat-33.xml b/appserver/src/legacy/build-tomcat-33.xml deleted file mode 100644 index 2b2bfb6d..00000000 --- a/appserver/src/legacy/build-tomcat-33.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-weblogic-51.xml b/appserver/src/legacy/build-weblogic-51.xml deleted file mode 100644 index 6a3d8e39..00000000 --- a/appserver/src/legacy/build-weblogic-51.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/legacy/build-weblogic-61.xml b/appserver/src/legacy/build-weblogic-61.xml deleted file mode 100644 index 504ba66e..00000000 --- a/appserver/src/legacy/build-weblogic-61.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/plugin-resources/orion-2.0.x.jelly b/appserver/src/plugin-resources/orion-2.0.x.jelly deleted file mode 100644 index 1b353470..00000000 --- a/appserver/src/plugin-resources/orion-2.0.x.jelly +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/server.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/application.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/data-sources.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/global-web-application.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/jms.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/mime.types - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/principals.xml - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/config/rmi.xml - - - - - -To use this appserver, you must have a project specific -library file at the following location: - -${maven.appserver.conf.dir}/lib/hsqldb.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/plugin-resources/tomcat-4.0.x.jelly b/appserver/src/plugin-resources/tomcat-4.0.x.jelly deleted file mode 100755 index 6655986f..00000000 --- a/appserver/src/plugin-resources/tomcat-4.0.x.jelly +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/conf/server.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/src/plugin-resources/tomcat-4.1.x.jelly b/appserver/src/plugin-resources/tomcat-4.1.x.jelly deleted file mode 100755 index 2ea62f69..00000000 --- a/appserver/src/plugin-resources/tomcat-4.1.x.jelly +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - -To use this appserver, you must have a project specific -configuration file at the following location: - -${maven.appserver.conf.dir}/conf/server.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/xdocs/appserver.xml b/appserver/xdocs/appserver.xml deleted file mode 100644 index d0bc2685..00000000 --- a/appserver/xdocs/appserver.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - Peter Lynch - Maven J2EE Plug-in: Appserver Notes - - - -
-

- This page offers some general information about the appserver control - features of the J2EE plug-in. Specific details about - related targets and - their properties can be found elsewhere. -

-
-
-

- When developing a web application (or website for that matter), each developer - working on the project needs to have an environment to run and test their - application. Rather than store a complete application server install in source - control, it is much more feasible to have a centralized install of that - application server. Then, using only the minimum configuration files the - developer can control a separate isolated instance of the application server - on their machine. -

-

- The Maven J2EE plug-in appserver features use this technique to install and control - application server instances for your project needs. The appserver - features are not for - deploying webapps or war files into application servers. -

-
- -
-

- The following table shows the various appserver versions that are - supported by the appserver control features of the Maven J2EE plug-in - and what propety values are required to be set in order for the - maven:appserver-* targets to work with those versions. -

- - - - - - - - - - - - - - - - - - -
Server${maven.appserver.name}${maven.appserver.version}${maven.j2ee.version}
Tomcat 4.xtomcat4012 or 13
Orion 2.0.xorion2.0.x
- -

The following application servers are expected to be supported soon:

- -
- -
-

- To make life even easier when using the appserver targets, the Maven J2EE - plug-in includes a proxy build file. This means a file similar to the one - below is copied to the directory specified by - ${maven.appserver.dir}. -

-
${maven.appserver.dir}/build.xml
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ]]> - -

Using this build file, you can run the appserver related targets quickly - from within your ${maven.appserver.dir} directory. Typing simply

- -

can stop, re-install, and re-start a started server instance.

-
- -
diff --git a/appserver/xdocs/changes.xml b/appserver/xdocs/changes.xml deleted file mode 100644 index aec26c97..00000000 --- a/appserver/xdocs/changes.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - Changes - dIon Gillard - - - - Add Orion 2.0.x support - Add server debugging support to Tomcat 4.1.x - Make runtime appserver properties play nice with console after - multiple goal invocations - - - - Updated docs so that they referred to the current release and not b5 - Fix for jars not being included in an EAR file - Added the new - changes report. - - - - diff --git a/appserver/xdocs/dirlayout.xml b/appserver/xdocs/dirlayout.xml deleted file mode 100644 index 12ec7662..00000000 --- a/appserver/xdocs/dirlayout.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - dIon Gillard - Maven J2EE Plug-in Directory Layout - - - - -
-

- Having a common directory layout would allow for users familiar - with one Maven project to immediately feel at home in another - Maven project. The advantages are analogous to adopting a - site-wide look-and-feel. Common Maven procedures strengthen the - Maven brand. -

-

- The next two sections document the directory layout expected by - Maven and the directory layout created by Maven. Please try to - conform to this structure as much as possible; however, if you - must these settings can be overridden via properties as - documented in the Integration document. -

-
-
- - - - - - - - - - - -
Directory or file nameContentComment
src/webappThe base directory under which web applications can be found. - This directory contains the web application to - be built. The web application name is passed to maven as the - property ${maven.j2ee.war.name} -
-
-
- - - - - - - - - - - -
Directory nameContentComment
target/Contains compiled WARs and EARs. - This directory is used by the J2EE Plug-in as the destination of the - built war and ear files -
-
- -
diff --git a/appserver/xdocs/futures.xml b/appserver/xdocs/futures.xml deleted file mode 100644 index b2b62a1b..00000000 --- a/appserver/xdocs/futures.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - dIon Gillard - Peter Lynch - Futures for the J2EE Plug-in - - - -
-

- The following is a list of things that are being contemplated - for the Maven appserver Plug-in. -

-
    -
  1. - We need to have Class-Path entries in generated J2EE EJB jars and - such. Quite tricky as it doesn't work the same for all application - servers (and across versions of them !). -
  2. -
  3. - Allow integration with a 'webserver' plugin so that application server - requests can seamlessly be hooked into the webserver. -
  4. -
  5. - Document how other Maven plugins that need an application server - instance to do their work can use this plugin. -
  6. -
-
- -
diff --git a/appserver/xdocs/goals.xml b/appserver/xdocs/goals.xml deleted file mode 100644 index 0dc8fbd2..00000000 --- a/appserver/xdocs/goals.xml +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - dIon Gillard - Kevin O'Neill - Peter Lynch - Maven J2EE Plug-in Goals - - - -
-

- This document describes the supplied goals - that are available when using the J2EE Plug-in with Maven. -

-

- Please refer to the - Integration document for - more information on how to integrate these goals into - your project. -

-

- The build file utilizes various properties for default and - user-configurable settings. All J2EE Plug-in properties are described - in the Properties document. - - The rest of this document assumes your project follows the standard - Directory Layout; however, it is - possible to override many of these defaults. -

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GoalDescription
j2ee:validate-warValidate a WAR file.
j2ee:ejbCreates an EJBjar file.
j2ee:earCreates an EAR file.
j2ee:appserver-installInstalls an Application Server instance
j2ee:appserver-startStarts an Application Server instance
j2ee:appserver-stopStops an Application Server instance
j2ee:appserver-cleanSafely deletes the Application Server instance installation directory - specified by the ${maven.appserver.dir} - property.
-

- -

- The j2ee:validate-war target validates the newly - produced war file. -

-

- The validator checks the folowing: -

    -
  1. The war file exists
  2. -
  3. It is readable
  4. -
  5. The war file has a web.xml (it's only a warning if it - doesn't exist)
  6. -
  7. Servlets defined by a <servlet> tag are loadable - from the war file and not the classpath
  8. -
  9. JSPs defined by a <servlet> tag exist in the war -
  10. -
  11. Taglibs defined by a <taglib> have a - <taglib-location> that exists in the war
  12. -
  13. Error pages specified by a <location> nested - within an <error-page> element must exist in the - war file
  14. -
  15. Login and error pages specified in the <form-login-config - > element must exist in the war file
  16. -
-

- - -

- The j2ee:ejb target generates the ejb jar file - for the project. Optionally it can also create jars containing the local - and remote interfaces. The files are produced in the - ${maven.build.dir}/ejb - directory and have a name based on the - ${maven.j2ee.ejb.name} - property. -

-

The files generated are: -

    -
  • ${maven.j2ee.ejb.name}.jar
  • -
  • ${maven.j2ee.ejb.name}-remote.jar (optional)
  • -
  • ${maven.j2ee.ejb.name}-local.jar (optional)
  • -
-

-

- Maven also includes the license file, LICENSE.txt, if it exists, in - the META-INF directory. -

-

- The contents of the ejb file include: -

- - - - - - - - - - - - - - -
ItemDescription
ejb-jar.xml - A J2EE enterprise bean deployment descriptor, which - is placed in the root of the resulting ear file. - The - ${maven.j2ee.ejb.conf.dir} and associated includes and - excludes properties defines the location of this file. -
Classes - The files in the ${maven.build.dest} - directory to be included is specified using the - ${maven.j2ee.ejb.includes} - and ${maven.j2ee.ejb.excludes} - properties. -
Meta-Inf - Files to be included the META-INF directory of the ejb - jar file may be specified using the - - ${maven.j2ee.ejb.conf.dir}, - - ${maven.j2ee.ejb.conf.includes} and - - ${maven.j2ee.ejb.conf.excludes} properties. -
-
- -

- The j2ee:ear target generates an ear file for the - project. The ear file is produced in the - ${maven.build.dir} - directory and has a name defined by the - ${maven.j2ee.ear.name} - property. -

-

- Maven also includes the license file, LICENSE.txt, if it exists, under - the directory META-INF. -

-

- The contents of the ear file include: -

- - - - - - - - - - -
ItemDescription
application.xml - A J2EE enterprise application deployment descriptor, which - is placed in the META-INF of the resulting ear file. - The ${maven.j2ee.ear.appxml} - property defines the location of this file. It defaults to - src/application.xml -
Other Content - Any dependencies specified in your project.xml - may be included by adding the ear.bundle.jar property to the - properties, e.g. - - CustomerEjb - 2.4 - - true - - - ]]> -
-
- - - - -

- The j2ee:appserver-install target installs the minimum - directory and file structure necessary for an individual application - server instance. Once the structure is created inside the - directory specified by ${maven.appserver.dir} - , configuration files are installed using the copy task and the filter - mechanism built into Ant. - The exact work done by this target is specific to the - name and version of the application server you specify using - ${maven.appserver.name} - and ${maven.appserver.version} - properties. -

-

- Optionally, you can invoke the install target of the - Ant build.xml file copied to ${maven.appserver.dir} instead. See the - appserver proxy build file for more - information. -

-

- During the configuration process, all - maven.appserver.* properties - are used as filter tokens while files in - ${maven.conf.dir}/${maven.appserver.name}${maven.appserver.version} are - copied to ${maven.appserver.dir}. By default, certain files are - excluded from copying to ${maven.appserver.dir}. Files excluded are: -

-
    -
  • **/web.xml/**
  • -
-

- This allows you to keep you webapp specific conf files in the same - directory and not have them installed with this target needlessly. -

-

- Your configuration files may require additional processing ( using additional - filter tokens for example). In that case you can use the - maven-post-appserver-install - callback target to re-configure files. -

-

- This target has different behavior - depending on the current status of the application server. The - behavior is defined by the following rules: -

- - - - - - - - - - - - - - -
Server StatusBehavior
Not Installed - Install and configure the application server. -
Installed and stopped - Re-install/re-configure the application server. -
Installed and started - Stop, re-install/re-configure, re-start the application server. -
-

Note: In all situations, the j2ee:appserver-install - target will overwrite existing appserver configuration files already - installed. Maven does this because it cannot know if the you have changed - your maven.appserver.* related properties, - so it always re-configures the configuration files. Since this - operation has low overhead, it is considered a feature that allows dynamic - updates to your appserver related property values.

-
- - -

- The j2ee:appserver-start target - attempts to start the application server instance you have specified - via properties. -

-

Optionally, you can invoke the start target of the - Ant build.xml file copied to ${maven.appserver.dir} instead. See the - appserver proxy build file for more - information. -

-

- This target will cause two processes to run. One process will - represent the running of the Ant build file for the Maven target. - The other will be the forked JVM that actually starts the application - server instance. -

-

- If you don't want the processes to block your current terminal, - you can execute the call to this target in the background using the - traditional '&' directive on unix-like systems. -

-

For example, to run the server in the background, go to your - ${maven.appserver.dir} directory and type:

- -

- This target has different behavior - depending on the current status of the application server. The - behavior is defined by the following rules: -

- - - - - - - - - - - - - - -
Server StatusBehavior
Not Installed - Install/configure, then start the application server. -
Installed and stopped - Start the application server. -
Installed and started - Stop and then re-start the application server. This is useful for - application servers that are not set to auto-reload resources. -
-
- - -

- The j2ee:appserver-stop target - attempts to stop the application server instance you have specified - via the maven.appserver.* properties. -

-

Optionally, you can invoke the stop target of the - Ant build.xml file copied to ${maven.appserver.dir} instead. See the - appserver proxy build file for more - information. -

-

- This target only has relevance if the application server instance - is actually started. All other situations do nothing. -

-
- - - -

- The j2ee:appserver-clean target - attempts to safely delete the directory specified by - ${maven.appserver.dir}. -

-

- This target has different behavior - depending on the current status of the application server. The - behavior is defined by the following rules: -

- - - - - - - - - - -
Server StatusBehavior
Installed and stopped - Deletes the directory specified by ${maven.appserver.dir}. -
Installed and started - Stop the application server instance and then delete the directory - specified by ${maven.appserver.dir}. -
-
-
- -
diff --git a/appserver/xdocs/index.xml b/appserver/xdocs/index.xml deleted file mode 100644 index 9bef399f..00000000 --- a/appserver/xdocs/index.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - Maen J2EE Plug-in - dIon Gillard - Peter Lynch - - - -
-

- This document provides an overview of the reference section - for the Maven J2EE Plug-in. - The documents presented here are references, if you are looking - for more verbose usage material, please refer to the Getting Started section. -

- - - - - - - - - - - - - - - - - - - -
DocumentDescription
Goals - This document provides detailed information on the various - goals that are available as part of the Maven J2EE Plug-in. -
Properties - The behavior of the Maven J2EE Plug-in can be altered via numerous - properties. This document describes each property - available as the default used. -
Directory Layout - The preferred directory layout structure is documented - here. This is a useful document if you are trying to - determine what a particular component of your directory - hierarchy is used for. -
Appserver Notes -

- This page contains additional reference material regarding the application server ( - appserver ) control features of the Maven J2EE plugin. -

-

- For additional help in understanding what the appserver features of the - Maven J2EE plugin are, look at the - J2EE plug-in properties - and J2EE build file - documents. -

-
Futures - These are the current thoughts on additional items - that could or should be added to the plug-in. - They may or may not make it to an actual task list of a - developer. -
-
-
- -
diff --git a/appserver/xdocs/navigation.xml b/appserver/xdocs/navigation.xml deleted file mode 100644 index a2c7a790..00000000 --- a/appserver/xdocs/navigation.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - Maven - - - - - - - - - - - - - - diff --git a/appserver/xdocs/properties.xml b/appserver/xdocs/properties.xml deleted file mode 100644 index 62b9ba8b..00000000 --- a/appserver/xdocs/properties.xml +++ /dev/null @@ -1,510 +0,0 @@ - - - - - - - dIon Gillard - Kevin O'Neill - Peter Lynch - Maven J2EE Plug-in Properties Documentation - - - -
-

- The following is an overview of the various properties (and - default values) used by the Maven J2EE Plug-in goals. These properties - control various aspects of the J2EE build. Most of these - properties are optional and have defaults; however, there are - mandatory properties that must be set as described in this document. -

-

- These properties can be overridden to change the default behavior of - the Maven J2EE Plug-in. If you need to override any of these properties, - please refer to the - Integration - document for the preferred method of setting properties in your project. -

- - - - - - - - - - - - - - - - - - - - - - -
SectionDescription
General Settings - These properties specify various settings that may be used in any - J2EE Plug-in target. -
War - These properties specify various settings that control the build - of a war file by the J2EE Plug-in. -
EJB - These properties specify various settings that control the build - of a ejb jar by the J2EE Plug-in. -
Ear - These properties specify various settings that control the build - of an ear file by the J2EE Plug-in. -
Appserver - These properties detail what application server instance you would - like to install and control for your project and how to configure - it. -
-
- - -
- - - - - - - -
PropertyOptional?Description
maven.j2ee.version - No for the "appserver:install" goal. - Otherwise, Yes. - - Specifies the version of J2EE you are trying to use. Valid values are: -
    -
  • 12
  • -
  • 13
  • -
- The above values represent version 1.2 and 1.3 respectively. - The value of this property is especially important for the - supported servers - used with the appserver control features of this plugin. -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.j2ee.war.nameNo - Specifies the name of the web application to be built. -
maven.j2ee.war.srcYes - Specifies the directory in the local file system that is - used as the base directory for finding web applications. It defaults - to ${maven.src.dir}/webapps -
maven.j2ee.war.contentYes - Specifies the directory in the local file system that holds - web content to be placed in the war file. It defaults - to ${maven.j2ee.war.src}/${maven.j2ee.war.name} -
maven.j2ee.war.classes.includesYes - Specifies the pattern of files in the directory specified by - ${maven.build.dest} - to be included in the /WEB-INF/classes of the resulting - war file. It defaults to **, that is, all files. -
maven.j2ee.war.classes.excludesYes - Specifies the pattern of files in the directory specified by - ${maven.build.dest} - that are not to be included in the - /WEB-INF/classes of the resulting war file. - It defaults to **/package.html. -
maven.j2ee.war.lib.includesYes -

WARNING: This property is temporarily unused.

- Specifies the pattern of files in the - project dependencies - to be included in the /WEB-INF/lib of the resulting - war file. It defaults to *.jar, that is, all dependencies. -
maven.j2ee.war.lib.excludesYes -

WARNING: This property is temporarily unused.

- Specifies the pattern of files in the - project dependencies - not to be included in the /WEB-INF/lib of the resulting - war file. It defaults to blank, that is, no dependencies are excluded. -
maven.j2ee.war.webxmlYes - Specifies the deployment descriptor to be used when building the war - file. It will be placed in /WEB-INF/web.xml of the resulting - war file. It defaults to ${maven.conf.dir}/${maven.j2ee.war.name}-web.xml -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.j2ee.ejb.nameNo - Specifies the name of the ejb jar to be built. -
maven.j2ee.ejb.conf.dirNo - Specifies the directory to be used to find the deployment descriptor - and other files to be placed in META-INF directory of - the resulting ejb jar. It defaults to - ${maven.conf.dir}/${maven.j2ee.ejb.name} -
- maven.j2ee.ejb.conf.includes - - Yes - Specifies the a pattern of files to be included in the - META-INF directory of the resulting ejb jar, relative - to the ${maven.j2ee.ejb.conf.dir}. It defaults to - ejb-jar.xml. -
- maven.j2ee.ejb.conf.excludes - - Yes - Specifies the a pattern of files to be excluded from the - META-INF directory of the resulting ejb jar, relative - to the ${maven.j2ee.ejb.conf.dir}. It defaults to - blank. -
maven.j2ee.ejb.includesYes - Specifies the pattern of files in the - ${maven.build.dest} - directory to be included in the generated ejb jar. Defaults to **/*. -
maven.j2ee.ejb.excludesYes - Specifies the pattern of compiled class files to be excluded - from the generated ejb jar. Defaults to **/package.html. -
maven.j2ee.ejb.local.includesYes - If this property exists then a jar file with the name - ${maven.j2ee.ejb.name}-local.jar - containing the matching files will be generated in - ${maven.build.dir}/ejb. -
maven.j2ee.ejb.local.excludesYes - Files to be excluded from the - ${maven.j2ee.ejb.name}-local.jar -
maven.j2ee.ejb.remote.includesYes - If this property exists then a jar file with the name - ${maven.j2ee.ejb.name}-remote.jar - containing the matching files will be generated in - ${maven.build.dir}/ejb. -
maven.j2ee.ejb.remote.excludesYes - Files to be excluded from the - ${maven.j2ee.ejb.name}-remote.jar -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.j2ee.ear.nameNo - Specifies the name of the enterprise application to be built. -
maven.j2ee.ear.includesYes - Specifies the pattern of files in the - ${maven.build.dir} - directory to be included in the resulting ear file. It defaults to - *.jar, *.war, that is, all jar and war files. -
maven.j2ee.ear.excludesYes - Specifies the pattern of files in the - ${maven.build.dir} - directory that are not to be included in the resulting ear file. - It defaults to blank, that is, nothing is excluded. -
maven.j2ee.ear.appxmlYes - Specifies the deployment descriptor to be used when building the ear - file. It will be placed in /application.xml of the resulting - ear file. It defaults to ${maven.conf.dir}/${maven.j2ee.ear.name}-application.xml -
-
- - - -
-

Although application server ( appserver ) instance control is part - of the J2EE plugin, all appserver related properties begin with - the "maven.appserver" prefix. This is indicative of the large scope of - functionality within the appserver targets. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.appserver.nameNo - Specifies the name of the application server to install and control - for your project. -

- Please refer to the supported servers - table for a current list of supported appservers and the ${maven.appserver.name} - value they use use. -

maven.appserver.versionNo - Specifies the version of the appserver to install and control - for your project. Please refer to the - supported servers - table for a current list of supported appservers and the - ${maven.appserver.version} value they use. -
maven.appserver.homeNo - Specifies the directory where the shared installation of the appserver - resides. This should be the home of the appserver specified by - ${maven.appserver.name} - and ${maven.appserver.version}. -
maven.appserver.dirNo - Specifies the directory where the appserver instance is installed - during the "appserver:install" goal. - Defaults to be ${basedir}/server . -
maven.appserver.hostNo - Specifies the default host to use to access the started server - instance. Defaults to 'localhost'. -
maven.appserver.port.httpNo - Specifies the HTTP port number to use to access the started server - instance. Defaults to 8080. -
maven.appserver.urlNo - The URL that is used to test if your appserver instance is running. - This URL must point to a target that will return a response code < 400 - when your appserver instance is started. Default value is - http://${maven.appserver.host}:${maven.appserver.port.http}/index.html -
maven.appserver.port.httpsYes - Specifies the HTTPS port number to use to access the started server - instance using SSL. Defaults to 444. -
maven.appserver.port.oneYes - Optional additional port you can specify when configuring appserver files during - install. -
maven.appserver.port.twoYes - Optional additional port you can specify when configuring appserver files during - install. -
maven.appserver.port.threeYes - Optional additional port you can specify when configuring appserver files during - install. -
maven.appserver.classpathYes - A path-like - value that can specify resources to make available as - part of the classpath of the JVM used when controlling your appserver instance. - For example, you may have several webapps running in the same container - that require a JDBC driver be available. Adding a reference to that - jar here will put it in the classpath of the JVM used to start - your appserver. -

- An example of a valid value might be: -

- /jars/database.jar;/jars/foobar.jar -

- Path seperators are automatically converted to their system correct values. - By default, there are no additional paths. Jars required to control an appserver - are automatically built-in and do not need to be added here. -

maven.appserver.rmi.portYes - RMI port you can specify. - Example: used to start/stop/restart orion appserver. -
maven.appserver.adminusernameYes - Admin username to use when communicating with appserver. - Example: used to start/stop/restart orion appserver. -
maven.appserver.adminpasswordYes - Admin password to use when communicating with appserver. - Example: used to start/stop/restart orion appserver. -
-
- -
diff --git a/ashkelon/plugin.jelly b/ashkelon/plugin.jelly deleted file mode 100644 index a3fbecf3..00000000 --- a/ashkelon/plugin.jelly +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${packages} - ${basedir}/${pom.artifactId}-ashkelon.xml - - - ${pom.name} - ${pom.shortDescription} - ${pom.description} - ${pom.organization.name} - ${pom.url} - 2000-01-01T00:00:00.000 - ${pom.currentVersion} - - ${package} - - - - - - - - diff --git a/ashkelon/project.properties b/ashkelon/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/ashkelon/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/ashkelon/project.xml b/ashkelon/project.xml deleted file mode 100644 index c53563bb..00000000 --- a/ashkelon/project.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-ashkelon-plugin - Maven Ashkelon Plugin - 1.2.1-SNAPSHOT - - Publish javadoc to Ashkelon - http://maven.apache.org/reference/plugins/ashkelon/ - org.apache.maven.ashkelon - http://jira.codehaus.org/browse/MPASHKELON - /www/maven.apache.org/reference/plugins/ashkelon/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/ashkelon/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/ashkelon/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/ashkelon/ - - - - 1.1 - 1.1 - MAVEN_ASHKELON_1_1 - - - 1.2 - 1.2 - MAVEN_ASHKELON_1_2 - - - - - - ashkelon - ashkelon - 20030312.120000 - - - castor - castor - 0.9.4.3 - - - commons-dbcp - commons-dbcp - 1.0-dev - - - j2h-1.2.jar - java2html - java2html - 1.2 - - - mm.mysql - mm.mysql - 2.0.13-bin - - - servletapi - servletapi - 2.3 - - - oro - oro - 2.0.7 - - - diff --git a/ashkelon/src/main/org/apache/maven/ashkelon/PackageTool.java b/ashkelon/src/main/org/apache/maven/ashkelon/PackageTool.java deleted file mode 100644 index 6e228d64..00000000 --- a/ashkelon/src/main/org/apache/maven/ashkelon/PackageTool.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.apache.maven.ashkelon; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import java.io.File; -import java.io.FileFilter; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** - * @author Ben Walding - * @version $Id$ - */ -public class PackageTool -{ - - /** - * Count the number of java files in a directory - * @param dir - * @return - */ - public static int countJavaFiles(File dir) - { - FileFilter ff = new FileFilter() - { - public boolean accept(File pathname) - { - String path = pathname.getName().toLowerCase(); - if (path.endsWith(".java")) - { - return true; - } - - return false; - } - }; - - File[] f = dir.listFiles(ff); - - return f.length; - - } - /** - * - * @param startDir - * @return a List of String object representing the packages - */ - public List findPackages(File startDir) - { - List results = internalFindPackages(new ArrayList(), startDir); - // Now post process them - List packages = new ArrayList(results.size()); - - Iterator resultsIter = results.iterator(); - while (resultsIter.hasNext()) - { - File f = (File) resultsIter.next(); - String n = f.getAbsolutePath(); - - if (n.equals(startDir.getAbsolutePath())) - { - //Default package - packages.add(""); - } - else - { - - n = n.substring(startDir.getAbsolutePath().length() + 1); - n = n.replace('/', '.'); - n = n.replace('\\', '.'); - packages.add(n); - } - } - return packages; - } - - public File[] getSubDir(File dir) - { - - FileFilter ff = new FileFilter() - { - public boolean accept(File pathname) - { - return pathname.isDirectory(); - } - }; - return dir.listFiles(ff); - } - - protected List internalFindPackages(List results, File startDir) - { - if (countJavaFiles(startDir) != 0) - { - - results.add(startDir); - } - File subdirs[] = getSubDir(startDir); - for (int i = 0; i < subdirs.length; i++) - { - internalFindPackages(results, subdirs[i]); - } - - return results; - } -} diff --git a/ashkelon/xdocs/changes.xml b/ashkelon/xdocs/changes.xml deleted file mode 100644 index e5e33dcb..00000000 --- a/ashkelon/xdocs/changes.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - Changes - Jason van Zyl - - - - - - update to use maven.docs.*/maven.gen.docs - - - diff --git a/ashkelon/xdocs/index.xml b/ashkelon/xdocs/index.xml deleted file mode 100644 index f07c5f0c..00000000 --- a/ashkelon/xdocs/index.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - Ashkelon Plugin - Ben Walding - - -
-

- Ashkelon - is "an online reference tool for java api documentation. Ashkelon - is javadoc taken the next step of being able to reference multiple API's - (>100,000 methods) in a single, fully cross-referenced and searchable - database repository." -

-

- Maven's Ashkelon Plugin provides a set of goals - to integrate your project's javadocs to Ashkelon. -

-
- -
diff --git a/aspectwerkz/plugin.jelly b/aspectwerkz/plugin.jelly deleted file mode 100644 index 3d2b41d0..00000000 --- a/aspectwerkz/plugin.jelly +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Valid values for [maven.aspectwerkz.mode] are [xmldef] and [attribdef] only. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WARNING: aspectwerkz:attributec is not currently working very well... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${compileSrcSetString} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Parsing [${javaSrc}] using [${classSrc}] ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/aspectwerkz/plugin.properties b/aspectwerkz/plugin.properties deleted file mode 100644 index a9f70675..00000000 --- a/aspectwerkz/plugin.properties +++ /dev/null @@ -1,82 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -#============================================================================ -# Properties for the AspectWerkz plugin for Maven -# =========================================================================== - -# AW supports 2 types of Aspects/Advice/Pointcuts definition: -# - xmldef : Advice are defined as extending *Advice classes (BeforeAdvice, -# AroundAdvice, etc). Custom javadoc attributes can be used to -# link code to weave with advices. -# - attribdef: Advices and pcds are defined purely using custom javadoc -# attributes (@Execute, @Aspect, etc). -# You need to tell the plugin how you have defined your AW -# Aspects/Advices/Pointcuts. The 2 valid values are "xmldef" and "attribdef". -maven.aspectwerkz.mode = attribdef - -# Location where weaved classes will be generated. -maven.aspectwerkz.weave.build.dir = ${maven.build.dest} - -# Decide whether definition validation is turned on or off. -maven.aspectwerkz.definition.validate = false - -# Verbose mode -maven.aspectwerkz.verbose = false - -# Classloader to use for class files weaving -maven.aspectwerkz.classloader.preprocessor = org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor - -# The AW plugin looks for source files in ${pom.sourceDirectory}. -# It also supports all source directories added to the ${maven.compile.src.set} -# Ant path variable. Moreover, if you wish to keep non-production aspects in a -# specific directory, you can define the property below. -maven.aspectwerkz.src.dir = ${basedir}/src/aspectwerkz - -# Location where non-production aspect classes will be compiled to. -# There are the classes defined by ${maven.aspectwerkz.src.dir}. -maven.aspectwerkz.build.dest = ${maven.build.dir}/aspectwerkz/classes - -#---------------------------------------------------------------------------- -# attribdef mode properties -# --------------------------------------------------------------------------- - -# Location of the XML definition file. -maven.aspectwerkz.definition.file.src = ${basedir}/conf/aspectwerkz.xml - -# Location where aspectc results will be generated. -maven.aspectwerkz.aspectc.build.dir = ${maven.build.dir}/aspectwerkz/aspectc - -#---------------------------------------------------------------------------- -# xmldef mode properties -# --------------------------------------------------------------------------- - -# Location of the AW XML definition file that will be created by the -# attribute compilation (when calling ). This is only -# used in "xmldef" mode. -maven.aspectwerkz.definition.file.build = ${maven.build.dir}/aspectwerkz.xml - -# If set to "no", prevents org.codehaus.aspectwerkz and related classes -# (jexl, trove, dom4j...) from being instrumented. -maven.aspectwerkz.transform.filter = no - -# (optional). Definition file to be merged with the main definition file. -# Used by the goal. Only for "xmldef" mode. -# maven.aspectwerkz.definition.file.merge = - -# (optional). UUID to use. If not specified a default one will be automatically -# generated. Used by the goal. Only for "xmldef" mode. -# maven.aspectwerkz.uuid = diff --git a/aspectwerkz/project.properties b/aspectwerkz/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/aspectwerkz/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/aspectwerkz/project.xml b/aspectwerkz/project.xml deleted file mode 100644 index 0d4b2074..00000000 --- a/aspectwerkz/project.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-aspectwerkz-plugin - Maven AspectWerkz Plugin - 1.2 - Plugin for AspectWerkz - AspectWerkz plugin - http://maven.apache.org/reference/plugins/aspectwerkz/ - http://jira.codehaus.org/browse/MPASPECTWERKZ - /www/maven.apache.org/reference/plugins/aspectwerkz/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/aspectwerkz/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/aspectwerkz/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/aspectwerkz/ - - - - 1.0 - 1.0 - MAVEN_ASPECTWERKZ_1_0 - - - 1.1 - 1.1 - MAVEN_ASPECTWERKZ_1_1 - - - 1.2 - 1.2 - MAVEN_ASPECTWERKZ_1_2 - - - - - Vincent Massol - vmassol - vmassol@pivolis.com - Pivolis - - Creator - Java Developer - Release Manager - - - - - - aspectwerkz - aspectwerkz-core - 0.9 - - - aspectwerkz - aspectwerkz - 0.9 - - - qdox - qdox - 1.3 - - - jrexx - jrexx - 1.1.1 - - - ant - ant - 1.5.2 - - - bcel - bcel - 5.1 - - - dom4j - dom4j - 1.4 - - - trove - trove - 1.0.2 - - - commons-jexl - commons-jexl - 1.0-beta-2 - - - xml-apis - xml-apis - 1.0.b2 - - - xerces - xerces - 2.4.0 - - - diff --git a/aspectwerkz/src/plugin-test/child/conf/aspectwerkz.xml b/aspectwerkz/src/plugin-test/child/conf/aspectwerkz.xml deleted file mode 100644 index a0a15f05..00000000 --- a/aspectwerkz/src/plugin-test/child/conf/aspectwerkz.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - diff --git a/aspectwerkz/src/plugin-test/child/maven.xml b/aspectwerkz/src/plugin-test/child/maven.xml deleted file mode 100644 index 036cb2da..00000000 --- a/aspectwerkz/src/plugin-test/child/maven.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aspectwerkz/src/plugin-test/child/project.properties b/aspectwerkz/src/plugin-test/child/project.properties deleted file mode 100644 index 433e46c9..00000000 --- a/aspectwerkz/src/plugin-test/child/project.properties +++ /dev/null @@ -1,22 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- - -maven.aspectwerkz.verbose = true -maven.aspectwerkz.weave.build.dir = ${maven.build.dir}/aspectwerkz/weaved diff --git a/aspectwerkz/src/plugin-test/child/project.xml b/aspectwerkz/src/plugin-test/child/project.xml deleted file mode 100644 index 9dbe4629..00000000 --- a/aspectwerkz/src/plugin-test/child/project.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - ${basedir}/../project.xml - test-maven-aspectwerkz-plugin-child - Maven Aspectwerkz plugin test - Child - - - maven - test-maven-aspectwerkz-plugin-parent - 1.0 - - true - - - - dom4j - dom4j - 1.4 - - - trove - trove - 1.0.2 - - - bcel - bcel - 5.1 - - - jrexx - jrexx - 1.1.1 - - - diff --git a/aspectwerkz/src/plugin-test/child/src/aspectwerkz/org/apache/maven/aspectwerkz/SampleNonProductionAspect.java b/aspectwerkz/src/plugin-test/child/src/aspectwerkz/org/apache/maven/aspectwerkz/SampleNonProductionAspect.java deleted file mode 100644 index 479fd124..00000000 --- a/aspectwerkz/src/plugin-test/child/src/aspectwerkz/org/apache/maven/aspectwerkz/SampleNonProductionAspect.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.apache.maven.aspectwerkz; - -import org.codehaus.aspectwerkz.attribdef.Pointcut; -import org.codehaus.aspectwerkz.attribdef.aspect.Aspect; -import org.codehaus.aspectwerkz.joinpoint.JoinPoint; - -/** - * @Aspect perJVM - * - * @author Vincent Massol - */ -public class SampleNonProductionAspect extends Aspect -{ - /** - * @Execution * *..Target.someMethod2(..) - */ - Pointcut sampleNonProductionPointcut; - - /** - * @Around sampleNonProductionPointcut - */ - public Object sampleNonProductionAdvice(final JoinPoint joinPoint) - throws Throwable - { - System.out.println("sampleNonProductionPointcut"); - return joinPoint.proceed(); - } -} diff --git a/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/SampleAspect.java b/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/SampleAspect.java deleted file mode 100644 index 865965b8..00000000 --- a/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/SampleAspect.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.apache.maven.aspectwerkz; - -import org.codehaus.aspectwerkz.attribdef.Pointcut; -import org.codehaus.aspectwerkz.attribdef.aspect.Aspect; -import org.codehaus.aspectwerkz.joinpoint.JoinPoint; - -/** - * @Aspect perJVM - * - * @author Vincent Massol - */ -public class SampleAspect extends Aspect -{ - /** - * @Execution * *..Target.someMethod1(..) - */ - Pointcut samplePointcut; - - /** - * @Around samplePointcut - */ - public Object sampleAdvice(final JoinPoint joinPoint) throws Throwable - { - System.out.println("samplePointcut"); - return joinPoint.proceed(); - } -} diff --git a/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/Target.java b/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/Target.java deleted file mode 100644 index 360b6fc2..00000000 --- a/aspectwerkz/src/plugin-test/child/src/main/org/apache/maven/aspectwerkz/Target.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.apache.maven.aspectwerkz; - -/** - * @author Vincent Massol - */ -public class Target -{ - public static void someMethod1() - { - System.out.println("someMethod1"); - } - - public static void someMethod2() - { - System.out.println("someMethod2"); - } - - public static void main(String[] args) - { - Target.someMethod1(); - Target.someMethod2(); - } -} diff --git a/aspectwerkz/src/plugin-test/maven.xml b/aspectwerkz/src/plugin-test/maven.xml deleted file mode 100644 index b1db833a..00000000 --- a/aspectwerkz/src/plugin-test/maven.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/aspectwerkz/src/plugin-test/parent/maven.xml b/aspectwerkz/src/plugin-test/parent/maven.xml deleted file mode 100644 index 50940d29..00000000 --- a/aspectwerkz/src/plugin-test/parent/maven.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aspectwerkz/src/plugin-test/parent/project.properties b/aspectwerkz/src/plugin-test/parent/project.properties deleted file mode 100644 index 99253214..00000000 --- a/aspectwerkz/src/plugin-test/parent/project.properties +++ /dev/null @@ -1,22 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- - -maven.aspectwerkz.verbose = true -maven.aspectwerkz.aspectc.build.dir = ${maven.build.dest} diff --git a/aspectwerkz/src/plugin-test/parent/project.xml b/aspectwerkz/src/plugin-test/parent/project.xml deleted file mode 100644 index 7c12ef8d..00000000 --- a/aspectwerkz/src/plugin-test/parent/project.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - ${basedir}/../project.xml - test-maven-aspectwerkz-plugin-parent - Maven Aspectwerkz plugin test - Parent - diff --git a/aspectwerkz/src/plugin-test/parent/src/main/org/apache/maven/aspectwerkz/ReusableAspect.java b/aspectwerkz/src/plugin-test/parent/src/main/org/apache/maven/aspectwerkz/ReusableAspect.java deleted file mode 100644 index 2e017b7f..00000000 --- a/aspectwerkz/src/plugin-test/parent/src/main/org/apache/maven/aspectwerkz/ReusableAspect.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.apache.maven.aspectwerkz; - -import org.codehaus.aspectwerkz.attribdef.Pointcut; -import org.codehaus.aspectwerkz.attribdef.aspect.Aspect; -import org.codehaus.aspectwerkz.joinpoint.JoinPoint; - -/** - * @Aspect perJVM - * - * @author Vincent Massol - */ -public class ReusableAspect extends Aspect -{ - /** - * @Execution * *..Target.someMethod*(..) - */ - Pointcut reusablePointcut; - - /** - * @Around reusablePointcut - */ - public Object reusableAdvice(final JoinPoint joinPoint) throws Throwable - { - System.out.println("reusablePointcut"); - return joinPoint.proceed(); - } -} diff --git a/aspectwerkz/src/plugin-test/project.properties b/aspectwerkz/src/plugin-test/project.properties deleted file mode 100644 index 1e100a2e..00000000 --- a/aspectwerkz/src/plugin-test/project.properties +++ /dev/null @@ -1,22 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - - -# MUST specify these, even though they are the defaults, so we can run inside reactor where they were already set -maven.multiproject.basedir=${basedir} -maven.multiproject.includes=*/project.xml -maven.multiproject.excludes= - diff --git a/aspectwerkz/src/plugin-test/project.xml b/aspectwerkz/src/plugin-test/project.xml deleted file mode 100644 index 50ffe427..00000000 --- a/aspectwerkz/src/plugin-test/project.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - 3 - test-maven-aspectwerkz-plugin - Test project for Maven AspectWerkz - maven - 1.0 - - Apache Software Foundation - http://www.apache.org/ - http://maven.apache.org/images/jakarta-logo-blue.gif - - 2003 - org.apache.maven - http://maven.apache.org/images/maven.jpg - Test for Maven AspectWerkz plugin - Test for Maven AspectWerkz plugin - http://maven.apache.org/reference/plugins/aspectwerkz/ - /www/maven.apache.org/reference/plugins/aspectwerkz/ - - scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven/src/plugins-build/aspectwerkz/ - http://cvs.apache.org/viewcvs/maven/src/plugins-build/aspectwerkz/ - - - - Vincent Massol - vmassol - vmassol@pivolis.com - Pivolis - - Developer - - - - - - aspectwerkz - aspectwerkz - 0.9 - - - - src/main - - diff --git a/aspectwerkz/xdocs/changes.xml b/aspectwerkz/xdocs/changes.xml deleted file mode 100644 index b378e826..00000000 --- a/aspectwerkz/xdocs/changes.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - Changes - Vincent Massol - - - - - Fixes for JDK 1.3 in relation to XML parsers. - - - Plugin creation. - - - diff --git a/aspectwerkz/xdocs/goals.xml b/aspectwerkz/xdocs/goals.xml deleted file mode 100644 index e900f5b6..00000000 --- a/aspectwerkz/xdocs/goals.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - Maven AspectWerkz plugin goals - Vincent Massol - - - - - aspectwerkz:attributec - - Compile AspectWerkz javadoc attributes for xml-defined aspects - (i.e. maven.aspectwerkz.mode = xmldef). - - - - aspectwerkz:aspectc - - Parse files for custom javadoc tags (attribef mode only) and weave - them in the bytecode of the aspects themselves. - - - - aspectwerkz:compile - - Compile both main runtime sources and any non-production source - aspects. - - - - aspectwerkz:weave - - Weave aspects at build time (offline mode). Works for both "xmldef" - (maven.aspectwerkz.mode = xmldef) and "attribdef" - (maven.aspectwerkz.mode = attribdef) modes. - - - - - \ No newline at end of file diff --git a/aspectwerkz/xdocs/index.xml b/aspectwerkz/xdocs/index.xml deleted file mode 100644 index b0359cd7..00000000 --- a/aspectwerkz/xdocs/index.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - Maven AspectWerkz plugin - Vincent Massol - - - -
-

- Offers goals to manipulate - AspectWerkz - sources: attribute compilation, offline weaving of aspects, - execution of weaved application, etc. -

-
- -
diff --git a/aspectwerkz/xdocs/navigation.xml b/aspectwerkz/xdocs/navigation.xml deleted file mode 100644 index ddaf667b..00000000 --- a/aspectwerkz/xdocs/navigation.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Maven AspectWerkz plugin - - - - - - - - - - - - diff --git a/aspectwerkz/xdocs/properties.xml b/aspectwerkz/xdocs/properties.xml deleted file mode 100644 index 71ff2a67..00000000 --- a/aspectwerkz/xdocs/properties.xml +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - AspectWerkz properties - Vincent Massol - - - -
-

- It is possible to specify aspect libraries that will be weaved to the - main source code. For example: -

- - groupId - artifactId - version - jar|zip - - true - - -]]> -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.aspectwerkz.modeYes - AW supports 2 types of Aspects/Advice/Pointcuts definition: -
    -
  • - xmldef: Advice are defined as extending - *Advice classes (BeforeAdvice, AroundAdvice, etc). Custom - javadoc attributes can be used to link code to weave with - advices. -
  • -
  • - attribdef: Advices and pcds are defined - purely using custom javadoc attributes (@Execute, @Aspect, - etc). -
  • -
- You need to tell the plugin how you have defined your AW - Aspects/Advices/Pointcuts. The 2 valid values are - xmldef and attribdef. - The default value is attribdef. -
maven.aspectwerkz.weave.build.dirYes - Location where weaved classes will be generated. Default to - ${maven.build.dest}. -
maven.aspectwerkz.definition.validateYes - Decide whether definition validation is turned on or off. - Defaults to false. -
maven.aspectwerkz.verboseYes - Decide whether to use verbose output or not during execution of - this plugin's goals. Defaults to false. -
maven.aspectwerkz.src.dirYes - Location of non-production aspect source files. - The AW plugin looks for source files in - ${pom.sourceDirectory}. It also supports all source - directories added to the ${maven.compile.src.set} - Ant path variable. Moreover, if you wish to keep non-production - aspects in a specific directory, you can define the - maven.aspectwerkz.src.dir property. Defaults to - maven.aspectwerkz.src.dir = ${basedir}/src/aspectwerkz. -
maven.aspectwerkz.build.destYes - Location where non-production aspect classes will be compiled to. - These are the classes defined by - ${maven.aspectwerkz.src.dir}. Defaults to - maven.aspectwerkz.build.dest = ${maven.build.dir}/aspectwerkz/classes. -
maven.aspectwerkz.classloader.preprocessorYes - Classloader to use for class files weaving. Defaults to - org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor. -
-
- -
- - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.aspectwerkz.definition.file.srcYes - Location of the XML definition file. Default to - ${basedir}/conf/aspectwerkz.xml. -
maven.aspectwerkz.aspectc.build.dirYes - Location where aspectc results will be generated. Defaults to - ${maven.build.dir}/aspectwerkz/aspectc. -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyOptional?Description
maven.aspectwerkz.definition.file.buildYes - Location of the AW XML definition file that will be created by the - attribute compilation (when calling the - aspectwerkz:attributec goal). This is only used in - xmldef mode. Defaults to - ${maven.build.dir}/aspectwerkz.xml. -
maven.aspectwerkz.definition.file.mergeYes - Definition file to be merged with the main definition file. - This property is not defined by default. -
maven.aspectwerkz.uuidYes - UUID to use. If not specified a default one will be - automatically generated. This property is not defined by default. -
maven.aspectwerkz.transform.filterYes - If set to "no", prevents org.codehaus.aspectwerkz and - related classes (jexl, trove, dom4j...) from being instrumented. - Defaults to no. -
-
- -
\ No newline at end of file diff --git a/caller/plugin.jelly b/caller/plugin.jelly deleted file mode 100644 index 7f11ae8f..00000000 --- a/caller/plugin.jelly +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/caller/plugin.properties b/caller/plugin.properties deleted file mode 100644 index 58ac8694..00000000 --- a/caller/plugin.properties +++ /dev/null @@ -1,23 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# List of Well-Known Goal Interface (WKGI). -# -# compile-java : compile the source code in ${maven.compile.src.set} (i.e. the -# sources in ${pom.build.sourceDirectory}). - -# Default implementation goals for the WKGIs -maven.caller.call.compile-java = java:compile diff --git a/caller/project.properties b/caller/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/caller/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/caller/project.xml b/caller/project.xml deleted file mode 100644 index 48514d65..00000000 --- a/caller/project.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-caller-plugin - Maven Caller Plugin - 1.1 - Interface to isolate calls between plugins - Maven Caller plugin - http://maven.apache.org/reference/plugins/caller/ - http://jira.codehaus.org/browse/MPCALLER - /www/maven.apache.org/reference/plugins/caller/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/caller/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/caller/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/caller/ - - - - 1.0 - 1.0 - MAVEN_CALLER_1_0 - - - 1.1 - 1.1 - MAVEN_CALLER_1_1 - - - - - Vincent Massol - vmassol - vmassol@pivolis.com - Pivolis - - Creator - Developer - Release Manager - - - - - diff --git a/caller/xdocs/changes.xml b/caller/xdocs/changes.xml deleted file mode 100644 index 5e91d500..00000000 --- a/caller/xdocs/changes.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - Caller Plugin - Vincent Massol - - - - - Initial creation of plugin. - - - diff --git a/caller/xdocs/goals.xml b/caller/xdocs/goals.xml deleted file mode 100644 index 38658cee..00000000 --- a/caller/xdocs/goals.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Maven Caller plugin goals - Vincent Massol - - - -
- - - - - - - - - - -
GoalDescription
call - Call a Well-Known Goal Interface (WKGI). For example - <caller:call goalInterface="compile-java"/>. - The list of WKGIs are found on the - properties page. -
set - Rewire a WKGI implementation. For example - <caller:set goalInterface="compile-java" goal="aspectj:compile"/>. - You can also directly set the corresponding Maven property: - maven.caller.call.[WKGI name]. -
-
- -
diff --git a/caller/xdocs/index.xml b/caller/xdocs/index.xml deleted file mode 100644 index 2405f229..00000000 --- a/caller/xdocs/index.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - Maven Caller plugin - Vincent Massol - - - -
-

- The Caller plugin is an interface abstraction for goals. It defines - several Well-Known Goal Interfaces (WKGI). This allows a plugin - to call another plugin through this Caller plugin. The benefit is - that it is then possible to rewire the implementation of a WKGI. -

-

- Here's a typical scenario. Imagine you wish to implement an aspectj - plugin. This plugin will compile the Java sources using the Aspectj - compiler. However, the project you wish to use the aspectj plugin on - is a webapp and thus you will need call the war:war. - Alas, the war:war goal has a hard-wired call to - java:compile. What you would like is redirect this call - to your aspectj:compile goal. The solution: the Caller - plugin. -

-

- Here's what you would write. In the war plugin's - plugin.jelly, you would replace the call to -

- -]]> -

- by -

- -]]> -

- Then, in your Aspectj plugin, you would call -

- -]]> -

- Thus, when, as a user you will call the war:war - goal, your aspectj:compile goal will be called. -

-

- For more information on the functionality provided by this plugin, - please see the Goals document. -

-

- For more information on how to customise the functionality provided - by this plugin, please see the properties - document. -

-
- -
diff --git a/caller/xdocs/navigation.xml b/caller/xdocs/navigation.xml deleted file mode 100644 index c1c0fc1b..00000000 --- a/caller/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven Caller Plugin - Vincent Massol - - - - - - - - - - - - diff --git a/caller/xdocs/properties.xml b/caller/xdocs/properties.xml deleted file mode 100644 index cb5a3eac..00000000 --- a/caller/xdocs/properties.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - Maven Caller plugin properties - Vincent Massol - - - -
- - - - - - - - - - - -
Property nameOptional?Description
maven.caller.call.compile-javaYes - Defines the implementing goal for the "compile-java" WKGI. - The default value is java:compile. -
-
- -
diff --git a/docbook/plugin.jelly b/docbook/plugin.jelly deleted file mode 100644 index fb894083..00000000 --- a/docbook/plugin.jelly +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} - - - - - - Using offline DocBook DTD ${maven.docbook.dtd} - - - - - - - - - diff --git a/docbook/plugin.properties b/docbook/plugin.properties deleted file mode 100644 index 53bfeb27..00000000 --- a/docbook/plugin.properties +++ /dev/null @@ -1,26 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P L U G I N P R O P E R I E S -# ------------------------------------------------------------------- -# DocBook plugin. -# ------------------------------------------------------------------- - -maven.docbook.src=${maven.src.dir}/docbook -#maven.docbook.dtd= - - diff --git a/docbook/project.properties b/docbook/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/docbook/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/docbook/project.xml b/docbook/project.xml deleted file mode 100644 index 3e9d8633..00000000 --- a/docbook/project.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-docbook-plugin - Maven DocBook Plugin - 1.2 - Convert docbook to xdoc - http://maven.apache.org/reference/plugins/docbook/ - http://jira.codehaus.org/browse/MPDOCBOOK - /www/maven.apache.org/reference/plugins/docbook/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/docbook/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/docbook/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/docbook/ - - - - 1.1 - 1.1 - MAVEN_DOCBOOK_1_1 - - - 1.2 - 1.2 - MAVEN_DOCBOOK_1_2 - - - - - Jason van Zyl - jvanzyl - jason@zenplex.com - Zenplex - - Architect - Release Manager - - - - - - xalan - xalan - 2.4.1 - http://xml.apache.org/xalan-j/ - - root - - - - diff --git a/docbook/src/plugin-resources/docbook2document.xsl b/docbook/src/plugin-resources/docbook2document.xsl deleted file mode 100644 index 2e70a073..00000000 --- a/docbook/src/plugin-resources/docbook2document.xsl +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - - - - - - This document generated by docbook2document.xsl - - - - - - - - - - - - - - - - - - - - - - <xsl:value-of select="title"/> - <xsl:if test="../subtitle"> - (<xsl:value-of select="../subtitle"/>) - </xsl:if> - <!-- ignoring titleabbrev --> - - - - - - - . - - - - - - - - - - - - (Job title: - - - , Organisation: ) - - - - - Bio -
    - -
-
- - - - - -
- - - - - -

Revision - () -

-
    - -
-
-
-
- - -
  • - - - added - - - changed - - - deleted - - - off - - - changed - - - - () -
  • -
    - - - - - - - - - - - - - - - - -
    - -
    -
    - - - - - - - - -


    - -

    -
    -
    -
    - - - -

    -
    - - - - -

    -
    - - - - - pub. - - - - - Dedication - - - - - - -

    Copyright © by - .
    - All rights reserved. -

    -
    - - -

    Legal Notice

    - -
    - - - - - - -
    - -
  • - -
    - - () - - - -

    - -
    -
    -

    -
    - - - -

    -
    -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) - - - -

    Figure:

    - -
    - - - {@srccredit} - -
    -
    -
    - -
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Note:

    -
    - - - - - - TM - - - - - - - -
    - diff --git a/docbook/src/test/xslt/developersguide.xml b/docbook/src/test/xslt/developersguide.xml deleted file mode 100644 index cd18cea1..00000000 --- a/docbook/src/test/xslt/developersguide.xml +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - -
    - - Geotools2 Developer Guide - - - Cameron - - Shorter - - - 22 May 2002 - - - Guide to aid geotools2 development. - - - -
    - Introduction - - This document aims to help new geotools developers get up to speed - and track practices of existing developers in order to keep the project - consistent. - - If you feel something is missing, feel free to contribute a new - section. -
    - -
    - Design -
    - Geotools Logo - - - - - Geotools Logo - -
    - - To do: ExplainKey design structure - (core interfaces, data sources, rendering, tools)Design - Drivers (Our design goals: modular, derives structure from netbeans, - support multiple version of java, ..)Directory - structure -
    - -
    - Development - -
    - Building - - To do:using antwhat - ant checksinsert the - "howto-build.html" doc into here -
    - -
    - Code Versioning (using CVS) - - To do:Point to sourceforge CVS howto - links.Also point to some HOWTOs for - windows users.What is acceptable to - commit to CVS, what is not. (Ie, code should compile)Talk - about version numbering convention, use of branches, etc (if we decide - to do this). - - To do: -
    - -
    - Coding Standards - - To do:Using Sun's coding - standard, need to note any exceptions to it.Note - the auto checking of coding standards.Javadocs -
    - -
    - Template File - - To do:Provide a template file.Link - it to sections explaining the different parts of the template.Include - headers, footers, example logging, example coding style, CVS key tags, - sample javadocs. -
    - -
    - Logging - - To do:Talk about log4j, links to -
    - -
    - Testing - - To do:Explain use of junit. Might be - a link to another web site. -
    - -
    - Documentation - - To do:Talk about docbook, why we - decided to use it (most commonly used format of LDP, converts to - multiple formats, tools coming which can support it. Need to mention - which version of docbook we are using.Mention - tools that can be used.Links to - docbook references.Process for - updating this document.How to use ant - tools to build doc. -
    -
    - -
    - Development Tools - -
    - Netbeans - - To do:Where to get it.Aim - is to make geotools a module within NetbeansHow - to setup getools to fit the multiple directory structureThe - extra Netbeans modules that are useful and should be downloaded. -
    -
    -
    - diff --git a/docbook/xdocs/changes.xml b/docbook/xdocs/changes.xml deleted file mode 100644 index deae9ff4..00000000 --- a/docbook/xdocs/changes.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Changes - dIon Gillard - - - - - - update to use maven.docs.*/maven.gen.docs - update to xalan 2.4.1 - update to commons-lang 1.0.1 - Applied Maven-436 to allow docbook dtds offline - - - Original release for Maven 1.0-beta7 - - - diff --git a/docbook/xdocs/goals.xml b/docbook/xdocs/goals.xml deleted file mode 100644 index 3a6cc53d..00000000 --- a/docbook/xdocs/goals.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - Maven DocBook Plug-in Goals - dIon Gillard - - - - - - docbook:transform - - Transform any docbook-simple source into xdocs for later use - - - - - diff --git a/docbook/xdocs/index.xml b/docbook/xdocs/index.xml deleted file mode 100644 index ab42feae..00000000 --- a/docbook/xdocs/index.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - Maven Docbook Plug-in - Jason van Zyl - - - -
    -

    - This plugin allows you to write your project documentation in the - Docbook format. -

    -

    - Warning: This plugin has had limited testing -

    -
    - -
    diff --git a/docbook/xdocs/navigation.xml b/docbook/xdocs/navigation.xml deleted file mode 100644 index 5b6f6c5f..00000000 --- a/docbook/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven DocBook Plugin - - - - - - - - - - - - diff --git a/docbook/xdocs/properties.xml b/docbook/xdocs/properties.xml deleted file mode 100644 index 7e95f875..00000000 --- a/docbook/xdocs/properties.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - Maven DocBook Plugin Properties - dIon Gillard - - - -
    - - - - - - - - - - - - - - - - -
    Property nameOptional?Description
    maven.docbook.srcYes - Defaults to ${maven.src.dir}/sdocbook. This is the - source directory for the simple docbook xml files -
    maven.docbook.dtdYes - If set, it points to the offline DocBook DTD. - This allows offline transformation and DTD checking. - DocBook DTD is available for download at - http://www.oasis-open.org/docbook/xml/4.1.2/index.shtml. - Example value: "/home/msk/docbook-dtd/docbookx.dtd" -
    -
    - -
    diff --git a/jdee/plugin.jelly b/jdee/plugin.jelly deleted file mode 100644 index 88dfc5ee..00000000 --- a/jdee/plugin.jelly +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - Generating file ${projectFile} ... - - -;; generated by jdee plugin (see http://maven.apache.org/reference/plugins/jdee/) -(jde-project-file-version "1.0") -(jde-set-variables - (quote (jde-project-name "${pom.artifactId}")) - (quote (jde-project-file-name "${maven.jdee.project.file}")) - - - (quote (jde-sourcepath (quote ("./${srcDir}")))) - - - - - - (quote (jde-compile-option-directory "./${mavenBuildDest}")) - (quote (jde-javadoc-gen-destination-directory "./${mavenDocsDest}/apidocs")) - (quote (jde-project-file-name "${projectFile}")) - (quote (jde-javadoc-gen-window-title "${pom.name} - ${pom.organization} (${pom.inceptionYear})")) - (quote (jde-import-excluded-packages (quote ("${mavenBuildDir}.*")))) - - - - (quote (jde-run-application-class "${mainClass}")) - - -(quote (jde-global-classpath (quote ("./${mavenBuildDest}" - - -"./${srcDir}" - - - -"${lib.path}" - -))))) - - - Now reload the created project file (${projectFile}) in JDEE - - - diff --git a/jdee/plugin.properties b/jdee/plugin.properties deleted file mode 100644 index 9d278aa7..00000000 --- a/jdee/plugin.properties +++ /dev/null @@ -1,27 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P L U G I N P R O P E R I E S -# ------------------------------------------------------------------- -# JDEE plugin. -# ------------------------------------------------------------------- - -# -#maven.jdee.application.class = de.mydomain.mypackage.Main - -# the name of the generated project file -#maven.jdee.project.file = prj.el diff --git a/jdee/project.properties b/jdee/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/jdee/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/jdee/project.xml b/jdee/project.xml deleted file mode 100644 index d5892ed5..00000000 --- a/jdee/project.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-jdee-plugin - Maven JDEE Plug-in - 1.1 - A plugin to create a project file to be used within the - - - JDEE Plugin for Maven - http://maven.apache.org/reference/plugins/jdee/ - http://jira.codehaus.org/browse/MPJDEE - /www/maven.apache.org/reference/plugins/jdee/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/jdee/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/jdee/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/jdee/ - - - - 1.0 - 1.0 - MAVEN_JDEE_1_0 - - - 1.1 - 1.1 - MAVEN_JDEE_1_1 - - - - - Juergen Heidak - jh - Juergen@Heidak.de - CURSOR Software AG - - Java Developer - - - - diff --git a/jdee/xdocs/changes.xml b/jdee/xdocs/changes.xml deleted file mode 100644 index 9c54e242..00000000 --- a/jdee/xdocs/changes.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - Changes - Juergen Heidak - - - - Path changes. - - - Initial version. - - - diff --git a/jdee/xdocs/goals.xml b/jdee/xdocs/goals.xml deleted file mode 100644 index 353de244..00000000 --- a/jdee/xdocs/goals.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - JDEE Plugin Goals - Emmanuel Venisse - - - - - - jdee - - The default goal. This goal simply executes the -
    jdee:generate-project goal - - - - - jdee:generate-project - - Generate project file. - - - - - - diff --git a/jdee/xdocs/index.xml b/jdee/xdocs/index.xml deleted file mode 100644 index 1353e156..00000000 --- a/jdee/xdocs/index.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - Maven JDEE Plugin - Juergen Heidak - - - -
    -

    - A plugin to create a project file to be used by - JDEE (Java Development - Enviroment for Emacs) to make it a little easier for - Emacs users to switch to maven. -

    -

    - The most important part is the initialization of - jde-global-classpath variable. The generated project file - has this variable set to contain all dependencies (normally jarfiles) - as listed in the project descriptor. -

    -

    - The following table can give you an overview about the mapping between - Maven properties and JDEE variables: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Maven property/ constant valueJDEE variable
    pom.artifactIdjde-project-name
    - maven.jdee.project.file (see - Properties for details) - jde-project-file-name
    pom.build.sourceDirectoryjde-sourcepath
    ./target/classesjde-compile-option-directory
    target.classes.* - jde-import-excluded-packages -

    - Prevent the generated class files from being included into the - list of possible imports. -

    -
    ./target/docs/apidocsjde-javadoc-gen-destination-directory
    - - ${pom.name} - ${pom.organization} (${pom.inceptionYear}) - - jde-javadoc-gen-window-title
    -

    -

    - For more information on the functionality provided by this plugin, - please see the Goals document. -

    -

    - This plugin is flexible by providing configurable properties see the - properties for details. -

    -
    - -
    diff --git a/jdee/xdocs/navigation.xml b/jdee/xdocs/navigation.xml deleted file mode 100644 index c2a91c85..00000000 --- a/jdee/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven JDEE Plugin - - - - - - - - - - - - - diff --git a/jdee/xdocs/properties.xml b/jdee/xdocs/properties.xml deleted file mode 100644 index 1b8812a0..00000000 --- a/jdee/xdocs/properties.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - JDEE Properties - Juergen Heidak - - - -
    - - - - - - - - - - - - -
    PropertyOptional?Description
    maven.jdee.project.fileYes - The name of the generated file default is to prj.el. -

    - The value of this property is used to determine the filename to - write the project information to. Furthermore the variable - jde-project-name is set (in the project file) to the - value of this property. -

    -
    maven.jdee.application.classYes - The name of the class that starts the application. If this property - is defined the variable (in the project file) - jde-run-application-class is set to its value if - undefined the variable is left undefined too. -
    -
    - -
    diff --git a/jdee/xdocs/tasks.xml b/jdee/xdocs/tasks.xml deleted file mode 100644 index 5f69e5be..00000000 --- a/jdee/xdocs/tasks.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Maven JDEE Plugin - Juergen Heidak - - - -
    -

    - There are already plugins holding a lot of information we need when - writing the project file. Especially the - javadoc - and the - java - plugin contain several properties that we should reuse. -

    -

    - Some examples: -

      -
    • maven.compile.deprecation
    • -
    • maven.javadoc.private
    • -
    • maven.javadoc.doctitle
    • -
    • maven.javadoc.destdir
    • -
    - At the moment we're using the target directory to direct - the compilation and javadoc output produced by JDEE to. -

    -
    - -
    diff --git a/jdeveloper/plugin.jelly b/jdeveloper/plugin.jelly deleted file mode 100644 index 6476a4d1..00000000 --- a/jdeveloper/plugin.jelly +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - - - - Creating ${basedir}/${pom.artifactId}.jpr... - - - - - - - ${pom.package} - - ${pom.package} - - - - ${maven.jdeveloper.workspace}-${maven.war.final.name} - ${maven.jdeveloper.workspace}-${ear.bundle.war.context-root} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - false - ${lib.dependency.artifactId} - - - - - - Development - - - oracle.bm.commonIde.data.project.ModelerProjectSettings - - - - - - - - - - oracle.jdeveloper.compiler.ant.AntConfiguration - - - - - - true - - - - - - Development - - - - oracle.jdeveloper.compiler.OjcConfiguration - - true - - .gif - .properties - .jpg - .jpeg - .xml - -apf.xml - - Cp1252 - true - - false - false - true - false - false - true - false - true - Default - false - false - - - - oracle.jdeveloper.javadoc.JProjectJavadoc - - false - true - true - true - true - true - false - 32 - - false - - -protected - - - - oracle.jdeveloper.runner.RunConfiguration - - client - false - false - false - true - - - true - true - true - true - - true - - - true - - - - - oracle.jdevimpl.config.JProjectLibraries - - j2sdk 1.4.1 - 1.4.1 - - - JDeveloper Runtime - - ;${dep.artifactId} - - - ${path} - - - - - oracle.jdevimpl.config.JProjectPaths - - - - - - - - - oracle.jdevimpl.idl.config.IdlConfiguration - - false - false - false - false - false - false - false - false - false - - - - - oracle.jdevimpl.runner.codecoach.CCConfiguration - - ALL - com;java;javax;sun;sunw;org;oracle - - 4 - - - - oracle.jdevimpl.runner.debug.DebugConfiguration - - -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=<port> - -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> - -XXdebug,quiet,port<port> - workspace - false - - false - ojvm - running - java;javax;sun;sunw;com.sun;org.xml.sax - - - - - oracle.jdevimpl.runner.profile.ProfileConfiguration - - 20000 - 0 - - true - true - true - true - true - true - - G(All events;(G(VM Events;(E(0;GC;-16776961;1);E(10;Wait;-65485;0);E(11;Synch Blocks 0;-39322;0);E(12;Synch Blocks 1;-39322;0);E(13;Synch Blocks 2;-39322;0);E(20;Prepare Class;-16751002;0);E(21;Load Class;-16724992;0);E(22;Resolve Class;-16737997;0);));G(BC4J Events;(E(1000;JBO_MISCELLANEOUS;-4144960;1);E(1001;JDBC_SELECT;-256;1);E(1002;JDBC_CREATE_STATEMENT;-256;1);E(1003;JDBC_CONNECT;-256;1);E(1004;JDBC_CREATE_PREPARED_STATEMENT;-256;1);E(1005;JDBC_EXECUTE;-256;1);E(1006;METAOBJECT_LOAD;-65281;1);E(1007;EXECUTE_QUERY;-16776961;1);E(1008;BC4J_CREATE_COMPOBJ;-65281;0);E(1009;BC4J_CREATE_ROOTAM;-65281;1);E(1010;BC4J_CREATE_VIEWOBJECT;-65281;0);E(1011;BC4J_CREATE_AM;-65281;0);E(1012;BC4J_CREATE_VIEWLINK;-65281;0);E(1013;SQLB_DOENTITYDML;-16776961;1);E(1014;SQLB_DOENTITYSELECT;-16776961;1);E(1015;VIEWOBJECT_GETSTATEMENT;-16776961;1);E(1016;REMOTE_METHOD_CALL;-65536;1);));)); - java;javax;sun;sunw;com;oracle - - - - true - - true - true - true - true - true - true - true - true - true - true - - 10 - - false - 4000 - - true - true - true - true - true - true - true - - 5 - 20 - false - - - - oracle.jdevimpl.sqlj.config.SqljConfiguration - - false - oracle - - false - false - false - false - false - false - false - - - - WebappJspCompilerOptions - - false - - - - - - - - - - - - - - - - - - - - - - - useDynamicPaths - true - - - - - ${pom.organization.name} - ${pom.organization.name} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jdeveloper/plugin.properties b/jdeveloper/plugin.properties deleted file mode 100644 index eca2bd04..00000000 --- a/jdeveloper/plugin.properties +++ /dev/null @@ -1,31 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P L U G I N P R O P E R I E S -# ------------------------------------------------------------------- -# JDeveloper plugin. -# ------------------------------------------------------------------- - -# Define project properties -maven.jdeveloper.workspache=WPS -maven.jdeveloper.relative.path=../../.. -maven.jdeveloper.maven.home=contrib/maven-1.0-beta-7 - -# Enable J2EE stuff -maven.war.final.name=${pom.artifactId} -ear.bundle.war.context-root=${pom.artifactId} - diff --git a/jdeveloper/project.properties b/jdeveloper/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/jdeveloper/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/jdeveloper/project.xml b/jdeveloper/project.xml deleted file mode 100644 index 9eadce63..00000000 --- a/jdeveloper/project.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-jdeveloper-plugin - Maven JDeveloper Plug-in - 1.4 - 2002 - A plugin to generate various files for Oracle's JDeveloper IDE and ease the use of Maven within that environment - JDeveloper Plugin for Maven - http://maven.apache.org/reference/plugins/jdeveloper/ - http://jira.codehaus.org/browse/MPJDEVELOPER - /www/maven.apache.org/reference/plugins/jdeveloper/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/jdeveloper - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/jdeveloper/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/jdeveloper/ - - - - Tobias Rademacher - tradem - toby-wan-kenobi@web.de - GROB Werke - - Java Developer - - - - - - - - - jdepend - jdepend - 2.3 - - - - - 1.3 - 1.3 - MAVEN_JDEVELOPER_1_3 - - - 1.4 - 1.4 - MAVEN_JDEVELOPER_1_4 - - - diff --git a/jdeveloper/src/main/org/apache/maven/jdeveloper/JavaSourceTool.java b/jdeveloper/src/main/org/apache/maven/jdeveloper/JavaSourceTool.java deleted file mode 100644 index 08262345..00000000 --- a/jdeveloper/src/main/org/apache/maven/jdeveloper/JavaSourceTool.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.apache.maven.jdeveloper; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import java.io.File; -import java.io.IOException; - -import jdepend.framework.JavaClass; -import jdepend.framework.JavaSourceFileParser; - -/** - * @author Ben Walding - * - */ -public class JavaSourceTool { - - - /** - * Extracts the package name from the java source file and returns it as - * a directory. For example if the file name is : - * "e:\tmp\src\main\org\apache\maven\Code.java", and Code.java - * is in the org.apache.maven package, this method will - * return "org\apache\maven\Code.java" (or "org/apache/maven/Code.java" on - * unix). - * - * @param absoluteFileName the absolute file name to transform - * @return the shortened file name matching the class package name. - * @throws IOException upon failure to read the java file - */ - public static final String getPackagePath(String absoluteFileName) throws IOException { - String shortenedPath; - - JavaSourceFileParser parser = new JavaSourceFileParser(); - JavaClass clazz = null; - - try { - clazz = parser.parse(absoluteFileName); - } catch (Exception e) { - System.out.println("\nError parsing " + absoluteFileName + ": " + e + "\n"); - return null; - } - - String packageName = clazz.getPackageName(); - - // Handle default packages for which JDepend returns "default" - if (packageName.equals("default")) { - shortenedPath = clazz.getName() + ".java"; - } else { - shortenedPath = - packageName.replace('.', File.separatorChar) + File.separatorChar + clazz.getName() + ".java"; - } - - return shortenedPath; - } -} diff --git a/jdeveloper/xdocs/changes.xml b/jdeveloper/xdocs/changes.xml deleted file mode 100644 index 7fd23425..00000000 --- a/jdeveloper/xdocs/changes.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Changes - Tobias Radmeacher - - - - Fix JPR file generation. - - - - Align dependencies with plugin code - - - Created plugin - Added documenation - - - diff --git a/jdeveloper/xdocs/goals.xml b/jdeveloper/xdocs/goals.xml deleted file mode 100644 index 1ccd44ea..00000000 --- a/jdeveloper/xdocs/goals.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - Jdeveloper Plugin Goals - Tobias Rademacher - - - - - - jdeveloper - - The default goal. This goal simply executes the - jdeveloper:generate-project goal - - - - - jdeveloper:generate-project - - Generates a .jpr file for JDevelopr describing - the project and adding the dependencies. -
      -
    1. the build source directory
    2. -
    3. the build unit test source directory
    4. -
    5. each Maven project dependency
    6. -
    7. an output directory for compiled code: - target\jdeveloper-classes -
    8. -
    -
    -
    -
    - - -
    diff --git a/jdeveloper/xdocs/index.xml b/jdeveloper/xdocs/index.xml deleted file mode 100644 index 329489d8..00000000 --- a/jdeveloper/xdocs/index.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Maven JDeveloper Plugin - Tobias Rademacher - - - -
    -

    - This plug-in provides the ability to generate JDeveloper project files - (.JPR). -

    -

    - For more information on the functionality provided by this plugin, - please see the Goals document. -

    -

    - For more information on how to customise the functionality provided - by this plugin, please see the properties - document. -

    -
    - -
    diff --git a/jdeveloper/xdocs/navigation.xml b/jdeveloper/xdocs/navigation.xml deleted file mode 100644 index d1f7cf7a..00000000 --- a/jdeveloper/xdocs/navigation.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Maven JDeveloper Plugin - - - - - - - - - - - - diff --git a/jdeveloper/xdocs/properties.xml b/jdeveloper/xdocs/properties.xml deleted file mode 100644 index 18054e59..00000000 --- a/jdeveloper/xdocs/properties.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - JDeveloper Plugin Properties - Tobias Rademacher - - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    PropertyOptional?Description
    maven.jdeveloper.workspacheYes -

    - The workspache to which your project belongs. This is used - to generate J2EE-Webapp names. -

    -
    maven.jdeveloper.relative.pathNo -

    - Stupidly JDeveloper access dependency JAR files with a realtive path. - This path points to your $MAVE_HOME directory relative from your - JDeveloper Installation directory. Normaly this look like ../../ - or similar depending where you have installed maven and the JDeveloper IDE. -

    -

    - The complete path of a depending JAR is generate with: -

    -
      -
    1. maven.jdeveloper.relative.path
    2. -
    3. maven.jdeveloper.maven.home
    4. -
    5. repository information
    6. -
    -
    maven.jdeveloper.maven.homeNo -

    - The name of your $MAVEN_HOME directory for instance maven-1.0-beta-7 -

    -

    - The complete path of a depending JAR is generate with: -

    -
      -
    1. maven.jdeveloper.relative.path
    2. -
    3. maven.jdeveloper.maven.home
    4. -
    5. repository information
    6. -
    -
    maven.war.final.nameYes -

    - The name of the Web Applicaion (if it is a web app). -

    -
    -

    - A good place to set this property is the build.propeties file in user.home directory. -

    -
    - -
    diff --git a/junitdoclet/plugin.jelly b/junitdoclet/plugin.jelly deleted file mode 100644 index e521f01a..00000000 --- a/junitdoclet/plugin.jelly +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - - - diff --git a/junitdoclet/plugin.properties b/junitdoclet/plugin.properties deleted file mode 100644 index c79b8e32..00000000 --- a/junitdoclet/plugin.properties +++ /dev/null @@ -1,24 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# Default Maven properties for the JUnitDoclet plugin. -# ------------------------------------------------------------------- -# These are the properties that we believe are immutable so we -# keep them apart from the project specific properties. -# ------------------------------------------------------------------- - -maven.junitdoclet.outputDirectory = ${maven.build.dir}/junitdoclet diff --git a/junitdoclet/project.properties b/junitdoclet/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/junitdoclet/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/junitdoclet/project.xml b/junitdoclet/project.xml deleted file mode 100644 index 0aa760ed..00000000 --- a/junitdoclet/project.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-junit-doclet-plugin - Maven JUnitDoclet Plug-in - 1.2 - A plugin to generate test cases use JUnitDoclet - JUnitDoclet test generator - http://maven.apache.org/reference/plugins/junitdoclet/ - http://jira.codehaus.org/browse/MPJUNITDOCLET - /www/maven.apache.org/reference/plugins/junitdoclet/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/junitdoclet/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/junitdoclet/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/junitdoclet/ - - - - 1.1 - 1.1 - MAVEN_JUNITDOCLET_1_1 - - - 1.2 - 1.2 - MAVEN_JUNITDOCLET_1_2 - - - - - Jason van Zyl - jvanzyl - jason@zenplex.com - Zenplex - - Architect - Release Manager - - - - - - junit-doclet - junit-doclet - 1.0.1 - - - diff --git a/junitdoclet/xdocs/changes.xml b/junitdoclet/xdocs/changes.xml deleted file mode 100644 index 967482bc..00000000 --- a/junitdoclet/xdocs/changes.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - Changes - Jason van Zyl - - - - - - Add documentation. - - - - - Original release for Maven 1.0-beta8 - - - - - diff --git a/junitdoclet/xdocs/goals.xml b/junitdoclet/xdocs/goals.xml deleted file mode 100644 index 88f21067..00000000 --- a/junitdoclet/xdocs/goals.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - Maven Plexus Plug-in Goals - Jason van Zyl - - - -
    - - - - - - -
    GoalDescription
    junitdoclet - For a given project generate a plexus runtime using the required - components. -
    -
    - -
    diff --git a/junitdoclet/xdocs/index.xml b/junitdoclet/xdocs/index.xml deleted file mode 100644 index 4aea8b61..00000000 --- a/junitdoclet/xdocs/index.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - Maven JUnitDoclet Plug-in - Jason van Zyl - - - -
    -

    -

    -
    - -
    diff --git a/junitdoclet/xdocs/navigation.xml b/junitdoclet/xdocs/navigation.xml deleted file mode 100644 index 1ca2181f..00000000 --- a/junitdoclet/xdocs/navigation.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Maven JUnitDoclet Plugin - - - - - - - - - - - - diff --git a/junitdoclet/xdocs/properties.xml b/junitdoclet/xdocs/properties.xml deleted file mode 100644 index a6a9b772..00000000 --- a/junitdoclet/xdocs/properties.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - Maven JUnitDoclet Plugin Properties - dIon Gillard - - - -
    - - - - - - - - - - - -
    Property nameOptional?Description
    maven.junitdoclet.outputDirectoryYes - Specifies the location of the generated files. - The default value is ${maven.build.dir}/junitdoclet. -
    -
    - -
    diff --git a/latex/plugin.jelly b/latex/plugin.jelly deleted file mode 100644 index 2009bf24..00000000 --- a/latex/plugin.jelly +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - scanning: ${latexSrcDir} - - - - - - - - - - - - - - - - ${maven.latex.docs} - - - - Generating from ${file} - - - - - - - - - - - - - - - - - - - diff --git a/latex/plugin.properties b/latex/plugin.properties deleted file mode 100644 index de36c5e2..00000000 --- a/latex/plugin.properties +++ /dev/null @@ -1,17 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -maven.latex.src.dir=MAVEN_LATEX_SRC_DIR_NOT_SET diff --git a/latex/project.properties b/latex/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/latex/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/latex/project.xml b/latex/project.xml deleted file mode 100644 index a1f35bc0..00000000 --- a/latex/project.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-latex-plugin - Maven Latex Plug-in - 1.4.1 - - Produce HTML from latex - http://maven.apache.org/reference/plugins/latex/ - http://jira.codehaus.org/browse/MPLATEX - /www/maven.apache.org/reference/plugins/latex/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/latex/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/latex/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/latex/ - - - - 1.1 - 1.1 - MAVEN_LATEX_1_1 - - - 1.2 - 1.2 - MAVEN_LATEX_1_2 - - - 1.4.1 - 1.4.1 - MAVEN_LATEX_1_4_1 - - - - - Bob McWhirter - werken - bob@werken.com - The Werken Company - - Java Developer - - - - Jason van Zyl - jvanzyl - jason@zenplex.com - Zenplex - - Architect - Release Manager - - - - - - commons-lang - commons-lang - 2.0 - - - anttex - anttex - 1.0 - - - diff --git a/latex/xdocs/changes.xml b/latex/xdocs/changes.xml deleted file mode 100644 index f8330504..00000000 --- a/latex/xdocs/changes.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - Changes - dIon Gillard - - - - - - - update to commons-lang 2.0 - - - - - update to commons-lang 1.0.1 - - - Make plugin run when maven site is invoked - - - - - - diff --git a/latex/xdocs/goals.xml b/latex/xdocs/goals.xml deleted file mode 100644 index 2484fd17..00000000 --- a/latex/xdocs/goals.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - Maven latex Plug-in Goals - dIon Gillard - - - - - latex:generate - Generate documentation from latex source - - - latex:prepare-filesystem - Prepare the filesystem for latex processing - - - - \ No newline at end of file diff --git a/latex/xdocs/index.xml b/latex/xdocs/index.xml deleted file mode 100644 index 864c173f..00000000 --- a/latex/xdocs/index.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - Maven Latex Plug-in - Jason van Zyl - - - -
    -

    - This plug-in allows you to write your project documentation in Latex. -

    -
    - -
    diff --git a/latex/xdocs/navigation.xml b/latex/xdocs/navigation.xml deleted file mode 100644 index fbafdd1f..00000000 --- a/latex/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven latex Plugin - - - - - - - - - - - - - \ No newline at end of file diff --git a/latex/xdocs/properties.xml b/latex/xdocs/properties.xml deleted file mode 100644 index ea204d6f..00000000 --- a/latex/xdocs/properties.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - latex Properties - dIon Gillard - - -
    - - - - - - - - - - - -
    PropertyOptional?Description
    maven.latex.src.dirYes -

    Default value is - MAVEN_LATEX_SRC_DIR_NOT_SET.

    -
    -
    - -
    \ No newline at end of file diff --git a/latka/plugin.jelly b/latka/plugin.jelly deleted file mode 100644 index 37ba3556..00000000 --- a/latka/plugin.jelly +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - executing latka tests from: ${latkaSrcDir} - - ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} - - - Executing ${file} - - - - - - - No Latka source directory found - - - - - - - You must define the test case to run via -Dtestcase=classname - Example: maven -Dtestcase=MyTest latka:single - - - - - - - - - - - - Running test ${latkaSrcDir}/${testcase} - - ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} - - - - - - - - - - - - - - - - ${maven.build.dir}/latka/jmeter-suite.latka - Converting ${jmeterFile} to a latka test suite - - ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} - - - - - - - jelly:core - jelly:org.apache.commons.latka.jelly.LatkaTagLibrary - - - - Latka test suite '${outFileName}' created - - - - File ${jmeterFile} not found - - - - - diff --git a/latka/plugin.properties b/latka/plugin.properties deleted file mode 100644 index bda2f6d0..00000000 --- a/latka/plugin.properties +++ /dev/null @@ -1,17 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -maven.latka.src.dir=${basedir}/src/test/latka diff --git a/latka/project.properties b/latka/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/latka/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/latka/project.xml b/latka/project.xml deleted file mode 100644 index 975294c2..00000000 --- a/latka/project.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-latka-plugin - Maven Latka Plug-in - 1.4.2-SNAPSHOT - - Run Latka scripts - http://maven.apache.org/reference/plugins/latka/ - http://jira.codehaus.org/browse/MPLATKA - /www/maven.apache.org/reference/plugins/latka/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/latka/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/latka/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/latka/ - - - - 1.3 - 1.3 - MAVEN_LATKA_1_3 - - - 1.4 - 1.4 - MAVEN_LATKA_1_4 - - - 1.4.1 - 1.4.1 - MAVEN_LATKA_1_4_1 - - - - - - commons-jelly - commons-jelly-tags-xml - 1.0 - http://jakarta.apache.org/commons/jelly/libs/xml/ - - - commons-latka - commons-latka - 1.0-dev.20030107.163533 - - - commons-httpclient - commons-httpclient - 2.0 - - - jaxen - jaxen - 1.0-FCS-full - - - jdom - jdom - 1.0b8 - - - junit - junit - 3.8.1 - - root - - - - regexp - regexp - 1.3 - http://jakarta.apache.org/regexp/ - - - xalan - xalan - 2.4.1 - http://xml.apache.org/xalan-j/ - - root - - - - - - - commons-jelly - commons-jelly-tags-html - 1.0 - http://jakarta.apache.org/commons/jelly/libs/html/ - - - nekohtml - nekohtml - 0.7.7 - - - diff --git a/latka/src/plugin-resources/jmeter2suite.jelly b/latka/src/plugin-resources/jmeter2suite.jelly deleted file mode 100644 index e4207c31..00000000 --- a/latka/src/plugin-resources/jmeter2suite.jelly +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/latka/src/plugin-test/file1.jmx b/latka/src/plugin-test/file1.jmx deleted file mode 100644 index 0c4d84f2..00000000 --- a/latka/src/plugin-test/file1.jmx +++ /dev/null @@ -1,1276 +0,0 @@ - - - -Thread Group -org.apache.jmeter.threads.ThreadGroup - -org.apache.jmeter.control.LoopController -Loop Controller -false --1 -org.apache.jmeter.control.gui.LoopControlPanel - -1 -1 -org.apache.jmeter.threads.gui.ThreadGroupGui - - - -/INL/login.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -POST - - - -org.apache.jmeter.config.Arguments - - - -false -userId -dion -userId -dion - - -false -password -password -password -password - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/login.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Content-Type -application/x-www-form-urlencoded - - -Accept-Language -en-au - - -Referer -http://dev270/INL/login.jsp - - -Pragma -no-cache - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/header.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/header.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/login.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/navigation.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/navigation.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/login.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/introduction.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/introduction.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/login.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/header.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/navSelection.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - - -false -actionMethod -doSelectSystem -actionMethod -doSelectSystem - - -false -id -inl -id -inl - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/navSelection.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navigation.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navSelection.do?actionMethod=doSelectSystem&id=inl - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/chooseDept.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/chooseDept.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/deptSelection.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -POST - - - -org.apache.jmeter.config.Arguments - - - -false -deptId -01 -deptId -01 - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/deptSelection.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Content-Type -application/x-www-form-urlencoded - - -Accept-Language -en-au - - -Referer -http://dev270/INL/chooseDept.jsp - - -Pragma -no-cache - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/deptSelection.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/navigation.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/navigation.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navigation.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/navSelection.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - - -false -actionMethod -doSelectFun1 -actionMethod -doSelectFun1 - - -false -id -1 -id -1 - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/navSelection.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navigation.do - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navSelection.do?actionMethod=doSelectFun1&id=1 - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/account/welcome.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/account/welcome.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/account/welcome.jsp - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/navSelection.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - - -false -actionMethod -doSelectFun2 -actionMethod -doSelectFun2 - - -false -id -11 -id -11 - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/navSelection.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navSelection.do?actionMethod=doSelectFun1&id=1 - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/scripts/utilScript.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/scripts/utilScript.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Referer -http://dev270/INL/navSelection.do?actionMethod=doSelectFun2&id=11 - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -*/* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/account/search.jsp -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -GET - - - -org.apache.jmeter.config.Arguments - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/account/search.jsp -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Accept-Language -en-au - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - - -/INL/account/accountSearchName.do -org.apache.jmeter.protocol.http.sampler.HTTPSampler -80 -POST - - - -org.apache.jmeter.config.Arguments - - - -false -lastName -newton -lastName -newton - - -false -firstName - -firstName - - - -false -companyName - -companyName - - - -false -actionMethod -doSearch -actionMethod -doSearch - - -false -requestObject -account.list -requestObject -account.list - - -false -sessionObject -my.session.list.account -sessionObject -my.session.list.account - - -org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel - -false -http - -/INL/account/accountSearchName.do -dev270 -true -org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui - - - - -Browser-derived headers -org.apache.jmeter.protocol.http.control.HeaderManager - - -Content-Type -application/x-www-form-urlencoded - - -Accept-Language -en-au - - -Referer -http://dev270/INL/account/search.jsp - - -Pragma -no-cache - - -Host -dev270 - - -Accept-Encoding -gzip, deflate - - -Accept -image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* - - -User-Agent -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) - - -org.apache.jmeter.protocol.http.gui.HeaderPanel - - - - diff --git a/latka/src/plugin-test/maven.xml b/latka/src/plugin-test/maven.xml deleted file mode 100644 index 7c3716a4..00000000 --- a/latka/src/plugin-test/maven.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/latka/src/plugin-test/project.xml b/latka/src/plugin-test/project.xml deleted file mode 100644 index 29f162b5..00000000 --- a/latka/src/plugin-test/project.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - 3 - test-maven-latka-plugin - Test project for Maven Latka - maven - 1.0-SNAPSHOT - - Apache Software Foundation - http://www.apache.org/ - http://maven.apache.org/images/jakarta-logo-blue.gif - - 2001 - org.apache.maven - http://maven.apache.org/images/maven.jpg - Test for Maven Latka plugin - Test for Maven Latka plugin - http://maven.apache.org/reference/plugins/latka/ - /www/maven.apache.org/reference/plugins/latka/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/latka/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/latka/ - - - - dIon Gillard - dion - dion@multitask.com.au - Multitask Consulting - - Documentation - - - - - - commons-jelly - commons-jelly-tags-xml - 1.0 - - - diff --git a/latka/src/test/latka/test.latka b/latka/src/test/latka/test.latka deleted file mode 100644 index bc62ef10..00000000 --- a/latka/src/test/latka/test.latka +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/latka/xdocs/changes.xml b/latka/xdocs/changes.xml deleted file mode 100644 index 65ff9110..00000000 --- a/latka/xdocs/changes.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Changes - dIon Gillard - - - - - - Update commons-httpclient to 2.0 - Update docs to reflect the version of JMeter required. - - - Fix MAVEN-993. Complain if file to be converted doesn't exist - - - update to xalan 2.4.1 - Consistent http tags. - - - Fixed docs. - - - Various jelly usage bugs. - - - Created. - - - diff --git a/latka/xdocs/goals.xml b/latka/xdocs/goals.xml deleted file mode 100644 index 0784061b..00000000 --- a/latka/xdocs/goals.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - Maven Latka Plug-in Goals - dIon Gillard - - - - - - latka - - This is the default goal of the plugin and simply attains - the latka:test goal. - - - - latka:test - - This goal runs all latka tests in the ${maven.latka.src.dir} - - - - latka:jmeter-convert - - Convert a jmeter (v1.8.x) jmx file to a latka suite - - - - - diff --git a/latka/xdocs/index.xml b/latka/xdocs/index.xml deleted file mode 100644 index cb60b493..00000000 --- a/latka/xdocs/index.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - Maven Latka Plug-in - dIon Gillard - - - -
    -

    The following sections are available in the Latka plugin documentation

    -
      -
    1. An overview of how this plugin works
    2. -
    3. How to get more from Latka
    4. -
    5. How to generate Latka test suites
    6. -
    7. What's in store for the Latka plugin
    8. -
    -
    -
    -

    - This plugin runs - Latka - web testing scripts. -

    -

    - To use the plugin, you simply need to create some Latka test - scripts and place them in the src/test/latka directory. -

    -

    - To execute the scripts, simply run -

    - maven latka -

    - By default this will simply print the results of running your - Latka test suite to the console, and if the suite(s) failed, - the build is stopped with an appropriate exception -

    -
    -
    -

    - Latka can be customised in many ways when running within - the plugin. The Latka docs should be read thoroughly first as they - should contain far more detail on the ways Latka can be tweaked. -

    - -

    - Latka has the concept of listeners, classes - whose job it is to listen for, and report on the progress of - a Latka suite. -

    -

    - Latka looks for a listener at the start of the suite tag as - a Jelly - variable named latkaEventListener. If one is not found, - Latka notes this internally and creates an XMLReporter - as the default listener. -

    -

    - You can provide your own listener to Latka simply by using jelly's - new tag before the suite tag, e.g. -

    - -]]> -

    - Once the suite is complete, you can then access the XML report using - all the usual jelly xml tags. For example, to simply print out the - resulting report in XML format use the following: -

    - -

    - Once you have the report, you can then do anything else you may like - such as -

      -
    • Writing the report to a file using j:file
    • -
    • - Perform JSL transformations on the report to generate - documentation -
    • -
    • Extract pieces of the report using Jelly's XML tags
    • -
    -

    -
    -
    - -
    -

    - The plugin has a goal (latka:jmeter-convert) - that takes a set of requests as recorded by - JMeter's - Http Proxy and converts them into a Latka suite. -

    -

    This has only been tested with JMeter 1.8.x

    -

    - You can easily set up a browser with the correct proxy settings, and simply by using - your web application, you can create tests that this plugin can - later replay. -

    -

    - The JMeter documentation contains a section on setting up the HTTP - Proxy feature. This allows you to set 'listen' to requests being - sent to the application and save the request details in XML format. - JMeter can be set up to filter out requests by specifying a regular - expression to match the incoming requests. This lets you only record - relevant requests for your tests, e.g. HTML or JSP files, Struts - actions with a .do extension etc. -

    -

    - The jmeter-convert goal looks for a property passed to - Maven, jmeterFile. If this file exists, the plugin - blindly assumes it's a JMeter file and generates a corresponding - Latka suite, containing all the requests in the JMeter file with - the appropriate web server, port, request path and parameters. -

    -

    - The file that is generated, - ${maven.build.dir}/latka/jmeter-suite.latka, can then - be editied and placed in the Latka source directory. -

    -

    - To convert a file, say C:\JMeter\test.jmx, into a Latka - suite, invoke Maven like this: -

    - maven -DjmeterFile=C:\JMeter\test.jmx latka:jmeter-convert -

    - This will produce a file, target\latka\jmeter-suite.latka - ready for editing or execution. -

    -
    - -
    -
      -
    • - The Latka Jelly tags are only new, and we're sure we'll find more bugs - in them as time goes by, so first on the agenda is those pesky bugs and - making Latka rock solid within Maven. -
    • -
    • - Secondly a way to generate xdoc reports from the Latka XML Reporter, - so that the Latka results can be incorporated into the site reports -
    • -
    • - Exposing more detail about requests and responses to Jelly so - people can get at them easily -
    • -
    • - Your suggestions are always welcome! -
    • -
    -
    - -
    diff --git a/latka/xdocs/navigation.xml b/latka/xdocs/navigation.xml deleted file mode 100644 index 77cc5e95..00000000 --- a/latka/xdocs/navigation.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Maven Latka Plugin - - - - - - - - - - - - diff --git a/latka/xdocs/properties.xml b/latka/xdocs/properties.xml deleted file mode 100644 index 1360e660..00000000 --- a/latka/xdocs/properties.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - Latka Properties - dIon Gillard - - - -
    - - - - - - - -
    PropertyOptional?Description
    maven.latka.src.dirYes - The source directory to search for Latka tests. -
    -
    - -
    - diff --git a/shell/plugin.jelly b/shell/plugin.jelly deleted file mode 100644 index a44aea6f..00000000 --- a/shell/plugin.jelly +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '${escgoal}:${escdesc}' - - - '${escgoal}' - - - - - - - - Now start a new zsh shell - - - - - - - - - - - - - - - - - - - - - - - - -${goal} - - - - - - - - - - diff --git a/shell/plugin.properties b/shell/plugin.properties deleted file mode 100644 index bce126a4..00000000 --- a/shell/plugin.properties +++ /dev/null @@ -1,26 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P L U G I N P R O P E R I E S -# ------------------------------------------------------------------- -# Shell plugin. -# ------------------------------------------------------------------- - -# Generate zsh completion function for maven. - -# maven.shell.zsh.dir= /usr/zsh/functions -maven.shell.zsh.nodesc = true diff --git a/shell/project.properties b/shell/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/shell/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/shell/project.xml b/shell/project.xml deleted file mode 100644 index a5e920c9..00000000 --- a/shell/project.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-shell-plugin - Maven Shell Plug-in - 1.2-SNAPSHOT - A plugin to generate various files for different shells to allow tab completion for maven goals - Shell Plugin for Maven - http://maven.apache.org/reference/plugins/shell/ - http://jira.codehaus.org/browse/MPSHELL - /www/maven.apache.org/reference/plugins/shell/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/shell/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/shell/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/shell/ - - - - Kasper Nielsen - knielsen - apache@kav.dk - - - Developer - - - - - - 1.1 - 1.1 - MAVEN_SHELL_1_1 - - - diff --git a/shell/xdocs/changes.xml b/shell/xdocs/changes.xml deleted file mode 100644 index 1c23749a..00000000 --- a/shell/xdocs/changes.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - Changes - Kasper Nielsen - - - - Bash completion support - - - Apply MAVEN-850 - - - Initial release - - - diff --git a/shell/xdocs/goals.xml b/shell/xdocs/goals.xml deleted file mode 100644 index 4df69f4b..00000000 --- a/shell/xdocs/goals.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - ShellScript Plugin Goals - Kasper Nielsen - - - - - - shell - - The default goal. This goal simply executes the - shell:zsh goal for now - - - - - shell:zsh - - Generates a _maven file for the ZSH shell - - - - - - diff --git a/shell/xdocs/index.xml b/shell/xdocs/index.xml deleted file mode 100644 index a4cfc766..00000000 --- a/shell/xdocs/index.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - Maven Shell Plugin - Kasper Nielsen - - - -
    -

    - This plug-in provides the ability to generate shell script files - that allows for tab completion. -

    -

    - For more information on the functionality provided by this plugin, - please see the Goals document. -

    -

    - For more information on how to customise the functionality provided - by this plugin, please see the properties - document. -

    - -

    - You must add this to your bash_completion.d directory: -

    - -
    -
    - -
    diff --git a/shell/xdocs/navigation.xml b/shell/xdocs/navigation.xml deleted file mode 100644 index 4cb4322b..00000000 --- a/shell/xdocs/navigation.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Maven Shell Plugin - - - - - - - - - - - - diff --git a/shell/xdocs/properties.xml b/shell/xdocs/properties.xml deleted file mode 100644 index cd5f236c..00000000 --- a/shell/xdocs/properties.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - Shell Properties - Kasper Nielsen - - - -
    - - - - - - - - - - - - -
    PropertyOptional?Description
    maven.shell.zsh.dirYes - Location of the Zsh - function directory. -

    - If this parameter is specified, the - shell:zsh goal will use it as the destination to copy the generated file. - Otherwise it will be put into the build dir. -

    -
    maven.shell.zsh.nodescYes - Do not generate descriptions for tab completion -
    -
    - -
    diff --git a/struts/plugin.jelly b/struts/plugin.jelly deleted file mode 100644 index ff479d1a..00000000 --- a/struts/plugin.jelly +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/struts/project.properties b/struts/project.properties deleted file mode 100644 index 22100b79..00000000 --- a/struts/project.properties +++ /dev/null @@ -1,20 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- -maven.junit.fork=yes \ No newline at end of file diff --git a/struts/project.xml b/struts/project.xml deleted file mode 100644 index c1a4af33..00000000 --- a/struts/project.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-struts-plugin - Maven Struts Plugin - 1.4-SNAPSHOT - - Work with struts jars - http://maven.apache.org/reference/plugins/struts/ - http://jira.codehaus.org/browse/MPSTRUTS - /www/maven.apache.org/reference/plugins/struts/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/struts/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/struts/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/struts/ - - - - 1.2 - 1.2 - MAVEN_STRUTS_1_2 - - - 1.3 - 1.3 - MAVEN_STRUTS_1_3 - - - - - dIon Gillard - dion - dion@multitask.com.au - Multitask Consulting - - Java Developer - - - - - - maven - maven-j2ee-plugin - 1.1 - - - commons-collections - commons-collections - 2.1 - - - commons-jelly - commons-jelly-tags-log - 1.0 - - - commons-lang - commons-lang - 2.0 - - - commons-logging - commons-logging - 1.0.3 - - - dom4j - dom4j - 1.4-dev-8 - - - regexp - regexp - 1.3 - - - xml-apis - xml-apis - 1.0.b2 - - - xerces - xerces - 2.4.0 - http://xml.apache.org/xerces2-j/ - - - diff --git a/struts/src/main/org/apache/maven/struts/Action.java b/struts/src/main/org/apache/maven/struts/Action.java deleted file mode 100644 index 8ff3e81c..00000000 --- a/struts/src/main/org/apache/maven/struts/Action.java +++ /dev/null @@ -1,145 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -/** - * A class to hold data about a struts action as found in the struts - * configuration file - * - * @author dion - * @version $Id$ - */ -public class Action extends ObjectConfigurationEntry -{ - /** context relative path of the submitted request */ - private String path; - /** "request" or "session" - scope of the form bean for the action */ - private String scope; - /** Whether the action is to be the default for the web app */ - private String unknown; - /** Whether the form bean should be validated before the action is called */ - private String validate; - - /** Creates a new instance of Action */ - public Action() - { - } - - /** Getter for property scope. - * @return Value of property scope. - */ - public String getScope() - { - return scope; - } - - /** Setter for property scope. - * @param scope New value of property scope. - */ - public void setScope(String scope) - { - this.scope = scope; - } - - /** Getter for property unknown. - * @return Value of property unknown. - */ - public String getUnknown() - { - return unknown; - } - - /** Setter for property unknown. - * @param unknown New value of property unknown. - */ - public void setUnknown(String unknown) - { - this.unknown = unknown; - } - - /** Getter for property validate. - * @return Value of property validate. - */ - public String getValidate() - { - return validate; - } - - /** Setter for property validate. - * @param validate New value of property validate. - */ - public void setValidate(String validate) - { - this.validate = validate; - } - - /** Getter for property path. - * @return Value of property path. - */ - public String getPath() - { - return path; - } - - /** Setter for property path. - * @param path New value of property path. - */ - public void setPath(String path) - { - this.path = path; - } - - /** whether the passed object is the same as this one. In the case of an - * action object, the path is the unique qualifier. So two objects are equal - * if they have equal paths - * @param o any object - * @return true if o is the same as this object, false otherwise - */ - public boolean equals(Object o) - { - if (o == null) - { - return false; - } - - if (getClass() != o.getClass()) - { - return false; - } - - return getPath().equals(((Action) o).getPath()); - } - - /** provides the hashCode of this object, which is determined by simply - * delegating the responsibility to the path property - * @return the hashCode of the name if not null, otherwise delegate to the - * parent class - */ - public int hashCode() - { - if (getPath() != null) - { - return getPath().hashCode(); - } - else - { - return super.hashCode(); - } - } - -} diff --git a/struts/src/main/org/apache/maven/struts/ConfigurationEntry.java b/struts/src/main/org/apache/maven/struts/ConfigurationEntry.java deleted file mode 100644 index 583a7f7d..00000000 --- a/struts/src/main/org/apache/maven/struts/ConfigurationEntry.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -/** - * A class to hold common properties across struts config objects - * - * @author dion - * @version $Id$ - */ -public class ConfigurationEntry -{ - /** Fully qualified Java class name of the implementation class. */ - private String className; - /** Unique identifier of the form bean, if any, associated with the action - */ - private String name; - - /** Creates a new instance of ConfigurationEntry */ - public ConfigurationEntry() - { - } - - /** Getter for property className. - * @return Value of property className. - */ - public String getClassName() - { - return className; - } - - /** Setter for property className. - * @param className New value of property className. - */ - public void setClassName(String className) - { - this.className = className; - } - - /** Getter for property name. - * @return Value of property name. - */ - public String getName() - { - return name; - } - - /** Setter for property name. - * @param name New value of property name. - */ - public void setName(String name) - { - this.name = name; - } - - /** whether the passed object is the same as this one. In the case of a - * config object, the name is the unique qualifier. So two objects are equal - * if they have equal names - * @param o any object - * @return true if o is the same as this object, false otherwise - */ - public boolean equals(Object o) - { - if (o == null) - { - return false; - } - - if (getClass() != o.getClass()) - { - return false; - } - - return getName().equals(((ConfigurationEntry) o).getName()); - } - - /** provides the hashCode of this object, which is determined by simply - * delegating the responsibility to the name property - * @return the hashCode of the name if not null, otherwise delegate to the - * parent class - */ - public int hashCode() - { - if (getName() != null) - { - return getName().hashCode(); - } - else - { - return super.hashCode(); - } - } -} diff --git a/struts/src/main/org/apache/maven/struts/FormBean.java b/struts/src/main/org/apache/maven/struts/FormBean.java deleted file mode 100644 index 305a6a55..00000000 --- a/struts/src/main/org/apache/maven/struts/FormBean.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -/** - * A class to hold data about a Struts form bean as found in the configuration - * @author dion - * @version $Id$ - */ -public class FormBean extends ObjectConfigurationEntry -{ - /** Creates a new instance of FormBean with null values for the properties - */ - public FormBean() - { - } - -} diff --git a/struts/src/main/org/apache/maven/struts/Forward.java b/struts/src/main/org/apache/maven/struts/Forward.java deleted file mode 100644 index 83744af5..00000000 --- a/struts/src/main/org/apache/maven/struts/Forward.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -/** - * A class to represent a global forward as stored in the Struts configuration - * - * @author dion - * @version $Id$ - */ -public class Forward extends ConfigurationEntry -{ - /** path to forward or redirect to */ - private String path; - /** whether to redirect or forward to the path*/ - private String redirect; - - /** Creates a new instance of Forward */ - public Forward() - { - } - - /** Getter for property path. - * @return Value of property path. - */ - public String getPath() - { - return path; - } - - /** Setter for property path. - * @param path New value of property path. - */ - public void setPath(String path) - { - this.path = path; - } - - /** Getter for property redirect. - * @return Value of property redirect. - */ - public String getRedirect() - { - return redirect; - } - - /** Setter for property redirect. - * @param redirect New value of property redirect. - */ - public void setRedirect(String redirect) - { - this.redirect = redirect; - } - -} diff --git a/struts/src/main/org/apache/maven/struts/ObjectConfigurationEntry.java b/struts/src/main/org/apache/maven/struts/ObjectConfigurationEntry.java deleted file mode 100644 index a15b49c6..00000000 --- a/struts/src/main/org/apache/maven/struts/ObjectConfigurationEntry.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -/** - * A struts configuration entry that ends up as a java object, and hence - * has a type property that is a java class name. - * - * @author dion - * @version - * $Id$ - */ -public class ObjectConfigurationEntry extends ConfigurationEntry -{ - /** Fully qualified Java class name of the implementing object */ - private String type; - - /** Creates a new instance of ObjectConfigurationEntry */ - public ObjectConfigurationEntry() - { - } - - /** Getter for property type. - * @return Value of property type. - */ - public String getType() - { - return type; - } - - /** Setter for property type. - * @param type New value of property type. - */ - public void setType(String type) - { - this.type = type; - } - -} diff --git a/struts/src/main/org/apache/maven/struts/Struts10WarFile.java b/struts/src/main/org/apache/maven/struts/Struts10WarFile.java deleted file mode 100644 index fc7251de..00000000 --- a/struts/src/main/org/apache/maven/struts/Struts10WarFile.java +++ /dev/null @@ -1,314 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import java.io.File; -import java.io.InputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.jar.JarEntry; - -import org.apache.maven.j2ee.WarFile; - -import org.dom4j.Document; -import org.dom4j.DocumentException; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; - -/** - * Encapsulates a Struts 1.0 War File. Holds functionality to access Struts - * specific resources and data in the war. - * @author dion - * @version $Id$ - */ -public class Struts10WarFile extends WarFile -{ - /** Default location of Struts configuration file in the war */ - public static final String DEFAULT_CONFIG = "WEB-INF/struts-config.xml"; - /** property for the location of the Struts configuration file in the war */ - private String config = Struts10WarFile.DEFAULT_CONFIG; - /** Default name of the action servlet in web.xml */ - public static final String DEFAULT_ACTIONSERVLET_NAME = "action"; - /** name of the action servlet in web.xml */ - private String actionServletName = - Struts10WarFile.DEFAULT_ACTIONSERVLET_NAME; - - /** - * Creates a new instance of Struts10WarFile - * @param name the {@link File file} name of a war file containing a Struts - * web application - * @throws IOException when an I/O error occurs - */ - public Struts10WarFile(String name) throws IOException - { - super(name); - } - - /** - * Creates a new instance of Struts10WarFile - * @param name the {@link File file} name of a war file containing a Struts - * web application - * @param verify whether or not to verify the war file if it is signed - * @throws IOException when an I/O error occurs */ - public Struts10WarFile(String name, boolean verify) throws IOException - { - super(name, verify); - } - - /** - * Creates a new instance of Struts10WarFile - * @param warFile a J2EE .war {@link File file} containing a Struts web - * application - * @throws IOException when an I/O error occurs - */ - public Struts10WarFile(File warFile) throws IOException - { - super(warFile); - } - - /** - * Creates a new instance of Struts10WarFile - * @param warFile a J2EE .war {@link File file} containing a Struts web - * application - * @param verify whether or not to verify the war file if it is signed - * @throws IOException when an I/O error occurs - */ - public Struts10WarFile(File warFile, boolean verify) throws IOException - { - super(warFile, verify); - } - - /** - * Creates a new instance of Struts10WarFile - * @param warFile a J2EE .war {@link File file} containing a Struts web - * application - * @param verify whether or not to verify the war file if it is signed - * @param mode the mode in which the file is to be opened - * @throws IOException when an I/O error occurs - */ - public Struts10WarFile(File warFile, boolean verify, int mode) - throws IOException - { - super(warFile, verify, mode); - } - - /** Provide the location of the Struts configuration file in the war. - * @return Value of property config. - */ - public String getConfig() - { - return config; - } - - /** Set the location of the Struts configuration file in the war. - * @param config New value of property config. - */ - public void setConfig(String config) - { - this.config = config; - } - - /** - * Retrieves the Struts configuration (as specified by the config property) - * entry if it exists. - * @return a {@link JarEntry} for Struts config - */ - public JarEntry getStrutsConfigEntry() - { - return getJarEntry(getConfig()); - } - - /** Get the Struts configuration back as a dom4j Document, for easier - * processing - * @return a {@link Document} representing the web.xml - * @throws IOException if there are any issues reading the web.xml - * or producing the xml document - */ - private Document getStrutsConfig() throws IOException - { - if (getStrutsConfigEntry() == null) - { - throw new IOException("Attempted to get non-existent config"); - } - try - { - SAXReader xmlReader = new SAXReader(false); - xmlReader.setEntityResolver(new StrutsEntityResolver()); - InputStream configStream = getInputStream(getStrutsConfigEntry()); - Document configXml = xmlReader.read(configStream); - return configXml; - } - catch (DocumentException de) - { - de.printStackTrace(); - throw new IOException(de.getMessage()); - } - } - - /** retrieves the form beans defined in the struts configuration file - * @return a collection of {@link FormBean form beans} - * @throws IOException when there are problems reading from the war - */ - public List getFormBeans() throws IOException - { - List formBeans = new ArrayList(); - Document config = getStrutsConfig(); - List formBeanNodes = config.selectNodes( - "/struts-config/form-beans/form-bean"); - Element formBeanNode = null; - FormBean formBean = null; - for (Iterator nodes = formBeanNodes.iterator(); nodes.hasNext();) - { - formBeanNode = (Element) nodes.next(); - formBean = new FormBean(); - formBean.setClassName(formBeanNode.attributeValue("className")); - formBean.setName(formBeanNode.attributeValue("name")); - formBean.setType(formBeanNode.attributeValue("type")); - formBeans.add(formBean); - } - - return formBeans; - } - - /** retrieve the actions defined in the struts configuration file - * @return a {@link List] of {@link Action actions} - * @throws IOException when there are problems reading from the war - */ - public List getActions() throws IOException - { - List actions = new ArrayList(); - Document config = getStrutsConfig(); - List actionNodes = config.selectNodes( - "/struts-config/action-mappings/action"); - Element actionNode = null; - Action action = null; - for (Iterator nodes = actionNodes.iterator(); nodes.hasNext();) - { - actionNode = (Element) nodes.next(); - action = new Action(); - action.setClassName(actionNode.attributeValue("className")); - action.setName(actionNode.attributeValue("name")); - action.setPath(actionNode.attributeValue("path")); - action.setScope(actionNode.attributeValue("scope")); - action.setType(actionNode.attributeValue("type")); - action.setUnknown(actionNode.attributeValue("unknown")); - action.setValidate(actionNode.attributeValue("validate")); - actions.add(action); - } - return actions; - } - - /** retrieves the type attribute of the <form-beans> element if - * it exists, or null otherwise - * @return the form-bean type attribute - * @throws IOException when there are problems reading from the war - */ - public String getFormBeansType() throws IOException - { - String type = null; - Element formBeans = (Element) getStrutsConfig().selectSingleNode( - "/struts-config/form-beans"); - if (formBeans != null) - { - type = formBeans.attributeValue("type"); - } - return type; - } - - /** retrieves the type attribute of the <global-forwards> element if - * it exists, or null otherwise - * @return the global-forwards type attribute - * @throws IOException when there are problems reading from the war - */ - public String getGlobalForwardsType() throws IOException - { - String type = null; - Element forwards = (Element) getStrutsConfig().selectSingleNode( - "/struts-config/global-forwards"); - if (forwards != null) - { - type = forwards.attributeValue("type"); - } - return type; - } - - /** retrieve the global forwards defined in the struts configuration - * @return a {@link List} of {@link Forward forwards} - * @throws IOException when there are problems reading from the war - */ - public List getForwards() throws IOException - { - List forwards = new ArrayList(); - Document config = getStrutsConfig(); - List nodes = config.selectNodes( - "/struts-config/global-forwards/forward"); - Element element = null; - Forward forward = null; - for (int index = 0; index < nodes.size(); index++) - { - element = (Element) nodes.get(index); - forward = new Forward(); - forward.setName(element.attributeValue("name")); - forward.setPath(element.attributeValue("path")); - if (element.attribute("className") != null) - { - forward.setClassName(element.attributeValue("className")); - } - if (element.attribute("redirect") != null) - { - forward.setRedirect(element.attributeValue("redirect")); - } - forwards.add(forward); - } - - return forwards; - } - - /** retrieve the url pattern for the action servlet, or null if not found - * @return the <url-pattern> provided for the servlet named by - * {@link #getActionServletName} - * @throws IOException when there are problems reading from the war - */ - public String getActionServletPattern() throws IOException - { - return (String) getServletMappings().get(getActionServletName()); - } - - /** Getter for property actionServletName. - * @return Value of property actionServletName. - */ - public String getActionServletName() - { - return actionServletName; - } - - /** Setter for property actionServletName. - * @param actionServletName New value of property actionServletName. - */ - public void setActionServletName(String actionServletName) - { - if (actionServletName == null) - { - throw new NullPointerException("action servlet name can't be null"); - } - this.actionServletName = actionServletName; - } - - } diff --git a/struts/src/main/org/apache/maven/struts/Struts10WarValidator.java b/struts/src/main/org/apache/maven/struts/Struts10WarValidator.java deleted file mode 100644 index 13741e1c..00000000 --- a/struts/src/main/org/apache/maven/struts/Struts10WarValidator.java +++ /dev/null @@ -1,440 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.maven.j2ee.WarClassLoader; -import org.apache.maven.j2ee.WarValidator; -import org.apache.regexp.RE; -import org.apache.regexp.RESyntaxException; - -/** - * A class that validates a Struts 1.0 War File. Specific validations performed - * are: - * - *
      - *
    1. - * Must pass validation as a 'standard' war file - *
    2. - *
    3. - * File has a struts configuration file - *
    4. - *
    5. - * <form-bean>s must have a valid type and - * className that exist in the war - *
    6. - *
    7. - * <action>s must have a valid type, className - * that exist in the war - *
    8. - *
    9. - * <action> names must refer to a <form-bean> in the - * struts configuraion - *
    10. - *
    11. - * <action> scope must be either request or - * session - *
    12. - *
    13. - * <action> unknown and validate must be - * true or false - *
    14. - *
    15. - * <global-forwards> type must be a class in the war - *
    16. - *
    17. - * <forward> redirect must be true or - * false - *
    18. - *
    19. - * <forward> path must refer to either a file in the war - * (e.g. a jsp), or an action defined in the struts configuration - *
    20. - *
    - * - * - * @version $Id$ - * @author dion - */ -public class Struts10WarValidator extends WarValidator -{ - //~ Instance variables ····················································· - - /** - * the location within the war of the Struts configuration file. By default - * this takes the value of the {@link Struts10WarFile#DEFAULT_CONFIG - * default config} - */ - private String config = Struts10WarFile.DEFAULT_CONFIG; - - //~ Constructors ··························································· - - /** - * Creates a new instance of Struts10WarValidator - */ - public Struts10WarValidator() - { - } - - //~ Methods ································································ - - /** - * Setter for config location within the war (no leading slash) - * - * @param config New value of property config. - */ - public void setConfig(String config) - { - this.config = config; - } - - /** - * Getter for Struts config location within the war (no leading slash). - * e.g. WEB-INF/struts-config.xml - * - * @return Value of property config. - */ - public String getConfig() - { - return config; - } - - /** - * Validate struts specific war features here - */ - protected void validateWarContents() - { - try - { - super.validateWarContents(); - - Struts10WarFile strutsWar = new Struts10WarFile(getWarFileName()); - strutsWar.setConfig(getConfig()); - validateStrutsConfig(strutsWar); - validateFormBeans(strutsWar); - validateActions(strutsWar); - validateForwards(strutsWar); - } - catch (IOException ioe) - { - ioe.printStackTrace(); - error("Error reading struts war file"); - } - } - - /** - * validate a string that must contain a boolean value or be null - * - * @param value the string to be validated - * - * @return true if the provided string is true, false or null - */ - private boolean isBoolean(String value) - { - return (value == null) || value.equals("true") || value.equals("false"); - } - - /** - * validate the provided action object - * - * @param action the action to be validated - * @param formBeans the form beans for the war that the actions came from - * @param loader a {@link ClassLoader} to verify classes are from the war - */ - private void validateAction(Action action, Map formBeans, - ClassLoader loader) - { - info("validating action for path: '" + action.getPath() + "'"); - - // className must be a loadable class - if (action.getClassName() != null) - { - validateClass(action.getClassName(), loader); - } - - // name must be the name of a form bean - if ((action.getName() != null) - && (formBeans.get(action.getName()) == null)) - { - error("action refers to a non-existent form bean: '" - + action.getName() + "'"); - } - - // path must start with a '/' - if (!action.getPath().startsWith("/")) - { - error("action path (" + action.getPath() + ") doesn't start " - + "with a '/'"); - } - - // scope if specified must be request or session - if ((action.getScope() != null) - && !(action.getScope().equals("request") - || action.getScope().equals("session"))) - { - error("scope (" + action.getScope() + ") is not 'request' or " - + "'session'"); - } - - // type must be a loadable class - if (action.getType() != null) - { - validateClass(action.getType(), loader); - } - - // unknown must be true, false or null - if (!isBoolean(action.getUnknown())) // true or false only - { - error("unknown attribute is not 'true' or 'false'"); - } - - // validate must be true, false or null - if (!isBoolean(action.getValidate())) // true or false only - { - error("validate attribute is not 'true' or 'false'"); - } - } - - /** - * validations for the actions in the config - * - * @param war the struts web app being validated - * - * @throws IOException when there are problems reading the war - */ - private void validateActions(Struts10WarFile war) throws IOException - { - info("validating Struts Actions"); - - List actions = war.getActions(); - Action action = null; - ClassLoader loader = new WarClassLoader(war, - getClass().getClassLoader()); - List formBeans = war.getFormBeans(); - Map formBeansByName = new HashMap(); - - // put form beans into a map to find them easier - FormBean formBean = null; - - for (int index = 0; index < formBeans.size(); index++) - { - formBean = (FormBean) formBeans.get(index); - formBeansByName.put(formBean.getName(), formBean); - } - - // check actions - for (int index = 0; index < actions.size(); index++) - { - action = (Action) actions.get(index); - - if (CollectionUtils.cardinality(action, actions) > 1) - { - error("action is a duplicate (by path)"); - } - - validateAction(action, formBeansByName, loader); - } // end for all actions - } // end method - - /** - * validations for the form beans in the config - * - * @param strutsWar - the struts web app being validated - * - * @throws IOException when there are problems reading the war - */ - private void validateFormBeans(Struts10WarFile strutsWar) throws IOException - { - info("validating Struts Form Beans"); - - List formBeans = strutsWar.getFormBeans(); - FormBean bean = null; - ClassLoader loader = new WarClassLoader(strutsWar, - getClass().getClassLoader()); - - if (strutsWar.getFormBeansType() != null) - { - validateClass(strutsWar.getFormBeansType(), loader); - } - - for (int index = 0; index < formBeans.size(); index++) - { - bean = (FormBean) formBeans.get(index); - - if (CollectionUtils.cardinality(bean, formBeans) > 1) - { - error("form bean is a duplicate (by name)"); - } - - info("validating form bean: '" + bean.getName() + "', class: '" - + bean.getType() + "'"); - validateClass(bean.getType(), loader); - - if (bean.getClassName() != null) - { - validateClass(bean.getClassName(), loader); - } - } - } - - /** - * Validate a single global forward. - * - * @param war the war file the forward is from - * @param forward the forward to be validated - * @param loader a class loader for validating classes are in the war - * - * @throws IOException when there are issues reading the war - * @throws IllegalStateException If the regular expression used to check - * that the forward matches the action servlet is malformed - */ - private void validateForward(Struts10WarFile war, Forward forward, - ClassLoader loader) throws IOException - { - // check className, if provided - if (forward.getClassName() != null) - { - validateClass(forward.getClassName(), loader); - } - - // check name - if (StringUtils.isEmpty(forward.getName())) - { - error("name attribute is required"); - } - - // check path - String path = forward.getPath(); - int queryStringStart = path.indexOf("?"); - - if (queryStringStart != -1) - { - path = path.substring(0, queryStringStart); - } - - if (!war.hasFile(path)) - { - try - { - // could be an action - check to see if it matches the pattern - // for action servlet, if it does, extract the action path, and - // make sure it's in the list of actions - String pattern = war.getActionServletPattern(); - - - // escape '.', as it has special meaning to regular exprs - pattern = StringUtils.replace(pattern, ".", "\\."); - - - // change * to (*) to group matching characters for access - pattern = StringUtils.replace(pattern, "*", "(.*)"); - - RE regexp = new RE(pattern); - - if (regexp.match(path)) - { - String actionPath = regexp.getParen(1); - Action dummyAction = new Action(); - dummyAction.setPath(actionPath); - - if (!war.getActions().contains(dummyAction)) - { - error("action path for forward (" + actionPath + ")" - + " not found"); - } - } - else - { - error("No action or web resource found for '" + path + "'"); - } - } - catch (RESyntaxException e) - { - throw new IllegalStateException( - "bad regular expression created" - + " from action servlet url-pattern in web.xml " - + e.getMessage()); - } - } - - // check redirect - if (!isBoolean(forward.getRedirect())) - { - error("redirect attribute is not 'true' or 'false'"); - } - } - - /** - * validate the global forwards in the configuration - * - * @param war the war file to be used for validating - * - * @throws IOException when there are problems reading the war - */ - private void validateForwards(Struts10WarFile war) throws IOException - { - info("validating global forwards"); - - ClassLoader loader = new WarClassLoader(war, - getClass().getClassLoader()); - - if (war.getGlobalForwardsType() != null) - { - validateClass(war.getGlobalForwardsType(), loader); - } - - List forwards = war.getForwards(); - Forward forward = null; - - for (int index = 0; index < forwards.size(); index++) - { - forward = (Forward) forwards.get(index); - info("validating forward '" + forward.getName() + "', path: '" - + forward.getPath() + "'"); - - if (CollectionUtils.cardinality(forward, forwards) > 1) - { - error("forward is a duplicate (by name)"); - } - - validateForward(war, forward, loader); - } - } - - /** - * validations for the struts configuration file - * - * @param strutsWar - the struts web app being validated - */ - private void validateStrutsConfig(Struts10WarFile strutsWar) - { - info("validating Struts Configuration"); - - if (strutsWar.getStrutsConfigEntry() == null) - { - error("Struts Configuration: '" + strutsWar.getConfig() - + "' not found in the war file"); - } - } -} // end class diff --git a/struts/src/main/org/apache/maven/struts/StrutsEntityResolver.java b/struts/src/main/org/apache/maven/struts/StrutsEntityResolver.java deleted file mode 100644 index 66a64e59..00000000 --- a/struts/src/main/org/apache/maven/struts/StrutsEntityResolver.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import org.apache.maven.j2ee.J2EEEntityResolver; - -/** - * A class to resolve external entity definitions for struts artifacts. - * - * @author dion - * @version $Id$ - */ -public class StrutsEntityResolver extends J2EEEntityResolver -{ - - /** Creates a new instance of StrutsEntityResolver, adding the - */ - public StrutsEntityResolver() - { - getIdToResource().put( - "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN", - "/plugin-resources/struts-config_1_0.dtd"); - getIdToResource().put( - "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN", - "/plugin-resources/struts-config_1_1.dtd"); - } -} diff --git a/struts/src/plugin-resources/struts-config_1_0.dtd b/struts/src/plugin-resources/struts-config_1_0.dtd deleted file mode 100644 index f3317d80..00000000 --- a/struts/src/plugin-resources/struts-config_1_0.dtd +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/struts/src/plugin-resources/struts-config_1_1.dtd b/struts/src/plugin-resources/struts-config_1_1.dtd deleted file mode 100644 index 7d3762e9..00000000 --- a/struts/src/plugin-resources/struts-config_1_1.dtd +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/struts/src/plugin-test/maven.xml b/struts/src/plugin-test/maven.xml deleted file mode 100644 index 36ed60b3..00000000 --- a/struts/src/plugin-test/maven.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/struts/src/plugin-test/project.properties b/struts/src/plugin-test/project.properties deleted file mode 100644 index 8e453eab..00000000 --- a/struts/src/plugin-test/project.properties +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -maven.war.manifest=${basedir}/src/MANIFEST.MF \ No newline at end of file diff --git a/struts/src/plugin-test/project.xml b/struts/src/plugin-test/project.xml deleted file mode 100644 index 6d145e7f..00000000 --- a/struts/src/plugin-test/project.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - 3 - - - test-maven-struts-plugin - - - Test project for Maven Struts Plugin - - - 1.0 - - - - Apache Software Foundation - http://maven.apache.org/ - - - - 2004 - - - org.apache.maven.struts - - - A simple web app project - - - http://maven.apache.org/ - - - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/struts/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/struts/ - - - - - - - - - - - - commons-beanutils - commons-beanutils - 1.6.1 - true - - - commons-collections - commons-collections - 2.1 - true - - - commons-digester - commons-digester - 1.5 - true - - - commons-fileupload - commons-fileupload - 1.0 - true - - - commons-lang - commons-lang - 2.0 - true - - - commons-logging - commons-logging - 1.0.3 - http://jakarta.apache.org/commons/logging.html - true - - - commons-validator - commons-validator - 1.0.1 - true - - - oro - oro - 2.0.7 - true - - - struts - struts - 1.1 - true - - - servletapi - servletapi - 2.3 - true - - - - - - - src/java - - diff --git a/struts/src/plugin-test/src/MANIFEST.MF b/struts/src/plugin-test/src/MANIFEST.MF deleted file mode 100644 index 926781b9..00000000 --- a/struts/src/plugin-test/src/MANIFEST.MF +++ /dev/null @@ -1 +0,0 @@ -Bogus: value \ No newline at end of file diff --git a/struts/src/plugin-test/src/java/org/apache/maven/struts/ApplicationResources.properties b/struts/src/plugin-test/src/java/org/apache/maven/struts/ApplicationResources.properties deleted file mode 100644 index ec454a57..00000000 --- a/struts/src/plugin-test/src/java/org/apache/maven/struts/ApplicationResources.properties +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Resources for parameter 'org.apache.maven.struts.ApplicationResources' -# diff --git a/struts/src/plugin-test/src/java/org/apache/maven/struts/Nada.java b/struts/src/plugin-test/src/java/org/apache/maven/struts/Nada.java deleted file mode 100644 index 242124f6..00000000 --- a/struts/src/plugin-test/src/java/org/apache/maven/struts/Nada.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.maven.struts; - -import org.apache.struts.action.Action; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * MyEclipse Struts - * Creation date: 07-17-2004 - * - * XDoclet definition: - * @struts:action scope="null" validate="true" - */ -public class Nada extends Action { - - // --------------------------------------------------------- Instance Variables - - // --------------------------------------------------------- Methods - - /** - * Method execute - * @param mapping - * @param form - * @param request - * @param response - * @return ActionForward - */ - public ActionForward execute( - ActionMapping mapping, - ActionForm form, - HttpServletRequest request, - HttpServletResponse response) { - - return mapping.findForward("page2"); - } - -} \ No newline at end of file diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-bean.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-bean.tld deleted file mode 100644 index 7dfc6bda..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-bean.tld +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - - - -1.0 -1.1 -bean -http://jakarta.apache.org/struts/tags-bean - -cookie -org.apache.struts.taglib.bean.CookieTag -org.apache.struts.taglib.bean.CookieTei -empty - -id -true -false - - -multiple -false -true - - -name -true -true - - -value -false -true - - - -define -org.apache.struts.taglib.bean.DefineTag -org.apache.struts.taglib.bean.DefineTei -JSP - -id -true -false - - -name -false -true - - -property -false -true - - -scope -false -true - - -toScope -false -true - - -type -false -true - - -value -false -true - - - -header -org.apache.struts.taglib.bean.HeaderTag -org.apache.struts.taglib.bean.HeaderTei -empty - -id -true -false - - -multiple -false -true - - -name -true -true - - -value -false -true - - - -include -org.apache.struts.taglib.bean.IncludeTag -org.apache.struts.taglib.bean.IncludeTei -empty - -anchor -false -true - - -forward -false -true - - -href -false -true - - -id -true -false - - -name -false -true - - -page -false -true - - -transaction -false -true - - - -message -org.apache.struts.taglib.bean.MessageTag -empty - -arg0 -false -true - - -arg1 -false -true - - -arg2 -false -true - - -arg3 -false -true - - -arg4 -false -true - - -bundle -false -true - - -key -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - -scope -false -true - - - -page -org.apache.struts.taglib.bean.PageTag -org.apache.struts.taglib.bean.PageTei -empty - -id -true -false - - -property -true -true - - - -parameter -org.apache.struts.taglib.bean.ParameterTag -org.apache.struts.taglib.bean.ParameterTei -empty - -id -true -false - - -multiple -false -true - - -name -true -true - - -value -false -true - - - -resource -org.apache.struts.taglib.bean.ResourceTag -org.apache.struts.taglib.bean.ResourceTei -empty - -id -true -false - - -input -false -true - - -name -true -true - - - -size -org.apache.struts.taglib.bean.SizeTag -org.apache.struts.taglib.bean.SizeTei -empty - -collection -false -true - - -id -true -false - - -name -false -true - - -property -false -true - - -scope -false -true - - - -struts -org.apache.struts.taglib.bean.StrutsTag -org.apache.struts.taglib.bean.StrutsTei -empty - -id -true -false - - -formBean -false -true - - -forward -false -true - - -mapping -false -true - - - -write -org.apache.struts.taglib.bean.WriteTag -empty - -bundle -false -true - - -filter -false -true - - -format -false -true - - -formatKey -false -true - - -ignore -false -true - - -locale -false -true - - -name -true -true - - -property -false -true - - -scope -false -true - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-config.xml b/struts/src/plugin-test/src/webapp/WEB-INF/struts-config.xml deleted file mode 100644 index ad51f4be..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-config.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-html.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-html.tld deleted file mode 100644 index 9087060d..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-html.tld +++ /dev/null @@ -1,2972 +0,0 @@ - - - - - - - - - - -1.0 -1.1 -html -http://jakarta.apache.org/struts/tags-html - -base -org.apache.struts.taglib.html.BaseTag -empty - -target -false -true - - -server -false -true - - - -button -org.apache.struts.taglib.html.ButtonTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -cancel -org.apache.struts.taglib.html.CancelTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -checkbox -org.apache.struts.taglib.html.CheckboxTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -errors -org.apache.struts.taglib.html.ErrorsTag -empty - -bundle -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - - -file -org.apache.struts.taglib.html.FileTag - -accesskey -false -true - - -accept -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -size -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -form -org.apache.struts.taglib.html.FormTag -JSP - -action -true -true - - -enctype -false -true - - -focus -false -true - - -focusIndex -false -true - - -method -false -true - - -name -false -true - - -onreset -false -true - - -onsubmit -false -true - - -scope -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -target -false -true - - -type -false -true - - - -frame -org.apache.struts.taglib.html.FrameTag - -action -false -true - - -anchor -false -true - - -forward -false -true - - -frameborder -false -true - - -frameName -false -true - - -href -false -true - - -longdesc -false -true - - -marginheight -false -true - - -marginwidth -false -true - - -name -false -true - - -noresize -false -true - - -page -false -true - - -paramId -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -scrolling -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -title -false -true - - -titleKey -false -true - - -transaction -false -true - - - -hidden -org.apache.struts.taglib.html.HiddenTag -empty - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - -write -false -true - - - -html -org.apache.struts.taglib.html.HtmlTag -JSP - -locale -false -true - - -xhtml -false -true - - - -image -org.apache.struts.taglib.html.ImageTag - -accesskey -false -true - - -align -false -true - - -alt -false -true - - -altKey -false -true - - -border -false -true - - -bundle -false -true - - -disabled -false -true - - -indexed -false -true - - -locale -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -page -false -true - - -pageKey -false -true - - -property -false -true - - -src -false -true - - -srcKey -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -img -org.apache.struts.taglib.html.ImgTag -empty - -align -false -true - - -alt -false -true - - -altKey -false -true - - -border -false -true - - -bundle -false -true - - -height -false -true - - -hspace -false -true - - -imageName -false -true - - -ismap -false -true - - -locale -false -true - - -lowsrc -false -true - - -name -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -paramId -false -true - - -page -false -true - - -pageKey -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -src -false -true - - -srcKey -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -title -false -true - - -titleKey -false -true - - -usemap -false -true - - -vspace -false -true - - -width -false -true - - - -javascript -org.apache.struts.taglib.html.JavascriptValidatorTag -empty - -cdata -false -true - - -dynamicJavascript -false -false - - -formName -false -true - - -method -false -true - - -page -false -true - - -src -false -true - - -staticJavascript -false -false - - -htmlComment -false -true - - - -link -org.apache.struts.taglib.html.LinkTag - -accesskey -false -true - - -action -false -true - - -anchor -false -true - - -forward -false -true - - -href -false -true - - -indexed -false -true - - -indexId -false -true - - -linkName -false -true - - -name -false -true - - -onblur -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -page -false -true - - -paramId -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -target -false -true - - -title -false -true - - -titleKey -false -true - - -transaction -false -true - - - -messages -org.apache.struts.taglib.html.MessagesTag -org.apache.struts.taglib.html.MessagesTei -JSP - -id -true -false - - -bundle -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - -header -false -true - - -footer -false -true - - -message -false -true - - - -multibox -org.apache.struts.taglib.html.MultiboxTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -option -org.apache.struts.taglib.html.OptionTag - -bundle -false -true - - -disabled -false -true - - -key -false -true - - -locale -false -true - - -style -false -true - - -styleId -false -true - - -styleClass -false -true - - -value -true -true - - - -options -org.apache.struts.taglib.html.OptionsTag -empty - -collection -false -true - - -filter -false -true - - -labelName -false -true - - -labelProperty -false -true - - -name -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - - -optionsCollection -org.apache.struts.taglib.html.OptionsCollectionTag -empty - -filter -false -true - - -label -false -true - - -name -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - -value -false -true - - - -password -org.apache.struts.taglib.html.PasswordTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -redisplay -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -size -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -radio -org.apache.struts.taglib.html.RadioTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -property -true -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -true -true - - -idName -false -true - - - -reset -org.apache.struts.taglib.html.ResetTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -rewrite -org.apache.struts.taglib.html.RewriteTag -empty - -anchor -false -true - - -forward -false -true - - -href -false -true - - -name -false -true - - -page -false -true - - -paramId -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -transaction -false -true - - - -select -org.apache.struts.taglib.html.SelectTag -JSP - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -multiple -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -size -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -submit -org.apache.struts.taglib.html.SubmitTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -text -org.apache.struts.taglib.html.TextTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -size -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -textarea -org.apache.struts.taglib.html.TextareaTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -cols -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -rows -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -xhtml -org.apache.struts.taglib.html.XhtmlTag -empty - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-logic.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-logic.tld deleted file mode 100644 index 1975973a..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-logic.tld +++ /dev/null @@ -1,642 +0,0 @@ - - - - - - - - - -1.0 -1.1 -logic -http://jakarta.apache.org/struts/tags-logic - -empty -org.apache.struts.taglib.logic.EmptyTag -JSP - -name -false -true - - -property -false -true - - -scope -false -true - - - -equal -org.apache.struts.taglib.logic.EqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -forward -org.apache.struts.taglib.logic.ForwardTag -empty - -name -true -true - - - -greaterEqual -org.apache.struts.taglib.logic.GreaterEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -greaterThan -org.apache.struts.taglib.logic.GreaterThanTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -iterate -org.apache.struts.taglib.logic.IterateTag -org.apache.struts.taglib.logic.IterateTei -JSP - -collection -false -true - - -id -true -false - - -indexId -false -false - - -length -false -true - - -name -false -true - - -offset -false -true - - -property -false -true - - -scope -false -true - - -type -false -true - - - -lessEqual -org.apache.struts.taglib.logic.LessEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -lessThan -org.apache.struts.taglib.logic.LessThanTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -match -org.apache.struts.taglib.logic.MatchTag -JSP - -cookie -false -true - - -header -false -true - - -location -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -messagesNotPresent -org.apache.struts.taglib.logic.MessagesNotPresentTag -JSP - -name -false -true - - -property -false -true - - -message -false -true - - - -messagesPresent -org.apache.struts.taglib.logic.MessagesPresentTag -JSP - -name -false -true - - -property -false -true - - -message -false -true - - - -notEmpty -org.apache.struts.taglib.logic.NotEmptyTag -JSP - -name -false -true - - -property -false -true - - -scope -false -true - - - -notEqual -org.apache.struts.taglib.logic.NotEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -notMatch -org.apache.struts.taglib.logic.NotMatchTag -JSP - -cookie -false -true - - -header -false -true - - -location -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -notPresent -org.apache.struts.taglib.logic.NotPresentTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -role -false -true - - -scope -false -true - - -user -false -true - - - -present -org.apache.struts.taglib.logic.PresentTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -role -false -true - - -scope -false -true - - -user -false -true - - - -redirect -org.apache.struts.taglib.logic.RedirectTag - -anchor -false -true - - -forward -false -true - - -href -false -true - - -name -false -true - - -page -false -true - - -paramId -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -transaction -false -true - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-nested.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-nested.tld deleted file mode 100644 index 29bf7923..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-nested.tld +++ /dev/null @@ -1,2870 +0,0 @@ - - - - - - - - - -1.0 -1.1 -nested -http://jakarta.apache.org/struts/tags-nested - -nest -org.apache.struts.taglib.nested.NestedPropertyTag -JSP - -property -false -true - - - -writeNesting -org.apache.struts.taglib.nested.NestedWriteNestingTag -JSP - -property -false -true - - -filter -false -true - - - -root -org.apache.struts.taglib.nested.NestedRootTag -JSP - -name -false -true - - - -define -org.apache.struts.taglib.nested.bean.NestedDefineTag -org.apache.struts.taglib.nested.bean.NestedDefineTei -empty - -id -true -true - - -name -false -true - - -property -false -true - - -scope -false -true - - -toScope -false -true - - -type -false -true - - -value -false -true - - - -message -org.apache.struts.taglib.nested.bean.NestedMessageTag -empty - -arg0 -false -true - - -arg1 -false -true - - -arg2 -false -true - - -arg3 -false -true - - -arg4 -false -true - - -bundle -false -true - - -key -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - -scope -false -true - - - -size -org.apache.struts.taglib.nested.bean.NestedSizeTag -org.apache.struts.taglib.bean.SizeTei -empty - -collection -false -true - - -id -true -true - - -name -false -true - - -property -false -true - - -scope -false -true - - - -write -org.apache.struts.taglib.nested.bean.NestedWriteTag -empty - -bundle -false -true - - -filter -false -true - - -format -false -true - - -formatKey -false -true - - -ignore -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - -scope -false -true - - - -checkbox -org.apache.struts.taglib.nested.html.NestedCheckboxTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -errors -org.apache.struts.taglib.nested.html.NestedErrorsTag -empty - -bundle -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - - -file -org.apache.struts.taglib.nested.html.NestedFileTag - -accesskey -false -true - - -accept -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -size -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -form -org.apache.struts.taglib.nested.html.NestedFormTag -JSP - -action -true -true - - -enctype -false -true - - -focus -false -true - - -method -false -true - - -name -false -true - - -onreset -false -true - - -onsubmit -false -true - - -scope -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -target -false -true - - -type -false -true - - - -hidden -org.apache.struts.taglib.nested.html.NestedHiddenTag - -alt -false -true - - -altKey -false -true - - -indexed -false -true - - -name -false -true - - -property -true -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -image -org.apache.struts.taglib.nested.html.NestedImageTag - -accesskey -false -true - - -align -false -true - - -alt -false -true - - -altKey -false -true - - -border -false -true - - -bundle -false -true - - -disabled -false -true - - -indexed -false -true - - -locale -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -page -false -true - - -pageKey -false -true - - -property -false -true - - -src -false -true - - -srcKey -false -true - - -style -false -true - - -styleClass -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -img -org.apache.struts.taglib.nested.html.NestedImgTag -empty - -accesskey -false -true - - -align -false -true - - -alt -false -true - - -altKey -false -true - - -border -false -true - - -bundle -false -true - - -height -false -true - - -hspace -false -true - - -imageName -false -true - - -ismap -false -true - - -locale -false -true - - -lowsrc -false -true - - -name -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -paramId -false -true - - -page -false -true - - -pageKey -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -src -false -true - - -srcKey -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -title -false -true - - -titleKey -false -true - - -usemap -false -true - - -vspace -false -true - - -width -false -true - - - -link -org.apache.struts.taglib.nested.html.NestedLinkTag - -accesskey -false -true - - -action -false -true - - -anchor -false -true - - -forward -false -true - - -href -false -true - - -indexed -false -true - - -indexId -false -true - - -linkName -false -true - - -name -false -true - - -onblur -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -page -false -true - - -paramId -false -true - - -paramName -false -true - - -paramProperty -false -true - - -paramScope -false -true - - -property -false -true - - -scope -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -target -false -true - - -title -false -true - - -titleKey -false -true - - -transaction -false -true - - - -messages -org.apache.struts.taglib.nested.html.NestedMessagesTag -org.apache.struts.taglib.html.MessagesTei -JSP - -id -true -true - - -bundle -false -true - - -locale -false -true - - -name -false -true - - -property -false -true - - -header -false -true - - -footer -false -true - - -message -false -true - - - -multibox -org.apache.struts.taglib.nested.html.NestedMultiboxTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -options -org.apache.struts.taglib.nested.html.NestedOptionsTag -empty - -collection -false -true - - -labelName -false -true - - -labelProperty -false -true - - -name -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - - -optionsCollection -org.apache.struts.taglib.nested.html.NestedOptionsCollectionTag -empty - -label -false -true - - -name -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -value -false -true - - - -password -org.apache.struts.taglib.nested.html.NestedPasswordTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -redisplay -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -size -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -radio -org.apache.struts.taglib.nested.html.NestedRadioTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -property -true -true - - -onmousedown -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -true -true - - - -select -org.apache.struts.taglib.nested.html.NestedSelectTag -JSP - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -multiple -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -size -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -submit -org.apache.struts.taglib.nested.html.NestedSubmitTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -text -org.apache.struts.taglib.nested.html.NestedTextTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -disabled -false -true - - -indexed -false -true - - -maxlength -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -size -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -textarea -org.apache.struts.taglib.nested.html.NestedTextareaTag - -accesskey -false -true - - -alt -false -true - - -altKey -false -true - - -cols -false -true - - -disabled -false -true - - -indexed -false -true - - -name -false -true - - -onblur -false -true - - -onchange -false -true - - -onclick -false -true - - -ondblclick -false -true - - -onfocus -false -true - - -onkeydown -false -true - - -onkeypress -false -true - - -onkeyup -false -true - - -onmousedown -false -true - - -onmousemove -false -true - - -onmouseout -false -true - - -onmouseover -false -true - - -onmouseup -false -true - - -property -true -true - - -readonly -false -true - - -rows -false -true - - -style -false -true - - -styleClass -false -true - - -styleId -false -true - - -tabindex -false -true - - -title -false -true - - -titleKey -false -true - - -value -false -true - - - -empty -org.apache.struts.taglib.nested.logic.NestedEmptyTag -JSP - -name -false -true - - -property -false -true - - -scope -false -true - - - -equal -org.apache.struts.taglib.nested.logic.NestedEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -greaterEqual -org.apache.struts.taglib.nested.logic.NestedGreaterEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -greaterThan -org.apache.struts.taglib.nested.logic.NestedGreaterThanTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -iterate -org.apache.struts.taglib.nested.logic.NestedIterateTag -org.apache.struts.taglib.nested.logic.NestedIterateTei -JSP - -collection -false -true - - -id -false -true - - -indexId -false -true - - -length -false -true - - -name -false -true - - -offset -false -true - - -property -false -true - - -scope -false -true - - -type -false -true - - - -lessEqual -org.apache.struts.taglib.nested.logic.NestedLessEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -lessThan -org.apache.struts.taglib.nested.logic.NestedLessThanTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -match -org.apache.struts.taglib.nested.logic.NestedMatchTag -JSP - -cookie -false -true - - -header -false -true - - -location -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -messagesNotPresent -org.apache.struts.taglib.nested.logic.NestedMessagesNotPresentTag -JSP - -name -false -true - - -property -false -true - - -message -false -true - - - -messagesPresent -org.apache.struts.taglib.nested.logic.NestedMessagesPresentTag -JSP - -name -false -true - - -property -false -true - - -message -false -true - - - -notEmpty -org.apache.struts.taglib.nested.logic.NestedNotEmptyTag -JSP - -name -false -true - - -property -false -true - - -scope -false -true - - - -notEqual -org.apache.struts.taglib.nested.logic.NestedNotEqualTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -notMatch -org.apache.struts.taglib.nested.logic.NestedNotMatchTag -JSP - -cookie -false -true - - -header -false -true - - -location -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -scope -false -true - - -value -true -true - - - -notPresent -org.apache.struts.taglib.nested.logic.NestedNotPresentTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -role -false -true - - -scope -false -true - - -user -false -true - - - -present -org.apache.struts.taglib.nested.logic.NestedPresentTag -JSP - -cookie -false -true - - -header -false -true - - -name -false -true - - -parameter -false -true - - -property -false -true - - -role -false -true - - -scope -false -true - - -user -false -true - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-template.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-template.tld deleted file mode 100644 index f8fbe998..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-template.tld +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - -1.0 -1.1 -template -http://jakarta.apache.org/struts/tags-template - -insert -org.apache.struts.taglib.template.InsertTag -JSP - -template -true -true - - - -put -org.apache.struts.taglib.template.PutTag -JSP - -name -true -true - - -role -false -true - - -content -false -true - - -direct -false -true - - - -get -org.apache.struts.taglib.template.GetTag -empty - -flush -false -true - - -name -true -true - - -role -false -true - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/struts-tiles.tld b/struts/src/plugin-test/src/webapp/WEB-INF/struts-tiles.tld deleted file mode 100644 index e70d3ce5..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/struts-tiles.tld +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - -1.0 -1.1 -tiles -http://jakarta.apache.org/struts/tags-tiles - -insert -org.apache.struts.taglib.tiles.InsertTag -JSP - -template -false -true - - -component -false -true - - -page -false -true - - -definition -false -true - - -attribute -false -false - - -name -false -true - - -beanName -false -true - - -beanProperty -false -true - - -beanScope -false -false - - -flush -false -false - - -ignore -false -true - - -role -false -true - - -controllerUrl -false -true - - -controllerClass -false -true - - - -definition -org.apache.struts.taglib.tiles.DefinitionTag -JSP - -id -true -false - - -scope -false -false - - -template -false -true - - -page -false -true - - -role -false -true - - -extends -false -true - - - -put -org.apache.struts.taglib.tiles.PutTag -JSP - -name -false -false - - -value -false -true - - -content -false -true - - -direct -false -false - - -type -false -false - - -beanName -false -true - - -beanProperty -false -true - - -beanScope -false -false - - -role -false -true - - - -putList -org.apache.struts.taglib.tiles.PutListTag -JSP - -name -true -false - - - -add -org.apache.struts.taglib.tiles.AddTag -JSP - -value -false -false - - -content -false -true - - -direct -false -false - - -type -false -false - - -beanName -false -true - - -beanProperty -false -true - - -beanScope -false -false - - -role -false -true - - - -get -org.apache.struts.taglib.tiles.GetTag -empty - -name -true -true - - -ignore -false -true - - -flush -false -false - - -role -false -true - - - -getAsString -org.apache.struts.taglib.tiles.GetAttributeTag -empty - -name -true -true - - -ignore -false -true - - -role -false -true - - - -useAttribute -org.apache.struts.taglib.tiles.UseAttributeTag -org.apache.struts.taglib.tiles.UseAttributeTei -empty - -id -false -false - - -classname -false -false - - -scope -false -false - - -name -true -true - - -ignore -false -true - - - -importAttribute -org.apache.struts.taglib.tiles.ImportAttributeTag -empty - -name -false -true - - -scope -false -false - - -ignore -false -true - - - -initComponentDefinitions -org.apache.struts.taglib.tiles.InitDefinitionsTag -empty - -file -true -false - - -classname -false -false - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/validator-rules.xml b/struts/src/plugin-test/src/webapp/WEB-INF/validator-rules.xml deleted file mode 100644 index de8e3faf..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/validator-rules.xml +++ /dev/null @@ -1,1044 +0,0 @@ - - - - - - - - - - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (trim(value).length == 0) { - - if (i == 0) { - focusField = field; - } - fields[i++] = oRequired[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - } - - // Trim whitespace from left and right sides of s. - function trim(s) { - return s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); - } - - ]]> - - - - - - - - - - 0) && (field.value.length < iMin)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMinLength[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - - - - - iMax) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMaxLength[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - - - - - 0)) { - - if (!matchPattern(field.value, oMasked[x][2]("mask"))) { - if (i == 0) { - focusField = field; - } - fields[i++] = oMasked[x][1]; - isValid = false; - } - } - } - - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - } - - function matchPattern(value, mask) { - return mask.exec(value); - }]]> - - - - - - - - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oByte[x][1]; - - } else { - - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oByte[x][1]; - bValid = false; - } - } - } - - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - - - - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oShort[x][1]; - - } else { - - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oShort[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - - - - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - - if (!isAllDigits(value)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oInteger[x][1]; - - } else { - var iValue = parseInt(value); - if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oInteger[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - - function isAllDigits(argvalue) { - argvalue = argvalue.toString(); - var validChars = "0123456789"; - var startFrom = 0; - if (argvalue.substring(0, 2) == "0x") { - validChars = "0123456789abcdefABCDEF"; - startFrom = 2; - } else if (argvalue.charAt(0) == "0") { - validChars = "01234567"; - startFrom = 1; - } else if (argvalue.charAt(0) == "-") { - startFrom = 1; - } - - for (var n = startFrom; n < argvalue.length; n++) { - if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false; - } - return true; - }]]> - - - - - - - - - - - = 0) { - value = field.options[si].value; - } - } else { - value = field.value; - } - - if (value.length > 0) { - // remove '.' before checking digits - var tempArray = value.split('.'); - var joinedString= tempArray.join(''); - - if (!isAllDigits(joinedString)) { - bValid = false; - if (i == 0) { - focusField = field; - } - fields[i++] = oFloat[x][1]; - - } else { - var iValue = parseFloat(value); - if (isNaN(iValue)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oFloat[x][1]; - bValid = false; - } - } - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - }]]> - - - - - - - - - - - 0) && - (datePattern.length > 0)) { - var MONTH = "MM"; - var DAY = "dd"; - var YEAR = "yyyy"; - var orderMonth = datePattern.indexOf(MONTH); - var orderDay = datePattern.indexOf(DAY); - var orderYear = datePattern.indexOf(YEAR); - if ((orderDay < orderYear && orderDay > orderMonth)) { - var iDelim1 = orderMonth + MONTH.length; - var iDelim2 = orderDay + DAY.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderDay && iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); - } else if (iDelim1 == orderDay) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); - } else if (iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); - } else { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[2], matched[1], matched[3])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else if ((orderMonth < orderYear && orderMonth > orderDay)) { - var iDelim1 = orderDay + DAY.length; - var iDelim2 = orderMonth + MONTH.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderMonth && iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); - } else if (iDelim1 == orderMonth) { - dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); - } else if (iDelim2 == orderYear) { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); - } else { - dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[1], matched[2], matched[3])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else if ((orderMonth > orderYear && orderMonth < orderDay)) { - var iDelim1 = orderYear + YEAR.length; - var iDelim2 = orderMonth + MONTH.length; - var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); - var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); - if (iDelim1 == orderMonth && iDelim2 == orderDay) { - dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); - } else if (iDelim1 == orderMonth) { - dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); - } else if (iDelim2 == orderDay) { - dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$"); - } else { - dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); - } - var matched = dateRegexp.exec(value); - if(matched != null) { - if (!isValidDate(matched[3], matched[2], matched[1])) { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } else { - if (i == 0) { - focusField = form[oDate[x][0]]; - } - fields[i++] = oDate[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - - function isValidDate(day, month, year) { - if (month < 1 || month > 12) { - return false; - } - if (day < 1 || day > 31) { - return false; - } - if ((month == 4 || month == 6 || month == 9 || month == 11) && - (day == 31)) { - return false; - } - if (month == 2) { - var leap = (year % 4 == 0 && - (year % 100 != 0 || year % 400 == 0)); - if (day>29 || (day == 29 && !leap)) { - return false; - } - } - return true; - }]]> - - - - - - - - - - - - - - - 0)) { - - var iMin = parseInt(oRange[x][2]("min")); - var iMax = parseInt(oRange[x][2]("max")); - var iValue = parseInt(field.value); - if (!(iValue >= iMin && iValue <= iMax)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oRange[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - - - - 0)) { - - var fMin = parseFloat(oRange[x][2]("min")); - var fMax = parseFloat(oRange[x][2]("max")); - var fValue = parseFloat(field.value); - if (!(fValue >= fMin && fValue <= fMax)) { - if (i == 0) { - focusField = field; - } - fields[i++] = oRange[x][1]; - isValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return isValid; - }]]> - - - - - - - 0)) { - if (!luhnCheck(form[oCreditCard[x][0]].value)) { - if (i == 0) { - focusField = form[oCreditCard[x][0]]; - } - fields[i++] = oCreditCard[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - - /** - * Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl - */ - function luhnCheck(cardNumber) { - if (isLuhnNum(cardNumber)) { - var no_digit = cardNumber.length; - var oddoeven = no_digit & 1; - var sum = 0; - for (var count = 0; count < no_digit; count++) { - var digit = parseInt(cardNumber.charAt(count)); - if (!((count & 1) ^ oddoeven)) { - digit *= 2; - if (digit > 9) digit -= 9; - }; - sum += digit; - }; - if (sum == 0) return false; - if (sum % 10 == 0) return true; - }; - return false; - } - - function isLuhnNum(argvalue) { - argvalue = argvalue.toString(); - if (argvalue.length == 0) { - return false; - } - for (var n = 0; n < argvalue.length; n++) { - if ((argvalue.substring(n, n+1) < "0") || - (argvalue.substring(n,n+1) > "9")) { - return false; - } - } - return true; - }]]> - - - - - - - - 0)) { - if (!checkEmail(form[oEmail[x][0]].value)) { - if (i == 0) { - focusField = form[oEmail[x][0]]; - } - fields[i++] = oEmail[x][1]; - bValid = false; - } - } - } - if (fields.length > 0) { - focusField.focus(); - alert(fields.join('\n')); - } - return bValid; - } - - /** - * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com), - * http://javascript.internet.com - */ - function checkEmail(emailStr) { - if (emailStr.length == 0) { - return true; - } - var emailPat=/^(.+)@(.+)$/; - var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; - var validChars="\[^\\s" + specialChars + "\]"; - var quotedUser="(\"[^\"]*\")"; - var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; - var atom=validChars + '+'; - var word="(" + atom + "|" + quotedUser + ")"; - var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); - var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$"); - var matchArray=emailStr.match(emailPat); - if (matchArray == null) { - return false; - } - var user=matchArray[1]; - var domain=matchArray[2]; - if (user.match(userPat) == null) { - return false; - } - var IPArray = domain.match(ipDomainPat); - if (IPArray != null) { - for (var i = 1; i <= 4; i++) { - if (IPArray[i] > 255) { - return false; - } - } - return true; - } - var domainArray=domain.match(domainPat); - if (domainArray == null) { - return false; - } - var atomPat=new RegExp(atom,"g"); - var domArr=domain.match(atomPat); - var len=domArr.length; - if ((domArr[domArr.length-1].length < 2) || - (domArr[domArr.length-1].length > 3)) { - return false; - } - if (len < 2) { - return false; - } - return true; - }]]> - - - - - - - diff --git a/struts/src/plugin-test/src/webapp/WEB-INF/web.xml b/struts/src/plugin-test/src/webapp/WEB-INF/web.xml deleted file mode 100644 index 98335d80..00000000 --- a/struts/src/plugin-test/src/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - action - org.apache.struts.action.ActionServlet - - config - /WEB-INF/struts-config.xml - - - debug - 3 - - - detail - 3 - - 0 - - - action - *.do - - - index.jsp - - - diff --git a/struts/src/plugin-test/src/webapp/index.html b/struts/src/plugin-test/src/webapp/index.html deleted file mode 100644 index 71af9dd6..00000000 --- a/struts/src/plugin-test/src/webapp/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - -

    Simple WebApp Home

    -

    - This is a html page for Simple Web App -

    - - \ No newline at end of file diff --git a/struts/src/plugin-test/src/webapp/index.jsp b/struts/src/plugin-test/src/webapp/index.jsp deleted file mode 100644 index 63db4184..00000000 --- a/struts/src/plugin-test/src/webapp/index.jsp +++ /dev/null @@ -1,46 +0,0 @@ - - -<%@ page language="java"%> - -<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> -<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> -<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> -<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %> -<%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %> -<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %> - - - - - - - index.jsp - - - - - - - - - - -

    Please Click me

    - -
    diff --git a/struts/src/plugin-test/src/webapp/page2.jsp b/struts/src/plugin-test/src/webapp/page2.jsp deleted file mode 100644 index 9faf9009..00000000 --- a/struts/src/plugin-test/src/webapp/page2.jsp +++ /dev/null @@ -1,47 +0,0 @@ - - -<%@ page language="java" import="java.lang.*,java.util.*" %> -<% -String path = request.getContextPath(); -String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; -%> - - - - - - - My JSP 'page2.jsp' starting page - - - - - - - - - - - - - This is my JSP page.
    - - diff --git a/struts/src/test-resources/struts/struts-example.war b/struts/src/test-resources/struts/struts-example.war deleted file mode 100644 index 223879e1bc8b6d249911667f6f4382e8736e2ca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414348 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 z 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�B$ND2Ek8O9W_41@md&mSET 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ËL?wC% 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 diff --git a/struts/src/test/org/apache/maven/struts/ActionTest.java b/struts/src/test/org/apache/maven/struts/ActionTest.java deleted file mode 100644 index 17807d9d..00000000 --- a/struts/src/test/org/apache/maven/struts/ActionTest.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import junit.framework.TestCase; - -/** - * Unit tests for {@link Action} - * @author dion - * @version $Id$ - */ -public class ActionTest extends TestCase -{ - /** the instance being tested */ - private Action instance; - - /** Creates a new instance of ActionTest - * @param testName the name of the test - */ - public ActionTest(String testName) - { - super(testName); - } - - /** - * Initialize per test data - * @throws Exception when there is an unexpected problem - */ - public void setUp() throws Exception - { - instance = new Action(); - } - - /** test the constructor sets all properties to null - * @throws Exception when any error occurs - */ - public void testConstructor() throws Exception - { - assertNotNull("Instance wasn't created", instance); - assertNull("ClassName property isn't null", instance.getClassName()); - assertNull("Name property isn't null", instance.getName()); - assertNull("Scope property isn't null", instance.getScope()); - assertNull("Type property isn't null", instance.getType()); - assertNull("Unknown property isn't null", instance.getUnknown()); - assertNull("Validate property isn't null", instance.getValidate()); - } - - /** test the className property is working - * @throws Exception when any error occurs - */ - public void testClassName() throws Exception - { - testConstructor(); - String className = "dummyClassName"; - instance.setClassName(className); - assertEquals("ClassName property setter or getter failed", className, - instance.getClassName()); - } - - /** test the name property is working - * @throws Exception when any error occurs - */ - public void testName() throws Exception - { - testConstructor(); - String name = "dummyName"; - instance.setName(name); - assertEquals("Name property setter or getter failed", name, - instance.getName()); - } - - /** test the name property is working - * @throws Exception when any error occurs - */ - public void testPath() throws Exception - { - testConstructor(); - String path = "/dummy"; - instance.setPath(path); - assertEquals("Path property setter or getter failed", path, - instance.getPath()); - } - - /** test the scope property is working - * @throws Exception when any error occurs - */ - public void testScope() throws Exception - { - testConstructor(); - String scope = "dummyScope"; - instance.setScope(scope); - assertEquals("Scope property setter or getter failed", scope, - instance.getScope()); - } - - /** test the type property is working - * @throws Exception when any error occurs - */ - public void testType() throws Exception - { - testConstructor(); - String type = "dummyType"; - instance.setType(type); - assertEquals("Type property setter or getter failed", type, - instance.getType()); - } - - /** test the unknown property is working - * @throws Exception when any error occurs - */ - public void testUnknown() throws Exception - { - testConstructor(); - String unknown = "true"; - instance.setUnknown(unknown); - assertEquals("Unknown property setter or getter failed", unknown, - instance.getUnknown()); - } - - /** test the unknown property is working - * @throws Exception when any error occurs - */ - public void testValidate() throws Exception - { - testConstructor(); - String validate = "true"; - instance.setValidate(validate); - assertEquals("Validate property setter or getter failed", validate, - instance.getValidate()); - } - -} diff --git a/struts/src/test/org/apache/maven/struts/FormBeanTest.java b/struts/src/test/org/apache/maven/struts/FormBeanTest.java deleted file mode 100644 index 41b1d860..00000000 --- a/struts/src/test/org/apache/maven/struts/FormBeanTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import junit.framework.TestCase; - -/** - * Unit tests for {@link FormBean} - * @author dion - * @version $Id$ - */ -public class FormBeanTest extends TestCase -{ - /** the instance being tested */ - private FormBean instance; - - /** Creates a new instance of FormBeanTest - * @param testName the name of the test - */ - public FormBeanTest(String testName) - { - super(testName); - } - - /** - * Initialize per test data - * @throws Exception when there is an unexpected problem - */ - public void setUp() throws Exception - { - instance = new FormBean(); - } - - /** test the constructor sets all properties to null - * @throws Exception when any error occurs - */ - public void testConstructor() throws Exception - { - assertNotNull("Instance wasn't created", instance); - assertNull("ClassName property isn't null", instance.getClassName()); - assertNull("Name property isn't null", instance.getName()); - assertNull("Type property isn't null", instance.getType()); - } - - /** test the className property is working - * @throws Exception when any error occurs - */ - public void testClassName() throws Exception - { - assertNotNull("Instance wasn't created", instance); - assertNull("ClassName property isn't null", instance.getClassName()); - String className = "dummyClassName"; - instance.setClassName(className); - assertEquals("ClassName property setter or getter failed", className, - instance.getClassName()); - } - - /** test the name property is working - * @throws Exception when any error occurs - */ - public void testName() throws Exception - { - assertNotNull("Instance wasn't created", instance); - assertNull("Name property isn't null", instance.getName()); - String name = "dummyName"; - instance.setName(name); - assertEquals("Name property setter or getter failed", name, - instance.getName()); - } - - /** test the type property is working - * @throws Exception when any error occurs - */ - public void testType() throws Exception - { - assertNotNull("Instance wasn't created", instance); - assertNull("Type property isn't null", instance.getType()); - String type = "dummyType"; - instance.setType(type); - assertEquals("Type property setter or getter failed", type, - instance.getType()); - } -} diff --git a/struts/src/test/org/apache/maven/struts/ForwardTest.java b/struts/src/test/org/apache/maven/struts/ForwardTest.java deleted file mode 100644 index 57456de6..00000000 --- a/struts/src/test/org/apache/maven/struts/ForwardTest.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import junit.framework.TestCase; - -/** - * Unit tests for the {@link Forward} class - * - * @author dion - * @version $Id$ - */ -public class ForwardTest extends TestCase -{ - /** the instance being tested */ - private Forward instance; - - /** Creates a new instance of Struts10WarFileTest - * @param testName the name of the test - */ - public ForwardTest(String testName) - { - super(testName); - } - - /** - * Initialize per test data - * @throws Exception when there is an unexpected problem - */ - public void setUp() throws Exception - { - instance = new Forward(); - } - - /** test the constructor - * @throws Exception when there is an unexpected problem - */ - public void testConstructor() throws Exception - { - assertNotNull("instance not created", instance); - assertNull("name property is not null", instance.getName()); - assertNull("className property is not null", instance.getClassName()); - assertNull("path property is not null", instance.getPath()); - assertNull("redirect property is not null", instance.getRedirect()); - } - - /** test the name property - * @throws Exception when there is an unexpected problem - */ - public void testName() throws Exception - { - testConstructor(); - String dummy = "dummyName"; - instance.setName(dummy); - assertEquals("set or get failed", dummy, instance.getName()); - } - - /** test the class name property - * @throws Exception when there is an unexpected problem - */ - public void testClassName() throws Exception - { - testConstructor(); - String dummy = "dummyClassName"; - instance.setClassName(dummy); - assertEquals("set or get failed", dummy, instance.getClassName()); - } - - /** test the path property - * @throws Exception when there is an unexpected problem - */ - public void testPath() throws Exception - { - testConstructor(); - String dummy = "dummyPath"; - instance.setPath(dummy); - assertEquals("set or get failed", dummy, instance.getPath()); - } - - /** test the redirect property - * @throws Exception when there is an unexpected problem - */ - public void testRedirect() throws Exception - { - testConstructor(); - String dummy = "dummyRedirect"; - instance.setRedirect(dummy); - assertEquals("set or get failed", dummy, instance.getRedirect()); - } -} diff --git a/struts/src/test/org/apache/maven/struts/Struts10WarFileTest.java b/struts/src/test/org/apache/maven/struts/Struts10WarFileTest.java deleted file mode 100644 index 1edba31a..00000000 --- a/struts/src/test/org/apache/maven/struts/Struts10WarFileTest.java +++ /dev/null @@ -1,196 +0,0 @@ -package org.apache.maven.struts; - -/* ==================================================================== - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ==================================================================== - */ - -import java.io.IOException; -import java.util.List; - -import junit.framework.TestCase; - -/** - * Unit tests for {@link Struts10WarFile} - * - * @author dion - * @version $Id$ - */ -public class Struts10WarFileTest extends TestCase { - - /** instance to be tested */ - private Struts10WarFile instance; - /** test war file */ - private String testWarFileName; - - /** Creates a new instance of Struts10WarFileTest - * @param testName the name of the test - */ - public Struts10WarFileTest(java.lang.String testName) { - super(testName); - } - - /** - * Initialize per test data - * @throws Exception when there is an unexpected problem - */ - public void setUp() throws Exception - { - String baseDir = System.getProperty("basedir"); - assertNotNull("The system property basedir was not defined.", baseDir); - testWarFileName = baseDir + "/src/test-resources/struts/struts-example.war"; - } - - /** Test that the constructor succeeds - * @throws Exception when there is an unexpected problem - */ - public void testConstructor() throws Exception - { - instance = new Struts10WarFile(testWarFileName); - } - - /** test that the config is defaulted correctly - * @throws Exception when there is an unexpected problem - */ - public void testDefaultConfig() throws Exception - { - testConstructor(); - assertEquals("Default config isn't WEB-INF/struts-config.xml", - Struts10WarFile.DEFAULT_CONFIG, - instance.getConfig()); - } - - /** test the the config property works - * @throws Exception when there is an unexpected problem - */ - public void testConfig() throws Exception - { - testDefaultConfig(); - String dummyConfig = "WEB-INF/struts.xml"; - instance.setConfig(dummyConfig); - assertEquals("Set or get for config failed", dummyConfig, - instance.getConfig()); - } - - /** test retrieving the struts config as a JarEntry - * @throws Exception when there is an unexpected problem - */ - public void testConfigEntry() throws Exception - { - testConstructor(); - assertNotNull("config entry was null", instance.getStrutsConfigEntry()); - } - - /** test the retrieval of form beans - * @throws Exception when there is an unexpected problem - */ - public void testFormBeans() throws Exception - { - testConstructor(); - assertEquals("Number of form beans returned was wrong", 3, - instance.getFormBeans().size()); - List formBeans = instance.getFormBeans(); - assertEquals("first form bean isn't logonForm", "logonForm", - ((FormBean)formBeans.get(0)).getName()); - assertEquals("second form bean isn't registrationForm", - "registrationForm", - ((FormBean)formBeans.get(1)).getName()); - assertEquals("third form bean isn't subscriptionForm", - "subscriptionForm", - ((FormBean)formBeans.get(2)).getName()); - assertEquals("form beans type is not default", - "org.apache.struts.action.ActionFormBean", - instance.getFormBeansType()); - } - - /** test the retrieval of actions - * @throws Exception when there is an unexpected problem - */ - public void testActions() throws Exception - { - testConstructor(); - assertEquals("Number of actions returned was wrong", 14, - instance.getActions().size()); - List actions = instance.getActions(); - String[] types = new String[] - { - "org.apache.struts.webapp.example.EditRegistrationAction", - "org.apache.struts.webapp.example.EditSubscriptionAction", - "org.apache.struts.webapp.example.LogoffAction", - "org.apache.struts.webapp.example.LogonAction", - "org.apache.struts.webapp.example.SaveRegistrationAction", - "org.apache.struts.webapp.example.SaveSubscriptionAction", - null, - "org.apache.struts.actions.AddFormBeanAction", - "org.apache.struts.actions.AddForwardAction", - "org.apache.struts.actions.AddMappingAction", - "org.apache.struts.actions.ReloadAction", - "org.apache.struts.actions.RemoveFormBeanAction", - "org.apache.struts.actions.RemoveForwardAction", - "org.apache.struts.actions.RemoveMappingAction" - }; - for (int index = 0; index < types.length; index++) - { - assertEquals("action number " + index + " isn't " + types[index], - types[index], ((Action) actions.get(index)).getType()); - } - } - - /** test the forwards - * @throws Exception when there is an unexpected problem - */ - public void testForwards() throws Exception - { - testConstructor(); - assertEquals("Global forwards type is not correct", - "org.apache.struts.action.ActionForward", - instance.getGlobalForwardsType()); - assertEquals("Wrong number of forwards found", 3, - instance.getForwards().size()); - String[] names = new String[] {"logoff", "logon", "success"}; - Forward forward = null; - List forwards = instance.getForwards(); - for (int index = 0; index < names.length; index++) - { - forward = (Forward) forwards.get(index); - assertEquals("Forward number " + index + " isn't "+ names[index], - names[index], forward.getName()); - } - } - - /** test the action servlet name property - * @throws Exception when there is an unexpected problem - */ - public void testActionServletName() throws Exception - { - testConstructor(); - assertEquals("default action servlet name is not 'action'", "action", - Struts10WarFile.DEFAULT_ACTIONSERVLET_NAME); - String dummy = "dummyName"; - instance.setActionServletName(dummy); - assertEquals("action servlet name property get or set failed", dummy, - instance.getActionServletName()); - } - - /** test the action servlet pattern method - * @throws Exception when there is an unexpected problem - */ - public void testActionServletPattern() throws Exception - { - testConstructor(); - assertEquals("action servlet pattern is wrong", "*.do", - instance.getActionServletPattern()); - } -} diff --git a/struts/xdocs/changes.xml b/struts/xdocs/changes.xml deleted file mode 100644 index 92aaf46e..00000000 --- a/struts/xdocs/changes.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Changes - dIon Gillard - - - - Update very old docs - Fix classpath for the Struts war validator - Add a plugin test project that tests the validator - Remove old pom.getPluginContext code - - - Remove unneeded ant dependency - - - Upgrade to dom4j 1.4 - Upgrade to dom4j 1.4-dev-8 - Upgrade to commons-logging 1.0.3 - update to commons-lang 1.0.1 - Updated to commons-collections 2.1 - - - diff --git a/struts/xdocs/futures.xml b/struts/xdocs/futures.xml deleted file mode 100644 index 391cd995..00000000 --- a/struts/xdocs/futures.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - dIon Gillard - Futures for the Struts Plug-in - - - -

    -

    - The following is a list of things that are being contemplated - for the Maven Struts Plug-in. -

    -
      -
    1. Validate forwards
    2. -
    3. More Support for Struts 1.1
    4. -
    5. Generate struts-config using xdoclet
    6. -
    7. Generate form beans from validation.xml
    8. -
    -
    - - diff --git a/struts/xdocs/goals.xml b/struts/xdocs/goals.xml deleted file mode 100644 index 3f62867f..00000000 --- a/struts/xdocs/goals.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - Maven struts Plug-in Goals - dIon Gillard - - - - - struts - Call struts:validate-war - - - struts:validate-war - -

    - Ensure a war file containing a Struts application is valid. -

    -

    - The validator checks the folowing: -

      -
    1. It's a valid war file as per the - J2EE War Validator -
    2. -
    3. The war file has a struts configuration, usually - WEB-INF/struts-config.xml -
    4. -
    5. - Form Beans defined by a <form-bean> tag - have a type that is loadable from the war file - and not the classpath. If the form bean has - a className, that class too must be loaded from - the war -
    6. -
    7. Actions defined by a <action> tag have - several validations: -
        -
      1. the className attribute must be a class loadable from the war
      2. -
      3. the name attribute, must match a <form-bean> name attribute.
      4. -
      5. the path attribute must start with a forward slash, i.e. '/'
      6. -
      7. the scope attribute must be one of request or sesssion
      8. -
      9. the type attribute must be a class loadable from the war
      10. -
      11. - the unknown and validate - attributes must be either true or - false -
      12. -
      -
    8. -
    -

    - - - - - \ No newline at end of file diff --git a/struts/xdocs/index.xml b/struts/xdocs/index.xml deleted file mode 100644 index b661edd9..00000000 --- a/struts/xdocs/index.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - Maven Struts Plug-in - dIon Gillard - - - -
    -

    - This document provides an overview of the Maven Struts Plug-in. -

    - -

    - The Struts Plug-in is the place where Struts tools are found - in Maven. -

    -

    - At the moment it provides a validator to ensure a war file is valid. To - use this validator, simply add the following snippet to your maven.xml -

    - - -]]> -
    - - - - - - - - - - - - -
    DocumentDescription
    Goals - This document provides detailed information on the various - goals that are available as part of the Maven Struts Plug-in. -
    Properties - The behavior of the Maven Struts Plug-in can be altered via - properties. This document describes each property - available and the default used. -
    Futures - These are the current thoughts on additional items - that could or should be added to the plug-in. - They may or may not make it to an actual task list of a - developer. -
    -
    -
    - -
    diff --git a/struts/xdocs/navigation.xml b/struts/xdocs/navigation.xml deleted file mode 100644 index caafc530..00000000 --- a/struts/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven - - - - - - - - - - - - - diff --git a/struts/xdocs/properties.xml b/struts/xdocs/properties.xml deleted file mode 100644 index 5f342fb0..00000000 --- a/struts/xdocs/properties.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - Maven Struts Plugin Properties - - -
    -

    There are no settings to customize this plugin

    -
    - -
    \ No newline at end of file diff --git a/tjdo/announcements/1.0.ann b/tjdo/announcements/1.0.ann deleted file mode 100644 index 4c820f05..00000000 --- a/tjdo/announcements/1.0.ann +++ /dev/null @@ -1,11 +0,0 @@ -The Maven team is pleased to announce the TJDO plugin 1.0.0 release! - -http://maven.apache.org/reference/plugins/tjdo - -The Maven TJDO plugin is a plugin for Triactive JDO (http://tjdo.sourceforge.net). - -You can download the TJDO Maven plugin here: -http://www.ibiblio.org/maven/maven/plugins/maven-tjdo-plugin-1.0.0.jar - -Have fun! --Emmanuel \ No newline at end of file diff --git a/tjdo/plugin.jelly b/tjdo/plugin.jelly deleted file mode 100644 index b1788dcf..00000000 --- a/tjdo/plugin.jelly +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JDO-enhancing classes for Triactive JDO - - - - - - - - Classes are now JDO-enhanced for Triactive JDO - - - - - - - - - - - DB tables for Triactive JDO have now been dropped - - - diff --git a/tjdo/plugin.properties b/tjdo/plugin.properties deleted file mode 100644 index c9e10e6a..00000000 --- a/tjdo/plugin.properties +++ /dev/null @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P L U G I N P R O P E R T I E S -# ------------------------------------------------------------------- -# Triactive JDO plugin -# Author: Andy Jefferson (andy@ajsoft.net) -# ------------------------------------------------------------------- - -# Parameters for specification of location of JDO files -# Directory root -maven.tjdo.jdo.fileset.dir=${maven.build.dest} -# File Includes -maven.tjdo.jdo.fileset.include=**/*.jdo -# File Excludes -maven.tjdo.jdo.fileset.exclude= - -# Location of any JAR containing the JDBC driver for the data store being used -maven.tjdo.jdbc.jar= - diff --git a/tjdo/project.properties b/tjdo/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/tjdo/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/tjdo/project.xml b/tjdo/project.xml deleted file mode 100644 index ed234f11..00000000 --- a/tjdo/project.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-tjdo-plugin - Maven TJDO plugin - 1.0.0 - - Maven TJDO plugin - http://maven.apache.org/reference/plugins/tjdo/ - http://jira.codehaus.org/browse/MPTJDO - /www/maven.apache.org/reference/plugins/tjdo/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/tjdo/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/tjdo/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/tjdo/ - - - - 1.0.0 - 1.0.0 - MAVEN_TJDO_1_0_0 - - - - - - tjdo - tjdo - 2.0-beta3 - - - diff --git a/tjdo/xdocs/changes.xml b/tjdo/xdocs/changes.xml deleted file mode 100644 index 7c2df11c..00000000 --- a/tjdo/xdocs/changes.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - Changes - Andy Jefferson - - - - - - - Addition of "drop-tables", and revision of jelly code. - - - - - Addition of documents and update to TJDO version number. - - - - - New plugin providing support for TJDO "enhance" method. - - - - diff --git a/tjdo/xdocs/goals.xml b/tjdo/xdocs/goals.xml deleted file mode 100644 index b45ae06f..00000000 --- a/tjdo/xdocs/goals.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - Maven TJDO Plug-in Goals - Andy Jefferson - - - -
    - - - - - - - - - - -
    GoalDescription
    tjdo:enhance - This is the default goal of the plugin. It provides the enhancement - of classes to use TJDO for persistence of java classes. -
    tjdo:drop-tables - Drops the tables managed by Triactive JDO. -
    -
    - -
    diff --git a/tjdo/xdocs/index.xml b/tjdo/xdocs/index.xml deleted file mode 100644 index 8623f383..00000000 --- a/tjdo/xdocs/index.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven TJDO Plug-in - Andy Jefferson - - - -
    -

    - This plugin provides an interface to the Triactive JDO - implementation (TJDO) - of Sun's JDO spec. -

    -
    - -
    diff --git a/tjdo/xdocs/navigation.xml b/tjdo/xdocs/navigation.xml deleted file mode 100644 index 1b2b3f6c..00000000 --- a/tjdo/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven TJDO Plugin - - - - - - - - - - - - - diff --git a/tjdo/xdocs/properties.xml b/tjdo/xdocs/properties.xml deleted file mode 100644 index 08062f8a..00000000 --- a/tjdo/xdocs/properties.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - TJDO Properties - Andy Jefferson - - - -
    - - - - - - - - - - - - - - - - - -
    PropertyOptional?Description
    maven.tjdo.jdo.fileset.dirYes - Directory root of the filespace including the JDO files - defining the datastore persistence to be managed by TJDO. - The default is ${maven.build.dest} -
    maven.tjdo.jdo.fileset.includeYes - Include pattern of JDO files. The default is **/*.jdo -
    maven.tjdo.jdo.fileset.excludeYes - Exclude pattern of JDO files. The default is empty. -
    -
    - -
    diff --git a/webserver/plugin.jelly b/webserver/plugin.jelly deleted file mode 100644 index 37df2cf0..00000000 --- a/webserver/plugin.jelly +++ /dev/null @@ -1,616 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - A required property is missing a value. - - Property name: ${propname} - - Errors must be corrected before using this plugin. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - A required property is pointing to an invalid directory. - - Property name: ${propname} - Invalid value: ${propvalue} - - Errors must be corrected before using this plugin. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - The specified webserver name is currently not supported. - - Property name: ${propname} - Property value: ${propvalue} - - For supported ${propname} values, please see the help docs. - - -------------------------------------------------------------------------- - - - - - -------------------------------------------------------------------------- - | Plugin Configuration Error | - -------------------------------------------------------------------------- - - The specified version for the ${webserver} webserver is currently - not supported. - - Property name: ${propname} - Property value: ${propvalue} - - For supported ${propname} values, please see the help docs. - - -------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - installed - not installed - - - - - - started - not started - - - - - -Maven has determined your webserver instance is in directory [ ] and on - - - - - -Maven has determined your webserver instance is in directory [ ] and using socket on host . - - - - - - - - - - - - - -: Deleting webserver instance ... - - - - - - - - - - -: Installing webserver instance ... - - - - - - - - - -: Re-installing webserver instance ... - - - - - - - - - - -: Starting webserver instance ... - - - - - - - - - -: Re-starting webserver instance ... - - - - - - - - - -: Stopping webserver instance ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Runtime Error | - -------------------------------------------------------------------------- - - Maven could not determine the current status for your - instance. This was an unexpected runtime error that should be reported. - - -------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - -Webserver could not be installed because it is already installed. Trying to -reinstall the webserver instead ... - - - - - - - - - - - - - - - - - - - - -Webserver could not be reinstalled because it is not yet installed. Trying to -install the webserver instead ... - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------------------- - | Plugin Warning | - -------------------------------------------------------------------------- - - Webserver not yet installed - - You may try - o webserver:install webserver:start - o webserver:cycle - - -------------------------------------------------------------------------- - - - - -Webserver could not be started because it is already started. Trying to restart -the webserver instead ... - - - - - - - - - - - - - - - - - - - - - - - - -Webserver could not be restarted because it is not yet started. Trying to start -the webserver ... - - - - - - - - - - - - - - - - - - -Webserver already stopped! - - - - - - - - - - - - - - - - - - - - - - - - - - - -Webserver already cleaned! - - - - - - - diff --git a/webserver/plugin.properties b/webserver/plugin.properties deleted file mode 100644 index 1ac9936d..00000000 --- a/webserver/plugin.properties +++ /dev/null @@ -1,112 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -############################################################################ -# W E B S E R V E R -#--------------------------------------------------------------------------- - -#-------------------------------------------------------# -# OPTIONAL PROPERTIES TO BE SET BY PLUGIN CONSUMER # -#-------------------------------------------------------# - -# -# ports to access and configure this server instance -# -maven.webserver.port.http=80 -maven.webserver.port.https=443 - -# -# optional ports for other work -# -# maven.webserver.port.A= -# maven.webserver.port.B= -# maven.webserver.port.C= - -# -# The host name, used when configuring, defaults to localhost -# -maven.webserver.host=localhost - -#-------------------------------------------------------# - - -#-------------------------------------------------------# -# REQUIRED PROPERTIES THAT MAY/MUST BE SET BY USER # -#-------------------------------------------------------# - -# -# a supported name of an application server instance to install -# -# maven.webserver.name=apache - -# -# version number of the application server -# -# maven.webserver.version=2.x - -# -# The place where the binary machine install of the web server resides -# -# maven.webserver.home=/apps/apache2 - -# -# The directory to install the local instance of the server -# -maven.webserver.dir=${basedir}/server - -# -# The default port to test for a TCP/IP connection listener for determining if -# the webserver instance is started. Default is the same as the http port -# -maven.webserver.test.socket=${maven.webserver.port.http} - -# -# The URL used to test the current running status of the webserver -# Default is left as null, so that only the socket is used to test if the server -# is started -# -# maven.webserver.test.url=http://${maven.webserver.host}:${maven.webserver.port.http}/index.html - -# -# The root directory out of which you will server will serve your documents -# The default is under webapps, to allow this webserver to play friendly -# with a Tomcat application container by default -# -maven.webserver.root=${maven.webserver.dir}/webapps/ROOT - -#-------------------------------------------------------# - - -#-------------------------------------------------------# -# REQUIRED PROPERTIES NOT NORMALLY MODIFIED BY USERS # -#-------------------------------------------------------# - -# needed for dir searches and messages, should NOT be changed by user -maven.webserver.fullname=${maven.webserver.name}-${maven.webserver.version} - -# -# where to look for the instance specific config files for this webserver -# -maven.webserver.conf.dir=${maven.conf.dir}/webserver/${maven.webserver.fullname} - - -#-------------------------------------------------------# -# OPTIONNAL PROPERTIES RESOLVING TOKENS IN HTTPD.CONF # -#-------------------------------------------------------# -# The user and group to run httpd as -maven.webserver.user=apache -maven.webserver.group=apache - diff --git a/webserver/project.properties b/webserver/project.properties deleted file mode 100644 index d66f96c3..00000000 --- a/webserver/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ------------------------------------------------------------------- - -# ------------------------------------------------------------------- -# P R O J E C T P R O P E R T I E S -# ------------------------------------------------------------------- diff --git a/webserver/project.xml b/webserver/project.xml deleted file mode 100644 index a584360a..00000000 --- a/webserver/project.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - ../plugin-parent/project.xml - 3 - maven-webserver-plugin - Maven Webserver Plugin - 2.1-SNAPSHOT - - Manage web servers - http://maven.apache.org/reference/plugins/webserver/ - http://jira.codehaus.org/browse/MPWEBSERVER - /www/maven.apache.org/reference/plugins/webserver/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/webserver/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/webserver/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/webserver/ - - - - Peter Lynch - plynch - plynch@apache.org - - - Java Developer - Project Manager - - - - Stéphane Mor - smor - stephanemor@yahoo.fr - Hasgard Systèmes et Réseaux - - Java Developer - - - - Jason van Zyl - jvanzyl - jason@zenplex.com - Zenplex - - Architect - Release Manager - - - - - - ant - ant - 1.5.3-1 - - - commons-jelly - commons-jelly-tags-log - 1.0 - - - - - 2.0 - 2.0 - MAVEN_WEBSERVER_2_0 - - - diff --git a/webserver/src/plugin-resources/apache-2.x.jelly b/webserver/src/plugin-resources/apache-2.x.jelly deleted file mode 100644 index 7635bf58..00000000 --- a/webserver/src/plugin-resources/apache-2.x.jelly +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - -To use this webserver, you must have a project specific -configuration file at the following location: - -${maven.webserver.conf.dir}/conf/httpd.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Missing service detected. Trying to install a new webserver instance service... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webserver/xdocs/changes.xml b/webserver/xdocs/changes.xml deleted file mode 100644 index 498291bb..00000000 --- a/webserver/xdocs/changes.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - Changes - dIon Gillard - - - - Add user and group properties - - - - diff --git a/webserver/xdocs/goals.xml b/webserver/xdocs/goals.xml deleted file mode 100644 index 6930be15..00000000 --- a/webserver/xdocs/goals.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - Maven Webserver Plugin Goals - dIon Gillard - - - - - webserver:clean - Safely delete an installed webserver instance - - - webserver:cycle - Forced install and start of a webserver instance - - - webserver:init - Initialize resources needed for the plugin - - - webserver:install - Install a webserver instance - - - webserver:reinstall - Reinstall a webserver instance - - - webserver:restart - Restart a webserver instance - - - webserver:start - Start a webserver instance - - - webserver:stop - Stop a webserver instance - - - - \ No newline at end of file diff --git a/webserver/xdocs/index.xml b/webserver/xdocs/index.xml deleted file mode 100644 index 5196b508..00000000 --- a/webserver/xdocs/index.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Maven Webserver Plug-in - Jason van Zyl - Jason van Zyl - - - -
    -

    The Maven Webserver Plug-in provides a generic interface to installing - and controlling webserver instances. -

    -

    Using a private or shared webserver installation, developers can use - this plugin to control their own personal instance of a webserver. This is - particularly useful when developing website based projects. -

    -

    The webserver implementation used is controlled by a set of simple - properties. Integrating new webserver implementations into the plugin is - as simple as adding a jelly script that implements some required goal - names. -

    -
    - -
    diff --git a/webserver/xdocs/navigation.xml b/webserver/xdocs/navigation.xml deleted file mode 100644 index ba8ae44d..00000000 --- a/webserver/xdocs/navigation.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Maven Webserver Plugin - - - - - - - - - - - - - \ No newline at end of file diff --git a/webserver/xdocs/properties.xml b/webserver/xdocs/properties.xml deleted file mode 100644 index a629158c..00000000 --- a/webserver/xdocs/properties.xml +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - Maven Webserver Plugin Properties - dIon Gillard - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PropertyOptional?Description
    maven.webserver.nameNo -

    The value must be set to one of the supported webserver name - values. An error is given if the name is not supported.

    -
    maven.webserver.versionNo -

    The value must be set to one of the supported webserver version - values for the specified webserver name. An error is given if the - name is not supported.

    -
    maven.webserver.homeNo -

    The absolute directory path to the home directory installation - for the webserver name being used.

    -
    maven.webserver.port.httpYes if maven.webserver.port.https has a value, otherwise no. -

    Default value is 80

    -
    maven.webserver.port.httpsYes if maven.webserver.port.http has a value, otherwise no. -

    Default value is 443

    -
    maven.webserver.port.AYes -

    Default value is null

    -

    Optional port that can be used for configuration, added by - default to the filterset used when copying configuration files. -

    -
    maven.webserver.port.BYes -

    Default value is null

    -

    Optional port that can be used for configuration, added by - default to the filterset used when copying configuration files. -

    -
    maven.webserver.port.CYes -

    Default value is null

    -

    Optional port that can be used for configuration, added by - default to the filterset used when copying configuration files. -

    -
    maven.webserver.dirNo -

    Default value is - ${basedir}/server

    -

    This is the directory where the server instance willl be installed - to and run from. -

    -
    maven.webserver.fullnameNo -

    Default value is - ${maven.webserver.name}-${maven.webserver.version}

    -

    Modifying this property will likely prevent the plugin from - working properly. It is highly recommended to not change the default - value.

    -
    maven.webserver.conf.dirNo -

    Default value is - ${maven.conf.dir}/webserver/${maven.webserver.fullname}

    -

    This property's value is set by default for consistency. It is - not recommended the value be changed, although it can be. Instead - if you have server specific configuration files, put them in a - directory structure under your configuration dir as above.

    -
    maven.webserver.rootNo -

    Default value is - ${maven.webserver.dir}/webapps/ROOT

    -

    This should be absolute path to the root directory where you - would like your server instance to serve files from.

    -
    maven.webserver.userYes -

    Default value is apache.

    -

    This is the user that Apache should run as.

    -
    maven.webserver.groupYes -

    Default value is apache.

    -

    This is the group that Apache should run as.

    -
    maven.webserver.test.socketNo -

    Default value is ${maven.webserver.port.http}OR - if not set then ${maven.webserver.port.https}

    - -
    maven.webserver.test.urlYes -

    Default value is null. If specified, the plugin uses - a valid response from the URL in addition to - ${the maven.webserver.test.socket} to determine if the webserver is - running.

    -
    maven.webserver.hostYes -

    Default value is localhost. This needs to be set the - name of the server running the server instance.

    -
    -
    - -
    diff --git a/wizard/plugin.jelly b/wizard/plugin.jelly deleted file mode 100644 index 3389cd07..00000000 --- a/wizard/plugin.jelly +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - About to invoke the ${goalName} goal! - - - - - - - - - - - - - - - ${frame.setVisible(true)} - - - - - diff --git a/wizard/project.xml b/wizard/project.xml deleted file mode 100644 index d8d680b2..00000000 --- a/wizard/project.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - ../plugin-parent/project.xml - 3 - maven-wizard-plugin - Maven Wizard Plug-in - 1.1.1-SNAPSHOT - Wizard for Maven - http://maven.apache.org/reference/plugins/wizard/ - http://jira.codehaus.org/browse/MPWIZARD - /www/maven.apache.org/reference/plugins/wizard/ - - scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/wizard/ - scm:svn:https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/wizard/ - http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/wizard/ - - - - 1.0 - 1.0 - MAVEN_WIZARD_1_0 - - - 1.1 - 1.1 - MAVEN_WIZARD_1_1 - - - - - James Strachan - jstrachan - jstrachan@apache.org - SpiritSoft, Inc. - - - - - commons-jelly - commons-jelly-tags-interaction - 1.0 - - - commons-jelly - commons-jelly-tags-log - 1.0 - - - commons-jelly - commons-jelly-tags-swing - 1.0 - - - diff --git a/wizard/xdocs/changes.xml b/wizard/xdocs/changes.xml deleted file mode 100644 index 9aa959c5..00000000 --- a/wizard/xdocs/changes.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Changes - James Strachan - - - - - - Initial version - - - - - diff --git a/wizard/xdocs/goals.xml b/wizard/xdocs/goals.xml deleted file mode 100644 index 6e3554ab..00000000 --- a/wizard/xdocs/goals.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - Maven Wizard Goals - James Strachan - - - -
    - - - - - - -
    GoalDescription
    wizard - This is the default goal of the plugin and starts the Swing Wizard. -
    -
    - -
    diff --git a/wizard/xdocs/index.xml b/wizard/xdocs/index.xml deleted file mode 100644 index a869a52c..00000000 --- a/wizard/xdocs/index.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - Maven Wizard - James Strachan - - - -
    -

    - This plugin provides an interactive Swing user interface - for executing Maven goals for a project. - This cuts down on the JVM and Maven start-up times allowing for - lightning-fast repetitive execution of Maven. -

    -

    - The wizard simply loads the current project.xml and waits for - the user to select a goal to run via the Run menu. -

    -

    - For more information on the functionality provided by this plugin, - please see the Goals document. -

    -

    - There are no properties available to customise this plugin. -

    -
    - -
    diff --git a/wizard/xdocs/navigation.xml b/wizard/xdocs/navigation.xml deleted file mode 100644 index 5d6108f0..00000000 --- a/wizard/xdocs/navigation.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - Maven Wizard - - - - - - - - - - - diff --git a/wizard/xdocs/properties.xml b/wizard/xdocs/properties.xml deleted file mode 100644 index e7d8676c..00000000 --- a/wizard/xdocs/properties.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - wizard Properties - dIon Gillard - - -
    -

    There are no settings to customize this plugin

    -
    - -
    \ No newline at end of file diff --git a/wizard/xdocs/tasks.xml b/wizard/xdocs/tasks.xml deleted file mode 100644 index e7533395..00000000 --- a/wizard/xdocs/tasks.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - Maven Wizard Tasks - James Strachan - - - -
    -

    -

      -
    • - Find a way to switch projects easily, so that - we load all the plugins once for all projects. -
    • -
    • - Capturing the output of each task in a seperate window - would be useful. -
    • -
    -

    -
    - -