You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2004/03/31 21:16:46 UTC

cvs commit: jakarta-turbine-2/extensions/maven-plugin/src/plugin plugin.properties plugin.jelly

epugh       2004/03/31 11:16:46

  Modified:    extensions/maven-plugin project.xml maven.xml
                        project.properties
  Added:       extensions/maven-plugin NOTES README
               extensions/maven-plugin/dependencies postgresql-7.3.4.xml
                        torque-3.1.xml mysql-2.0.14.xml meta-1.0.xml
                        turbine-2.3.xml
               extensions/maven-plugin/src/plugin plugin.properties
                        plugin.jelly
  Removed:     extensions/maven-plugin plugin.jelly
  Log:
  Import META: Maven Environment for Turbine Applications
  
  Revision  Changes    Path
  1.5       +48 -93    jakarta-turbine-2/extensions/maven-plugin/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/extensions/maven-plugin/project.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- project.xml	31 Mar 2004 00:31:55 -0000	1.4
  +++ project.xml	31 Mar 2004 19:16:46 -0000	1.5
  @@ -1,117 +1,72 @@
   <?xml version="1.0" encoding="ISO-8859-1"?>
  -<!-- 
  -/*
  - * 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 project.xml Datei                                            -->
  +<!--                                                                     -->
  +<!-- $Id$           -->
  +<!--                                                                     -->
  +<!-- =================================================================== -->
  +
   <project>
     <pomVersion>3</pomVersion>
  -  <groupId>turbine</groupId>
     <id>maven-turbine-plugin</id>
  -  <name>Maven Turbine Plugin</name>
  -  <currentVersion>2.4-dev</currentVersion>
  +  <name>Maven Environment for Turbine Applications Plugin</name>
  +  <currentVersion>1.0-dev</currentVersion>
  +  <shortDescription>Maven Environment for Turbine Applications</shortDescription>
  +  <description>
  +    The Maven Environment for Turbine Applications (M.E.T.A.) is a replacement
  +    for the Turbine Development Kit. It is based on Maven and contains a well
  +    defined setup for starting new Turbine applications.
  +  </description>
     <organization>
       <name>Apache Software Foundation</name>
       <url>http://jakarta.apache.org/</url>
  -    <logo>/images/jakarta.png</logo>
  +    <logo>/images/jakarta-logo-blue.gif</logo>
     </organization>
  -  <!--logo>/images/blue-logo.gif</logo-->
  +  <logo>/images/blue-logo.gif</logo>
     <inceptionYear>2003</inceptionYear>
  -  <package>org.apache.turbine</package>
  -  <shortDescription>Maven Turbine Plugin</shortDescription>
  -
  -  <url>http://jakarta.apache.org/turbine/turbine-2.4/maven-turbine-plugin/</url>
  -  <issueTrackingUrl>http://issues.apache.org/scarab/issues</issueTrackingUrl>
  -  <siteAddress>jakarta.apache.org</siteAddress>
  -  <siteDirectory>/www/jakarta.apache.org/turbine/turbine-2.4/maven-turbine-plugin/</siteDirectory>
  -  <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-turbine-2/</distributionDirectory>
  -
  -  <repository>
  -    <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-turbine-2/extensions/maven-plugin/</connection>
  -    <url>http://cvs.apache.org/viewcvs/jakarta-turbine-2/extensions/maven-plugin/</url>
  -  </repository>
  -
  -  <mailingLists>
  -    <mailingList>
  -      <name>Turbine User List</name>
  -      <subscribe>turbine-user-subscribe@jakarta.apache.org</subscribe>
  -      <unsubscribe>turbine-user-unsubscribe@jakarta.apache.org</unsubscribe>
  -      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=turbine-user@jakarta.apache.org</archive>
  -    </mailingList>
  -    <mailingList>
  -      <name>Turbine Developer List</name>
  -      <subscribe>turbine-dev-subscribe@jakarta.apache.org</subscribe>
  -      <unsubscribe>turbine-dev-unsubscribe@jakarta.apache.org</unsubscribe>
  -      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=turbine-dev@jakarta.apache.org</archive>
  -    </mailingList>
  -  </mailingLists>
  -
  +  <releases/>
     <developers>
       <developer>
  -      <name>Martin Poeschl</name>
  -      <id>mpoeschl</id>
  -      <email>mpoeschl@marmot.at</email>
  -      <organization>tucana.at</organization>
  -      <roles>
  -        <role>Java Developer</role>
  -      </roles>
  -    </developer>
  -    <developer>
         <name>Eric Pugh</name>
         <id>epugh</id>
  -      <email>epugh@upstate.com</email>
  -      <organization>upstate.com</organization>
  +      <email>epugh@opensourceconnections.com</email>
  +      <organization>OpenSource Connections</organization>
         <roles>
           <role>Java Developer</role>
         </roles>
  -    </developer>    
  +    </developer>      
  +    <developer>
  +      <name>Henning P. Schmiedehausen</name>
  +      <id>henning</id>
  +      <email>hps@intermeta.de</email>
  +      <organization>INTERMETA - Gesellschaft fuer Mehrwertdienste mbH</organization>
  +    </developer>
     </developers>
   
  -  <dependencies/>
  +  <!-- ======================================================================== -->
  +  <!--                                                                          -->
  +  <!-- M.E.T.A. itself has no dependencies on any jars.                         -->
  +  <!--                                                                          -->
  +  <!-- ======================================================================== -->
   
     <build>
  -    <sourceDirectory>${basedir}/src/main</sourceDirectory>
  -    <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory>
  -
  -    <unitTest>
  -      <includes>
  -        <include>**/*Test.java</include>
  -      </includes>
  -    </unitTest>
  -
       <resources>
  -      <resource>
  -        <directory>${basedir}/src/plugin-resources</directory>
  -        <targetPath>plugin-resources</targetPath>
  -        <includes>
  -          <include>**/*.*</include>
  -        </includes>
  -      </resource>
  -      <resource>
  -        <directory>${basedir}</directory>
  -        <includes>
  -          <include>plugin.jelly</include>
  -          <include>plugin.properties</include>
  -          <include>project.properties</include>
  -          <include>project.xml</include>
  -        </includes>
  -      </resource>
  +      <resource> 
  +        <directory>${basedir}/src/plugin-resources</directory> 
  +         <targetPath>plugin-resources</targetPath> 
  +       </resource> 
  +       <resource> 
  +         <directory>${basedir}/src/plugin</directory> 
  +         <targetPath>/</targetPath> 
  +       </resource> 
  +       <resource> 
  +         <directory>${basedir}</directory> 
  +         <includes> 
  +           <include>project.xml</include> 
  +         </includes> 
  +       </resource> 
       </resources>
  -
     </build>
  -
   </project>
  -
  
  
  
  1.3       +14 -23    jakarta-turbine-2/extensions/maven-plugin/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/extensions/maven-plugin/maven.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- maven.xml	30 Mar 2004 23:57:21 -0000	1.2
  +++ maven.xml	31 Mar 2004 19:16:46 -0000	1.3
  @@ -1,25 +1,16 @@
  -<!-- 
  -/*
  - * 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.
  - */
  - -->
  -	
  -<project>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
   
  -  <postGoal name="java:compile">
  -    
  -  </postGoal>
  +<!-- ======================================================================== -->
  +<!--                                                                          -->
  +<!--  maven Buildfile                                                         -->
  +<!--                                                                          -->
  +<!-- $Id$ -->
  +<!--                                                                          -->
  +<!-- ======================================================================== -->
  +
  +<project
  +  default="plugin:deploy"
  +  xmlns:j="jelly:core"
  +  xmlns:u="jelly:util"
  +  xmlns:m="maven"/>
   
  -</project>
  
  
  
  1.4       +2 -4      jakarta-turbine-2/extensions/maven-plugin/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/extensions/maven-plugin/project.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.properties	31 Mar 2004 00:31:55 -0000	1.3
  +++ project.properties	31 Mar 2004 19:16:46 -0000	1.4
  @@ -23,9 +23,7 @@
   # to do site or installation specific changes to the project build.
   # -------------------------------------------------------------------
   
  -# Not sure if these are needed.
  -#torque.cvs.dir = ../../../db-torque
  -#maven.multiproject.type=jar
  +maven.multiproject.type=jar
   
   #========================================================================
   # You can uncomment this if you're willing to use the unofficial
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/NOTES
  
  Index: NOTES
  ===================================================================
  Todo:
  
  Dependency Listen von Turbine und Torque sollten irgendwie automatisch
  gelesen und verarbeitet werden. W�rde den Setup sehr erleichtern.
  
  Die Dependency Listen sollten dann auch automatisch in das project.xml
  der neuen Applikation gepackt werden.
  
  Die Dateien in "dependencies" dienen zur Erzeugung dieser Jar-Listen.
  
  Sie werden eingelesen (Turbine-2.3, Torque-3.0.1 sind Default, dazu
  kommt META und der jeweilige JDBC Treiber) und dann verarbeitet.
  
  Directory Struktur:
  
  -+- / ---- README, project.xml um das Plugin selbst zu erzeugen
   |
   +-- dependencies --- dependency XML Fragmente fuer Turbine usw.
   |
   + -- src
         |
         +---- plugin --- Dateien, die in die Wurzel des Plugins kopiert
         |                werden:  plugin.jelly
         |                         plugin.properties
         |                         project.properties
         |                         project.xml
         |
         +---- plugin-resources --- Dateien, die nach plugin-resources 
                  |                 kopiert werden
                  |
                  +--- maven ------ Setup fuer Maven (-> Root der Applikation)
  
  Folgende XML Files muessen noch gecheckt werden:
  
  - Intake (Leeres File? Leere Gruppe? (geht nicht))
  - Torque-Data mit Insert (leeres File)
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/README
  
  Index: README
  ===================================================================
  Maven Environment for Turbine Applications (META)
  =================================================
  
  (C) 2003, 2004 The Apache Software Foundation
  Author: Henning P. Schmiedehausen <he...@apache.org>
  Version: 1.0
  
  General
  *******
  
  The Maven Environment for Turbine Application (META) is an easy way to
  get started with applications based on the Turbine Webapplication
  framework and also a collection of "best practices" and configuration
  information to get you started with writing code using the Turbine
  framework.
  
  It consists of a plugin for the Apache Maven project
  (maven.apache.org) and can be downloaded separately from the Turbine
  web site or the maven central repository on ibiblio.
  
  
  How it works
  ************
  
  META builds an application skeleton from a set of predefined
  configuration files which are part of the plugin and some user
  supplied parameters. Most of the parameters have reasonable defaults,
  only the application name must be supplied by the developer.
  
  As META tries to integrate with the maven web application environment
  as seamlessly as possible, it requires a few properties from other
  plugins to be set correctly. These are listed below for the various
  targets.
  
  Parameters are supplied either on the command line (if you want to
  rapid prototype an application, you can do so by running a simple
  maven command) or with a special properties file that will be read by
  the META task.
  
  Building the plugin
  *******************
  
  If you fetched a binary release or simply want to use the plugin
  available from ibiblio, you can skip this section. It is only
  interesting for you if you downloaded the source code either from CVS
  or bundled with the turbine distribution and want to build the plugin
  yourself from source.
  
  Doing so is simple: Go to the base directory of the source and run
  
  maven plugin
  
  This builds the plugin and puts it into your maven.repo.local repository.
  
  Alternative targets are
  
  maven plugin:deploy
  
  for installing the unpacked plugin into your local maven installation. This
  is useful if you're testing or debugging the plugin.
  
  maven plugin:install
  
  for packing the plugin and installing it into your local maven
  installation. This jar will be expanded next time maven is run.
  
  
  META targets
  ************
  
  All META targets are prefixed by "turbine" in the maven
  environment. While META is distinctive in the Turbine context, using
  meta:<xxx> proved confusing in the Maven context (is meta:<xxx> a
  maven meta-task or is it part of the META environment?). So the META
  environment uses the "turbine:" prefix.
  
  Available targets are:
  
  turbine:setup
  =============
  
  This is the setup procedure for a new application. It builds an
  application skeleton in the current working directory.
  
  The task reads an optional "setup.properties" file in the current
  directory which can contain additional properties for setting up and
  configuring the application.
  
  META Properties
  ---------------
  
  turbine.app.name (turbine:setup)
  
  Function:	sets the name of the new application
  Type:		String
  Default:	**** NO DEFAULT ****
  		Must be set or the task fails.
  
  turbine.app.package (turbine:setup)
  
  Function:	sets the java package of the new application
  Type:		String
  Default:	org.apache.turbine.app.${turbine.app.name}
  
  turbine.app.om.name (turbine:setup)
  
  Function:	sets the name of the OM datasource for the application
  Type:		String
  Default:	${turbine.app.name}
  
  turbine.app.om.package (turbine:setup)
  
  Function:	sets the package for the OM classes of the new application
  Type:		String
  Default:	${turbine.app.package}.om
  
  turbine.app.om.security.name (turbine:setup)
  
  Function:	sets the name of the OM datasource for the application which
                  contains the security information (users, groups...)
  Type:		String
  Default:	${turbine.app.om.name}
  
  turbine.app.om.security.package (turbine:setup)
  
  Function:	sets the package for the OM classes of the new application which
                  access the security information (users, groups...)
  Type:		String
  Default:	${turbine.app.om.package}
  
  turbine.app.subdir (turbine:setup)
  
  Function:	Defines whether to create the new application in the
                  current directory or a subdirectory.
  Type:		boolean (true/false)
  Default:	"true" (use a subdirectory)
  
  Properties from other plugins
  -----------------------------
  
  maven.appserver.name (turbine:setup)
  
  Plugin:		appserver
  Function:	Defines the name of the application server
                  used for testing and/or deploying of the 
                  application
  Type:		String
  Default:	tomcat (use a Jakarta Tomcat Application Server)
  
  torque.database (turbine:setup)
  
  Plugin:		torque
  Function:	Sets the database type that this application will use
  Type:		String
  Default:	not set
  
  torque.database.driver (turbine:setup)
  
  Plugin:		torque
  Function:	Set the database driver class
  Type:		String
  Default:	not set
  
  torque.database.user (turbine:setup)
  
  Plugin:		torque
  Function:	Set the database user for connecting
  Type:		String
  Default:	not set
  
  torque.database.password (turbine:setup)
  
  Plugin:		torque
  Function:	Set the database password for connecting
  Type:		String
  Default:	not set
  
  torque.database.buildUrl (turbine:setup)
  
  Plugin:		torque
  Function:	Set an URL which can be used for creating tables
                  and inserting data into the database
  Type:		String
  Default:	not set
  
  torque.database.createUrl (turbine:setup)
  
  Plugin:		torque
  Function:	Set an URL which can be used by the Torque plugin
                  to connect to the database engine to create the 
                  requested database
  Type:		String
  Default:	not set
  
  
  
  
  
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/dependencies/postgresql-7.3.4.xml
  
  Index: postgresql-7.3.4.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ============================================================ -->
  <!-- =                                                          = -->
  <!-- = PostgreSQL Dependencies                                  = -->
  <!-- =                                                          = -->
  <!-- ============================================================ -->
  
  <dependencies>
    <dependency>
      <id>postgresql:pg-jdbc2</id>
      <version>7.3.4</version>
      <url>http://www.postgresql.org/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
  </dependencies>
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/dependencies/torque-3.1.xml
  
  Index: torque-3.1.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ============================================================ -->
  <!-- =                                                          = -->
  <!-- = Torque Dependencies                                      = -->
  <!-- =                                                          = -->
  <!-- ============================================================ -->
  
  <dependencies>
      <dependency>
        <id>commons-dbcp</id>
        <version>1.1</version>
        <url>http://jakarta.apache.org/commons/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>jcs</id>
        <version>20030822.182132</version>
        <url>http://jakarta.apache.org/turbine/jcs/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
  
      <dependency>
        <id>avalon-framework</id>
        <version>4.1.4</version>
        <url>http://jakarta.apache.org/avalon/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-beanutils</id>
        <version>1.6.1</version>
        <url>http://jakarta.apache.org/commons/beanutils.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-collections</id>
        <version>2.1</version>
        <url>http://jakarta.apache.org/commons/collections.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-configuration</id>
        <version>20030706.202021</version>
        <url>http://jakarta.apache.org/commons/sandbox/configuration/index.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-digester</id>
        <version>1.5</version>
        <url>http://jakarta.apache.org/commons/digester/index.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-lang</id>
        <version>1.0.1</version>
        <url>http://jakarta.apache.org/commons/lang.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-logging</id>
        <version>1.0.3</version>
        <url>http://jakarta.apache.org/commons/logging.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-pool</id>
        <version>1.1</version>
        <url>http://jakarta.apache.org/commons/pool/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>jdbc</id>
        <version>2.0</version>
        <url>http://java.sun.com/products/jdbc/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>jndi</id>
        <version>1.2.1</version>
        <url>http://java.sun.com/products/jndi/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>log4j</id>
        <version>1.2.8</version>
        <url>http://jakarta.apache.org/log4j/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>logkit</id>
        <version>1.0.1</version>
        <url>http://jakarta.apache.org/avalon/logkit/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>stratum</id>
        <version>1.0-b3</version>
        <url>http://jakarta.apache.org/turbine/stratum/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>village</id>
        <version>2.0-dev-20030825</version>
        <url>http://share.whichever.com/index.php?SCREEN=village</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>xerces:xercesImpl</id>
        <version>2.4.0</version>
        <url>http://xml.apache.org/xerces2-j/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>xml-apis</id>
        <version>1.0.b2</version>
        <url>http://xml.apache.org/commons/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
  
      <dependency>
        <id>junit</id>
        <version>3.8.1</version>
        <url>http://www.junit.org/</url>
      </dependency>
  
  </dependencies>
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/dependencies/mysql-2.0.14.xml
  
  Index: mysql-2.0.14.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ============================================================ -->
  <!-- =                                                          = -->
  <!-- = MySQL Dependencies                                       = -->
  <!-- =                                                          = -->
  <!-- ============================================================ -->
  
  <dependencies>
    <dependency>
      <id>mysql:mysql-connector-java</id>
      <version>2.0.14-bin</version>
      <url>http://www.mysql.org/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
  </dependencies>
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/dependencies/meta-1.0.xml
  
  Index: meta-1.0.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ============================================================ -->
  <!-- =                                                          = -->
  <!-- = META Dependencies                                        = -->
  <!-- =                                                          = -->
  <!-- ============================================================ -->
  
  <dependencies>
    <dependency>
      <id>turbine</id>
      <version>2.3</version>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
  </dependencies>
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/dependencies/turbine-2.3.xml
  
  Index: turbine-2.3.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ============================================================ -->
  <!-- =                                                          = -->
  <!-- = Turbine Dependencies                                     = -->
  <!-- =                                                          = -->
  <!-- ============================================================ -->
  
  <dependencies>
    <dependency>
      <id>commons-codec</id>
      <version>1.1</version>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>commons-email</id>
      <version>20030310.165926</version>
      <url>http://jakarta.apache.org/commons/sandbox/email</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>commons-fileupload</id>
      <version>1.0</version>
      <url>http://jakarta.apache.org/commons/fileupload/index.html</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>cryptix</id>
      <version>3.2.0</version>
      <url>http://www.cryptix.org/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>dom4j</id>
      <version>1.4</version>
      <url>http://www.dom4j.org/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>ecs</id>
      <version>1.4.2</version>
      <url>http://jakarta.apache.org/ecs/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>excalibur-component</id>
      <version>1.1</version>
      <url>http://jakarta.apache.org/avalon/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>excalibur-instrument</id>
      <version>1.0</version>
      <url>http://jakarta.apache.org/avalon/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>excalibur-logger</id>
      <version>1.0.1</version>
      <url>http://jakarta.apache.org/avalon/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>excalibur-pool</id>
      <version>1.2</version>
      <url>http://jakarta.apache.org/avalon/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>jaf:activation</id>
      <version>1.0.2</version>
      <url>http://java.sun.com/products/javabeans/glasgow/jaf.html</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>javamail</id>
      <version>1.3.1</version>
      <url>http://java.sun.com/products/javamail/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <!-- ORO must be loaded before Jython, as Jython includes some ORO -->
    <!-- classes which cause the Maven JXR plug-in to fail. -->
    <dependency>
      <id>oro</id>
      <version>2.0.7</version>
      <url>http://jakarta.apache.org/oro/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>jython</id>
      <version>2.1</version>
      <url>http://www.jython.org/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>servletapi</id>
      <version>2.3</version>
      <url>http://java.sun.com/products/servlet/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>torque</id>
      <version>3.1</version>
      <url>http://db.apache.org/torque/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>velocity</id>
      <version>1.3.1</version>
      <url>http://jakarta.apache.org/velocity/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>xalan</id>
      <version>2.5.1</version>
      <url>http://xml.apache.org/xalan-j/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
    <dependency>
      <id>xmlrpc</id>
      <version>1.2-b1</version>
      <url>http://xml.apache.org/xmlrpc/</url>
      <properties>
        <war.bundle>true</war.bundle>
      </properties>
    </dependency>
      <dependency>
        <id>avalon-framework</id>
        <version>4.1.4</version>
        <url>http://jakarta.apache.org/avalon/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-beanutils</id>
        <version>1.6.1</version>
        <url>http://jakarta.apache.org/commons/beanutils.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-collections</id>
        <version>2.1</version>
        <url>http://jakarta.apache.org/commons/collections.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-configuration</id>
        <version>20030706.202021</version>
        <url>http://jakarta.apache.org/commons/sandbox/configuration/index.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-digester</id>
        <version>1.5</version>
        <url>http://jakarta.apache.org/commons/digester/index.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-lang</id>
        <version>1.0.1</version>
        <url>http://jakarta.apache.org/commons/lang.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-logging</id>
        <version>1.0.3</version>
        <url>http://jakarta.apache.org/commons/logging.html</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>commons-pool</id>
        <version>1.1</version>
        <url>http://jakarta.apache.org/commons/pool/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>jdbc</id>
        <version>2.0</version>
        <url>http://java.sun.com/products/jdbc/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>jndi</id>
        <version>1.2.1</version>
        <url>http://java.sun.com/products/jndi/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>log4j</id>
        <version>1.2.8</version>
        <url>http://jakarta.apache.org/log4j/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>logkit</id>
        <version>1.0.1</version>
        <url>http://jakarta.apache.org/avalon/logkit/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>stratum</id>
        <version>1.0-b3</version>
        <url>http://jakarta.apache.org/turbine/stratum/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>village</id>
        <version>2.0-dev-20030825</version>
        <url>http://share.whichever.com/index.php?SCREEN=village</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>xerces:xercesImpl</id>
        <version>2.4.0</version>
        <url>http://xml.apache.org/xerces2-j/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>xml-apis</id>
        <version>1.0.b2</version>
        <url>http://xml.apache.org/commons/</url>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>
      <dependency>
        <id>junit</id>
        <version>3.8.1</version>
        <url>http://www.junit.org/</url>
      </dependency>
  </dependencies>
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/src/plugin/plugin.properties
  
  Index: plugin.properties
  ===================================================================
  # ------------------------------------------------------------------------
  #
  # Setup for a new Turbine Application
  #
  # $Id: plugin.properties,v 1.1 2004/03/31 19:16:46 epugh Exp $
  #
  # ------------------------------------------------------------------------
  
  #
  # Defaults for the plugin parameters. These are described in depth in
  # the documentation. If you find any parameter in this file which is
  # missing in the documentation, please report this to the Turbine 
  # development mailing list at turbine-dev@jakarta.apache.org
  #
  
  # application name. Default: empty
  turbine.app.name =
  
  # application package. Default: derived from the application name
  turbine.app.package =		org.apache.turbine.app.${turbine.app.name}
  
  # name of the datasource  for the OM classes. Default: same as the application name
  turbine.app.om.name =		${turbine.app.name}
  
  # package for the OM classes. Default: derived from the application package
  turbine.app.om.package =	org.apache.turbine.app.${turbine.app.name}.om
  
  # name of the datasource  for the OM classes. Default: same as the application datasource
  turbine.app.om.security.name =	${turbine.app.om.name}
  
  # package for the security OM classes. Default: same as the application package
  turbine.app.om.security.package =	${turbine.app.om.package}
  
  # application database. Default: Don't use a database.
  turbine.app.database =
  
  # create the new application in a subdirectory
  turbine.app.subdir =		yes
  
  # use Tomcat Application Server
  maven.appserver.name =		tomcat
  
  ######################################################################
  #
  # You don't need to change anything below this line. These parameters
  # are for plugin internal use. If you change them and the compilation
  # process breaks, you're entitled to keep both pieces.
  #
  
  turbine.plugin.src.java      = src/java
  turbine.plugin.src.test      = src/test
  turbine.plugin.src.schema    = src/schema
  turbine.plugin.src.templates = src/templates
  turbine.plugin.src.conf      = conf
  
  
  
  1.1                  jakarta-turbine-2/extensions/maven-plugin/src/plugin/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ======================================================================== -->
  <!--                                                                          -->
  <!--  plugin.jelly for M.E.T.A.                                               -->
  <!--                                                                          -->
  <!-- $Id: plugin.jelly,v 1.4 2003/11/13 11:02:54 henning Exp $               -->
  <!--                                                                          -->
  <!-- ======================================================================== -->
  
  <project
    xmlns:j="jelly:core"
    xmlns:u="jelly:util"
    xmlns:ant="jelly:ant"
    xmlns:m="maven"
    xmlns:define="jelly:define"
    xmlns:meta="http://jakarta.apache.org/turbine/meta/taglib"
  >
  
  <!-- ======================================================================== -->
  <!--                                                                          -->
  <!-- Public goals for general use                                             -->
  <!--                                                                          -->
  <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:setup                                                            -->
    <!--                                                                          -->
    <!-- Build a new Turbine application skeleton from the supplied properties.   -->
    <!-- Read in an optional setup.properties file                                -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:setup" description="Setup a new Turbine web application"
      prereqs="turbine:init">
  
      <u:available file="setup.properties">
        <u:properties file="setup.properties"/>
      </u:available>
  
      <attainGoal name="turbine:check-setup-environment"/>
  
      <filter token="TURBINE_APP_NAME"           value="${turbine.app.name}"/>
      <filter token="TURBINE_APP_PACKAGE"        value="${turbine.app.package}"/>
      <filter token="TURBINE_APP_OM_NAME"        value="${turbine.app.om.name}"/>
      <filter token="TURBINE_APP_OM_PACKAGE"     value="${turbine.app.om.package}"/>
      <filter token="TURBINE_APP_OM_SECURITY_NAME" value="${turbine.app.om.security.name}"/>
      <filter token="TURBINE_APP_OM_SECURITY_PACKAGE" value="${turbine.app.om.security.package}"/>
      <filter token="TURBINE_APP_SUBDIR"         value="${turbine.app.subdir}"/>
  
      <filter token="TURBINE_PLUGIN_SRC_JAVA"      value="${turbine.plugin.src.java}"/>
      <filter token="TURBINE_PLUGIN_SRC_TEST"  value="${turbine.plugin.src.test}"/>
      <filter token="TURBINE_PLUGIN_SRC_SCHEMA"  value="${turbine.plugin.src.schema}"/>
      <filter token="TURBINE_PLUGIN_SRC_TEMPLATES" value="${turbine.plugin.src.templates}"/>
      <filter token="TURBINE_PLUGIN_SRC_CONF"  value="${turbine.plugin.src.conf}"/>
  
      <filter token="TORQUE_DATABASE"            value="${torque.database}"/>
      <filter token="TORQUE_DATABASE_DRIVER"     value="${torque.database.driver}"/>
      <filter token="TORQUE_DATABASE_USER"       value="${torque.database.user}"/>
      <filter token="TORQUE_DATABASE_PASSWD"     value="${torque.database.password}"/>
      <filter token="TORQUE_DATABASE_URL"        value="${torque.database.buildUrl}"/>
      <filter token="TORQUE_DATABASE_CREATE_URL" value="${torque.database.createUrl}"/>
  
      <filter token="MAVEN_APPSERVER_NAME"       value="${maven.appserver.name}"/>
  
      <u:replace var="appDir" oldChar="." newChar="/" value="${turbine.app.package}"/>
  
      <j:set var="subDir" value="${turbine.app.subdir}"/>
      <j:set var="baseDir" value="${turbine.app.name}"/>
      <j:if test="${subDir.equalsIgnoreCase('false')}">
        <j:set var="baseDir" value="."/>
      </j:if>
  
      <echo>Building Turbine Skeleton for ${turbine.app.name} application
            Package:        ${turbine.app.package}
            Database:       ${turbine.app.database}
            Base Directory: ${baseDir} (${turbine.app.subdir})
      </echo>
  
      <mkdir dir="${baseDir}/${turbine.plugin.src.conf}"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.schema}"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.templates}/layouts"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.templates}/macros"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.templates}/screens"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.templates}/navigations"/>
      <mkdir dir="${baseDir}/${turbine.plugin.src.test}"/>
      <mkdir dir="${baseDir}/src/scripts"/>
      <mkdir dir="${baseDir}/src/style"/>
      <mkdir dir="${baseDir}/src/images"/>
  
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}" />
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}/modules/actions" />
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}/modules/screens" />
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}/modules/layouts" />
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}/modules/navigations" />
      <mkdir dir="${baseDir}/${turbine.plugin.src.java}/${appDir}/modules/pages" />
  
      <ant:copy todir="${baseDir}" filtering="true">
        <ant:fileset dir="${plugin.resources}/maven">
          <exclude name="setup.properties"/>
        </ant:fileset>
      </ant:copy>
  
      <!-- Try to rebuild the setup.properties file. 
           If it already exists, don't clobber it!
      -->
      <ant:copy todir="${baseDir}" filtering="true" overwrite="false">
        <ant:fileset dir="${plugin.resources}/maven">
          <include name="setup.properties"/>
        </ant:fileset>
      </ant:copy>
  
  
      <!-- filtering="false" is intentional! The file variables are 
           replaced when the files are copied inside the application.
      -->
      <ant:copy todir="${baseDir}/${turbine.plugin.src.schema}" filtering="false">
        <ant:fileset dir="${plugin.resources}/schema">
          <exclude name="**/application*"/>
        </ant:fileset>
      </ant:copy>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.schema}/${turbine.app.name}-schema.xml" filtering="false"
        file="${plugin.resources}/schema/application-schema.xml"/>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.schema}/${turbine.app.name}-data.dtd" filtering="false"
        file="${plugin.resources}/schema/application-data.dtd"/>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.schema}/${turbine.app.name}-data.xml" filtering="true"
        file="${plugin.resources}/schema/application-data.xml"/>
  
      <ant:copy todir="${baseDir}/${turbine.plugin.src.templates}" filtering="true">
        <ant:fileset dir="${plugin.resources}/templates">
          <exclude name="**/application*"/>
        </ant:fileset>
      </ant:copy>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.templates}/macros/${turbine.app.name}Macros.vm" filtering="true"
        file="${plugin.resources}/templates/macros/applicationMacros.vm"/>
  
      <ant:copy todir="${baseDir}/${turbine.plugin.src.conf}" filtering="true">
        <ant:fileset dir="${plugin.resources}/conf">
          <exclude name="**/application*"/>
        </ant:fileset>
      </ant:copy>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.conf}/${turbine.app.name}-web.xml" filtering="true"
        file="${plugin.resources}/conf/application-web.xml"/>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.conf}/${turbine.app.name}.properties" filtering="true"
        file="${plugin.resources}/conf/application.properties"/>
  
      <ant:copy tofile="${baseDir}/${turbine.plugin.src.conf}/${turbine.app.name}-intake.xml" filtering="true"
        file="${plugin.resources}/conf/application-intake.xml"/>
  
      <ant:copy todir="${baseDir}/src/images">
        <ant:fileset dir="${plugin.resources}/images"/>
      </ant:copy>
  
    </goal>
    <!-- ======================================================================== -->
    <!-- turbine:setup                                                            -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:sql                                                              -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:sql"
       description="Build the SQL files necessary for the application">
      <attainGoal name="torque:sql"/>
      <attainGoal name="torque:id-table-init-sql"/>
  
      <u:available file="${turbine.plugin.src.schema}/${pom.name}-data.xml">
        <attainGoal name="torque:datasql"/>
      </u:available>
  
      <u:available file="${turbine.plugin.src.schema}/turbine-security-data.xml">
        <attainGoal name="turbine:security-datasql"/>
      </u:available>
    </goal>
    <!-- ======================================================================== -->
    <!-- turbine:sql                                                              -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:webapp                                                           -->
    <!--                                                                          -->
    <!-- While the normal "war:webapp" goal tries to do a reasonably good job     -->
    <!-- to build a web application, this goal knows about all the pecularities   -->
    <!-- when building a turbine webapplication. So you might prefer this goal    -->
    <!-- (which actually uses war:webapp).                                        -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:webapp"
      description="Generate a Turbine based Web application (war)"
      prereqs="java:compile, war:webapp">
  
      <j:set var="webapp.build" value="target/${pom.name}"/>
      <j:set var="webapp.build.lib" value="target/${pom.name}/WEB-INF/lib"/>
      <j:set var="webapp.build.classes" value="target/${pom.name}/WEB-INF/classes"/>
      <j:set var="webapp.build.webinf" value="target/${pom.name}/WEB-INF"/>
  
      <delete file="${maven.build.dir}/${pom.artifactId}.war" />
  
      <war warfile="${maven.build.dir}/${pom.artifactId}.war"
           webxml="${maven.war.webxml}">
  
        <fileset dir="${webapp.build}">
          <exclude name="WEB-INF/lib/**"/>
          <exclude name="WEB-INF/web.xml"/>
        </fileset>
  
        <lib dir="${webapp.build.lib}"/>
  
        <classes dir="${webapp.build.classes}">
          <include name="${maven.war.classes.includes}" />
          <exclude name="${maven.war.classes.excludes}" />
        </classes>
  
        <metainf dir="${basedir}">
          <include name="LICENSE.txt"/>
        </metainf>
  
        <manifest>
          <attribute name="Built-By" value="${user.name}" />
          <section name="${pom.package}">
            <attribute name="Specification-Title" value="${pom.artifactId}" />
            <attribute name="Specification-Version"
                       value="${pom.currentVersion}" />
            <attribute name="Specification-Vendor"
                       value="${pom.organization.name}" />
            <attribute name="Implementation-Title"
                       value="${pom.package}" />
            <attribute name="Implementation-Version"
                       value="${pom.currentVersion}" />
            <attribute name="Implementation-Vendor"
                       value="${pom.organization.name}" />
            <attribute name="Build-Jdk"
                       value="${java.version}"/>
          </section>
        </manifest>
      </war>
  
    </goal>
    <!-- ======================================================================== -->
    <!-- turbine:webapp                                                           -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:deploy                                                           -->
    <!--                                                                          -->
    <!-- For Debugging purposes it is nice to be able to copy a Turbine           -->
    <!-- application directly into an existing Web Container. This target         -->
    <!-- allows direct container installation                                     -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:deploy"
      description="Deploys the Application into a local web container for testing"
      prereqs="java:jar, turbine:check-runtime-environment">
  
      <echo>Located Application Server at ${maven.appserver.home}</echo>
  
      <j:set var="appserver.target.dir" 
               value="${maven.appserver.home}/webapps/${pom.name}" />
  
      <attainGoal name="java:jar"/>
  
      <delete file="${maven.build.dir}/${pom.artifactId}.war" />
  
      <mkdir dir="${appserver.target.dir}/WEB-INF/lib" />
      <mkdir dir="${appserver.target.dir}/WEB-INF/conf" />
      <mkdir dir="${appserver.target.dir}/WEB-INF/classes" />
      <mkdir dir="${appserver.target.dir}/logs" />
      <mkdir dir="${appserver.target.dir}/templates" />
  
      <j:forEach var="dep" items="${pom.dependencies}">
        <j:if test="${dep.getProperty('war.bundle')=='true'}">
          <copy todir="${appserver.target.dir}/WEB-INF/lib"
            file="${maven.repo.local}/${dep.getArtifactDirectory()}/jars/${dep.getArtifact()}"/>
        </j:if>  
      </j:forEach>            
  
      <copy todir="${appserver.target.dir}/WEB-INF/classes">
        <fileset dir="${maven.build.dest}"/>
      </copy>
  
      <copy todir="${appserver.target.dir}/templates">
        <fileset dir="${turbine.plugin.src.templates}"/>
      </copy>
  
      <copy todir="${appserver.target.dir}/scripts">
        <fileset dir="src/scripts"/>
      </copy>
  
      <copy todir="${appserver.target.dir}/style">
        <fileset dir="src/style"/>
      </copy>
  
      <copy todir="${appserver.target.dir}/images">
        <fileset dir="src/images"/>
      </copy>
  
      <copy todir="${appserver.target.dir}/WEB-INF/conf" flatten="true" includeEmptyDirs="no">
       <fileset dir="${turbine.plugin.src.conf}">
          <exclude name="${pom.name}-web.xml"/>
        </fileset>
      </copy>
  
      <copy file="${maven.war.webxml}"
        tofile="${appserver.target.dir}/WEB-INF/web.xml"/>
    </goal>
    <!-- ======================================================================== -->
    <!-- turbine:deploy                                                           -->
    <!-- ======================================================================== -->
    
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:inplace                                                          -->
    <!--                                                                          -->
    <!-- For Debugging purposes some people like to run the webapp out of the     -->
    <!-- /src/webapp directory so you don't have to install the app.  This does   -->
    <!-- is typically done by telling Tomcat that the webapp base is /src/webapp  -->
    <!--                                                                          -->
    <!-- ======================================================================== -->  
    <goal name="turbine:inplace" description="Builds an inplace exploded Turbine webapp">
  
       <j:set var="warWebappBuildDir"
          value="${maven.src.dir}/webapp"/>    
       <echo message="war dir:${warBuildDir}"/>
       <j:set var="maven.war.webapp.dir" value="${warWebappBuildDir}"/>
       <j:set var="maven.war.build.dir" value="${warWebappBuildDir}"/>
  
       <ant:property name="maven.test.skip" value="true"/>
       <ant:property name="maven.war.webapp.dir" value="${warWebappBuildDir}"/>
       <ant:property name="maven.war.build.dir" value="${warWebappBuildDir}"/>
       <attainGoal name="eclipse"/>
       <attainGoal name="war:webapp"/>
       
     </goal>
    <!-- ======================================================================== -->
    <!-- turbine:inplace                                                          -->
    <!-- ======================================================================== -->
    
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:inplace-clean                                                    -->
    <!--                                                                          -->
    <!-- Cleanup inplace generated artifacts.                                     -->
    <!--                                                                          -->
    <!-- ======================================================================== -->     
     <goal 
       name="turbine:inplace-clean" 
       description="Cleans an inplace exploded Turbine webapp">
  
       <j:set var="warWebappBuildDir"
          value="${maven.src.dir}/webapp"/>    
       <echo message="war dir:${warBuildDir}"/>
       <j:set var="maven.war.webapp.dir" value="${warWebappBuildDir}"/>
       <j:set var="maven.war.build.dir" value="${warWebappBuildDir}"/>
  
       <ant:property name="maven.test.skip" value="true"/>
       <ant:property name="maven.war.webapp.dir" value="${warWebappBuildDir}"/>
       <ant:property name="maven.war.build.dir" value="${warWebappBuildDir}"/>
       
       <ant:delete dir="${warWebappBuildDir}/WEB-INF/lib"/>
       <ant:delete dir="${warWebappBuildDir}/WEB-INF/classes"/>
       <attainGoal name="clean"/>
       
       
     </goal>    
    <!-- ======================================================================== -->
    <!-- turbine:inplace-clean                                                    -->
    <!-- ======================================================================== -->
  
  <!-- ======================================================================== -->
  <!--                                                                          -->
  <!-- Callback goals for use from the application maven.xml file. These goals  -->
  <!-- are normally called when maven processes another target and plug the     -->
  <!-- Turbine build system into other plugins.                                 -->
  <!--                                                                          -->
  <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- java:compile                                                             -->
    <!--                                                                          -->
    <!-- This moves the source tree around and calls the torque:om goal if        -->
    <!-- nececssary to merge all the source files before compilation.             -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:java-compile"
      description="Prepare source tree for compilation"
      prereqs="turbine:om-check">
  
      <path id="maven.compile.src.set">
        <pathelement location="${pom.build.SourceDirectory}"/>
      </path>
  
      <copy todir="${pom.build.SourceDirectory}" filtering="no">
        <fileset dir="${turbine.plugin.src.java}"/>
      </copy>
  
      <j:if test="${turbineInternalOmUpToDate != 'true'}">
        <echo>Building OM Source files from Schema ...</echo>
        <attainGoal name="torque:om"/>
      </j:if>
  
      <property name="sourcesPresent" value="true"/>
    </goal>
    <!-- ======================================================================== -->
    <!-- java:compile                                                             -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- torque:init                                                              -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:torque-init" prereqs="turbine:copy-om"/>
    <!-- ======================================================================== -->
    <!-- torque:init                                                              -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- torque:insert-sql                                                        -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:torque-insert-sql" prereqs="turbine:sql"/>
    <!-- ======================================================================== -->
    <!-- torque:insert-sql                                                        -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- torque:datasql                                                           -->
    <!--                                                                          -->
    <!-- Before running datasql, copy the data files from the source              -->
    <!-- into the build tree                                                      -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:torque-datasql">
      <copy filtering="no"
        todir="${torque.schema.dir}">
        <fileset dir="${turbine.plugin.src.schema}">
          <patternset includes = "*-data.xml"/>
          <patternset includes = "*-data.dtd"/>
        </fileset>
      </copy>
    </goal>
    <!-- ======================================================================== -->
    <!-- torque:datasql                                                           -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- torque:datadtd                                                           -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:torque-datadtd" prereqs="turbine:copy-om"/>
    <!-- ======================================================================== -->
    <!-- torque:datadtd                                                           -->
    <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- war:webapp                                                               -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:war-webapp">
      <j:set var="webapp.build" value="target/${pom.name}"/>
      <j:set var="webapp.build.lib" value="target/${pom.name}/WEB-INF/lib"/>
      <j:set var="webapp.build.classes" value="target/${pom.name}/WEB-INF/classes"/>
      <j:set var="webapp.build.webinf" value="target/${pom.name}/WEB-INF"/>
  
     <mkdir dir="${turbine.plugin.src.templates}"/>
     <copy todir="${webapp.build}/templates" includeEmptyDirs="no">
       <fileset dir="${turbine.plugin.src.templates}"/>
     </copy>
  
     <mkdir dir="${webapp.build}/scripts"/>
     <copy todir="${webapp.build}/scripts" includeEmptyDirs="no">
       <fileset dir="src/scripts"/>
     </copy>
  
     <mkdir dir="${webapp.build}/style"/>
     <copy todir="${webapp.build}/style" includeEmptyDirs="no">
       <fileset dir="src/style"/>
     </copy>
  
     <mkdir dir="${webapp.build}/images"/>
     <copy todir="${webapp.build}/images" includeEmptyDirs="no">
       <fileset dir="src/images"/>
     </copy>
  
     <copy todir="${webapp.build.webinf}/conf" flatten="true" includeEmptyDirs="no">
       <fileset dir="${turbine.plugin.src.conf}">
         <exclude name="**/${pom.name}-web.xml"/>
       </fileset>
     </copy>
    </goal>
    <!-- ======================================================================== -->
    <!-- war:webapp                                                               -->
    <!-- ======================================================================== -->
  
  <!-- ======================================================================== -->
  <!--                                                                          -->
  <!-- Private goals                                                            -->
  <!--                                                                          -->
  <!-- ======================================================================== -->
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:init                                                             -->
    <!--                                                                          -->
    <!-- Setup the Plugin. Create necessary taglibs, load configuration           -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:init">
      <define:taglib uri="http://jakarta.apache.org/turbine/meta/taglib">
        <define:tag name="requiredPropertyMissing">
          <fail>
   --------------------------------------------------------------------------
   | Plugin Configuration Error                                             |
   --------------------------------------------------------------------------
  
    A required property is missing a value.
  
    Property name: ${propname}
  
    Errors must be corrected before using this plugin.
  
   --------------------------------------------------------------------------
          </fail>
        </define:tag>
      </define:taglib>
    </goal>
  
    <!-- ======================================================================== -->
    <!--                                                                          -->
    <!-- turbine:check-environment                                                -->
    <!--                                                                          -->
    <!-- Check runtime and setup environment to be correctly configured           -->
    <!--                                                                          -->
    <!-- ======================================================================== -->
    <goal name="turbine:check-runtime-environment"
      prereqs="turbine:init">
      <j:if test="${context.getVariable('maven.appserver.name') == null}">
        <meta:requiredPropertyMissing propname="maven.appserver.name" />
      </j:if>
    </goal>
  
    <goal name="turbine:check-setup-environment"
      prereqs="turbine:init, turbine:check-runtime-environment">
      <j:if test="${context.getVariable('turbine.app.name') == ''}">
        <meta:requiredPropertyMissing propname="turbine.app.name" />
      </j:if>
    </goal>
    <!-- ======================================================================== -->
    <!-- turbine:check-environment                                                -->
    <!-- ======================================================================== -->
  
    <!-- ================================================================== -->
    <!--                                                                    -->
    <!-- turbine:copy-om                                                    -->
    <!--                                                                    -->
    <!-- Prepare the XML files for building the OM peer classes             -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:copy-om"
       prereqs="turbine:copy-security-om, turbine:copy-app-om, turbine:copy-id-table-om, turbine:copy-data-dtd">
    </goal>
  
    <!-- ================================================================== -->
    <!--                                                                    -->
    <!-- turbine:copy-security-om                                           -->
    <!--                                                                    -->
    <!-- Set up the Turbine Security Service Tables                         -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:copy-security-om">
      <j:if test="${turbineInternalSecurityUpToDate != 'true'}">
        <filter token="DATABASE_DEFAULT" value="${turbine.app.om.security.name}"/>
        <filter token="DATABASE_PACKAGE" value="${turbine.app.om.security.package}"/>
        <copy filtering="yes" overwrite="yes"
          file="${turbine.plugin.src.schema}/turbine-security-schema.xml"
          tofile="${torque.schema.dir}/turbine-security-schema.xml"/>
          <j:set var="turbineInternalSecurityUpToDate" value="true" />
      </j:if>
    </goal>
  
    <!-- ================================================================== -->
    <!--                                                                    -->
    <!-- turbine:copy-app-om                                                -->
    <!--                                                                    -->
    <!-- Set up the application specific database tables                    -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:copy-app-om">
      <j:if test="${turbineInternalAppUpToDate != 'true'}">
        <filter token="DATABASE_DEFAULT" value="${turbine.app.om.name}"/>
        <filter token="DATABASE_PACKAGE" value="${turbine.app.om.package}"/>
        <copy filtering="yes" overwrite="yes"
          file="${turbine.plugin.src.schema}/${turbine.app.name}-schema.xml"
          tofile="${torque.schema.dir}/${turbine.app.name}-schema.xml"/>
        <j:set var="turbineInternalAppUpToDate" value="true" />
      </j:if>
    </goal>
  
    <!-- ================================================================== -->
    <!--                                                                    -->
    <!-- turbine:copy-id-table-om                                           -->
    <!--                                                                    -->
    <!-- Set up the Torque ID Broker Table                                  -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:copy-id-table-om">
      <j:if test="${turbineInternalIdTableUpToDate != 'true'}">
        <filter token="DATABASE_DEFAULT" value="${turbine.app.om.name}"/>
        <filter token="DATABASE_PACKAGE" value="${turbine.app.om.package}"/>
        <copy filtering="yes" overwrite="yes"
          file="${turbine.plugin.src.schema}/id-table-schema.xml"
          tofile="${torque.schema.dir}/${pom.name}-id-table-schema.xml"/>
  
        <!-- If we have different data source for Application and Security, we must
             also set up two ID Table XML files 
        -->
        <j:set var="securityOmName" value="${turbine.app.om.security.name}"/>
        <j:set var="omName" value="${turbine.app.om.name}"/>
        <j:if test="${!omName.equals(securityOmName)}">
          <filter token="DATABASE_DEFAULT" value="${turbine.app.om.security.name}"/>
          <filter token="DATABASE_PACKAGE" value="${turbine.app.om.security.package}"/>
          <copy filtering="yes" overwrite="yes"
            file="${turbine.plugin.src.schema}/id-table-schema.xml"
            tofile="${torque.schema.dir}/security-id-table-schema.xml"/>
        </j:if>
        <j:set var="turbineInternalIdTableUpToDate" value="true" />
      </j:if>
    </goal>
  
    <!-- ================================================================== -->
    <!--                                                                    -->
    <!-- turbine:copy-data-dtd                                              -->
    <!--                                                                    -->
    <!-- Set up the Torque ID Broker Table                                  -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:copy-data-dtd">
      <j:if test="${turbineInternalDataDTDUpToDate != 'true'}">
        <copy overwrite="true"
          todir="${torque.schema.dir}">
          <fileset dir="${turbine.plugin.src.schema}">
            <patternset includes = "*-data.dtd"/>
          </fileset>
        </copy>
        <j:set var="turbineInternalDataDTDUpToDate" value="true" />
      </j:if>
    </goal>
    <!-- ================================================================== -->
    <!-- turbine:copy-om                                                    -->
    <!-- ================================================================== -->
  
    <!-- ================================================================== -->
    <!-- turbine:om-check                                                   -->
    <!--                                                                    -->
    <!-- Lifted from the torque plugin. We cannot use torque:om-check       -->
    <!-- directly because this would call torque:init which in turn then    -->
    <!-- calls the preGoal above which copies the schema files to the       -->
    <!-- target/xml directory and the test would be false all the time.     -->
    <!--                                                                    -->
    <!-- If we set overwrite to "no" so that the files are kept then        -->
    <!-- changes in the schema files would not be propagated unless the     -->
    <!-- target/xml directory is cleaned out manually. So we prefer to      -->
    <!-- keep our own test target around.                                   -->
    <!--                                                                    -->
    <!-- ================================================================== -->
  
  <goal name="turbine:om-check">
      <j:choose>
        <j:when test="${torque.runOnlyOnSchemaChange}">
          <uptodate
            property="turbineInternalOmUpToDate"
            targetfile="${torque.java.dir}/report.${torque.project}.om.generation">
            <srcfiles dir="${turbine.plugin.src.schema}" includes="**/*-schema.xml" />
          </uptodate>
        </j:when>
        <j:otherwise>
          <j:set var="turbineInternalOmUpToDate" value="false"/>
        </j:otherwise>
      </j:choose>
   
    </goal>
    <!-- ================================================================== -->
    <!-- turbine:om-check                                                   -->
    <!-- ================================================================== -->
  
  
    <!-- ================================================================== -->
    <!-- turbine:security-datasql                                           -->
    <!--                                                                    -->
    <!-- Insert Data file for the Torque based security objects.            -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:security-datasql"
      prereqs="torque:init">
  
      <torque-data-sql
        contextProperties="${torque.contextProperties}"
        controlTemplate="${torque.template.dataSql}"
        dataDTD="${torque.schema.dir}/turbine-security-data.dtd"
        dataXmlFile="${torque.schema.dir}/turbine-security-data.xml"
        outputDirectory="${torque.sql.dir}"
        outputFile="turbine-security-data.sql"
        sqldbmap="${torque.sql.dir}/sqldb.map"
        targetDatabase="${torque.database}"
        templatePath="${torque.templatePath}"
        useClasspath="${torque.useClasspath}"
        xmlFile="${torque.schema.dir}/turbine-security-schema.xml"
      />
    </goal>
    <!-- ================================================================== -->
    <!-- turbine:security-datasql                                           -->
    <!-- ================================================================== -->
  
    <!-- ================================================================== -->
    <!-- turbine:security-datadtd                                           -->
    <!--                                                                    -->
    <!-- Generate a DTD for the Torque based Turbine security objects.      -->
    <!--                                                                    -->
    <!-- ================================================================== -->
    <goal name="turbine:security-datadtd"
      prereqs="torque:init">
  
      <torque-data-model
        contextProperties="${torque.contextProperties}"
        controlTemplate="${torque.template.dataDtd}"
        outputDirectory="${torque.output.dir}"
        outputFile="report.turbine-security.datadtd.generation"
        templatePath="${torque.templatePath}"
        useClasspath="${torque.useClasspath}"
        xmlFile="${torque.schema.dir}/turbine-security-schema.xml"
      />
    </goal>
    <!-- ================================================================== -->
    <!-- turbine:security-datadtd                                           -->
    <!-- ================================================================== -->
  
  </project>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org