[
https://issues.apache.org/jira/browse/DERBY-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-2573:
---------------------------------
Attachment: derby-2573-01-aa-masterTarget.diff
Attaching derby-2573-01-aa-masterTarget.diff. This patch expands on the work
Myrna did. This patch adds a master release target which builds and signs the
distributions. I would appreciate it if another release manager could
test-drive the master release target to see if it works for someone other than
me (see the "How to Run It" section below).
After the target finishes, release/distributions holds all of the signed
artifacts except for the Eclipse ui plugin.
The remainder of this comment addresses the following topics:
o What the Target Does
o How to Run It
o Future Work
o Overview of Changes
-------------- What the Target Does ------------------
The master build target does the following:
o Commits the generated SQLState tables to the docs repository.
o Syncs both the code and doc clients so that they are up to date.
o Builds sane and insane jars.
o Builds the public javadoc and the Eclipse core plugin.
o Builds the user docs.
o Builds and signs the distributions.
-------------- How to Run It ------------------
The master build target can be invoked by a bash script, buildrelease. This
script does two jobs for you:
1) Sets the CLASSPATH needed to run the docs build
2) Asks you for security credentials
The very last line of the script is the actual ant command which invokes the
master build target. If you don't use bash scripts, you can at least consult
buildrelease for how to set up your ant command.
The buildrelease script expects that you have set the DOCS_ROOT environment
variable to point at the top directory of your docs client. If you have not
done so, the script fails. The script prompts you for your Apache subversion
credentials and for your pgp passphrase. Then the script invokes the master
build target. So, to build a release, do the following:
export DOCS_ROOT=someplaceInYourFileSystem
cd topDirectoryOfYourCodeClient
./buildrelease
...and answer the questions which buildrelease asks.
Again, if you don't use bash, you can invoke ant directly. Make sure that you
have set CLASSPATH to include the libraries needed by the docs build. The
actual ant command for invoking the master build target is this:
ant "-Ddocs.root=$DOCS_ROOT" "-Dpgp.passphrase=$pgpPassphrase"
"-Dsvn.username=$subversionUserName" "-Dsvn.password=$subversionPassword"
-quiet release
-------------- Future Work ------------------
Follow-on patches can add more functionality:
i) Fail the build if the docs and/or code clients have uncommitted work in them.
ii) Prompt for a release string and then update and checkin
tools/ant/properties/release.properties accordingly.
-------------- Overview of Changes ------------------
1) Replaced the docs.out variable with docs.root. The former pointed at the
output of the docs build while the latter points at the root of the whole docs
client. The docs.root variable allows more straightforward references to docs
files.
2) Made prepareforrelease check that docs.root has been set to something
reasonable.
3) Made prepareforrelease check that your subversion username and password have
been specified. These are the subversion credentials which you use to commit
work to the Apache repositories. They are used to checkin the generated
SQLState tables in your docs client.
4) Made prepareforrelease check that your pgp passphrase has been specified.
The passphrase is needed in order to sign the distributions.
5) Synced both the code and docs clients so that they are up to date.
6) Fixed some problems in the setting of the sanity state.
7) Added a master release target which creates and signs the distributions.
Touches the following files:
M java/engine/org/apache/derby/loc/build.xml
M build.xml
M tools/release/build.xml
M tools/ant/properties/packaging.tmpl
M tools/ant/properties/dirs.properties
A buildrelease
> Create master ant target for generating all release artifacts, including code
> and doc artifacts
> -----------------------------------------------------------------------------------------------
>
> Key: DERBY-2573
> URL: https://issues.apache.org/jira/browse/DERBY-2573
> Project: Derby
> Issue Type: Improvement
> Components: Build tools
> Affects Versions: 10.3.1.4
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Attachments: derby-2573-01-aa-masterTarget.diff,
> DERBY-2573.diff_1notforcommit
>
>
> This is one of the tasks tracked by master JIRA DERBY-2571.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.