Migrate to Kotlin DSL
This commit is contained in:
@@ -11,7 +11,7 @@ jobs:
|
||||
- run: git submodule sync
|
||||
- run: git submodule update --init --recursive
|
||||
- restore_cache:
|
||||
key: jars-{{ checksum "build.gradle" }}
|
||||
key: jars-{{ checksum "build.gradle.kts" }}
|
||||
- run:
|
||||
name: Run Build and Tests
|
||||
command: ./gradlew assembleDebug check
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
paths:
|
||||
- ~/.gradle
|
||||
- ~/.android/build-cache
|
||||
key: jars-{{ checksum "build.gradle" }}
|
||||
key: jars-{{ checksum "build.gradle.kts" }}
|
||||
- store_artifacts:
|
||||
path: mobile/build/outputs/apk
|
||||
destination: apk
|
||||
|
||||
31
build.gradle
31
build.gradle
@@ -1,31 +0,0 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
apply plugin: 'com.github.ben-manes.versions'
|
||||
|
||||
buildscript {
|
||||
ext.kotlinVersion = '1.3.72'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.0.0-beta04'
|
||||
classpath 'com.github.ben-manes:gradle-versions-plugin:0.28.0'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.0.0-beta04'
|
||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
|
||||
classpath 'com.google.gms:google-services:4.3.3'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven { url 'https://jitpack.io' }
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
34
build.gradle.kts
Normal file
34
build.gradle.kts
Normal file
@@ -0,0 +1,34 @@
|
||||
plugins {
|
||||
id("com.github.ben-manes.versions") version "0.28.0"
|
||||
}
|
||||
|
||||
buildscript {
|
||||
val kotlinVersion = "1.3.72"
|
||||
extra.set("kotlinVersion", kotlinVersion)
|
||||
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:4.0.0-beta04")
|
||||
classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0")
|
||||
classpath("com.google.firebase:firebase-crashlytics-gradle:2.0.0-beta04")
|
||||
classpath("com.google.android.gms:oss-licenses-plugin:0.10.2")
|
||||
classpath("com.google.gms:google-services:4.3.3")
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven("https://jitpack.io")
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("clean", Delete::class) {
|
||||
delete(rootProject.buildDir)
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
|
||||
def javaVersion = JavaVersion.VERSION_1_8
|
||||
|
||||
android {
|
||||
compileSdkVersion 29
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled true
|
||||
sourceCompatibility javaVersion
|
||||
targetCompatibility javaVersion
|
||||
}
|
||||
kotlinOptions.jvmTarget = javaVersion
|
||||
defaultConfig {
|
||||
applicationId "be.mygod.vpnhotspot"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
resConfigs 'it', 'ru', 'zh-rCN', 'zh-rTW'
|
||||
versionCode 222
|
||||
versionName '2.8.1'
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
javaCompileOptions.annotationProcessorOptions.arguments = [
|
||||
"room.incremental": "true",
|
||||
"room.schemaLocation": "$projectDir/schemas".toString(),
|
||||
]
|
||||
buildConfigField "boolean", "DONATIONS", "true"
|
||||
}
|
||||
buildFeatures {
|
||||
dataBinding = true
|
||||
viewBinding = true
|
||||
}
|
||||
buildTypes {
|
||||
debug {
|
||||
pseudoLocalesEnabled true
|
||||
}
|
||||
release {
|
||||
shrinkResources true
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
flavorDimensions("freedom")
|
||||
packagingOptions.exclude '**/*.kotlin_*'
|
||||
productFlavors {
|
||||
freedom {
|
||||
dimension "freedom"
|
||||
}
|
||||
google {
|
||||
dimension "freedom"
|
||||
buildConfigField "boolean", "DONATIONS", "false"
|
||||
}
|
||||
}
|
||||
sourceSets {
|
||||
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
||||
}
|
||||
}
|
||||
|
||||
androidExtensions {
|
||||
experimental = true
|
||||
}
|
||||
|
||||
def lifecycleVersion = '2.2.0'
|
||||
def roomVersion = '2.2.5'
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
|
||||
kapt "androidx.room:room-compiler:$roomVersion"
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
implementation 'androidx.core:core-ktx:1.3.0-rc01'
|
||||
implementation 'androidx.emoji:emoji:1.1.0-beta01'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.2.4'
|
||||
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
||||
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
|
||||
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
implementation "androidx.room:room-ktx:$roomVersion"
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-rc01'
|
||||
implementation 'com.android.billingclient:billing-ktx:2.2.0'
|
||||
implementation 'com.github.topjohnwu.libsu:core:2.5.1'
|
||||
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'com.google.firebase:firebase-analytics-ktx:17.3.0'
|
||||
implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta04'
|
||||
implementation 'com.google.zxing:core:3.4.0'
|
||||
implementation 'com.jakewharton.timber:timber:4.7.1'
|
||||
implementation 'com.linkedin.dexmaker:dexmaker:2.25.1'
|
||||
implementation 'com.takisoft.preferencex:preferencex-simplemenu:1.1.0'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.2'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5'
|
||||
testImplementation 'junit:junit:4.13'
|
||||
androidTestImplementation "androidx.room:room-testing:$roomVersion"
|
||||
androidTestImplementation 'androidx.test:runner:1.2.0'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.1'
|
||||
}
|
||||
100
mobile/build.gradle.kts
Normal file
100
mobile/build.gradle.kts
Normal file
@@ -0,0 +1,100 @@
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
id("com.google.android.gms.oss-licenses-plugin")
|
||||
id("com.google.gms.google-services")
|
||||
id("com.google.firebase.crashlytics")
|
||||
kotlin("android")
|
||||
kotlin("android.extensions")
|
||||
kotlin("kapt")
|
||||
}
|
||||
|
||||
android {
|
||||
val javaVersion = JavaVersion.VERSION_1_8
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled = true
|
||||
sourceCompatibility = javaVersion
|
||||
targetCompatibility = javaVersion
|
||||
}
|
||||
compileSdkVersion(29)
|
||||
kotlinOptions.jvmTarget = javaVersion.toString()
|
||||
defaultConfig {
|
||||
applicationId = "be.mygod.vpnhotspot"
|
||||
minSdkVersion(21)
|
||||
targetSdkVersion(29)
|
||||
resConfigs(listOf("it", "ru", "zh-rCN", "zh-rTW"))
|
||||
versionCode = 222
|
||||
versionName = "2.8.1"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
javaCompileOptions.annotationProcessorOptions.arguments = mapOf(
|
||||
"room.incremental" to "true",
|
||||
"room.schemaLocation" to "$projectDir/schemas"
|
||||
)
|
||||
buildConfigField("boolean", "DONATIONS", "true")
|
||||
}
|
||||
buildFeatures {
|
||||
dataBinding = true
|
||||
viewBinding = true
|
||||
}
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
isPseudoLocalesEnabled = true
|
||||
}
|
||||
getByName("release") {
|
||||
isShrinkResources = true
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
|
||||
}
|
||||
}
|
||||
packagingOptions.exclude("**/*.kotlin_*")
|
||||
flavorDimensions("freedom")
|
||||
productFlavors {
|
||||
create("freedom") {
|
||||
setDimension("freedom")
|
||||
}
|
||||
create("google") {
|
||||
setDimension("freedom")
|
||||
buildConfigField("boolean", "DONATIONS", "false")
|
||||
}
|
||||
}
|
||||
sourceSets.getByName("androidTest") {
|
||||
assets.setSrcDirs(assets.srcDirs + files("$projectDir/schemas"))
|
||||
}
|
||||
}
|
||||
|
||||
androidExtensions.isExperimental = true
|
||||
|
||||
dependencies {
|
||||
val lifecycleVersion = "2.2.0"
|
||||
val roomVersion = "2.2.5"
|
||||
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.0.5")
|
||||
kapt("androidx.room:room-compiler:$roomVersion")
|
||||
implementation("androidx.browser:browser:1.2.0")
|
||||
implementation("androidx.core:core-ktx:1.3.0-rc01")
|
||||
implementation("androidx.emoji:emoji:1.1.0-beta01")
|
||||
implementation("androidx.fragment:fragment-ktx:1.2.4")
|
||||
implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion")
|
||||
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
|
||||
implementation("androidx.preference:preference:1.1.1")
|
||||
implementation("androidx.room:room-ktx:$roomVersion")
|
||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-rc01")
|
||||
implementation("com.android.billingclient:billing-ktx:2.2.0")
|
||||
implementation("com.github.topjohnwu.libsu:core:2.5.1")
|
||||
implementation("com.google.android.gms:play-services-oss-licenses:17.0.0")
|
||||
implementation("com.google.android.material:material:1.1.0")
|
||||
implementation("com.google.firebase:firebase-analytics-ktx:17.3.0")
|
||||
implementation("com.google.firebase:firebase-crashlytics:17.0.0-beta04")
|
||||
implementation("com.google.zxing:core:3.4.0")
|
||||
implementation("com.jakewharton.timber:timber:4.7.1")
|
||||
implementation("com.linkedin.dexmaker:dexmaker:2.25.1")
|
||||
implementation("com.takisoft.preferencex:preferencex-simplemenu:1.1.0")
|
||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${rootProject.extra.get("kotlinVersion")}")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.2")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5")
|
||||
testImplementation("junit:junit:4.13")
|
||||
androidTestImplementation("androidx.room:room-testing:$roomVersion")
|
||||
androidTestImplementation("androidx.test:runner:1.2.0")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.2.0")
|
||||
androidTestImplementation("androidx.test.ext:junit-ktx:1.1.1")
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
include ':mobile'
|
||||
1
settings.gradle.kts
Normal file
1
settings.gradle.kts
Normal file
@@ -0,0 +1 @@
|
||||
include(":mobile")
|
||||
Reference in New Issue
Block a user