From f47cc8b375bbd652430dd11c87ba2d02da7429a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Mi=C5=9B?= Date: Thu, 22 Sep 2022 18:47:46 +0200 Subject: [PATCH] build: migrate to Kotlin DSL (#151) Co-authored-by: PatrickMis <24607131+PatrickMis@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/feature-issue.yml | 2 +- .github/workflows/release.yml | 2 +- app/.gitignore | 2 +- app/build.gradle | 44 ---------------------- app/build.gradle.kts | 47 ++++++++++++++++++++++++ app/proguard-rules.pro | 2 +- app/src/main/AndroidManifest.xml | 2 +- build.gradle | 33 ----------------- build.gradle.kts | 24 ++++++++++++ gradle.properties | 1 - settings.gradle | 2 - settings.gradle.kts | 10 +++++ 13 files changed, 87 insertions(+), 86 deletions(-) delete mode 100644 app/build.gradle create mode 100644 app/build.gradle.kts delete mode 100644 build.gradle create mode 100644 build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 9f537ff8..d0b349ec 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -5,4 +5,4 @@ contact_links: about: Don't know how or where to start? Check out our documentation! - name: 🗨 Discussions url: https://github.com/revanced/revanced-suggestions/discussions - about: Got something you think should change or be added? Search for or start a new discussion! \ No newline at end of file + about: Got something you think should change or be added? Search for or start a new discussion! diff --git a/.github/ISSUE_TEMPLATE/feature-issue.yml b/.github/ISSUE_TEMPLATE/feature-issue.yml index f649f209..1a15e29c 100644 --- a/.github/ISSUE_TEMPLATE/feature-issue.yml +++ b/.github/ISSUE_TEMPLATE/feature-issue.yml @@ -43,4 +43,4 @@ body: label: Additional context description: Add additional context here. validations: - required: false \ No newline at end of file + required: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 40b43d83..a66c4d53 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,4 +37,4 @@ jobs: - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npx semantic-release \ No newline at end of file + run: npx semantic-release diff --git a/app/.gitignore b/app/.gitignore index 42afabfd..3543521e 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1 +1 @@ -/build \ No newline at end of file +/build diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index 81a01d3b..00000000 --- a/app/build.gradle +++ /dev/null @@ -1,44 +0,0 @@ -plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' -} - -android { - compileSdk 32 - buildToolsVersion "32.0.0" - namespace 'app.revanced.integrations' - - defaultConfig { - applicationId "app.revanced.integrations" - minSdk 23 - targetSdk 32 - versionCode 1 - versionName "1.0" - multiDexEnabled false - - Properties properties = new Properties() - if (rootProject.file("local.properties").exists()) { - properties.load(rootProject.file("local.properties").newDataInputStream()) - } - - buildConfigField "String", "YT_API_KEY", "\"${properties.getProperty("youtubeAPIKey", "")}\"" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - kotlinOptions { - jvmTarget = '11' - } -} - -dependencies { - compileOnly 'androidx.annotation:annotation:1.5.0' -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 00000000..ddfaa823 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,47 @@ +import java.io.FileInputStream +import java.util.Properties + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +android { + compileSdk = 32 + buildToolsVersion = "32.0.0" + namespace = "app.revanced.integrations" + + defaultConfig { + applicationId = "app.revanced.integrations" + minSdk = 23 + targetSdk = 32 + versionCode = 1 + versionName = "1.0" + multiDexEnabled = false + + val properties = Properties() + if (rootProject.file("local.properties").exists()) { + properties.load(FileInputStream(rootProject.file("local.properties"))) + } + + buildConfigField("String", "YT_API_KEY", "\"${properties.getProperty("youtubeAPIKey", "")}\"") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + compileOptions { + sourceCompatibility(JavaVersion.VERSION_11) + targetCompatibility(JavaVersion.VERSION_11) + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } +} + +dependencies { + compileOnly("androidx.annotation:annotation:1.5.0") +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb434..f1b42451 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,4 +18,4 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 93c36307..431b54ad 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,4 +2,4 @@ - \ No newline at end of file + diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 9b103fe6..00000000 --- a/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } - -} - -allprojects { - repositories { - google() - maven { url 'https://jitpack.io' } - mavenCentral() - } -} - -// Tracking issue https://github.com/semantic-release/semantic-release/issues/963 -task publish(type: DefaultTask) { - group = 'publish' - description = 'Dummy publish to pass the verification phase of the gradle-semantic-release-plugin' -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..21ece099 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,24 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath("com.android.tools.build:gradle:7.3.0") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10") + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +// Tracking issue https://github.com/semantic-release/semantic-release/issues/963 +tasks.register("publish", DefaultTask::class) { + group = "publish" + description = "Dummy publish to pass the verification phase of the gradle-semantic-release-plugin" +} + +tasks.register("clean", Delete::class) { + delete(rootProject.buildDir) +} diff --git a/gradle.properties b/gradle.properties index 68ec4eb1..b9e9ff2e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,3 @@ org.gradle.jvmargs = -Xmx2048m android.useAndroidX = true -android.enableJetifier = true version = 0.41.1 diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 9ad70f4f..00000000 --- a/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -include ':app' -rootProject.name = "integrations" \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000..1adfb24a --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,10 @@ +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + maven { url = uri("https://jitpack.io") } + mavenCentral() + } +} +include(":app") +rootProject.name = "integrations"