This is a version of Commons IO that is annotated with type annotations for the Checker Framework.
mvn -B -Dmaven.test.skip=true package
This creates file
target/commons-io-VERSION.jar
.
Create a branch and do work thre.
At https://github.com/apache/commons-io/releases , find the commit corresponding to a public release.
Commons IO version 2.8.0 is commit fa59009aaabcf8671a8d741993ef355f42b95ccd
Pull in that commit:
git pull https://github.com/apache/commons-io <commitid>
Update the version number throughout this file.
Use the latest Checker Framework version by changing pom.xml
.
Search the codebase for all uses of "@since 2.8.0" and annotate those methods/classes.
Ensure that it builds:
mvn -B -Dmaven.test.skip=true package
Make a pull request for the branch.
When merging the branch, create a merge commit (don't squash-and-merge).
In my clone of Apache's fork (used for local comparisons), pull in version 2.8.0:
git fetch origin
git checkout <commitid>
This must be done on a CSE machine, which has access to the necessary passwords.
PACKAGE=commons-io-2.8.0.1 &&
mvn -B -Dmaven.test.skip=true package &&
mvn source:jar &&
mvn javadoc:javadoc && (cd target/site/apidocs && jar -cf ${PACKAGE}-javadoc.jar org)
[ ! -z "$PACKAGE" ] &&
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=cfMavenCentral.xml -Dgpg.publicKeyring=/projects/swlab1/checker-framework/hosting-info/pubring.gpg -Dgpg.secretKeyring=/projects/swlab1/checker-framework/hosting-info/secring.gpg -Dgpg.keyname=ADF4D638 -Dgpg.passphrase="cat /projects/swlab1/checker-framework/hosting-info/release-private.password
" -Dfile=target/${PACKAGE}.jar
&&
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=cfMavenCentral.xml -Dgpg.publicKeyring=/projects/swlab1/checker-framework/hosting-info/pubring.gpg -Dgpg.secretKeyring=/projects/swlab1/checker-framework/hosting-info/secring.gpg -Dgpg.keyname=ADF4D638 -Dgpg.passphrase="cat /projects/swlab1/checker-framework/hosting-info/release-private.password
" -Dfile=target/${PACKAGE}-sources.jar -Dclassifier=sources
&&
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=cfMavenCentral.xml -Dgpg.publicKeyring=/projects/swlab1/checker-framework/hosting-info/pubring.gpg -Dgpg.secretKeyring=/projects/swlab1/checker-framework/hosting-info/secring.gpg -Dgpg.keyname=ADF4D638 -Dgpg.passphrase="cat /projects/swlab1/checker-framework/hosting-info/release-private.password
" -Dfile=target/site/apidocs/${PACKAGE}-javadoc.jar -Dclassifier=javadoc