From e06bff2d6b37d0e521cd02df95e0186d3ca9f60c Mon Sep 17 00:00:00 2001 From: brett Date: Sun, 31 Aug 2003 07:00:23 +0000 Subject: [PATCH] initial version of SCM plugin git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113910 13f79535-47bb-0310-9956-ffa450edef68 --- scm/announcements/1.0.ann | 19 ++ scm/plugin.jelly | 260 +++++++++++++++++++++++ scm/plugin.properties | 32 +++ scm/project.properties | 7 + scm/src/plugin-resources/pom-release.jsl | 42 ++++ scm/xdocs/changes.xml | 15 ++ scm/xdocs/goals.xml | 42 ++++ scm/xdocs/navigation.xml | 24 +++ scm/xdocs/properties.xml | 122 +++++++++++ scm/xdocs/releases/v1.0/changes.xml | 15 ++ scm/xdocs/releases/v1.0/goals.xml | 42 ++++ scm/xdocs/releases/v1.0/navigation.xml | 17 ++ scm/xdocs/releases/v1.0/properties.xml | 122 +++++++++++ 13 files changed, 759 insertions(+) create mode 100644 scm/announcements/1.0.ann create mode 100644 scm/plugin.jelly create mode 100644 scm/plugin.properties create mode 100644 scm/project.properties create mode 100644 scm/src/plugin-resources/pom-release.jsl create mode 100644 scm/xdocs/changes.xml create mode 100644 scm/xdocs/goals.xml create mode 100644 scm/xdocs/navigation.xml create mode 100644 scm/xdocs/properties.xml create mode 100644 scm/xdocs/releases/v1.0/changes.xml create mode 100644 scm/xdocs/releases/v1.0/goals.xml create mode 100644 scm/xdocs/releases/v1.0/navigation.xml create mode 100644 scm/xdocs/releases/v1.0/properties.xml diff --git a/scm/announcements/1.0.ann b/scm/announcements/1.0.ann new file mode 100644 index 00000000..53ad763f --- /dev/null +++ b/scm/announcements/1.0.ann @@ -0,0 +1,19 @@ +The Maven team is pleased to announce the SCM plugin 1.0 release! + +http://maven.apache.org/reference/plugins/scm/ + +The Maven SCM project helps perform automated tasks with your source control +management software. + +This is the first release of the plugin, with support for CVS. + +And in case you are wondering, the release process for the SCM plugin uses the +SCM plugin itself. We believe in eating our own dog food because it is +delicious! :) + +You can download the SCM plugin here: +http://www.ibiblio.org/maven/maven/plugins/maven-scm-plugin-1.0.jar + +Enjoy! + +Brett diff --git a/scm/plugin.jelly b/scm/plugin.jelly new file mode 100644 index 00000000..02bdb87e --- /dev/null +++ b/scm/plugin.jelly @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + ${pom.repository.connection} + + Invalid repository connection format + + + + Using SCM method: ${scmMethod} + + + + Using CVSROOT: ${maven.scm.cvs.root} + Using module: ${maven.scm.cvs.module} + + + + + + + + You must specify maven.scm.cvs.module + + + + Unknown SCM method: '${maven.scm.method}' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + You must specify maven.scm.method + + + Unknown SCM method: ${scmMethod} + + + + + + + + + + + + + + + + + WARNING: you are releasing HEAD. This will overwrite any previous release versioned '${project.currentVersion}'. + + + Cancelled by response '${ok}' + + + + + + + + + + + + + + + + + + + + + + ${msg} + + + + + + + + + + + + + + + + + + + + Verifying no modifications are present + + + + + + + Verifying valid tag name + + + Modifying POM with tag = ${tag_name}; version = ${version_name} + + Committing new POM + + Tagging source tree + + + + diff --git a/scm/plugin.properties b/scm/plugin.properties new file mode 100644 index 00000000..2bdf95f6 --- /dev/null +++ b/scm/plugin.properties @@ -0,0 +1,32 @@ +# Available settings currently only CVS +maven.scm.method= +# Directory to checkout to +maven.scm.checkout.dir=${basedir}/checkouts + +# Goals to run on checkout when bootstrapping a project +maven.scm.bootstrap.goals= +# Directory under the checkout that contains the project.xml to run +maven.scm.bootstrap.pom.dir= + +# check whether CVS tagged first, and warn +maven.scm.check.tagged=true + +#=============== +# CVS Properties +#=============== + +# Set to CVS RSH variable, or leave as is to use CVS_RSH from the environment +maven.scm.cvs.rsh= +# Set to CVS root, or leave as is to use CVSROOT from the environment +maven.scm.cvs.root= +# CVS module to check out, required +maven.scm.cvs.module= +# Flags after update. Default updates new directories and prunes empty ones +maven.scm.cvs.update.flags=-Pd +# Flags after checkout. Default prunes empty directories +maven.scm.cvs.checkout.flags=-P +# Sticky tag/branch to use. Default is trunk. +maven.scm.cvs.sticky.tag= +# Whether to use quiet mode +maven.scm.cvs.quiet=true + diff --git a/scm/project.properties b/scm/project.properties new file mode 100644 index 00000000..df6f93f4 --- /dev/null +++ b/scm/project.properties @@ -0,0 +1,7 @@ +# ------------------------------------------------------------------- +# 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 + diff --git a/scm/src/plugin-resources/pom-release.jsl b/scm/src/plugin-resources/pom-release.jsl new file mode 100644 index 00000000..b7089642 --- /dev/null +++ b/scm/src/plugin-resources/pom-release.jsl @@ -0,0 +1,42 @@ + + + + + + + + + + + + ${version_name} + + + + + + ${version_name} + ${version_name} + ${tag_name} + + + + + + + + + + + + + + + + diff --git a/scm/xdocs/changes.xml b/scm/xdocs/changes.xml new file mode 100644 index 00000000..734831bb --- /dev/null +++ b/scm/xdocs/changes.xml @@ -0,0 +1,15 @@ + + + + Changes + Brett Porter + + + + + + Initial creation - support for CVS. + + + + diff --git a/scm/xdocs/goals.xml b/scm/xdocs/goals.xml new file mode 100644 index 00000000..740bbc9a --- /dev/null +++ b/scm/xdocs/goals.xml @@ -0,0 +1,42 @@ + + + + + Maven Source Control Management Plug-in Goals + + + + + scm:bootstrap-project + Bootstrap a project from SCM + + + scm:checkout-project + Checkout a project + + + scm:update-project + Update a project from SCM + + + scm:prepare-release + + Prepare a project for release from SCM. This checks all + changes are committed, and prompts for a tag and version + name to release the project with. It will update project.xml locally + and in the SCM system, as well as tagging the SCM as requested. + + + + scm:perform-release + + This task checks out the project from SCM at any location, from the + tag requested. It then builds a clean version of the code and deploys + it to the remote repository. + You can automate this using the appropriate properties, but for any + that are not provided you will be prompted for them. + + + + + diff --git a/scm/xdocs/navigation.xml b/scm/xdocs/navigation.xml new file mode 100644 index 00000000..063e5b90 --- /dev/null +++ b/scm/xdocs/navigation.xml @@ -0,0 +1,24 @@ + + + + Maven Source Control Management Plug-in + + + + + + + + + + + + + + + + + + + diff --git a/scm/xdocs/properties.xml b/scm/xdocs/properties.xml new file mode 100644 index 00000000..a42e2458 --- /dev/null +++ b/scm/xdocs/properties.xml @@ -0,0 +1,122 @@ + + + + + Maven Source Control Management Plug-in Properties + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.scm.methodYes +

