Skip to content

Change release process to account for putting AFU in CF repo. #7185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 163 commits into
base: master
Choose a base branch
from

Conversation

smillst
Copy link
Member

@smillst smillst commented Aug 1, 2025

I used this branch to create the dev website here: https://checkerframework.org/dev/

Moved the following files (in the repo):

  • AFU manual -> docs/annotation-file-utilities
  • annotation-file-utilities/scripts -> annotation-file-utilities/bin
  • annotation-file-utilities/annotation-file-utilities-all.jar -> annotation-file-utilities/dist

Changes to the release zip files:

  • annotation-tools-3.49.5.zip is no longer created. Instead, the the artifacts are included in the checker-framework.zip.

New layout of checker-framework.zip:

  • annotation-file-utilities
    • bin
      • scripts
    • dist
      • jar files
    • LICENSE.txt
  • checker
    • bin
      • javac, other scripts
    • dist
      • jar files
  • docs
    • CHANGELOG.md
    • annotation-file-utilities
      • AFU manual files
    • examples
    • manual
      • Checker Framework manual files
      • checker-framework-dataflow-manual.pdf
  • LICENSE.txt

Removed all the ant build files and replaced them with Gradle tasks.
Updated the release scripts to use central.sonatype.com.

@smillst smillst assigned mernst and unassigned smillst Aug 13, 2025
release.gradle Outdated

ext {
currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("d MMM yyyy"))
releaseVersionRegex = "\\d\\.\\d+\\.\\d+(?:\\.\\d)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was asking why the regex isn't ""\d\.\d+\.\d+(?:\.\d)?". The "?" you referred to isn't an operator; rather, "?:" is an operator.


filter { String line ->
line = line.replaceAll("checker-framework-${releaseVersionRegex}{0,1}", "checker-framework-${releaseVersion}")
line.replaceAll("<!-- checker-framework-date -->(.*)<!-- /checker-framework-date -->", "<!-- checker-framework-date -->${currentDate}<!-- /checker-framework-date -->")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These strings are used twice, so put them in variables rather than duplicating them.

'manual/introduction.tex'

filter { String line ->
line = line.replaceAll("checker-framework-${releaseVersionRegex}", "checker-framework-${releaseVersion}")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can use the same regular expression as on line 61; you can abstract the two strings on that line into variables and use them here and there.

}

tasks.register('updateCopyMavenExample', Copy) {
String destDir = project.property('destDir') + '/MavenExample'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This copies to destDir, unlike other copy tasks. That should at least be documented.

@mernst mernst assigned smillst and unassigned mernst Aug 13, 2025
@smillst smillst assigned mernst and unassigned smillst Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants