This repo contains tools that help reduce the manual work associated with doing releases.
First, build the dependent components that do not yet have a release:
svn co https://svn.apache.org/repos/asf/creadur/tentacles/trunk tentacles cd tentacles mvn clean install -DskipTests -DfailIfNoTests=false
Then build this repo:
mvn clean install
Once compiled, the executable can be ran as follows:
$ ./target/release Commands: dist help release-notes $ ./target/release dist Missing sub-command Usage: dist [subcommand] [options] Sub commands: add-key dev-to-release list-releases maven-to-dev remove-release $ ./target/release dist list-releases KEYS tomee-1.7.5/ tomee-7.0.9/ tomee-7.1.4/ tomee-8.0.6/ tomee-8.0.7/ tomee-9.0.0-M7/
Many of the commands have detailed man-page-style help text which can be obtained by the help command. For example to get help on release dist maven-to-dev, run:
./target/release help dist maven-to-dev
In man-page style it will pipe to less and can be scrolled up and down. The following is an example of what the man-page style looks like.
NAME
maven-to-dev
SYNOPSIS
dist maven-to-dev [options] String
DESCRIPTION
Download binaries from a maven repo and commit them to
dist.apache.org dev
The org/apache/tomee/apache-tomee and
org/apache/tomee/tomee-project sections of the maven
repository will be scanned for the version specified and all
zip and tar.gz files will be downloaded along with any
associated asc and sha1 files. After download the sha1 files
of each binary will be checked to ensure a complete download.
The sha256 and sha512 file for each binary will be computed
and written to disk.
If the --dry-run flag is not enabled, the resulting zip,
tar.gz, asc, sha256 and sha512 files will be uploaded to a
directory in dist.apache.org dev or the specified svn repo.
When ready, the dist.apache.org dev directory can be moved to
dist.apache.org release via the dist dev-to-release
command.
OPTIONS
--dry-run
Download the files to local disk, but do not commit
them to svn
--maven-repo=<URI>
The root path of a Nexus staging repository or Maven
Central
default: https://repo1.maven.org/maven2/
--svn-repo=<URI>
The svn directory for tomee where a subdirectory can
be created and binaries uploaded
default: https://dist.apache.org/repos/dist/dev/tomee/
--tmp=<File>
The directory under which files can be temporarily
downloaded
default: /tmp/