Skip to content

Commit

Permalink
Merge branch 'master' into ep-2.20.0
Browse files Browse the repository at this point in the history
  • Loading branch information
msridhar committed Jun 23, 2023
2 parents 3c0cb93 + a81c4b3 commit fa8222e
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 9 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
ORG_GRADLE_PROJECT_epApiVersion: ${{ matrix.epVersion }}
uses: gradle/gradle-build-action@v2
with:
arguments: build -x :sample-app:build -x :jar-infer:jar-infer-lib:build -x :jar-infer:nullaway-integration-test:build -x :jar-infer:test-java-lib-jarinfer:build
arguments: build -x :jar-infer:jar-infer-lib:build -x :jar-infer:nullaway-integration-test:build -x :jar-infer:test-java-lib-jarinfer:build
if: matrix.java == '17'
- name: Report jacoco coverage
uses: gradle/gradle-build-action@v2
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
- name: 'Publish'
uses: gradle/gradle-build-action@v2
env:
ORG_GRADLE_PROJECT_mavenCentralRepositoryUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralRepositoryPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
with:
arguments: clean publish --no-daemon --no-parallel
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
Changelog
=========
Version 0.10.11
---------------
* NULL_LITERAL expressions may always be null (#749)
* Fix error in Lombok generated code for @Nullable @Builder.Default (#765)
* Support for specific libraries/APIs:
- Added support for Apache Validate (#769)
- Introduce FluentFutureHandler as a workaround for Guava FluentFuture (#771)
* Internal code refactorings:
- [Refactor] Pass resolved Symbols into Handler methods (#729)
- Prepare for Nullable ASTHelpers.getSymbol (#733)
- Refactor: streamline mayBeNullExpr flow (#753)
- Refactor LibraryModelsHandler.onOverrideMayBeNullExpr (#754)
- Refactor simple onOverrideMayBeNullExpr handlers (#747)
* Support for JSpecify's 0.3.0 annotation [experimental]
- JSpecify generics checks for conditional expressions (#739)
- Generics checks for parameter passing (#746)
- Clearer printing of types in errors related to generics (#758)
* NullAwayInfer/Annotator data serialization support [experimental]
- Update path serialization for class files (#752)
* Build / CI tooling for NullAway itself:
- Update to Gradle 8.0.2 (#743)
- Fix CI on Windows (#759)
- Upgrade to Error Prone 2.19.1 (#763)
- Upgrade maven publish plugin to 0.21.0 (#773)

Version 0.10.10
---------------
* Add command line option to skip specific library models. (#741)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ plugins {
}
dependencies {
annotationProcessor "com.uber.nullaway:nullaway:0.10.10"
annotationProcessor "com.uber.nullaway:nullaway:0.10.11"
// Optional, some source of nullability annotations.
// Not required on Android if you use the support
Expand Down Expand Up @@ -75,7 +75,7 @@ The configuration for an Android project is very similar to the Java case, with

```gradle
dependencies {
annotationProcessor "com.uber.nullaway:nullaway:0.10.10"
annotationProcessor "com.uber.nullaway:nullaway:0.10.11"
errorprone "com.google.errorprone:error_prone_core:2.4.0"
errorproneJavac "com.google.errorprone:javac:9+181-r4173-1"
}
Expand Down
1 change: 1 addition & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ Releasing
8. `git commit -am "Prepare next development version."`
9. `git push && git push --tags`
10. Visit [Sonatype Nexus](https://oss.sonatype.org/) and promote the artifact.
11. Go to [this page](https://github.com/uber/NullAway/releases/new) to create a new release on GitHub, using the release notes from `CHANGELOG.md`.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ buildscript {

dependencies {
classpath 'com.android.tools.build:gradle:7.3.0'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.14.2'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.21.0'
// This restriction is needed due to our mix of Android and Java modules;
// without it, the build fails with a weird error.
// See https://stackoverflow.com/questions/70217853/how-to-include-android-project-in-a-gradle-multi-project-build
Expand Down
6 changes: 5 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ org.gradle.caching=true
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m

GROUP=com.uber.nullaway
VERSION_NAME=0.10.11-SNAPSHOT
VERSION_NAME=0.10.12-SNAPSHOT

POM_DESCRIPTION=A fast annotation-based null checker for Java

Expand All @@ -28,3 +28,7 @@ POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=uber
POM_DEVELOPER_NAME=Uber Technologies
POM_DEVELOPER_URL=https://uber.com

# Publishing configuration for vanniktech/gradle-maven-publish-plugin
SONATYPE_HOST=DEFAULT
RELEASE_SIGNING_ENABLED=true
32 changes: 30 additions & 2 deletions jar-infer/jar-infer-cli/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ dependencies {
}
}

java {
withJavadocJar()
withSourcesJar()
}

jar {
manifest {
attributes(
Expand All @@ -41,6 +46,7 @@ shadowJar {
shadowJar.dependsOn jar
assemble.dependsOn shadowJar


// We disable the default maven publications to make sure only
// our custom shadow publication is used. Since we use the empty
// classifier for our fat jar, it would otherwise clash with the
Expand All @@ -67,8 +73,8 @@ publishing {
// Since we are skipping the default maven publication, we append the `:sources` and
// `:javadoc` artifacts here. They are also required for Maven Central validation.
afterEvaluate {
artifact project.sourcesJar
artifact project.javadocsJar
artifact project.javaSourcesJar
artifact project.javadocJar
}
// The shadow publication does not auto-configure the pom.xml file for us, so we need to
// set it up manually. We use the opportunity to change the name and description from
Expand Down Expand Up @@ -98,5 +104,27 @@ publishing {
}
}
}
}

afterEvaluate {
// Below is a series of hacks needed to get publication to work with
// gradle-maven-publish-plugin >= 0.15.0 (itself needed after the upgrade to Gradle 8.0.2).
// Not sure why e.g. publishShadowPublicationToMavenCentralRepository must depend on signMavenPublication
// (rather than just signShadowPublication)
project.tasks.named('generateMetadataFileForMavenPublication').configure {
dependsOn 'javaSourcesJar'
dependsOn 'simpleJavadocJar'
}
project.tasks.named('signShadowPublication').configure {
dependsOn 'sourcesJar'
dependsOn 'simpleJavadocJar'
}
project.tasks.named('publishShadowPublicationToMavenCentralRepository').configure {
dependsOn 'signMavenPublication'
}
project.tasks.named('publishShadowPublicationToMavenLocal').configure {
dependsOn 'sourcesJar'
dependsOn 'simpleJavadocJar'
}
}
}

0 comments on commit fa8222e

Please sign in to comment.