This page is prepared and maintained for/by Nutch committers. You need committer rights to create a new Nutch release.
src/bin/nutch - version number in echo "nutch X.Y"
To avoid that "forgotten" files in your development environment are packaged, make a clean checkout for the release branch or tag:
cd ... git clone --branch branch-x.x https://github.com/apache/nutch.git branch-x.x cd branch-x.x
ant test
Run the docker containers as per the guidance for trunk and 2.x HBase and 2.x Cassandra
Get hold of maven-ant-tasks-2.X.X.jar from http://search.maven.org/#search|gav|1|g%3A%22org.apache.maven%22%20AND%20a%3A%22maven-ant-tasks%22 and put it in the ivy directory
Execute ant -lib ivy deploy from $NUTCH_HOME, this will sign the Maven artifacts (sources, javadoc, .jar) and send them to a Apache Nexus staging repository. Details of how to set this up can be found here. N.B. Ensure that you have an apache-release profile contained within ~/.m2/settings.xml
Once you've read, and are happy with the staging repos, close it.
Run ant -lib ivy restdocs this builds us some kick ass REST documentation courtesy of our good friends over at Miredot which we can post along with the release. If all builds well then the REST documentation can be located within $NUTCH_HOME/target/miredot
git tag -a release-X -m "Apache Nutch X RC#X Tag"
git push origin release-X
run the ant targets for zip-bin, tar-bin, zip-src and tar-src (if releasing trunk) and only the latter two if releasing 2.X (this is because 2.x is only released as source). The generated artifacts can be found in $NUTCH_HOME/dist.
Sign it all of the generated artifacts - Step-By-Step Guide to Signing Releases ' - Consider using Chris Mattmann's Apache Utility Scripts. After the signing each release package must be accompanied by the *.asc and the *.sha512 signature file.
Check out the release management area at https://dist.apache.org/repos/dist/dev/nutch/{release.version} and copy all artifacts and the CHANGES.txt to here then commit this.
Make sure your pgp key is listed in the Nutch KEYS file located at http://www.apache.org/dist/nutch/KEYS or better yet, use https://id.apache.org/ and add your PGP there, and it will then appear in Apache Nutch's Automatically Generated Keys
Create and open a VOTE thread on user@ and dev@nutch.apache.org. The VOTE must pass with 3 +1 binding VOTE's before any release can take place. A VOTE thread usually takes the form
Hi Folks, A first candidate for the Nutch X.Y release is available at: https://dist.apache.org/repos/dist/dev/nutch/X.Y/ The release candidate is a zip and tar.gz archive of the sources in: (select tag from options below) https://git-wip-us.apache.org/repos/asf?p=nutch.git;a=tags The SHA512 checksum of the archive is <<<fill in>>> In addition, a staged maven repository is available here: <<<fill in>>> Please vote on releasing this package as Apache Nutch X.Y. The vote is open for the next 72 hours and passes if a majority of at least three +1 Nutch PMC votes are cast. [ ] +1 Release this package as Apache Nutch X.Y. [ ] -1 Do not release this package because… Cheers, <<<fill in>>> P.S. Of course here is my +1.
In the instance where the VOTE does not pass, the release manager should roll bak all of the work above as well as DROP the staging artifacts.
head back over to the staging repos and RELEASE them into the wild.
Move the artifacts from the release management area to the release area as follows svn mv https://dist.apache.org/repos/dist/dev/nutch/$release.version https://dist.apache.org/repos/dist/release/nutch/$release.version --message "Release Apache Nutch $release.version"
Add the new release info to the doap.rdf file, and double check for any other updates that should be made to the doap file as well if it hasn't been updated in a while. If this is the case please see here
Publish new site as per the documentation within the site readme
copy the Java API doc folder into the svn directory cms_site/content/apidocs/apidoc-X.X and commit it
copy the Miredot REST API doc folder (remember this can be located in $NUTCH_HOME/target/miredot) into the svn directory cms_site/content/miredot/X.Y and commit it
update the links to the new Java API doc in javadoc.html and the wiki FrontPage
place a note about the new release on the main page
Send announcements to the user and developer lists as well as announce@apache.org
Finally, don't forget to remove the previous release from dist.apache.org to reduce the load on ASF mirrors, see when-to-archive and NUTCH-1742.
src/bin/nutch - version number in echo "nutch X.Y"
Good Luck