diff --git a/build.gradle b/build.gradle index 280770caa..267d328a1 100644 --- a/build.gradle +++ b/build.gradle @@ -32,6 +32,11 @@ allprojects { project -> } configurations.all { exclude group:"com.android.tools.build", module: "transform-api" + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + if (details.requested.group == 'org.jetbrains.kotlin') { + details.useVersion deps.versions.kotlin + } + } resolutionStrategy { force deps.build.bcprov force deps.build.commonsCompress diff --git a/buildSrc/src/main/java/com/uber/okbuck/extension/KotlinExtension.java b/buildSrc/src/main/java/com/uber/okbuck/extension/KotlinExtension.java index e7b4044e1..8d2b45f4c 100644 --- a/buildSrc/src/main/java/com/uber/okbuck/extension/KotlinExtension.java +++ b/buildSrc/src/main/java/com/uber/okbuck/extension/KotlinExtension.java @@ -13,8 +13,8 @@ public class KotlinExtension { @Nullable public String compilerZipSha256; KotlinExtension(Project project) { - this.version = "1.4.10"; - this.compilerZipSha256 = "bb1a21d70e521a01ae104e99a082a6e7bb58699b86347049da521d175d0dace7"; + this.version = "1.5.31"; + this.compilerZipSha256 = "661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e"; } @Internal diff --git a/buildSrc/src/main/resources/com/uber/okbuck/core/util/manifest/manifest-merger-cli.jar b/buildSrc/src/main/resources/com/uber/okbuck/core/util/manifest/manifest-merger-cli.jar index ab5b4f080..8056d494f 100644 Binary files a/buildSrc/src/main/resources/com/uber/okbuck/core/util/manifest/manifest-merger-cli.jar and b/buildSrc/src/main/resources/com/uber/okbuck/core/util/manifest/manifest-merger-cli.jar differ diff --git a/dependencies.gradle b/dependencies.gradle index 9eb628612..52aa6860f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -18,12 +18,12 @@ def exclude = { dep, String... excludes -> def versions = [ androidPlugin : "4.2.2", - androidTools : "30.0.2", + androidTools : "30.3.0", autovalue : "1.7.4", avro : "1.10.1", butterKnife : "10.2.3", dagger : "2.33", - kotlin : "1.4.10", + kotlin : "1.5.31", leakCanary : "2.6", rocker : "1.3.0", androidx : "1.1.0", @@ -88,6 +88,7 @@ def external = [ gson : "com.google.code.gson:gson:2.8.6", kotlinExtension : "org.jetbrains.kotlin:kotlin-android-extensions:${versions.kotlin}", kotlinStdlib : "org.jetbrains.kotlin:kotlin-stdlib:${versions.kotlin}", + kotlinMetadata : "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.3.0", leakCanary : "com.squareup.leakcanary:leakcanary-android:${versions.leakCanary}", sqldelight : "com.squareup.sqldelight:android-driver:${versions.sqldelight}", rxandroid : "io.reactivex.rxjava2:rxandroid:2.1.1", diff --git a/dummy-transform/src/main/java/com/uber/okbuck/transform/DummyTransform.java b/dummy-transform/src/main/java/com/uber/okbuck/transform/DummyTransform.java index 1f9b1ca59..78ca6fa50 100644 --- a/dummy-transform/src/main/java/com/uber/okbuck/transform/DummyTransform.java +++ b/dummy-transform/src/main/java/com/uber/okbuck/transform/DummyTransform.java @@ -87,7 +87,7 @@ public void transform(TransformInvocation transformInvocation) File inputFile = changedInput.getKey(); File outputFile = - new File(outputDir, FileUtils.relativePossiblyNonExistingPath(inputFile, inputDir)); + new File(outputDir, relativePossiblyNonExistingPath(inputFile, inputDir)); switch (changedInput.getValue()) { case REMOVED: @@ -107,11 +107,27 @@ public void transform(TransformInvocation transformInvocation) Iterable files = FileUtils.getAllFiles(inputDir); for (File inputFile : files) { - File outputFile = new File(outputDir, FileUtils.relativePath(inputFile, inputDir)); + File outputFile = new File(outputDir, relativePath(inputFile, inputDir)); FileUtils.copyFile(inputFile, outputFile); } } } } } + + private static String relativePath(File file, File dir) { + return relativePossiblyNonExistingPath(file, dir); + } + + private static String relativePossiblyNonExistingPath(File file, File dir) { + String path = dir.toURI().relativize(file.toURI()).getPath(); + return toSystemDependentPath(path); + } + + private static String toSystemDependentPath(String path) { + if (File.separatorChar != '/') { + path = path.replace('/', File.separatorChar); + } + return path; + } } diff --git a/kotlin-app/build.gradle b/kotlin-app/build.gradle index bfbc4b998..13c84f1e1 100644 --- a/kotlin-app/build.gradle +++ b/kotlin-app/build.gradle @@ -3,7 +3,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile apply plugin: "com.android.application" apply plugin: "com.squareup.sqldelight" apply plugin: "kotlin-android" -apply plugin: "kotlin-android-extensions" apply plugin: "kotlin-kapt" android { @@ -13,6 +12,14 @@ android { } flavorDimensions "default" + + lintOptions { + // Turn off Dagger lints + disable "JvmStaticProvidesInObjectDetector" + disable "FieldSiteTargetOnQualifierAnnotation" + disable "ModuleCompanionObjects" + disable "ModuleCompanionObjectsNotInModuleParent" + } } tasks.withType(KotlinCompile).all { diff --git a/kotlin-app/src/main/java/com/uber/okbuck/example/MainActivity.kt b/kotlin-app/src/main/java/com/uber/okbuck/example/MainActivity.kt index 566dbd5be..51d7ff281 100644 --- a/kotlin-app/src/main/java/com/uber/okbuck/example/MainActivity.kt +++ b/kotlin-app/src/main/java/com/uber/okbuck/example/MainActivity.kt @@ -2,9 +2,10 @@ package com.uber.okbuck.example import android.os.Bundle import android.widget.Toast +import androidx.appcompat.widget.Toolbar +import com.google.android.material.floatingactionbutton.FloatingActionButton import com.uber.okbuck.example.sqldelightmodel.GithubRepo import dagger.android.support.DaggerAppCompatActivity -import kotlinx.android.synthetic.main.activity_main.* import javax.inject.Inject class MainActivity : DaggerAppCompatActivity() { @@ -12,6 +13,9 @@ class MainActivity : DaggerAppCompatActivity() { @Inject lateinit var analytics: Analytics + private val fab by lazy { findViewById(R.id.fab) } + private val toolbar by lazy { findViewById(R.id.toolbar) } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) diff --git a/libraries/kotlinlibrary/build.gradle b/libraries/kotlinlibrary/build.gradle index c03bc09aa..e4f4e2dcc 100644 --- a/libraries/kotlinlibrary/build.gradle +++ b/libraries/kotlinlibrary/build.gradle @@ -8,6 +8,7 @@ dependencies { implementation deps.external.kotlinStdlib implementation deps.external.dagger + implementation deps.external.kotlinMetadata kapt deps.apt.daggerCompiler kaptTest deps.apt.daggerCompiler testImplementation deps.test.junit diff --git a/manifest-merger-cli/build.gradle b/manifest-merger-cli/build.gradle index 13a3b3dfe..71dffc817 100644 --- a/manifest-merger-cli/build.gradle +++ b/manifest-merger-cli/build.gradle @@ -4,7 +4,7 @@ evaluationDependsOn(pluginProjectPath) apply plugin: "application" group = "com.uber.okbuck.transform" -version = "1.0.0" +version = "1.0.1" tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/manifest-merger-cli/src/main/java/com/uber/okbuck/manifmerger/ManifestMergerCli.java b/manifest-merger-cli/src/main/java/com/uber/okbuck/manifmerger/ManifestMergerCli.java index 2db25060e..353cb94b7 100644 --- a/manifest-merger-cli/src/main/java/com/uber/okbuck/manifmerger/ManifestMergerCli.java +++ b/manifest-merger-cli/src/main/java/com/uber/okbuck/manifmerger/ManifestMergerCli.java @@ -120,7 +120,7 @@ private static int process(String[] args) throws FileNotFoundException { "Invalid property name " + value.substring(0, value.indexOf('=')) + ", allowed properties are : " - + Joiner.on(',').join(ManifestSystemProperty.values())); + + Joiner.on(',').join(ManifestSystemProperty.getValues())); return 1; } } @@ -184,7 +184,7 @@ private static void usage() { System.out.println("\t--libs [path separated list of lib's manifests]"); System.out.println("\t--overlays [path separated list of overlay's manifests]"); System.out.println( - "\t--property [" + Joiner.on(" | ").join(ManifestSystemProperty.values()) + "=value]"); + "\t--property [" + Joiner.on(" | ").join(ManifestSystemProperty.getValues()) + "=value]"); System.out.println("\t--placeholder [name=value]"); System.out.println("\t--out [path of the output file]"); }