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