diff --git a/build.gradle b/build.gradle index 14913daf8e..1959c49125 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ allprojects { // Matches Maven's "project.groupId". Used in MANIFEST.MF for "Implementation-Vendor-Id". group = "edu.ucar" // Matches Maven's "project.version". Used in MANIFEST.MF for "Implementation-Version". - version = '4.6.5-SNAPSHOT' + version = '4.6.5' // Eventually, we'll stop appending "SNAPSHOT" to our versions and just use this. status = 'development' } diff --git a/cdm/build.gradle b/cdm/build.gradle index 426be54710..094e2a9872 100644 --- a/cdm/build.gradle +++ b/cdm/build.gradle @@ -53,7 +53,7 @@ javadoc { // TODO: Use the Sync task for this. task releaseDocs(dependsOn: javadoc, group: 'Release') << { - def releaseDir = webdir + "javadoc" + String releaseDir = new File(webdir, "javadoc").absolutePath ant.delete(dir: releaseDir) ant.mkdir(dir: releaseDir) diff --git a/docs/internal/release.txt b/docs/internal/release.txt index 9ac58d3b26..069fbbcfde 100644 --- a/docs/internal/release.txt +++ b/docs/internal/release.txt @@ -1,11 +1,10 @@ Making a release for CDM/TDS using Gradle -Last edited 2015/08/31 -{release.minor} refers to the full, 3-part version, e.g. "4.6.1" +{release.minor} refers to the full, 3-part version, e.g. "4.6.5" {release.major} refers to the truncated, 2-part version, e.g. "4.6" 1. Prepare ncWMS and threddsIso - - Detailed instructions can be found in threddsIso/docs/internal/release.txt and ncwms/docs/internal/release.txt. + - Detailed instructions can be found in ncwms/docs/internal/release.txt and threddsIso/docs/internal/release.txt. - The instructions for the two are very similar. 2. Ensure that there are no uncommitted changes. @@ -13,7 +12,7 @@ Last edited 2015/08/31 3. Pull all of the latest changes from upstream. 4. In "/build.gradle", update the project's version for the release. - Likely, this means removing the '-SNAPSHOT' prefix, e.g. '4.6.4-SNAPSHOT' to '4.6.4'. + Likely, this means removing the '-SNAPSHOT' prefix, e.g. '4.6.5-SNAPSHOT' to '4.6.5'. 5. In "/gradle/dependencies.gradle", update the "uk.ac.rdg.resc:ncwms" and "EDS:threddsIso" dependencies to the versions deployed in step 1. Also, remove any dependencies on SNAPSHOT versions of libraries. @@ -71,7 +70,20 @@ Last edited 2015/08/31 - chmod 775 . - chmod 664 * -14. Release Web Start to www:/content/software/thredds/v{release.major}/netcdf-java/webstart +14. Mount the www.unidata.ucar.edu:/web/ Samba share to a local directory, if it's not mounted already. The details of + this will vary based on your OS. + - On OS X do: Finder->Go->Connect to Server... Then connect to "smb://www/web". + +15. Set the "webdir" and "ftpdir" Gradle properties + - Open ~/.gradle/gradle.properties + - Set "webdir" to "{web.mount.dir}/content/software/thredds/v{release.major}/netcdf-java" + - Set "ftpdir" to "{web.mount.dir}/ftp/pub/netcdf-java/v{release.major}" + - The value of {web.mount.dir} will likely differ, but mine is "/Volumes/web". + - So for example, on OS X, my (Christian's) Gradle properties for "webdir" and "ftpdir" are: + webdir=/Volumes/web/content/software/thredds/v4.6/netcdf-java + ftpdir=/Volumes/web/ftp/pub/netcdf-java/v4.6 + +16. Release Web Start to www:/content/software/thredds/v{release.major}/netcdf-java/webstart - Make sure that you have the correct gradle.properties (see Christian for info). In particular, you'll need the 'keystore', 'keystoreAlias', 'keystorePassword', 'webdir', and 'ftpdir' properties defined. - Rename old directories @@ -84,7 +96,7 @@ Last edited 2015/08/31 - If there were no errors and the new Web Start looks good, delete the old stuff. * rm -r webstartOld -15. Release Javadoc to www:/content/software/thredds/v{release.major}/netcdf-java/javadoc and javadocAll +17. Release Javadoc to www:/content/software/thredds/v{release.major}/netcdf-java/javadoc and javadocAll - Rename old directories * cd /content/software/thredds/v{release.major}/netcdf-java/ * mv javadoc javadocOld @@ -96,7 +108,7 @@ Last edited 2015/08/31 * rm -r javadocOld * rm -r javadocAllOld -16. Change permissions of the files you just copied. +18. Change permissions of the files you just copied. - cd /content/software/thredds/v{release.major}/netcdf-java/ - find webstart -type d -exec chmod 775 {} \; - find webstart -type f -exec chmod 664 {} \; @@ -105,37 +117,42 @@ Last edited 2015/08/31 - find javadocAll -type d -exec chmod 775 {} \; - find javadocAll -type f -exec chmod 664 {} \; -17. Update Unidata download page(s) +19. Update Unidata download page(s) - check http://www.unidata.ucar.edu/downloads/thredds/index.jsp * modify www:/content/downloads/thredds/toc.xml as needed - check http://www.unidata.ucar.edu/downloads/netcdf/netcdf-java-4/index.jsp * modify www:/content/downloads/netcdf/netcdf-java-4/toc.xml as needed -18. Edit www:/web/content/software/thredds/latest.xml to reflect the correct +20. Edit www:/web/content/software/thredds/latest.xml to reflect the correct {release.minor} version for stable and development. This file is read by all TDS > v4.6 to make log entries regarding current stable and development versions to give users a heads-up of the need to update. -19. Commit the changes you've made. +21. Commit the changes you've made. - At the very least, project.version in the root build script should have been modified. - Make the commit message something like "Release {release.minor}". -20. Create a tag for the release: "v{release.minor}". +22. Create a tag for the release: "v{release.minor}". -21. Prepare for next round of development. +23. Prepare for next round of development. - Update the project version. Increment it and add the "-SNAPSHOT" suffix. - * For example, if {release.minor}="4.6.1", the next version will be "4.6.2-SNAPSHOT". + * For example, if {release.minor}="4.6.5", the next version will be "4.6.6-SNAPSHOT". - Commit the change. - * The commit message should be something like "Begin work on 4.6.2-SNAPSHOT". + * The commit message should be something like "Begin work on 4.6.6-SNAPSHOT". -22. Push the commits upstream. +24. Push the commits upstream. - Be sure to include the tag you created. * In IntelliJ, check the "Push Tags" box in the "Push Commits" dialog. -NOTE 1: In the Maven build, the maven-release-plugin roughly handled steps 2-6 and 19-22 for us. In the future, we +25. Make blog post for the release. Example: http://www.unidata.ucar.edu/blogs/news/entry/netcdf-java-library-and-tds1 + +26. Make a release announcement to the mailing lists. It should build off the blog post. + Example: http://www.unidata.ucar.edu/mailing_lists/archives/netcdf-java/2016/msg00001.html + +NOTE 1: In the Maven build, the maven-release-plugin roughly handled steps 2-6 and 21-24 for us. In the future, we should investigate similar Gradle plugins that offer the same functionality. NOTE 2: In the future, we should be performing many (all?) of these steps from Jenkins, not our local machine. -Note 3: The latest.xml doc in step 18 is very simple and could probably be updated +Note 3: The latest.xml doc in step 20 is very simple and could probably be updated automatically during the release process. diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 5ab6582ecd..7e041d55ee 100755 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -189,7 +189,7 @@ libraries["commons-compress"] = "org.apache.commons:commons-compress:1.8.1" libraries["oro"] = "oro:oro:2.0.8" -libraries["ncwms"] = dependencies.create("uk.ac.rdg.resc:ncwms:1.2.tds.4.6.5-SNAPSHOT") { +libraries["ncwms"] = dependencies.create("uk.ac.rdg.resc:ncwms:1.2.tds.4.6.5") { // This is an external dependency on an old artifact of ours. // The "cdm" artifact that we build in this project will take its place. // This needs to be a local exclusion; globally excluding "edu.ucar:cdm" would be very bad. diff --git a/ui/build.gradle b/ui/build.gradle index 6e736162a9..c5783c1df3 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -163,7 +163,7 @@ javadoc { task releaseDocs(dependsOn: javadoc, group: 'Release') << { if (project.hasProperty("webdir")) { - def releaseDir = webdir + "javadocAll" + String releaseDir = new File(webdir, "javadocAll").absolutePath ant.delete(dir: releaseDir) ant.mkdir(dir: releaseDir) diff --git a/ui/netCDFtools.jnlp b/ui/netCDFtools.jnlp index 2c724ee672..85bfbd05bb 100644 --- a/ui/netCDFtools.jnlp +++ b/ui/netCDFtools.jnlp @@ -1,7 +1,7 @@ - NetCDF Tools UI 4.6.4 + NetCDF Tools UI 4.6.5 Unidata Graphical interface to netCDF-Java / Common Data Model @@ -17,7 +17,7 @@ - + diff --git a/ui/netCDFtoolsExtraJars.jnlp b/ui/netCDFtoolsExtraJars.jnlp index e1ecf9b739..103afe9797 100644 --- a/ui/netCDFtoolsExtraJars.jnlp +++ b/ui/netCDFtoolsExtraJars.jnlp @@ -2,7 +2,7 @@ - NetCDF Tools UI 4.6.4 + NetCDF Tools UI 4.6.5 Unidata Graphical interface to netCDF-Java / Common Data Model @@ -21,19 +21,19 @@ - - - - - - - - - + + + + + + + + @@ -49,7 +49,7 @@ - +