Skip to content

Latest commit

 

History

History
51 lines (31 loc) · 2 KB

README-eisop.md

File metadata and controls

51 lines (31 loc) · 2 KB

EISOP Development Notes

Updating from a different fork

To update EISOP with changes in a different Checker Framework fork, follow these steps:

  1. Pull in eisop/master and make sure you don't have any uncommitted files.

  2. Create a new branch, named e.g. typetools-3.18.0-fixes, and push to eisop, without any changes.

  3. Create a new branch, named e.g. typetools-3.18.0-merge.

  4. If necessary, change to consistent formatting:

    • Remove .aosp() from build.gradle.
    • Run ./gradlew spotlessApply and commit results as e.g. Change to typetools formatting.
  5. Look up the commit IDs for the range you want to include, e.g. previous and current releases.

  6. Fetch the new release into a different branch git fetch typetools toID:typetools-3.18.0-release.

  7. Do git cherry-pick fromID..toID.

  8. If there are conflicts, resolve and do git cherry-pick --continue.

  9. If necessary, undo formatting changes and commit Change back to AOSP formatting.

  10. Open a pull request (against eisop) merging typetools-3.18.0-merge into typetools-3.18.0-fixes. Once this looks OK, squash and merge titled typetools/checker-framework x.y.z release, making sure to keep all authors.

  11. Go through all changes in more detail and clean up any problems. This two-step process gives us one commit with the external changes and separate commits with eisop-specific changes and enhancements.

  12. Open a pull request (against eisop) merging typetools-3.18.0-fixes into master and merge without squashing.

Release process

TODO: the release process contains many buffalo-specific paths, which still needs to be cleaned up. Most of the instructions can be followed, ignoring certain steps.

Without using the release scripts, you can make a Maven Central release using:

./gradlew publish -Prelease=true --no-parallel -Psigning.gnupg.keyName=wdietl@gmail.com

You may need to run gpg-agent first and enter the GPG password when prompted.

Use --warning-mode all to see gradle deprecation warnings.