You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by di...@apache.org on 2004/06/17 04:51:53 UTC
cvs commit: maven-plugins/rar/src/plugin-test/src/rar/META-INF fooserver-ra.xml ra.xml
dion 2004/06/16 19:51:53
Added: rar/xdocs navigation.xml goals.xml properties.xml index.xml
rar project.xml .cvsignore plugin.properties
project.properties plugin.jelly
rar/src/plugin-test LICENSE.txt .cvsignore project.xml
project.properties maven.xml
rar/src/plugin-test/src/java/org/fooserver
NonManagedConnectionFactory.java
rar/src/plugin-test/src/rar/META-INF fooserver-ra.xml ra.xml
Log:
Initial commit of RAR plugin
Revision Changes Path
1.1 maven-plugins/rar/xdocs/navigation.xml
Index: navigation.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="Maven RAR Plugin">
<title>Maven RAR Plugin</title>
<body>
<links>
<item href="http://maven.apache.org/" name="Maven">
</item>
</links>
<menu name="Overview">
<item href="/goals.html" name="Goals">
</item>
<item href="/properties.html" name="Properties">
</item>
</menu>
</body>
</project>
1.1 maven-plugins/rar/xdocs/goals.xml
Index: goals.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<title>Maven RAR Plugin Goals</title>
</properties>
<body>
<goals>
<goal>
<name>rar</name>
<description>Build a rar file</description>
</goal>
<goal>
<name>rar:deploy</name>
<description>Deploys the rar to the remote repository</description>
</goal>
<goal>
<name>rar:deploy-snapshot</name>
<description>Deploys the snapshot version of the rar to remote repository</description>
</goal>
<goal>
<name>rar:init</name>
<description>Initialise filesystem and other resources for a rar</description>
</goal>
<goal>
<name>rar:install</name>
<description>Install the rar in the local repository</description>
</goal>
<goal>
<name>rar:install-snapshot</name>
<description>Install the snapshot version of the rar in the local repository</description>
</goal>
<goal>
<name>rar:load</name>
<description>
</description>
</goal>
<goal>
<name>rar:rar</name>
<description>Build a rar file</description>
</goal>
</goals>
</body>
</document>
1.1 maven-plugins/rar/xdocs/properties.xml
Index: properties.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<title>Maven RAR Plugin Properties</title>
</properties>
<body>
<section name="Maven RAR Plugin Settings">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.rar.manifest</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${maven.rar.descriptordir}/MANIFEST.MF</code>.</p>
</td>
</tr>
<tr>
<td>maven.rar.displayname</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${pom.id}</code>.</p>
</td>
</tr>
<tr>
<td>maven.rar.raxml</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${maven.rar.descriptordir}/ra.xml</code>.</p>
</td>
</tr>
<tr>
<td>maven.rar.resources</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${maven.build.dir}/rar</code>.</p>
</td>
</tr>
<tr>
<td>maven.rar.descriptordir</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${maven.rar.src}/META-INF</code>.</p>
</td>
</tr>
<tr>
<td>maven.rar.src</td>
<td>Yes</td>
<td>
<p>Default value is
<code>${maven.src.dir}/rar</code>.</p>
</td>
</tr>
</table>
</section>
</body>
</document>
1.1 maven-plugins/rar/xdocs/index.xml
Index: index.xml
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<document>
<properties>
<title>Maven Rar Plug-in</title>
<author email="djencks at apache.org">David Jencks</author>
</properties>
<body>
<section name="Maven Rar Plug-in">
<p>
This plug-in provides basic facilities for constructing rar files. It is heavily copied from the ear plugin.
</p>
<p>
For more information on the functionality provided by this plugin,
please see the <a href="goals.html">Goals</a> document.
</p>
<p>
For more information on how to customise the functionality provided
by this plugin, please see the <a href="properties.html">properties</a>
document.
</p>
</section>
</body>
</document>
1.1 maven-plugins/rar/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* 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>
<extend>../plugin-parent/project.xml</extend>
<pomVersion>3</pomVersion>
<id>maven-rar-plugin</id>
<name>Maven RAR Plugin</name>
<currentVersion>1.0-SNAPSHOT</currentVersion>
<description>Rar Plugin for Maven</description>
<shortDescription>Rar Plugin for Maven</shortDescription>
<url>http://maven.apache.org/reference/plugins/rar/</url>
<!-- FIXME: issue tracking is not set up for the rar plugin yet -->
<!--issueTrackingUrl>http://jira.codehaus.org/BrowseProject.jspa?id=10323</issueTrackingUrl-->
<siteDirectory>/www/maven.apache.org/reference/plugins/rar/</siteDirectory>
<repository>
<connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven-plugins/rar/</connection>
<developerConnection>scm:cvs:ext:${maven.username}@cvs.apache.org:/home/cvs:maven-plugins/rar/</developerConnection>
<url>http://cvs.apache.org/viewcvs/maven-plugins/rar/</url>
</repository>
<developers>
<developer>
<name>David Jencks</name>
<id>djencks</id>
<email>djencks@apache.org</email>
<organization>CDN</organization>
<roles><role>Java Developer</role></roles>
</developer>
<developer>
<name>dIon Gillard</name>
<id>dion</id>
<email>dion@apache.org</email>
<organization>ASF</organization>
<roles><role>Java Developer</role></roles>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>commons-jelly</groupId>
<artifactId>commons-jelly-tags-util</artifactId>
<version>20030211.141939</version>
<url>http://jakarta.apache.org/commons/jelly/tags/util/</url>
</dependency>
</dependencies>
</project>
1.1 maven-plugins/rar/.cvsignore
Index: .cvsignore
===================================================================
target
maven.log
velocity.log
build.properties
.classpath
.project
1.1 maven-plugins/rar/plugin.properties
Index: plugin.properties
===================================================================
# -------------------------------------------------------------------
# Copyright 2001-2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -------------------------------------------------------------------
# -------------------------------------------------------------------
# P L U G I N P R O P E R T I E S
# -------------------------------------------------------------------
# rar plugin.
# -------------------------------------------------------------------
# Location of additional sources to include in the rar file
maven.rar.src=${maven.src.dir}/rar
# Location of xml configs and manifest files
maven.rar.descriptordir=${maven.rar.src}/META-INF
maven.rar.raxml=${maven.rar.descriptordir}/ra.xml
maven.rar.manifest=${maven.rar.descriptordir}/MANIFEST.MF
maven.rar.displayname=${pom.id}
maven.rar.resources=${maven.build.dir}/rar
1.1 maven-plugins/rar/project.properties
Index: project.properties
===================================================================
# -------------------------------------------------------------------
# Copyright 2001-2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -------------------------------------------------------------------
# -------------------------------------------------------------------
# P R O J E C T P R O P E R T I E S
# -------------------------------------------------------------------
1.1 maven-plugins/rar/plugin.jelly
Index: plugin.jelly
===================================================================
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<project
xmlns:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:artifact="artifact"
xmlns:license="license"
xmlns:maven="jelly:maven"
xmlns:util="jelly:util"
>
<!--==================================================================-->
<!-- Default goal : Builds a rar file -->
<!--==================================================================-->
<goal name="rar" prereqs="rar:rar" description="Build a rar file"/>
<!--==================================================================-->
<!-- Initializations -->
<!--==================================================================-->
<goal name="rar:init"
description="Initialise filesystem and other resources for a rar">
<ant:mkdir dir="${maven.build.dir}"/>
</goal>
<!--==================================================================-->
<!-- Builds an rar file -->
<!--==================================================================-->
<goal name="rar:rar" prereqs="rar:init" description="Build a rar file">
<ant:echo>Building rar ${maven.final.name} with ra.xml "${maven.rar.raxml}"</ant:echo>
<ant:available property="maven.rar.manifest.available"
file="${maven.rar.manifest}"/>
<ant:jar destfile="${maven.build.dir}/${maven.final.name}.rar">
<!-- include files from maven.rar.src if available -->
<util:available file="${maven.rar.src}">
<fileset dir="${maven.rar.src}" casesensitive="false"/>
</util:available>
<!-- include built jar if available -->
<ant:echo>trying to include ${maven.build.dir}/${maven.final.name}.jar</ant:echo>
<util:available file="${maven.build.dir}/${maven.final.name}.jar">
<ant:fileset dir="${maven.build.dir}">
<ant:include name="${maven.final.name}.jar"/>
</ant:fileset>
</util:available>
<!-- include marked dependencies -->
<j:forEach var="lib" items="${pom.artifacts}">
<j:set var="dep" value="${lib.dependency}"/>
<j:if test="${dep.getProperty('rar.bundle')=='true'}">
<!--
We know that this dep "wants" to be bundled.
-->
<ant:echo>Bundling: ${dep.type} - ${dep.id}</ant:echo>
<ant:fileset dir="${lib.file.parent}">
<ant:include name="${lib.file.name}"/>
</ant:fileset>
</j:if>
</j:forEach>
<!-- include license -->
<j:set var="licenseFileName"><license:fileName/></j:set>
<util:file name="${licenseFileName}" var="licenseFile"/>
<ant:metainf dir="${licenseFile.canonicalFile.parent}">
<ant:include name="${licenseFile.canonicalFile.name}"/>
</ant:metainf>
<j:if test="${maven.rar.manifest.available}">
<ant:setProperty name="manifest" value="${maven.rar.manifest}"/>
</j:if>
<!-- standard manifest entries -->
<ant:manifest>
<ant:attribute name="Built-By" value="${user.name}"/>
<ant:section name="${pom.package}">
<ant:attribute name="Specification-Title" value="${pom.artifactId}"/>
<ant:attribute name="Specification-Version"
value="${pom.currentVersion}"/>
<ant:attribute name="Specification-Vendor"
value="${pom.organization.name}"/>
<ant:attribute name="Implementation-Title"
value="${pom.package}"/>
<ant:attribute name="Implementation-Version"
value="${pom.currentVersion}"/>
<ant:attribute name="Implementation-Vendor"
value="${pom.organization.name}"/>
</ant:section>
</ant:manifest>
<j:if test="${!pom.build.resources.isEmpty()}">
<mkdir dir="${maven.rar.resources}"/>
<maven:copy-resources resources="${pom.build.resources}" todir="${maven.rar.resources}"/>
<fileset dir="${maven.rar.resources}"/>
</j:if>
</ant:jar>
</goal>
<!--==================================================================-->
<!-- Install the rar in the local repository -->
<!--==================================================================-->
<goal name="rar:install"
prereqs="rar:rar"
description="Install the rar in the local repository">
<artifact:install
artifact="${maven.build.dir}/${maven.final.name}.rar"
type="rar"
project="${pom}"/>
</goal>
<!--==================================================================-->
<!-- Install the snapshot version of the rar in the local repository -->
<!--==================================================================-->
<goal name="rar:install-snapshot"
prereqs="rar:rar"
description="Install the snapshot version of the rar in the local repository">
<artifact:install-snapshot
artifact="${maven.build.dir}/${maven.final.name}.rar"
type="rar"
project="${pom}"/>
</goal>
<!--==================================================================-->
<!-- Deploys the rar to the remote repository -->
<!--==================================================================-->
<goal name="rar:deploy"
prereqs="rar:rar"
description="Deploys the rar to the remote repository">
<artifact:deploy
artifact="${maven.build.dir}/${maven.final.name}.rar"
type="rar"
project="${pom}"/>
</goal>
<!--==================================================================-->
<!-- Deploys the snapshot version of the rar to the remote repository -->
<!--==================================================================-->
<goal name="rar:deploy-snapshot"
prereqs="rar:rar"
description="Deploys the snapshot version of the rar to remote repository">
<artifact:deploy-snapshot
artifact="${maven.build.dir}/${maven.final.name}.rar"
type="rar"
project="${pom}"/>
</goal>
<!--==================================================================-->
<!-- Special no-op goal which can be used by other plugin which need -->
<!-- to get access to any of this plugin's property. This is -->
<!-- temporary, until we get explicit plugin dependencies. -->
<!--==================================================================-->
<goal name="rar:load" description="no-op goal"/>
</project>
1.1 maven-plugins/rar/src/plugin-test/LICENSE.txt
Index: LICENSE.txt
===================================================================
The FOO license, version -2
1.1 maven-plugins/rar/src/plugin-test/.cvsignore
Index: .cvsignore
===================================================================
target
*.log
1.1 maven-plugins/rar/src/plugin-test/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* 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>
<pomVersion>3</pomVersion>
<name>Test project for Maven Rar Plugin</name>
<id>test-maven-rar-plugin</id>
<currentVersion>1.0-SNAPSHOT</currentVersion>
<organization>
<name>foo</name>
<url>http://www.foo.net</url>
</organization>
<inceptionYear>2004</inceptionYear>
<package>org.fooserver</package>
<shortDescription>test for rar plugin</shortDescription>
<description>test for rar plugin</description>
<url/>
<issueTrackingUrl>http://bugzilla</issueTrackingUrl>
<siteAddress>www.fooserver.org</siteAddress>
<siteDirectory/>
<distributionDirectory/>
<repository>
<connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven</connection>
<url>http://cvs.apache.org/viewcvs/maven/</url>
</repository>
<versions/>
<mailingLists/>
<developers>
<developer>
<name>David Jencks</name>
<id>djencks</id>
<email>djencks at apache.org</email>
<organization>none</organization>
<role>Java Developer</role>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.3</version>
<url>http://jakarta.apache.org/commons/logging.html</url>
<properties>
<rar.bundle>true</rar.bundle>
</properties>
</dependency>
</dependencies>
<build>
<nagEmailAddress>noone@nowhere</nagEmailAddress>
<sourceDirectory>src/java</sourceDirectory>
<unitTestSourceDirectory>src/test</unitTestSourceDirectory>
</build>
</project>
1.1 maven-plugins/rar/src/plugin-test/project.properties
Index: project.properties
===================================================================
# -------------------------------------------------------------------
# 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.deployable.component=${maven.final.name}.rar
# note the override below is needed, as the ear plugin redefines the licenseFile in
# it's own project.properties, and running plugin:test would otherwise fail
#maven.license.licenseFile=${basedir}/LICENSE.txt
1.1 maven-plugins/rar/src/plugin-test/maven.xml
Index: maven.xml
===================================================================
<!--
/*
* 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 xmlns:j="jelly:core"
xmlns:assert="assert">
<goal name="testPlugin" prereqs="test-rar">
<attainGoal name="clean"/>
</goal>
<goal name="test-rar">
<attainGoal name="rar"/>
<!-- tests that the ear is generated -->
<assert:assertFileExists file="${maven.build.dir}/test-maven-rar-plugin-1.0-SNAPSHOT.rar"/>
<!-- unzip the ear and look for the jars -->
<j:set var="rarFile"
value="${maven.build.dir}/test-maven-rar-plugin-1.0-SNAPSHOT.rar"/>
<j:set var="unzipDir" value= "${maven.build.dir}/rartest"/>
<mkdir dir="${unzipDir}"/>
<unzip src="${rarFile}" dest="${unzipDir}"/>
<!-- check for commons-logging -->
<assert:assertFileExists file="${unzipDir}/commons-logging-1.0.3.jar"
msg="commons logging was not bundled"/>
<!-- check for the LICENSE -->
<assert:assertFileExists file="${unzipDir}/META-INF/LICENSE.txt"
msg="License file not bundled"/>
<!-- check for the ra.xml -->
<assert:assertFileExists file="${unzipDir}/META-INF/ra.xml"
msg="ra.xml missing"/>
<!-- check for the fooserver-ra.xml -->
<assert:assertFileExists file="${unzipDir}/META-INF/fooserver-ra.xml"
msg="fooserver deployment descriptor missing"/>
</goal>
</project>
1.1 maven-plugins/rar/src/plugin-test/src/java/org/fooserver/NonManagedConnectionFactory.java
Index: NonManagedConnectionFactory.java
===================================================================
package org.fooserver;
/* ====================================================================
* 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.
* ====================================================================
*/
/**
*
*
* @version $Revision: 1.1 $ $Date: 2004/06/17 02:51:53 $
*
*/
public class NonManagedConnectionFactory {
}
1.1 maven-plugins/rar/src/plugin-test/src/rar/META-INF/fooserver-ra.xml
<<Binary file>>
1.1 maven-plugins/rar/src/plugin-test/src/rar/META-INF/ra.xml
<<Binary file>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org