/* * Copyright 2024-2025 MicroEJ Corp. All rights reserved. * MicroEJ Corp. PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.compose.compiler) `maven-publish` } val version = "1.1.0" val artifactVersion: String = run { version + if (version.endsWith("-RC")) { LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")) } else { "" } } repositories { google() mavenCentral() } android { namespace = "com.microej.wear.companion" compileSdk = 36 buildToolsVersion = "36.0.0" defaultConfig { applicationId = "com.microej.app.wear.companion" minSdk = 33 versionCode = 2 versionName = artifactVersion buildConfigField("String", "APP_VERSION", "\"$artifactVersion\"") } signingConfigs { create("dev") { storeFile = file("dev.keystore.jks") storePassword = "devdev" keyAlias = "dev" keyPassword = "devdev" } } buildTypes { debug { signingConfig = signingConfigs.getByName("dev") } release { // Production signing config is not required for now, we can temporarily use the dev // signing config. signingConfig = signingConfigs.getByName("dev") isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true buildConfig = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.1" } packaging { resources.excludes.add("META-INF/*") } publishing { singleVariant("release") } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) implementation(libs.androidx.navigation.runtime.ktx) implementation(libs.androidx.navigation.compose) implementation(project(":wear-companion-client")) implementation(libs.microej.veewear.protocol) } afterEvaluate { publishing { publications { register("release") { groupId = "com.microej.app.wear" artifactId = "wear-companion-app" version = artifactVersion val apkFile = layout.buildDirectory.file("outputs/apk/release/${project.name}-release.apk") artifact(apkFile) { builtBy(tasks.getByName("packageRelease")) } from(components["release"]) } } } } tasks.register("checkModule") { // I0047J-176 empty task for CI build }