Skip to content

Commit

Permalink
Merge pull request #1554 from theimpulson/kotlinDSL
Browse files Browse the repository at this point in the history
Migrate to Kotlin DSL
  • Loading branch information
TheLastProject authored Oct 8, 2023
2 parents 1979006 + 9981a64 commit 4a920e3
Show file tree
Hide file tree
Showing 8 changed files with 170 additions and 180 deletions.
4 changes: 2 additions & 2 deletions .scripts/locales.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
sed = [
"sed",
"-i",
f"s/resourceConfigurations .*/resourceConfigurations += [{res}]/",
"app/build.gradle"
f"s/resourceConfigurations .*/resourceConfigurations += listOf({res})/",
"app/build.gradle.kts"
]
subprocess.run(sed, check=True)

Expand Down
146 changes: 0 additions & 146 deletions app/build.gradle

This file was deleted.

147 changes: 147 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
import com.android.build.gradle.internal.tasks.factory.dependsOn
import com.github.spotbugs.snom.SpotBugsTask

plugins {
id("com.android.application")
id("com.github.spotbugs")
}

spotbugs {
ignoreFailures.set(false)
setEffort("max")
excludeFilter.set(file("./config/spotbugs/exclude.xml"))
reportsDir.set(layout.buildDirectory.file("reports/spotbugs/").get().asFile)
}

android {
namespace = "protect.card_locker"
compileSdk = 33

defaultConfig {
applicationId = "me.hackerchick.catima"
minSdk = 21
targetSdk = 33
versionCode = 131
versionName = "2.26.0"

vectorDrawables.useSupportLibrary = true
multiDexEnabled = true

resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "zh-rTW", "zh-rCN")
}

buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro"
)
resValue("string", "app_name", "Catima")
}
debug {
applicationIdSuffix = ".debug"
resValue("string", "app_name", "Catima Debug")
}
}

buildFeatures {
buildConfig = true
viewBinding = true
}

bundle {
language {
enableSplit = false
}
}

compileOptions {
encoding = "UTF-8"

// Flag to enable support for the new language APIs
isCoreLibraryDesugaringEnabled = true

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}

sourceSets {
getByName("test") {
resources.srcDirs("src/test/res")
}
}

// Starting with Android Studio 3 Robolectric is unable to find resources.
// The following allows it to find the resources.
testOptions.unitTests.isIncludeAndroidResources = true
tasks.withType<Test>().configureEach {
testLogging {
events("started", "passed", "skipped", "failed")
}
}

lint {
lintConfig = file("lint.xml")
}
}

dependencies {

// AndroidX
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.exifinterface:exifinterface:1.3.6")
implementation("androidx.palette:palette:1.0.0")
implementation("androidx.preference:preference:1.2.1")
implementation("com.google.android.material:material:1.9.0")
implementation("com.github.yalantis:ucrop:2.2.8")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")

// Splash Screen
implementation("androidx.core:core-splashscreen:1.0.1")

// Third-party
implementation("com.journeyapps:zxing-android-embedded:4.3.0@aar")
implementation("com.google.zxing:core:3.5.2")
implementation("org.apache.commons:commons-csv:1.9.0")
implementation("com.jaredrummler:colorpicker:1.1.0")
implementation("net.lingala.zip4j:zip4j:2.11.5")

// SpotBugs
implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0")

// Testing
testImplementation("androidx.test:core:1.5.0")
testImplementation("junit:junit:4.13.2")
testImplementation("org.robolectric:robolectric:4.10.3")
}

tasks.withType<SpotBugsTask>().configureEach {
description = "Run spotbugs"
group = "verification"

//classes = fileTree("build/intermediates/javac/debug/compileDebugJavaWithJavac/classes")
//source = fileTree("src/main/java")
//classpath = files()

reports.maybeCreate("xml").required.set(false)
reports.maybeCreate("html").required.set(true)
}

tasks.register("copyRawResFiles", Copy::class) {
from(
layout.projectDirectory.file("../CHANGELOG.md"),
layout.projectDirectory.file("../PRIVACY.md")
)
into(layout.projectDirectory.dir("src/main/res/raw"))
rename { it.lowercase() }
}.also {
tasks.preBuild.dependsOn(it)
tasks.getByName<Delete>("clean") {
val filesNamesToDelete = listOf("CHANGELOG", "PRIVACY")
filesNamesToDelete.forEach { fileName ->
delete(layout.projectDirectory.file("src/main/res/raw/${fileName.lowercase()}.md"))
}
}
}
2 changes: 1 addition & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# By default, the flags in this file are appended to flags specified
# in /Users/brarcher/Library/Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
# directive in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
Expand Down
16 changes: 0 additions & 16 deletions build.gradle

This file was deleted.

12 changes: 12 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

plugins {
id("com.android.application") version "8.1.2" apply false
id("com.github.spotbugs") version "5.1.3" apply false
}

allprojects {
tasks.withType<JavaCompile> {
options.compilerArgs.add("-Xlint:deprecation")
}
}
13 changes: 4 additions & 9 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=true
android.nonTransitiveRClass=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
10 changes: 4 additions & 6 deletions settings.gradle → settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,14 @@ dependencyResolutionManagement {
google()
mavenCentral()
exclusiveContent {
forRepository {
maven { url "https://jitpack.io" }
}
forRepositories(maven("https://jitpack.io"))
filter {
// limit jitpack repository to these groups
includeGroup "com.github.yalantis"
includeGroup "com.github.invissvenska"
includeGroup("com.github.yalantis")
includeGroup("com.github.invissvenska")
}
}
}
}
rootProject.name = "Catima"
include ':app'
include(":app")

0 comments on commit 4a920e3

Please sign in to comment.