diff --git a/CHANGELOG.md b/CHANGELOG.md index 58a2578df..7c4a58828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,3 +40,7 @@ - Removed rxPermissions and XLog dependencies - Updated to Python 3.8 * Added support for Kotlin 2.2.0 +* Upgraded to Gradle 7.6 +* **Breaking change for contributors**: Java 11+ is now required to build the plugin (plugin runtime still targets Java 8) +* Upgraded Rocker plugin from 1.3.0 to 2.2.1 +* Upgraded gradle-maven-publish-plugin from 0.18.0 to 0.27.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8479682b0..67e316ac3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,13 @@ Contributing to okbuck The Uber team welcomes contributions of all kinds, from simple bug reports through documentation, test cases, bugfixes, and features. +Requirements +------------ + +For building: +- **Java 11+** is required for building the plugin (the plugin itself still targets Java 8 runtime) +- Gradle 7.6 (via wrapper) + Workflow -------- diff --git a/README.md b/README.md index c68d0dd00..01f47fa2d 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,15 @@ See the [Usage](https://github.com/uber/okbuck/blob/master/Usage.md) page for co To speed up your builds even more, you can use an implementation of [Buck's HTTP Cache API](https://github.com/uber/buck-http-cache) to take advantage of building once and using the same build artifacts on all machines. +## Development + +To build OkBuck from source: +- **Java 11+** is required (the plugin itself still targets Java 8 runtime) +- Run `./gradlew build` to build the plugin +- Run `./gradlew publishToMavenLocal` to publish to your local Maven repository for testing + +See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines. + ## Contributors We'd love for you to contribute to our open source projects. Before we can accept your contributions, we kindly ask you to sign our [Uber Contributor License Agreement](https://docs.google.com/a/uber.com/forms/d/1pAwS_-dA1KhPlfxzYLBqK6rsSWwRwH95OCCZrcsY5rk/viewform). diff --git a/dependencies.gradle b/dependencies.gradle index ffaf7a7db..4893065be 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -25,7 +25,7 @@ def versions = [ dagger : "2.33", kotlin : "1.5.31", leakCanary : "2.6", - rocker : "1.3.0", + rocker : "2.2.1", androidx : "1.1.0", androidxMultidex : "2.0.1", constraintLayout : "1.1.0", @@ -38,7 +38,7 @@ def build = [ androidPlugin : "com.android.tools.build:gradle:${versions.androidPlugin}", androidPluginApi : "com.android.tools.build:gradle-api:${versions.androidPlugin}", bcprov : "org.bouncycastle:bcprov-jdk15on:1.60", - gradleMavenPublish: "com.vanniktech:gradle-maven-publish-plugin:0.18.0", + gradleMavenPublish: "com.vanniktech:gradle-maven-publish-plugin:0.27.0", butterKnifePlugin: "com.jakewharton:butterknife-gradle-plugin:${versions.butterKnife}", commonsCompress : "org.apache.commons:commons-compress:1.18", commonsIo : "commons-io:commons-io:2.8.0", diff --git a/dummy-transform/build.gradle b/dummy-transform/build.gradle index b1af22ed0..b86d26218 100644 --- a/dummy-transform/build.gradle +++ b/dummy-transform/build.gradle @@ -5,5 +5,5 @@ plugins { apply from: "../dependencies.gradle" dependencies { - compile deps.build.androidPluginApi + implementation deps.build.androidPluginApi } diff --git a/gradle.properties b/gradle.properties index 7c88e7b7e..07202595c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ android.useAndroidX=true android.enableJetifier=true -org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2,TLSv1.3 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d9132e..070cb702f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/libraries/groovylibrary/build.gradle b/libraries/groovylibrary/build.gradle index ccd8e935d..ee37d6e7f 100644 --- a/libraries/groovylibrary/build.gradle +++ b/libraries/groovylibrary/build.gradle @@ -3,6 +3,6 @@ plugins { } dependencies { - compile deps.external.groovyAll - testCompile deps.test.junit + implementation deps.external.groovyAll + testImplementation deps.test.junit } diff --git a/libraries/scalalibrary/build.gradle b/libraries/scalalibrary/build.gradle index 71c026495..35ee0f81a 100644 --- a/libraries/scalalibrary/build.gradle +++ b/libraries/scalalibrary/build.gradle @@ -4,10 +4,10 @@ plugins { } dependencies { - compile deps.external.scalaLibrary + implementation deps.external.scalaLibrary - testCompile deps.test.scalaTest - testCompile deps.test.scalaTestJunit + testImplementation deps.test.scalaTest + testImplementation deps.test.scalaTestJunit } mainClassName = "com.uber.okbuck.scala.example.Hello" diff --git a/transform-cli/build.gradle b/transform-cli/build.gradle index e6c47a8e7..9cc6b0b4a 100644 --- a/transform-cli/build.gradle +++ b/transform-cli/build.gradle @@ -23,13 +23,13 @@ mainClassName = "com.uber.okbuck.transform.CliTransform" dependencies { compileOnly gradleApi() - compile(deps.build.androidPluginApi) { + implementation(deps.build.androidPluginApi) { transitive = false } - testCompile deps.test.junit - testCompile deps.test.mockito - testCompile deps.test.assertj + testImplementation deps.test.junit + testImplementation deps.test.mockito + testImplementation deps.test.assertj } shadowJar {