First cut at a jetty plugin. It currently supports:
- generation of jetty xml config file - jetty execution git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114916 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
1 parent
4675486a9e
commit
5f725ceae4
11 files changed
+484
No files matched your search
@@ -0,0 +1,6 @@
|
||||
target
|
||||
velocity.log
|
||||
maven.log
|
||||
build.properties
|
||||
.classpath
|
||||
.project
|
||||
@@ -0,0 +1,125 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,23 @@
|
||||
# -------------------------------------------------------------------
|
||||
# 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
|
||||
@@ -0,0 +1,23 @@
|
||||
# -------------------------------------------------------------------
|
||||
# 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
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<?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:anoncvs@cvs.apache.org:/home/cvspublic:maven-plugins/jetty/</connection>
|
||||
<developerConnection>scm:cvs:ext:${maven.username}@cvs.apache.org:/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>vmassol@pivolis.com</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>
|
||||
@@ -0,0 +1 @@
|
||||
stylesheets
|
||||
@@ -0,0 +1,33 @@
|
||||
<?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="vmassol@apache.org">Vincent Massol</author>
|
||||
</properties>
|
||||
<body>
|
||||
<release version="1.0" date="in CVS">
|
||||
<action dev="vmassol" type="add">
|
||||
Plugin creation.
|
||||
</action>
|
||||
</release>
|
||||
</body>
|
||||
</document>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?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="vmassol@apache.org">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>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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="vmassol@apache.org">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>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?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="vmassol@apache.org">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>
|
||||
Reference in new issue
Block a user