| ================================================================================ |
| 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 |