Jelajahi Sumber

Update top level project build scripts

arkon 5 tahun lalu
induk
melakukan
81b2dfd9d0

+ 1 - 3
app/build.gradle

@@ -6,7 +6,6 @@ apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'
 apply plugin: 'kotlin-kapt'
 apply plugin: 'com.github.zellius.shortcut-helper'
-apply plugin: "org.jmailen.kotlinter"
 
 shortcutHelper.filePath = './shortcuts.xml'
 
@@ -292,8 +291,7 @@ task copyResources(type: Copy) {
     include '**/*'
 }
 
-preBuild.dependsOn(lintKotlin, copyResources)
-lintKotlin.dependsOn(formatKotlin)
+preBuild.dependsOn(ktlintFormat, copyResources)
 
 if (getGradle().getStartParameter().getTaskRequests().toString().contains("Standard")) {
     apply plugin: 'com.google.gms.google-services'

+ 31 - 12
build.gradle.kts

@@ -1,29 +1,48 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
 plugins {
-    id("com.github.ben-manes.versions") version "0.28.0"
+    id("com.android.application") version BuildPluginsVersion.AGP apply false
+    id("com.android.library") version BuildPluginsVersion.AGP apply false
+    kotlin("android") version BuildPluginsVersion.KOTLIN apply false
+    id("org.jlleitschuh.gradle.ktlint") version BuildPluginsVersion.KTLINT
+    id("com.github.ben-manes.versions") version BuildPluginsVersion.VERSIONS_PLUGIN
 }
 
-buildscript {
+allprojects {
     repositories {
         google()
+        maven { setUrl("https://www.jitpack.io") }
+        maven { setUrl("https://plugins.gradle.org/m2/") }
         jcenter()
     }
+}
+
+subprojects {
+    apply {
+        plugin("org.jlleitschuh.gradle.ktlint")
+    }
+
+    ktlint {
+        debug.set(false)
+        version.set(Versions.KTLINT)
+        verbose.set(true)
+        android.set(false)
+        outputToConsole.set(true)
+        ignoreFailures.set(false)
+        enableExperimentalRules.set(true)
+        filter {
+            exclude("**/generated/**")
+            include("**/kotlin/**")
+        }
+    }
+}
+
+buildscript {
     dependencies {
-        classpath("com.android.tools.build:gradle:3.6.2")
         classpath("com.github.zellius:android-shortcut-gradle-plugin:0.1.2")
-        classpath("org.jmailen.gradle:kotlinter-gradle:2.3.2")
         classpath("com.google.gms:google-services:4.3.3")
         classpath("com.google.android.gms:oss-licenses-plugin:0.10.2")
-        // NOTE: Do not place your application dependencies here; they belong
-        // in the individual module build.gradle files
     }
-}
-
-allprojects {
     repositories {
         google()
-        maven { setUrl("https://www.jitpack.io") }
-        maven { setUrl("https://plugins.gradle.org/m2/") }
         jcenter()
     }
 }

+ 1 - 0
buildSrc/.gitignore

@@ -0,0 +1 @@
+/build

+ 6 - 0
buildSrc/build.gradle.kts

@@ -0,0 +1,6 @@
+plugins {
+    `kotlin-dsl`
+}
+repositories {
+    jcenter()
+}

+ 10 - 0
buildSrc/src/main/kotlin/Dependencies.kt

@@ -0,0 +1,10 @@
+object Versions {
+    const val KTLINT = "0.36.0"
+}
+
+object BuildPluginsVersion {
+    const val AGP = "3.6.3"
+    const val KOTLIN = "1.3.72"
+    const val KTLINT = "9.2.1"
+    const val VERSIONS_PLUGIN = "0.28.0"
+}

+ 19 - 0
settings.gradle.kts

@@ -1 +1,20 @@
+pluginManagement {
+    resolutionStrategy {
+        eachPlugin {
+            if (requested.id.id == "com.android.library") {
+                useModule("com.android.tools.build:gradle:${requested.version}")
+            }
+            if (requested.id.id == "com.android.application") {
+                useModule("com.android.tools.build:gradle:${requested.version}")
+            }
+        }
+    }
+    repositories {
+        gradlePluginPortal()
+        google()
+        mavenCentral()
+        jcenter()
+    }
+}
+
 include(":app")