mirror of
https://github.com/SimpleMobileTools/Simple-Gallery.git
synced 2024-12-12 08:36:09 +01:00
d917e42b72
The introduction of the proprietary PhotoEditor SDK prevented this app from being truly free and open source, and so F-Droid could no longer build the app. By adding a licensing flavor dimension, we segregate the non-FOSS code to a separate version, while providing a FOSS version without the editor. To build the proprietary version, select one of the proprietary build variants from Build Variants pane in Android Studio (on the left side of the window). Fixes #1706.
132 lines
3.9 KiB
Groovy
132 lines
3.9 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'kotlin-kapt'
|
|
|
|
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|
def keystoreProperties = new Properties()
|
|
if (keystorePropertiesFile.exists()) {
|
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 28
|
|
buildToolsVersion "28.0.3"
|
|
|
|
defaultConfig {
|
|
applicationId "com.simplemobiletools.gallery.pro"
|
|
minSdkVersion 21
|
|
targetSdkVersion 28
|
|
versionCode 294
|
|
versionName "6.12.5"
|
|
multiDexEnabled true
|
|
setProperty("archivesBaseName", "gallery")
|
|
vectorDrawables.useSupportLibrary = true
|
|
}
|
|
|
|
signingConfigs {
|
|
if (keystorePropertiesFile.exists()) {
|
|
release {
|
|
keyAlias keystoreProperties['keyAlias']
|
|
keyPassword keystoreProperties['keyPassword']
|
|
storeFile file(keystoreProperties['storeFile'])
|
|
storePassword keystoreProperties['storePassword']
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
// we cannot change the original package name, else PhotoEditorSDK won't work
|
|
//applicationIdSuffix ".debug"
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
if (keystorePropertiesFile.exists()) {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main.java.srcDirs += 'src/main/kotlin'
|
|
}
|
|
|
|
flavorDimensions "licensing"
|
|
productFlavors {
|
|
proprietary { }
|
|
foss {
|
|
// We're not using PhotoEditor here, so changing the name is fine.
|
|
applicationIdSuffix ".foss"
|
|
versionNameSuffix "-foss"
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
checkReleaseBuilds false
|
|
abortOnError false
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'META-INF/library_release.kotlin_module'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.simplemobiletools:commons:5.22.10'
|
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
implementation 'it.sephiroth.android.exif:library:1.0.1'
|
|
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
|
|
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6'
|
|
implementation 'com.google.vr:sdk-panowidget:1.180.0'
|
|
implementation 'com.google.vr:sdk-videowidget:1.180.0'
|
|
implementation 'org.apache.sanselan:sanselan:0.97-incubator'
|
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
|
implementation 'com.caverock:androidsvg-aar:1.3'
|
|
implementation 'com.github.tibbi:gestureviews:512f929d82'
|
|
implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39'
|
|
|
|
kapt 'com.github.bumptech.glide:compiler:4.10.0'
|
|
|
|
kapt 'androidx.room:room-compiler:2.2.2'
|
|
implementation 'androidx.room:room-runtime:2.2.2'
|
|
annotationProcessor 'androidx.room:room-compiler:2.2.2'
|
|
}
|
|
|
|
// Apply the PESDKPlugin
|
|
if (is_proprietary) {
|
|
apply plugin: 'ly.img.android.sdk'
|
|
|
|
imglyConfig {
|
|
pesdk {
|
|
enabled true
|
|
licencePath 'pesdk_license'
|
|
}
|
|
|
|
supportLibVersion "28.0.0"
|
|
|
|
modules {
|
|
include 'ui:core'
|
|
include 'ui:text'
|
|
include 'ui:focus'
|
|
include 'ui:brush'
|
|
include 'ui:filter'
|
|
include 'ui:transform'
|
|
include 'ui:adjustment'
|
|
|
|
include 'backend:serializer'
|
|
|
|
include 'assets:font-basic'
|
|
include 'assets:filter-basic'
|
|
}
|
|
}
|
|
}
|