blob: 376fa48bd37a477123814682aba757f4520f9a26 [file] [log] [blame]
================================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
================================================================================
How to do a Apache Commons Daemon release
=========================================
Review open issues in Jira.
Review open PRs on GitHub.
Update to latest commons-parent and fix any issues.
Use Java 7.
If you haven't already, add your public PGP key to KEYS.
Update version numbers as needed
--------------------------------
Do a find for all the docs which include the previous version string
and replace it with the new version.
These include:
Before tagging:
- /RELEASE-NOTES.txt (version)
- /pom.xml (version & commons.release.version)
- /src/changes/changes.xml (Set date)
- /src/native/unix/man/jsvc1.xml (Set date & version)
- /src/native/unix/native/version.h (version)
- /src/native/windows/apps/prunmgr/prunmgr.h (version)
- /src/native/windows/apps/prunmgr/prunmgr.rc (version x3)
- /src/native/windows/apps/prunsrv/prunsrv.h (version)
- /src/native/windows/apps/prunsrv/prunsrv.rc (version x2)
- /src/samples/SimpleApplication.sh (version)
- /src/site/xdoc/binaries.xml (version)
Only in tag:
- /pom.xml (remove -SNAPSHOT)
- /src/native/unix/native/version.h (JSVC_IS_DEV_VERION 0)
Search for the text "THIS FILE IS GENERATED BY" and regenerate the generated
files.
Checkout
--------
Check out a clean copy of commons daemon from git to make sure you don't have
any lingering configure or build files. This will make sure that the source
distribution created is clean.
We assume, that you checked out
https://gitbox.apache.org/repos/asf/commons-daemon.git
to a directory named daemon. All further path names will be relative to this
directory.
If building from an existing checkout, clean the build directories:
mvn clean
Create native build scripts
---------------------------
cd /src/native/unix
sh support/buildconf.sh
Native build
------------
Build and sign the Windows binaries.
Place the signed Windows binaries in:
target/prunsrv.exe
target/prunmgr.exe
target/amd64/prunsrv.exe
Note: `nmake -f Makefile install` will place these files in the correct
locations but they will be unsigned
Maven tasks
-----------
To deploy the Java jars to the Nexus staging repo:
mvn deploy -Prelease [-Ptest-deploy]
The test-deploy profile will deploy to target/deploy; omit for the live deploy
Note: do not use clean in the same invocation.
Remove the following artifacts and associated hashes/sigs before closing the
repo:
- tests.jar (there are no tests, just a simple sample)
- test-sources.jar (there are no tests, just a simple sample)
Do not remove the binary distributions since some users depend on Maven Central
to obtain these.
Updating the site
-----------------
See https://commons.apache.org/site-publish.html