Skip to content

Commit dd91cfe

Browse files
committed
Migrate to kotlin gradle scripts
1 parent c8d94a7 commit dd91cfe

8 files changed

+287
-211
lines changed

app/build.gradle

-159
This file was deleted.

app/build.gradle.kts

+135
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
import java.io.FileInputStream
2+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3+
import org.jetbrains.kotlin.konan.properties.Properties
4+
5+
val isProprietary = gradle.startParameter.taskNames.any { task -> task.contains("Proprietary") }
6+
7+
plugins {
8+
alias(libs.plugins.android)
9+
alias(libs.plugins.kotlinAndroid)
10+
alias(libs.plugins.ksp)
11+
alias(libs.plugins.imgly).apply(false)
12+
}
13+
14+
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
15+
val keystoreProperties = Properties()
16+
if (keystorePropertiesFile.exists()) {
17+
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
18+
}
19+
20+
android {
21+
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
22+
23+
defaultConfig {
24+
applicationId = libs.versions.app.version.appId.get()
25+
minSdk = project.libs.versions.app.build.minimumSDK.get().toInt()
26+
targetSdk = project.libs.versions.app.build.targetSDK.get().toInt()
27+
versionName = project.libs.versions.app.version.versionName.get()
28+
versionCode = project.libs.versions.app.version.versionCode.get().toInt()
29+
setProperty("archivesBaseName", "gallery-$versionCode")
30+
}
31+
32+
signingConfigs {
33+
if (keystorePropertiesFile.exists()) {
34+
register("release") {
35+
keyAlias = keystoreProperties.getProperty("keyAlias")
36+
keyPassword = keystoreProperties.getProperty("keyPassword")
37+
storeFile = file(keystoreProperties.getProperty("storeFile"))
38+
storePassword = keystoreProperties.getProperty("storePassword")
39+
}
40+
}
41+
}
42+
43+
buildFeatures {
44+
viewBinding = true
45+
buildConfig = true
46+
}
47+
48+
buildTypes {
49+
debug {
50+
// we cannot change the original package name, else PhotoEditorSDK won't work
51+
//applicationIdSuffix = ".debug"
52+
}
53+
release {
54+
isMinifyEnabled = true
55+
proguardFiles(
56+
getDefaultProguardFile("proguard-android-optimize.txt"),
57+
"proguard-rules.pro"
58+
)
59+
if (keystorePropertiesFile.exists()) {
60+
signingConfig = signingConfigs.getByName("release")
61+
}
62+
}
63+
}
64+
65+
flavorDimensions.add("licensing")
66+
productFlavors {
67+
register("proprietary")
68+
register("foss")
69+
register("prepaid")
70+
}
71+
72+
sourceSets {
73+
getByName("main").java.srcDirs("src/main/kotlin")
74+
if (isProprietary) {
75+
getByName("main").java.srcDirs("src/proprietary/kotlin")
76+
}
77+
}
78+
79+
compileOptions {
80+
val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
81+
sourceCompatibility = currentJavaVersionFromLibs
82+
targetCompatibility = currentJavaVersionFromLibs
83+
}
84+
85+
tasks.withType<KotlinCompile> {
86+
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
87+
}
88+
89+
namespace = libs.versions.app.version.appId.get()
90+
91+
lint {
92+
checkReleaseBuilds = false
93+
abortOnError = false
94+
}
95+
96+
packaging {
97+
resources {
98+
excludes += "META-INF/library_release.kotlin_module"
99+
}
100+
}
101+
}
102+
103+
dependencies {
104+
implementation(libs.simple.tools.commons)
105+
implementation(libs.android.image.cropper)
106+
implementation(libs.exif)
107+
implementation(libs.android.gif.drawable)
108+
implementation(libs.androidx.constraintlayout)
109+
implementation(libs.androidx.media3.exoplayer)
110+
implementation(libs.sdk.panowidget)
111+
implementation(libs.sdk.videowidget)
112+
implementation(libs.sanselan)
113+
implementation(libs.imagefilters)
114+
implementation(libs.androidsvg.aar)
115+
implementation(libs.gestureviews)
116+
implementation(libs.subsamplingscaleimageview)
117+
implementation(libs.androidx.swiperefreshlayout)
118+
implementation(libs.awebp)
119+
implementation(libs.apng)
120+
implementation(libs.okio)
121+
implementation(libs.picasso) {
122+
exclude(group = "com.squareup.okhttp3", module = "okhttp")
123+
}
124+
compileOnly(libs.okhttp)
125+
126+
ksp(libs.glide.compiler)
127+
128+
implementation(libs.bundles.room)
129+
ksp(libs.androidx.room.compiler)
130+
}
131+
132+
// Apply the PESDKPlugin
133+
if (isProprietary) {
134+
apply(from = "../gradle/imglysdk.gradle")
135+
}

build.gradle

-49
This file was deleted.

build.gradle.kts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
plugins {
2+
alias(libs.plugins.android).apply(false)
3+
alias(libs.plugins.kotlinAndroid).apply(false)
4+
alias(libs.plugins.ksp).apply(false)
5+
alias(libs.plugins.imgly).apply(false)
6+
}

gradle/imglysdk.gradle

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// This file had to stay in Groovy
2+
// Since just converting it to Kotlin will not work
3+
// There needs to be a way to conditinally apply this plugin
4+
// But that results in missing references for `imglyConfig`
5+
apply plugin: 'ly.img.android.sdk'
6+
7+
imglyConfig {
8+
vesdk {
9+
enabled true
10+
licensePath 'vesdk_android_license'
11+
}
12+
13+
pesdk {
14+
enabled true
15+
licensePath 'pesdk_android_license'
16+
}
17+
18+
modules {
19+
include 'ui:video-trim'
20+
include 'ui:core'
21+
include 'ui:text'
22+
include 'ui:focus'
23+
include 'ui:brush'
24+
include 'ui:filter'
25+
include 'ui:sticker'
26+
include 'ui:overlay'
27+
include 'ui:transform'
28+
include 'ui:adjustment'
29+
include 'ui:video-composition'
30+
31+
include 'backend:serializer'
32+
include 'backend:sticker-smart'
33+
include 'backend:sticker-animated'
34+
35+
include 'assets:font-basic'
36+
include 'assets:filter-basic'
37+
include 'assets:overlay-basic'
38+
include 'assets:sticker-shapes'
39+
include 'assets:sticker-emoticons'
40+
include 'assets:sticker-animated'
41+
}
42+
}

0 commit comments

Comments
 (0)