vmassol 2004/03/17 07:19:46
Added: jetty plugin.properties plugin.jelly .cvsignore
project.properties project.xml
jetty/xdocs changes.xml properties.xml navigation.xml
goals.xml .cvsignore index.xml
Log:
First cut at a jetty plugin. It currently supports:
- generation of jetty xml config file
- jetty execution
Revision Changes Path
1.1 maven-plugins/jetty/plugin.properties
Index: plugin.properties
===================================================================
# -------------------------------------------------------------------
# Copyright 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.
# -------------------------------------------------------------------
# Port on which Jetty will be started.
maven.jetty.port = 8080
# (optional) Specify a custom Jetty XML config file. If this property
# is not defined the config file will be generated automatically by
# the plugin
# ex: maven.jetty.config.xml = conf/jetty.xml
1.1 maven-plugins/jetty/plugin.jelly
Index: plugin.jelly
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 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
xmlns:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:x="jelly:xml">
<goal name="jetty" description="Run Jetty" prereqs="jetty:run"/>
<goal name="jetty:prepare-filesystem">
<ant:mkdir dir="${maven.build.dir}/jetty"/>
</goal>
<goal name="jetty:config" prereqs="jetty:prepare-filesystem"
description="Generate a Jetty configuration file">
<!-- Only generate if the maven.jetty.config.xml property is not set. This
allows for custom fine-grained configurations -->
<j:if test="${context.getVariable('maven.jetty.config.xml') == null}">
<j:set var="maven.jetty.config.xml"
value="${maven.build.dir}/jetty.xml"/>
<j:file name="${maven.jetty.config.xml}" prettyPrint="true"
xmlns="jetty">
<x:doctype name="Configure" publicId="-//Mort Bay Consulting//DTD Configure
1.2//EN" systemId="http://jetty.mortbay.org/configure_1_2.dtd"/>
<Configure class="org.mortbay.jetty.Server">
<Call name="addListener">
<Arg>
<New class="org.mortbay.http.SocketListener">
<Set name="Port">${maven.jetty.port}</Set>
</New>
</Arg>
</Call>
<!-- If current project is a WAR project add the war -->
<j:if test="${context.getVariable('maven.jetty.project.type') == 'war'}">
<Call name="addWebApplication">
<!-- Note: We need to go through a variable. Otherwise
outputting directly <Arg>/${dep.artifactId}/*</Arg>
leads to a space between the "/" and the context
name -->
<j:set var="context" value="/${pom.artifactId}/*"/>
<Arg>${context}</Arg>
<j:set var="artifact"
value="${pom.getPluginContext('maven-war-plugin').getVariable('maven.war.build.dir')}/${pom.getPluginContext('maven-war-plugin').getVariable('maven.war.final.name')}"/>
<Arg>${artifact}</Arg>
</Call>
</j:if>
<!-- Add dependencies to Jetty config. -->
<j:forEach var="lib" items="${pom.artifacts}">
<j:set var="dep" value="${lib.dependency}"/>
<j:if test="${dep.getProperty('jetty.bundle')=='true'}">
<!-- Handle WARs -->
<j:if test="${dep.type == 'war'}">
<Call name="addWebApplication">
<!-- Note: We need to go through a variable. Otherwise
outputting directly <Arg>/${dep.artifactId}/*</Arg>
leads to a space between the "/" and the context
name -->
<j:set var="context" value="/${dep.artifactId}/*"/>
<Arg>${context}</Arg>
<Arg>${lib.path}</Arg>
</Call>
</j:if>
</j:if>
</j:forEach>
</Configure>
</j:file>
</j:if>
</goal>
<goal name="jetty:run" description="Run Jetty" prereqs="jetty:config">
<ant:java classname="org.mortbay.jetty.Server" fork="true">
<ant:arg value="${maven.jetty.config.xml}"/>
<ant:classpath>
<ant:pathelement
location="${plugin.getDependencyPath('jetty:org.mortbay.jetty')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('servletapi:servletapi')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('tomcat:jasper-compiler')}"/>
<ant:pathelement
location="${plugin.getDependencyPath('tomcat:jasper-runtime')}"/>
</ant:classpath>
</ant:java>
</goal>
<goal name="jetty:run-war" prereqs="war:war"
description="Run Jetty on the current war project">
<j:set var="maven.jetty.project.type" value="war"/>
<attainGoal name="jetty:run"/>
</goal>
</project>
1.1 maven-plugins/jetty/.cvsignore
Index: .cvsignore
===================================================================
target
velocity.log
maven.log
build.properties
.classpath
.project
1.1 maven-plugins/jetty/project.properties
Index: project.properties
===================================================================
# -------------------------------------------------------------------
# Copyright 2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -------------------------------------------------------------------
# -------------------------------------------------------------------
# P R O J E C T P R O P E R T I E S
# -------------------------------------------------------------------
maven.xdoc.date=left
maven.xdoc.version=${pom.currentVersion}
maven.license.licenseFile=${basedir}/../LICENSE.txt
1.1 maven-plugins/jetty/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 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>
<extend>../project.xml</extend>
<pomVersion>3</pomVersion>
<id>maven-jetty-plugin</id>
<name>Maven Jetty plugin</name>
<currentVersion>1.0-SNAPSHOT</currentVersion>
<shortDescription>Run Jetty</shortDescription>
<url>http://maven.apache.org/reference/plugins/jetty/</url>
<issueTrackingUrl>http://jira.codehaus.org/BrowseProject.jspa?id=xxx</issueTrackingUrl>
<siteDirectory>/www/maven.apache.org/reference/plugins/jetty/</siteDirectory>
<repository>
<connection>scm:cvs:pserver:[EMAIL
PROTECTED]:/home/cvspublic:maven-plugins/jetty/</connection>
<developerConnection>scm:cvs:ext:[EMAIL
PROTECTED]:/home/cvs:maven-plugins/jetty/</developerConnection>
<url>http://cvs.apache.org/viewcvs/maven-plugins/jetty/</url>
</repository>
<versions>
<version>
<id>1.0</id>
<name>1.0</name>
<tag>HEAD</tag>
</version>
</versions>
<developers>
<developer>
<name>Vincent Massol</name>
<id>vmassol</id>
<email>[EMAIL PROTECTED]</email>
<organization>Pivolis</organization>
<roles>
<role>Creator</role>
<role>Java Developer</role>
</roles>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>jetty</groupId>
<artifactId>org.mortbay.jetty</artifactId>
<version>4.2.17</version>
<url>http://jetty.mortbay.org</url>
</dependency>
<dependency>
<groupId>servletapi</groupId>
<artifactId>servletapi</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>4.0.4</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
<reports>
<report>maven-changes-plugin</report>
<report>maven-changelog-plugin</report>
<report>maven-file-activity-plugin</report>
<report>maven-developer-activity-plugin</report>
<report>maven-file-activity-plugin</report>
<report>maven-license-plugin</report>
<report>maven-linkcheck-plugin</report>
</reports>
</project>
1.1 maven-plugins/jetty/xdocs/changes.xml
Index: changes.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 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.
*/
-->
<document>
<properties>
<title>Jetty plugin changes</title>
<author email="[EMAIL PROTECTED]">Vincent Massol</author>
</properties>
<body>
<release version="1.0" date="in CVS">
<action dev="vmassol" type="add">
Plugin creation.
</action>
</release>
</body>
</document>
1.1 maven-plugins/jetty/xdocs/properties.xml
Index: properties.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 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.
*/
-->
<document>
<properties>
<title>Jetty plugin properties</title>
<author email="[EMAIL PROTECTED]">Vincent Massol</author>
</properties>
<body>
<section name="Jetty plugin properties">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th><th>Default</th></tr>
<tr>
<td>maven.jetty.port</td>
<td>Yes</td>
<td>
Port on which Jetty will be started.
</td>
<td>
8080
</td>
</tr>
<tr>
<td>maven.jetty.config.xml</td>
<td>Yes</td>
<td>
Custom Jetty XML configuration file.
</td>
<td>
No default. By default this file is generated by the plugin.
</td>
</tr>
</table>
</section>
</body>
</document>
1.1 maven-plugins/jetty/xdocs/navigation.xml
Index: navigation.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 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 name="Maven Jetty plugin">
<title>Maven Jetty plugin</title>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/"/>
</links>
<menu name="Overview">
<item name="Goals" href="/goals.html" />
<item name="Properties" href="/properties.html" />
</menu>
</body>
</project>
1.1 maven-plugins/jetty/xdocs/goals.xml
Index: goals.xml
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 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.
*/
-->
<document>
<properties>
<title>Maven Jetty plugin goals</title>
<author email="[EMAIL PROTECTED]">Vincent Massol</author>
</properties>
<body>
<section name="Goals">
<table>
<tr><th>Goal</th><th>Description</th></tr>
<tr>
<td>jetty</td>
<td>
Run Jetty.
</td>
</tr>
<tr>
<td>jetty:run</td>
<td>
Run Jetty.
</td>
</tr>
<tr>
<td>jetty:run-war</td>
<td>
Run Jetty, adding the current WAR project to the contexts.
</td>
</tr>
<tr>
<td>jetty:config</td>
<td>
Generate a Jetty XML configuration file.
</td>
</tr>
</table>
</section>
</body>
</document>
1.1 maven-plugins/jetty/xdocs/.cvsignore
Index: .cvsignore
===================================================================
stylesheets
1.1 maven-plugins/jetty/xdocs/index.xml
Index: index.xml
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 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.
*/
-->
<document>
<properties>
<title>Maven Jetty plugin</title>
<author email="[EMAIL PROTECTED]">Vincent Massol</author>
</properties>
<body>
<section name="Maven Jetty plugin">
<p>
This plugin starts Jetty on the J2EE modules specified as
dependencies.
</p>
</section>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]