apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
//apply plugin: 'kotlin-kapt'
apply plugin: 'maven-publish'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
// Add the information to the bottom of the file.
if (hasProperty('buildScan')) {
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
}
def kotlin_version = '2.0.0'
def javaVersionEnum = JavaVersion.VERSION_21
def javaVersion = "21"
def code = 336903045
//3 sept. 2023, 14:F27:03 (UTC).
// 7 : 20 oct. 2023 22:41:00 (UTC)
java {
toolchain {
languageVersion = JavaLanguageVersion.of(javaVersion)
}
}
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(javaVersion))
}
}
android {
namespace 'one.empty3.feature.app.maxSdk29.pro'
testNamespace 'one.empty3.apps.test'
packagingOptions {
resources {
excludes += ['/META-INF/{AL2.0,LGPL2.1}', 'META-INF/DEPENDENCIES', 'META-INF/LICENSE', 'META-INF/LICENSE.txt', 'META-INF/license.txt', 'META-INF/NOTICE', 'META-INF/NOTICE.txt', 'META-INF/notice.txt', 'META-INF/ASL2.0', 'META-INF/*.kotlin_module', 'xsd/catalog.xml', 'META-INF/LICENSE.md', 'META-INF/NOTICE.md', 'META-INF/io.netty.versions.properties', 'META-INF/INDEX.LIST']
}
}
signingConfigs {
debug {
storeFile file('C:\\Users\\manue\\keystore')//keystore_android_apps.jks')
storePassword 'faeeagrzdsd'
keyAlias 'upload'//manuel////upload//featureapp4
keyPassword 'faeeagrzdsd'
}
release {
storeFile file('C:\\Users\\manue\\keystore')//keystore_android_apps.jks')
storePassword 'faeeagrzdsd'
keyAlias 'upload'//manuel//// upload//featureapp4
keyPassword 'faeeagrzdsd'
}
}
lint {
baseline = file("lint-baseline.xml")
abortOnError false
checkOnly 'NewApi', 'InlinedApi'
disable 'TypographyFractions', 'TypographyQuotes'
enable 'RtlHardcoded', 'RtlCompat', 'RtlEnabled'
ignoreWarnings true
quiet true
}
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
// Disables dependency metadata when building Android App Bundles.
includeInBundle = false
}
// With compileOptions the warning disappears
compileOptions {
sourceCompatibility = javaVersionEnum
targetCompatibility = javaVersionEnum
}
kotlinOptions {
jvmTarget = javaVersion
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.kotlin.srcDirs += 'src/main/java'
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
debuggable false
// Includes the default ProGuard rules files that are packaged with
// the Android Gradle plugin. To learn more, go to the section about
// R8 configuration files.
proguardFiles getDefaultProguardFile(
'proguard-android-optimize.txt'),
'proguard-rules.pro'
ndk {
debugSymbolLevel = 'full'
}
}
debug {
debuggable true
//buildConfigField "Boolean", "DEBUG_MODE", "false"
ndk {
debugSymbolLevel 'FULL'
}
}
}
configurations {
all*.exclude group: 'one.empty3.libs', module: 'partial-deskop'
}
packaging {
}
packagingOptions {
resources {
exclude('/META-INF/{AL2.0,LGPL2.1}')
}
exclude('mozilla/public-suffix-list.txt')
exclude('META-INF/LICENSE-notice.md')
exclude("META-INF/DEPENDENCIES")
exclude("META-INF/LICENSE")
exclude("META-INF/LICENSE.txt")
exclude("META-INF/license.txt")
exclude("META-INF/NOTICE")
exclude("META-INF/NOTICE.txt")
exclude("META-INF/notice.txt")
exclude("META-INF/ASL2.0")
exclude("META-INF/*.kotlin_module")
dex {
useLegacyPackaging = false
}
}
configurations {
all*.exclude group: 'xpp3', module: 'xpp3'
all*.exclude group: 'xml-apis', module: 'xml-apis'
all*.exclude group: 'net.sf.kxml', module: 'kxml2'
all*.exclude group: 'xmlpull', module: 'xmlpull'
all*.exclude group: 'com.sun.activation', module: 'javax.activation'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-compiler-embeddable'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-gradle-plugin-api'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-gradle-plugin'
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-build-common'
all*.exclude group: 'org.jdom', module: 'jdom2'
all*.exclude group: 'com.google.cloud', module: 'google-cloud-dialogflow'
all*.exclude group: 'com.google.api.grpc', module: 'proto-google-common-protos'
//all*.exclude group:'com.google.firebase', module:'protolite-well-known-types', version: '18.0.0'
all*.exclude group: 'com.google.protobuf', module: 'protobuf-javalite'
all*.exclude group: 'com.google.protobuf', module: 'protobuf-java'
//all*.exclude module: 'guava'
all {
resolutionStrategy {
// force 'com.google.firebase', name: 'protolite-well-known-types', version: '18.0.0'
//force 'com.google.protobuf:proto-google-common-protos:2.48.0'
//force 'com.google.firebase:protolite-well-known-types:18.0.0'
//force("org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.2")
force 'org.xerial:sqlite-jdbc:3.34.0'
//force 'xpp3:xpp3:1.1.4c'
force 'jakarta.activation:jakarta.activation-api:1.2.1'
//force 'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.0'
//force 'org.jetbrains.kotlin:kotlin-build-common:1.8.0'
//force 'net.sf.kxml:kxml2:2.3.0'
//force 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0'
//force ' xmlpull:xmlpull:1.1.3.1'
//force 'org.jetbrains.kotlin:kotlin-compiler:1.8.0'
//force 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0'
// https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-reflect
//force group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: '1.8.0'
// https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-reflect
//force group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: '1.8.0'
}
}
}
testOptions {
unitTests.returnDefaultValues = true
}
buildFeatures {
viewBinding true
dataBinding true
}
defaultConfig {
applicationId "one.empty3.feature.app.maxSdk29.pro"
testApplicationId = "one.empty3.feature.app.maxSdk29.pro.test"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
targetSdk 35
compileSdk 35
minSdk 29
javaVersionEnum
versionCode code
versionName "8.0"
signingConfig signingConfigs.release
}
}
dependencies {
implementation(project(":partialandroid"))
implementation "one.empty3.libs:commons-mp:0.0.4"
implementation("one.empty3:empty3-library-mp:2024.11.8-1")
// This dependency is downloaded from the Google’s Maven repository.
// So, make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.play:asset-delivery:2.2.2'
// For Kotlin users also add the Kotlin extensions library for Play Asset Delivery:
implementation 'com.google.android.play:asset-delivery-ktx:2.2.2'
// This dependency is downloaded from the Google’s Maven repository.
// So, make sure you also include that repository in your project's build.gradle file.
//implementation 'com.google.android.play:feature-delivery:2.1.0'
// For Kotlin users, also add the Kotlin extensions library for Play Feature Delivery:
//implementation 'com.google.android.play:feature-delivery-ktx:2.1.0'
// This dependency is downloaded from the Google’s Maven repository.
// Make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.play:review:2.0.1'
// For Kotlin users, also add the Kotlin extensions library for Play In-App Review:
implementation 'com.google.android.play:review-ktx:2.0.1'
// This dependency is downloaded from the Google’s Maven repository.
// Make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.play:app-update:2.1.0'
// For Kotlin users, also add the Kotlin extensions library for Play In-App Update:
implementation 'com.google.android.play:app-update-ktx:2.1.0'
implementation 'com.google.android.gms:play-services-ads:23.2.0'
implementation 'com.google.firebase:firebase-appcheck:18.0.0'
def versions_work = "2.9.0"
implementation "androidx.work:work-runtime:2.9.0"
implementation "androidx.work:work-runtime-ktx:2.9.0"
implementation 'com.google.firebase:firebase-analytics:22.0.2'
implementation 'com.google.android.play:integrity:1.3.0'
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:33.1.1')
implementation 'com.google.firebase:firebase-appcheck-playintegrity:18.0.0'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
implementation "androidx.compose.compiler:compiler:1.5.15"
// When using a MDC theme
//implementation "com.google.android.material:compose-theme-adapter:1.2.1"
implementation "androidx.work:work-runtime:2.9.0"
//implementation "androidx.compose.ui:ui:$compose_version"
// implementation "androidx.compose.material:material:$compose_version"
//implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
//implementation "androidx.compose.material3:material3:1.1.2"
//implementation "androidx.compose.material3:material3-window-size-class:1.1.2"
implementation "com.android.support:support-v4:28.0.0"
// When using a AppCompat theme
//implementation "com.google.accompanist:accompanist-appcompat-theme:0.25.1"
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.3'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3'
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
//implementation 'com.google.ar:core:1.32.0'
implementation 'junit:junit:4.13.2'
implementation "androidx.preference:preference-ktx:1.2.1"
implementation "androidx.databinding:viewbinding:8.5.0"
implementation "androidx.databinding:databinding-common:8.5.0"
implementation "androidx.databinding:databinding-runtime:8.5.0"
implementation "androidx.databinding:databinding-adapters:8.5.0"
implementation 'androidx.annotation:annotation:1.8.0'
annotationProcessor "androidx.databinding:databinding-compiler:8.5.0"
implementation "androidx.databinding:databinding-ktx:8.5.0"
//implementation "com.google.android.datatransport:transport-runtime:3.1.9"
implementation 'androidx.camera:camera-video:1.3.4'
implementation 'androidx.camera:camera-lifecycle:1.3.4'
implementation 'androidx.camera:camera-camera2:1.3.4'
implementation 'com.google.guava:guava:33.2.1-jre'
implementation 'androidx.work:work-runtime-ktx:2.9.0'
implementation "com.google.mlkit:face-detection:16.1.6"
implementation 'com.google.mlkit:object-detection:17.0.1'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.3'
// Unit testing
testImplementation 'androidx.test.ext:junit:1.2.1'
testImplementation 'androidx.test:rules:1.6.1'
testImplementation 'androidx.test:runner:1.6.1'
testImplementation 'androidx.test.espresso:espresso-core:3.6.1'
testImplementation 'org.robolectric:robolectric:4.12.2'
implementation 'com.google.android.material:material:1.12.0'
// Instrumented testing
androidTestImplementation "androidx.test.ext:junit:1.2.1"
androidTestImplementation "androidx.test:core:1.6.1"
androidTestImplementation "androidx.test:rules:1.6.1"
androidTestImplementation "androidx.test:runner:1.6.1"
androidTestImplementation "androidx.test.espresso:espresso-core:3.6.1"
implementation "androidx.core:core-ktx:1.13.1"
implementation("com.jgoodies:jgoodies-common:1.8.1")
implementation 'com.github.yukuku:ambilwarna:2.0.1'
// Import the BoM for the Firebase platform
// Add the dependency for the Performance Monitoring library
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-perf-ktx")
implementation 'com.google.android.play:integrity:1.3.0'
implementation 'com.google.android.gms:play-services-vision:20.1.3'
// Add the dependency for the Realtime Database library
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-database-ktx")
def nav_version = "2.7.7"
// Java language implementation
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
// Kotlin
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
// Feature module Support
implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
// Testing Navigation
androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
// Jetpack Compose Integration
implementation "androidx.navigation:navigation-compose:$nav_version"
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:33.1.1"))
// Add the dependency for the Firebase Authentication library
// When using the BoM, you don't specify versions in Firebase library dependencies
//implementation("com.google.firebase:firebase-auth-ktx:23.0.0")
// Add the dependency for the Firebase Authentication library
// When using the BoM, you don't specify versions in Firebase library dependencies
//implementation("com.google.firebase:firebase-auth:23.0.0")
// Also add the dependency for the Google Play services library and specify its version
implementation("com.google.android.gms:play-services-auth:21.2.0")
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1'
// Java language implementation
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
// Kotlin
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
// add the dependency for the Vertex AI SDK for Android
implementation("com.google.firebase:firebase-vertexai:16.0.1")
implementation("com.google.firebase:firebase-messaging:24.0.3")
def billingVersion = "7.0.0"
implementation "com.android.billingclient:billing:$billingVersion"
// https://mvnrepository.com/artifact/com.google.firebase/protolite-well-known-types
implementation group: 'com.google.firebase', name: 'protolite-well-known-types', version: '18.0.0'
implementation 'com.google.firebase:firebase-annotations:16.2.0'
implementation 'androidx.arch.core:core-common:2.2.0'
api 'androidx.databinding:databinding-runtime:8.7.2'
}
Properties properties = new Properties()
try {
// Other configuration here
File propertiesFile = new File('../../private.properties/gradle.properties')
propertiesFile.withInputStream {
properties.load(it)
}
} catch (Exception ex) {
ex.printStackTrace()
}
publishing {
publications {
maven(MavenPublication) {
groupId = "one.empty3.apps"
artifactId = "imagefeaturingeditor"
version = "4.0"
}
}
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
maven {
url "https://maven.pkg.jetbrains.space/empty3/p/empty3/maven"
credentials {
username = properties.get("spaceUsername")
password = properties.get("spacePassword")
}
}
mavenCentral()
}
}
java {
sourceCompatibility = javaVersionEnum
targetCompatibility = javaVersionEnum
}