mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 22:17:03 +05:30
refactor(build): remove uses of internal AGP APIs
This commit is contained in:
parent
a161769cbd
commit
32a59d0104
3 changed files with 11 additions and 38 deletions
|
@ -1,26 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<issues format="6" by="lint 8.3.0" type="baseline" client="gradle" dependencies="false" name="AGP (8.3.0)" variant="all" version="8.3.0">
|
<issues format="6" by="lint 8.3.0" type="baseline" client="gradle" dependencies="false" name="AGP (8.3.0)" variant="all" version="8.3.0">
|
||||||
|
|
||||||
<issue
|
|
||||||
id="InternalGradleApiUsage"
|
|
||||||
message="Avoid using internal Android Gradle Plugin APIs"
|
|
||||||
errorLine1="import com.android.build.gradle.internal.dsl.BaseAppModuleExtension"
|
|
||||||
errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
||||||
<location
|
|
||||||
file="src/main/kotlin/dev/msfjarvis/claw/gradle/signing/AppSigning.kt"
|
|
||||||
line="9"
|
|
||||||
column="1"/>
|
|
||||||
</issue>
|
|
||||||
|
|
||||||
<issue
|
|
||||||
id="InternalGradleApiUsage"
|
|
||||||
message="Avoid using internal Android Gradle Plugin APIs"
|
|
||||||
errorLine1="import com.android.build.gradle.internal.plugins.AppPlugin"
|
|
||||||
errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
||||||
<location
|
|
||||||
file="src/main/kotlin/dev/msfjarvis/claw/gradle/versioning/VersioningPlugin.kt"
|
|
||||||
line="11"
|
|
||||||
column="1"/>
|
|
||||||
</issue>
|
|
||||||
|
|
||||||
</issues>
|
</issues>
|
||||||
|
|
|
@ -6,32 +6,29 @@
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.claw.gradle.signing
|
package dev.msfjarvis.claw.gradle.signing
|
||||||
|
|
||||||
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
import com.android.build.api.dsl.ApplicationBuildType
|
||||||
|
import com.android.build.api.dsl.CommonExtension
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.kotlin.dsl.configure
|
|
||||||
|
|
||||||
private const val KEYSTORE_CONFIG_PATH = "keystore.properties"
|
private const val KEYSTORE_CONFIG_PATH = "keystore.properties"
|
||||||
|
|
||||||
/** Configure signing for all build types. */
|
/** Configure signing for all build types. */
|
||||||
@Suppress("UnstableApiUsage")
|
|
||||||
internal fun Project.configureBuildSigning() {
|
internal fun Project.configureBuildSigning() {
|
||||||
val keystoreConfigFile = rootProject.layout.projectDirectory.file(KEYSTORE_CONFIG_PATH)
|
val keystoreConfigFile = rootProject.layout.projectDirectory.file(KEYSTORE_CONFIG_PATH)
|
||||||
if (keystoreConfigFile.asFile.exists()) {
|
if (keystoreConfigFile.asFile.exists()) {
|
||||||
extensions.configure<BaseAppModuleExtension> {
|
extensions.configure<CommonExtension<*, ApplicationBuildType, *, *, *, *>>("android") {
|
||||||
val contents = providers.fileContents(keystoreConfigFile).asText
|
val contents = providers.fileContents(keystoreConfigFile).asText
|
||||||
val keystoreProperties = Properties()
|
val keystoreProperties = Properties()
|
||||||
keystoreProperties.load(contents.get().byteInputStream())
|
keystoreProperties.load(contents.get().byteInputStream())
|
||||||
signingConfigs {
|
val releaseSigningConfig =
|
||||||
register("release") {
|
signingConfigs.register("release") {
|
||||||
keyAlias = keystoreProperties["keyAlias"] as String
|
keyAlias = keystoreProperties["keyAlias"] as String
|
||||||
keyPassword = keystoreProperties["keyPassword"] as String
|
keyPassword = keystoreProperties["keyPassword"] as String
|
||||||
storeFile = rootProject.file(keystoreProperties["storeFile"] as String)
|
storeFile = rootProject.file(keystoreProperties["storeFile"] as String)
|
||||||
storePassword = keystoreProperties["storePassword"] as String
|
storePassword = keystoreProperties["storePassword"] as String
|
||||||
}
|
}
|
||||||
}
|
buildTypes.configureEach { signingConfig = releaseSigningConfig.get() }
|
||||||
val signingConfig = signingConfigs.getByName("release")
|
|
||||||
buildTypes.configureEach { setSigningConfig(signingConfig) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ package dev.msfjarvis.claw.gradle.versioning
|
||||||
|
|
||||||
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||||
import com.android.build.api.variant.VariantOutputConfiguration
|
import com.android.build.api.variant.VariantOutputConfiguration
|
||||||
import com.android.build.gradle.internal.plugins.AppPlugin
|
|
||||||
import com.github.zafarkhaja.semver.Version
|
import com.github.zafarkhaja.semver.Version
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
import java.util.concurrent.atomic.AtomicBoolean
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
|
@ -16,13 +15,12 @@ import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.kotlin.dsl.configure
|
import org.gradle.kotlin.dsl.configure
|
||||||
import org.gradle.kotlin.dsl.register
|
import org.gradle.kotlin.dsl.register
|
||||||
import org.gradle.kotlin.dsl.withType
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Gradle [Plugin] that takes a [Project] with the [AppPlugin] applied and dynamically sets the
|
* A Gradle [Plugin] that takes a [Project] with the `com.android.application` applied and
|
||||||
* versionCode and versionName properties based on values read from a [VERSIONING_PROP_FILE] file in
|
* dynamically sets the versionCode and versionName properties based on values read from a
|
||||||
* the [Project.getProjectDir] directory. It also adds Gradle tasks to bump the major, minor, and
|
* [VERSIONING_PROP_FILE] file in the [Project.getProjectDir] directory. It also adds Gradle tasks
|
||||||
* patch versions along with one to prepare the next snapshot.
|
* to bump the major, minor, and patch versions along with one to prepare the next snapshot.
|
||||||
*/
|
*/
|
||||||
@Suppress("Unused")
|
@Suppress("Unused")
|
||||||
class VersioningPlugin : Plugin<Project> {
|
class VersioningPlugin : Plugin<Project> {
|
||||||
|
@ -54,7 +52,7 @@ class VersioningPlugin : Plugin<Project> {
|
||||||
)
|
)
|
||||||
.map(String::toInt)
|
.map(String::toInt)
|
||||||
|
|
||||||
project.plugins.withType<AppPlugin> {
|
project.pluginManager.withPlugin("com.android.application") {
|
||||||
androidAppPluginApplied.set(true)
|
androidAppPluginApplied.set(true)
|
||||||
extensions.configure<ApplicationAndroidComponentsExtension> {
|
extensions.configure<ApplicationAndroidComponentsExtension> {
|
||||||
onVariants { variant ->
|
onVariants { variant ->
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue