Skip to content
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

Updates for typetools/checker-framework 3.39.0 release #55

Merged
merged 53 commits into from
Oct 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
95fd6ea
Bump org.checkerframework from 0.6.23 to 0.6.24
dependabot[bot] Feb 21, 2023
33f8ea9
Use Gradle 8
mernst Feb 27, 2023
bfb7797
Bump com.github.johnrengelman.shadow from 7.1.2 to 8.1.0
dependabot[bot] Feb 27, 2023
d1c9349
Use newer GitHub actions
mernst Mar 1, 2023
e55232e
Don't build under JDK 8
mernst Mar 2, 2023
17870b6
Bump org.checkerframework from 0.6.24 to 0.6.25
dependabot[bot] Mar 6, 2023
712b7fa
Bump com.diffplug.spotless from 6.16.0 to 6.17.0
dependabot[bot] Mar 13, 2023
7ac9b0f
Bump com.github.johnrengelman.shadow from 8.1.0 to 8.1.1
dependabot[bot] Mar 21, 2023
5095bc1
Bump org.checkerframework from 0.6.25 to 0.6.26
dependabot[bot] Apr 6, 2023
467b344
Bump com.diffplug.spotless from 6.17.0 to 6.18.0
dependabot[bot] Apr 6, 2023
3f5cc39
Warn about redundant annotations
mernst Apr 6, 2023
57da3e6
Configure Renovate
renovate[bot] Apr 15, 2023
df5e21e
Update dependency gradle to v8.1 (#221)
renovate[bot] Apr 15, 2023
50e7d32
Disable dependency dashboard
mernst Apr 16, 2023
ff49456
sourceCompatibility for Java 20
mernst Apr 18, 2023
6fbc5db
Update dependency gradle to v8.1.1 (#222)
renovate[bot] Apr 22, 2023
5961e05
Update plugin net.ltgt.errorprone to v3.1.0 (#223)
renovate[bot] Apr 22, 2023
9bc1f10
Update dependency org.junit.jupiter:junit-jupiter-api to v5.9.3 (#224)
renovate[bot] Apr 26, 2023
be50398
Update plugin org.checkerframework to v0.6.27 (#225)
renovate[bot] May 3, 2023
1a2caab
Use Error Prone 2.19.1
mernst May 14, 2023
3be6ec3
Whitespace
mernst May 10, 2023
4b8a519
Use reflection-util 1.1.0
mernst May 16, 2023
8a1e276
Version 1.2.2
mernst May 16, 2023
8c3eb96
Update release instructions
mernst May 20, 2023
b3b0cb5
Adjust comments
mernst May 20, 2023
c737cdd
Use Spotless version 6.19.0
mernst May 24, 2023
6936baa
Update plugin org.checkerframework to v0.6.28 (#230)
renovate[bot] Jun 7, 2023
0520ff2
Update dependency com.google.errorprone:error_prone_core to v2.20.0 (…
renovate[bot] Jun 17, 2023
a8b1ba7
Update dependency gradle to v8.2 (#232)
renovate[bot] Jul 1, 2023
b737dc6
Update plugin org.checkerframework to v0.6.29 (#233)
renovate[bot] Jul 6, 2023
135e443
Update dependency gradle to v8.2.1 (#234)
renovate[bot] Jul 11, 2023
8ca03c6
Update plugin com.diffplug.spotless to v6.20.0 (#235)
renovate[bot] Jul 18, 2023
2d6c68d
Update dependency org.junit.jupiter:junit-jupiter-api to v5.10.0 (#236)
renovate[bot] Jul 23, 2023
eed528e
Update plugin org.checkerframework to v0.6.30 (#237)
renovate[bot] Aug 2, 2023
b835ca0
Update dependency com.google.errorprone:error_prone_core to v2.21.0 (…
renovate[bot] Aug 2, 2023
184959e
Update dependency com.google.errorprone:error_prone_core to v2.21.1 (…
renovate[bot] Aug 5, 2023
1df529f
Update dependency gradle to v8.3 (#240)
renovate[bot] Aug 17, 2023
d5e4940
Update plugin org.checkerframework to v0.6.31 (#241)
renovate[bot] Aug 25, 2023
3f4c1fe
Update plugin org.checkerframework to v0.6.32 (#242)
renovate[bot] Aug 29, 2023
ba6e7b2
Update plugin com.diffplug.spotless to v6.21.0 (#243)
renovate[bot] Aug 29, 2023
e6ae01c
Update plugin org.checkerframework to v0.6.33 (#244)
renovate[bot] Sep 2, 2023
ca8af6d
Update actions/checkout action to v4 (#245)
renovate[bot] Sep 5, 2023
eec9841
Don't support Java 8
mernst Sep 8, 2023
cc819d0
Don't support Java 8
mernst Sep 11, 2023
2b14065
Compile under Java 21
mernst Sep 11, 2023
6080c57
Use Error Prone 2.22.0
mernst Sep 22, 2023
a61cd12
Update plugin com.diffplug.spotless to v6.22.0 (#250)
renovate[bot] Sep 29, 2023
1112c68
Update plugin org.checkerframework to v0.6.34 (#251)
renovate[bot] Oct 3, 2023
427f06c
Update dependency com.google.errorprone:error_prone_core to v2.23.0 (…
renovate[bot] Oct 19, 2023
316c38d
Merge branch 'master' of https://github.com/plume-lib/bcel-util into …
wmdietl Oct 20, 2023
1b4b206
Upgrade to gradle 8.4
wmdietl Oct 20, 2023
d5b652a
Update EISOP version
wmdietl Oct 20, 2023
fb011cc
Test on JDK 21
wmdietl Oct 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .github/dependabot.yml

This file was deleted.

11 changes: 11 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
":automergeAll",
":automergeRequireAllStatusChecks",
"schedule:nonOfficeHours",
":disableDependencyDashboard"
],
"timezone": "America/Los_Angeles"
}
8 changes: 4 additions & 4 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ jobs:

strategy:
matrix:
java: [ '8', '11', '17', '19' ]
java: [ '11', '17', '21' ]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: ./gradlew build javadoc
run: ./gradlew build
- name: ./gradlew requireJavadoc
run: ./gradlew requireJavadoc
- name: ./gradlew spotlessCheck
run: ./gradlew spotlessCheck
if: matrix.java != '8'
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ cache:
- $HOME/.m2/

jdk:
- oraclejdk8
- oraclejdk17

# Add "verGJF" task when google-java-format handles type annotations better;
# see https://github.com/google/google-java-format/issues/5
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# BCEL-Util change log

## 1.3.0 (Sep ??, 2023)

- No longer runs under Java 8. Use Java 11 or later.

## 1.2.2 (May 15, 2022)

- Tested under Java 20
- No longer compiles under Java 8, but still runs under Java 8.

## 1.2.1 (December 13, 2022)

Removed deprecated methods:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ In a Gradle buildfile, write

```
dependencies {
implementation 'org.plumelib:bcel-util:1.2.1'
implementation 'org.plumelib:bcel-util:1.2.2'
}
```

Other build systems are [similar](https://search.maven.org/artifact/org.plumelib/bcel-util/1.2.1/jar).
Other build systems are [similar](https://search.maven.org/artifact/org.plumelib/bcel-util/1.2.2/jar).
82 changes: 37 additions & 45 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ plugins {
id 'java-library'

// To create a fat jar build/libs/...-all.jar, run: ./gradlew shadowJar
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'com.github.johnrengelman.shadow' version '8.1.1'

// Code formatting; defines targets "spotlessApply" and "spotlessCheck"
// Requires JDK 11 or higher.
id 'com.diffplug.spotless' version '6.14.0' apply false
// Requires JDK 11 or higher; the plugin crashes under JDK 8.
id 'com.diffplug.spotless' version '6.22.0'

// Error Prone linter
id('net.ltgt.errorprone') version '3.0.1'
id('net.ltgt.errorprone') version '3.1.0'

// Checker Framework pluggable type-checking
id 'org.checkerframework' version '0.6.23'
id 'org.checkerframework' version '0.6.34'

// To show task list as a tree, run: ./gradlew <taskname> taskTree
id 'com.dorongold.task-tree' version '2.1.1'
Expand All @@ -22,25 +22,25 @@ repositories {
mavenCentral()
}

ext.errorproneVersion = '2.18.0'
ext.errorproneVersion = '2.23.0'

dependencies {
api 'org.checkerframework.annotatedlib:bcel:6.5.0'
// For a locally-built commons-bcel, set $BCEL and use this line instead of the above.
// implementation fileTree(dir: "$System.env.BCEL/target", include: 'bcel-6.2.0.2.jar')

// implementation "com.google.errorprone:error_prone_core:${errorproneVersion}" // For @InlineMe.
implementation 'org.plumelib:reflection-util:1.0.6'
implementation 'org.plumelib:reflection-util:1.1.0'

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}

// To upload to Maven Central, see instructions in the file.
apply from: "${buildscript.sourceFile.parent}/gradle/mavencentral.gradle"

sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceCompatibility = 11
targetCompatibility = 11

test {
useJUnitPlatform {
Expand All @@ -49,31 +49,27 @@ test {
}
}

ext.isJava11orHigher = JavaVersion.current() >= JavaVersion.VERSION_11
if (isJava11orHigher) {
apply plugin: 'com.diffplug.spotless'
spotless {
format 'misc', {
// define the files to apply `misc` to
target '*.gradle', '*.md', '.gitignore'
spotless {
format 'misc', {
// define the files to apply `misc` to
target '*.md', '.gitignore'

// define the steps to apply to those files
trimTrailingWhitespace()
indentWithSpaces(2)
endWithNewline()
}
java {
targetExclude('**/WeakIdentityHashMap.java')
googleJavaFormat()
formatAnnotations()
}
groovyGradle {
target '**/*.gradle'
greclipse() // which formatter Spotless should use to format .gradle files.
indentWithSpaces(2)
trimTrailingWhitespace()
// endWithNewline() // Don't want to end empty files with a newline
}
// define the steps to apply to those files
trimTrailingWhitespace()
indentWithSpaces(2)
endWithNewline()
}
java {
targetExclude('**/WeakIdentityHashMap.java')
googleJavaFormat()
formatAnnotations()
}
groovyGradle {
target '**/*.gradle'
greclipse() // which formatter Spotless should use to format .gradle files.
indentWithSpaces(2)
trimTrailingWhitespace()
// endWithNewline() // Don't want to end empty files with a newline
}
}

Expand All @@ -86,7 +82,6 @@ tasks.withType(JavaCompile).configureEach {
// "-processing" avoids javac warning "No processor claimed any of these annotations".
options.compilerArgs << '-Xlint:all,-processing' << '-Werror'
options.errorprone {
enabled = JavaVersion.current() != JavaVersion.VERSION_1_8
disable('ReferenceEquality') // Use Interning Checker instead.
// Code copied from BCEL that we don't want to change gratuitously.
excludedPaths = '.*/org/plumelib/bcelutil/StackVer.java'
Expand All @@ -98,9 +93,9 @@ tasks.withType(JavaCompile).configureEach {
apply plugin: 'org.checkerframework'

dependencies {
compileOnly 'io.github.eisop:checker-qual:3.28.0-eisop1'
testCompileOnly 'io.github.eisop:checker-qual:3.28.0-eisop1'
checkerFramework 'io.github.eisop:checker:3.28.0-eisop1'
compileOnly 'io.github.eisop:checker-qual:3.34.0-eisop1'
testCompileOnly 'io.github.eisop:checker-qual:3.34.0-eisop1'
checkerFramework 'io.github.eisop:checker:3.34.0-eisop1'
}

checkerFramework {
Expand All @@ -122,6 +117,7 @@ checkerFramework {
'-Werror',
'-AcheckPurityAnnotations',
'-ArequirePrefixInWarningSuppressions',
'-AwarnRedundantAnnotations',
'-AwarnUnneededSuppressions',
'-AnoJreVersionCheck',
]
Expand Down Expand Up @@ -155,13 +151,11 @@ javadoc {
// See https://bugs.openjdk.org/browse/JDK-8274639
// JDK 18 has a "--link-modularity-mismatch" command-line option which is "info" or "warn".
// I think it would work to:
// * use JDK 8 links under JDK <= 17.
// * use JDK 11 links under JDK <= 17.
// * use JDK 17 links, and "--link-modularity-mismatch info", under JDK > 17 (i.e., JDK >= 18).
// But it's easier to just not use "linksOffline".
}
if (JavaVersion.current().compareTo(org.gradle.api.JavaVersion.VERSION_1_9) >= 0) {
options.addStringOption('source', '8')
}
options.addStringOption('source', '11')
doLast {
ant.replaceregexp(match:"@import url\\('resources/fonts/dejavu.css'\\);\\s*", replace:'',
flags:'g', byline:true) {
Expand All @@ -176,9 +170,7 @@ task javadocWeb(type: Javadoc) {
source = sourceSets.main.allJava
destinationDir = file("/cse/web/research/plumelib/${project.name}/api")
classpath = project.sourceSets.main.compileClasspath
if (JavaVersion.current().compareTo(org.gradle.api.JavaVersion.VERSION_1_9) >= 0) {
options.addStringOption('source', '8')
}
options.addStringOption('source', '11')
doLast {
ant.replaceregexp(match:"@import url\\('resources/fonts/dejavu.css'\\);\\s*", replace:'',
flags:'g', byline:true) {
Expand Down
40 changes: 0 additions & 40 deletions gradle/codeformatting.gradle

This file was deleted.

16 changes: 11 additions & 5 deletions gradle/mavencentral.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,23 @@

// To make a release (run on any filesystem, except the last step):
// * git pull
// * In ../build.gradle, ensure that "To use a snapshot version" is not enabled.
// * Update the version number in ../README.md and in this file (multiple times in each).
// Ensure the version number in this file does not contain "-SNAPSHOT".
// * Update ../CHANGELOG.md .
// * Save files and stage changes.
// * Run in the top-level directory: ./gradlew clean publish
// * Browse to https://oss.sonatype.org/#stagingRepositories, complete the Maven Central release.
// * Add a git tag:
// VER=1.2.1 && git commit -m "Version $VER" && git push && git tag -a v$VER -m "Version $VER" && git push && git push --tags
// * Make a GitHub release. Go to the GitHub releases page, make a release, call it "bcel-util 1.2.1", use the text from ../CHANGELOG.md as the description, attach the .jar file from ../build/libs/
// VER=1.2.2 && git commit -m "Version $VER" && git push && git tag -a v$VER -m "Version $VER" && git push && git push --tags
// * Make a GitHub release. Go to the GitHub releases page, make a release, call it "bcel-util 1.2.2", use the text from ../CHANGELOG.md as the description, attach the .jar and -all.jar files from ../build/libs/ .
// * Finally, run on the CSE filesystem: git pull && ./gradlew javadocWeb

apply plugin: 'maven-publish'
apply plugin: 'signing'

group 'org.plumelib'
version '1.2.1'
version '1.2.2'

final isSnapshot = version.contains('SNAPSHOT')

Expand All @@ -38,7 +40,7 @@ publishing {

from components.java
pom {
name = 'Plume-lib Bcel-Util'
name = 'BCEL Util'
description = 'Utility functions for BCEL.'
url = 'https://github.com/plume-lib/bcel-util'

Expand Down Expand Up @@ -88,4 +90,8 @@ signing {
sign publishing.publications.maven
}

tasks.withType(Sign).configureEach { onlyIf { !isSnapshot } }
tasks.withType(Sign).configureEach {
onlyIf {
!isSnapshot
}
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading