Skip to content

Commit

Permalink
Fix build for JDK 22+ (#823)
Browse files Browse the repository at this point in the history
Co-authored-by: Werner Dietl <[email protected]>
  • Loading branch information
cpovirk and wmdietl authored Aug 7, 2024
1 parent 913f115 commit 61d8e8e
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 1 deletion.
4 changes: 4 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,10 @@ allprojects {
// TODO: Ignore this-escape for now, we may want to review and suppress each one later.
lint +=',-this-escape'
}
if (!isJava8 && useJdkCompiler >= 23) {
// TODO: Ignore dangling-doc-comments for now, we may want to fix them later.
lint +=',-dangling-doc-comments'
}
options.compilerArgs += [
'-g',
'-Werror',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ public Void visitVariable(VariableTree tree, Void p) {
* {@code x = Optional.of(Optional.of("baz"));}. However, the type of the right-hand side is
* {@code Optional<? extends Object>}, not {@code Optional<Optional<String>>}. Therefore, to
* fully check for improper types, it is necessary to examine, in the type checker, the argument
* to construction of an Optional. Method {@link handleNestedOptionalCreation} does so.
* to construction of an Optional. Method {@link #handleNestedOptionalCreation} does so.
*/
private final class OptionalTypeValidator extends BaseTypeValidator {

Expand Down
5 changes: 5 additions & 0 deletions dataflow/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ dependencies {

// Node implements org.plumelib.util.UniqueId, so this dependency must be "api".
api "org.plumelib:plume-util:${versions.plumeUtil}"
// plume-util has an `implementation` dependency on hashmap-util.
// That follows Gradle's rules, but Gradle's rules are not entirely correct:
// https://github.com/gradle/gradle/issues/30054
// To build with JDK 22+, we need to redeclare that dependency here.
implementation "org.plumelib:hashmap-util:${versions.hashmapUtil}"

// External dependencies:
// If you add an external dependency, you must shadow its packages both in the dataflow-shaded
Expand Down
5 changes: 5 additions & 0 deletions javacutil/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ dependencies {
// https://mvnrepository.com/artifact/org.plumelib/plume-util
implementation "org.plumelib:plume-util:${versions.plumeUtil}"
implementation "org.plumelib:reflection-util:${versions.reflectionUtil}"
// plume-util has an `implementation` dependency on hashmap-util.
// That follows Gradle's rules, but Gradle's rules are not entirely correct:
// https://github.com/gradle/gradle/issues/30054
// To build with JDK 22+, we need to redeclare that dependency here.
implementation "org.plumelib:hashmap-util:${versions.hashmapUtil}"

// External dependencies:
// If you add an external dependency, you must shadow its packages both in checker.jar and
Expand Down

0 comments on commit 61d8e8e

Please sign in to comment.