From 4634ebc56c1b464ae8bdfb96b2717986493e86c0 Mon Sep 17 00:00:00 2001 From: jvanzyl Date: Fri, 17 Oct 2003 22:21:41 +0000 Subject: [PATCH] o incorporating Mauro Televi's patch to the release plugin, these changes have been battle tested with DNA/Loom. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mauro's comments are attached for posterity: --- attached is a first crack that incorporates the release functionality currently in DNA and Loom distribution modules. Two types of distributions: - bin: this requires user customisation - uses dependency properties to assign a category to a dependency and via a property Eg, maven.release.distribution.categories=shared:lib,tools:tools/lib tells it to place any "shared" dependency in path lib/ and "tools" dependendency in tools/lib. User can postGoal release:setup-distribution-bin to add any further content to distribution. - src: uses SCM plugin out of a box :-) works quite well IMO. distribution artifact names are customisable but default to ${maven.final.name}-[bin|src].[tar.gz|zip] Patch has documentation updated - so feel free to browse, and let me if too scarse or patch. If you create an issue in jira I can also attach the patch to it. (I'm not sure If I can create the issue myself on maven project) Further work would include incorporating the wrapper exes for the release,�� but perhaps that's better done via a separate plugin. git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114219 13f79535-47bb-0310-9956-ffa450edef68 --- release/plugin.jelly | 131 +++++++++++++++++++++++++++++++++++ release/xdocs/goals.xml | 27 ++++++++ release/xdocs/properties.xml | 47 ++++++++++++- 3 files changed, 204 insertions(+), 1 deletion(-) diff --git a/release/plugin.jelly b/release/plugin.jelly index 8f1be53b..49174b24 100644 --- a/release/plugin.jelly +++ b/release/plugin.jelly @@ -1,6 +1,11 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${maven.release.distribution.categories} + + ${category} + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/release/xdocs/goals.xml b/release/xdocs/goals.xml index bd3b314d..bda1e0c7 100644 --- a/release/xdocs/goals.xml +++ b/release/xdocs/goals.xml @@ -26,6 +26,33 @@ + + release:build-distribution-bin + + Builds binary distribution. Uses maven.release.distribution.categories property + to separated dependencies in categories and corresponding distribution directories. + Users can postGoal release:setup-distribution-bin with custom additional + distribution content. + + + + release:build-distribution-src + + Builds source distribution from source control using SCM plugin. + + + + release:deploy-distribution-bin + + Deploys binary distribution built via release:build-distribution-bin + + + + release:deploy-distribution-src + + Deploys source distribution built via release:build-distribution-src + + validate-pom-for-release diff --git a/release/xdocs/properties.xml b/release/xdocs/properties.xml index 2e91a406..1768937c 100644 --- a/release/xdocs/properties.xml +++ b/release/xdocs/properties.xml @@ -6,7 +6,52 @@
-

There are no settings to customize this plugin

+ + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.release.name.binYesThe name of the binary release file. + Defaults to ${pom.artifactId}-${pom.currentVersion}-bin
maven.release.name.srcYesThe name of the source release file. + Defaults to ${pom.artifactId}-${pom.currentVersion}-src
maven.release.distribution.categoriesYesThe categories and relative paths of the dependencies to + be included in the release. A list of category:path + pairs, eg shared:lib,tools:tools/lib, where the + category is set via dependency properties: + + [groupId] + [artifactId] + [version] + + shared + + + + [anotherGroupId] + [anotherArtifactId] + [anotherVersion] + + tools + + +]]> +
\ No newline at end of file