Default value is + cvs.

+
maven.scm.checkout.dirYes +

Default value is + ${basedir}/checkouts.

+
maven.scm.check.taggedYes +

When true, you will be asked for confirmation if + you are attempting to release from HEAD. + Default value is true.

+
maven.scm.bootstrap.goalsNo +

Goals to call on the checked out project.

+
maven.scm.bootstrap.pom.dirYes +

Where to find project.xml in the checked out project.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.scm.cvs.rootYes +

Default value is taken from CVSROOT in the environment.

+
maven.scm.cvs.update.flagsYes +

Default value is + -Pd. Note that any environment settings + (eg .cvsrc) will also affect this.

+
maven.scm.cvs.moduleNo +

The CVS module to checkout

+
maven.scm.cvs.sticky.tagYes +

Sticky tag to use when checking out or updating. Default is none.

+
maven.scm.cvs.quietYes +

Default value is + true.

+
maven.scm.cvs.checkout.flagsYes +

Default value is + -P. Note that any environment settings + (eg .cvsrc) will also affect this.

+
maven.scm.cvs.rshYes +

Default value is taken from CVS_RSH in the environment.

+
+
+
+ +
diff --git a/scm/xdocs/releases/v1.0/changes.xml b/scm/xdocs/releases/v1.0/changes.xml new file mode 100644 index 00000000..734831bb --- /dev/null +++ b/scm/xdocs/releases/v1.0/changes.xml @@ -0,0 +1,15 @@ + + + + Changes + Brett Porter + + + + + + Initial creation - support for CVS. + + + + diff --git a/scm/xdocs/releases/v1.0/goals.xml b/scm/xdocs/releases/v1.0/goals.xml new file mode 100644 index 00000000..740bbc9a --- /dev/null +++ b/scm/xdocs/releases/v1.0/goals.xml @@ -0,0 +1,42 @@ + + + + + Maven Source Control Management Plug-in Goals + + + + + scm:bootstrap-project + Bootstrap a project from SCM + + + scm:checkout-project + Checkout a project + + + scm:update-project + Update a project from SCM + + + scm:prepare-release + + Prepare a project for release from SCM. This checks all + changes are committed, and prompts for a tag and version + name to release the project with. It will update project.xml locally + and in the SCM system, as well as tagging the SCM as requested. + + + + scm:perform-release + + This task checks out the project from SCM at any location, from the + tag requested. It then builds a clean version of the code and deploys + it to the remote repository. + You can automate this using the appropriate properties, but for any + that are not provided you will be prompted for them. + + + + + diff --git a/scm/xdocs/releases/v1.0/navigation.xml b/scm/xdocs/releases/v1.0/navigation.xml new file mode 100644 index 00000000..cd3b6396 --- /dev/null +++ b/scm/xdocs/releases/v1.0/navigation.xml @@ -0,0 +1,17 @@ + + + + Maven Source Control Management Plug-in + + + + + + + + + + + + + \ No newline at end of file diff --git a/scm/xdocs/releases/v1.0/properties.xml b/scm/xdocs/releases/v1.0/properties.xml new file mode 100644 index 00000000..a42e2458 --- /dev/null +++ b/scm/xdocs/releases/v1.0/properties.xml @@ -0,0 +1,122 @@ + + + + + Maven Source Control Management Plug-in Properties + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.scm.methodYes +

Default value is + cvs.

+
maven.scm.checkout.dirYes +

Default value is + ${basedir}/checkouts.

+
maven.scm.check.taggedYes +

When true, you will be asked for confirmation if + you are attempting to release from HEAD. + Default value is true.

+
maven.scm.bootstrap.goalsNo +

Goals to call on the checked out project.

+
maven.scm.bootstrap.pom.dirYes +

Where to find project.xml in the checked out project.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.scm.cvs.rootYes +

Default value is taken from CVSROOT in the environment.

+
maven.scm.cvs.update.flagsYes +

Default value is + -Pd. Note that any environment settings + (eg .cvsrc) will also affect this.

+
maven.scm.cvs.moduleNo +

The CVS module to checkout

+
maven.scm.cvs.sticky.tagYes +

Sticky tag to use when checking out or updating. Default is none.

+
maven.scm.cvs.quietYes +

Default value is + true.

+
maven.scm.cvs.checkout.flagsYes +

Default value is + -P. Note that any environment settings + (eg .cvsrc) will also affect this.

+
maven.scm.cvs.rshYes +

Default value is taken from CVS_RSH in the environment.

+
+
+
+ +