6c1e41ba10
* release: move scripts to scripts directory Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Move CI secrets to secrets directory Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * gradle: uprev to 6.7 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * gradle: suppress warnings about unsupported options Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: update dependencies Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: move Gradle plugins to ext Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: move configuration tasks to buildSrc Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: add entry for #1137 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix lint warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
86 lines
3 KiB
Text
86 lines
3 KiB
Text
plugins {
|
|
id("com.android.library")
|
|
id("maven-publish")
|
|
kotlin("android")
|
|
`aps-plugin`
|
|
}
|
|
|
|
// Type safety can sometimes suck
|
|
fun getCredential(type: String): String {
|
|
return when (type) {
|
|
// Attempt to find credentials passed by -Pmaven.$type=
|
|
"user", "password" -> (findProperty("maven.$type")
|
|
// Fall back to MAVEN_$type from env
|
|
?: System.getenv("MAVEN_${type.toUpperCase()}"))?.toString()
|
|
// Finally fallthrough to an empty string to let task configuration complete
|
|
// even if actual publishing is going to fail
|
|
?: ""
|
|
else -> throw IllegalArgumentException("Invalid credential type: $type")
|
|
}
|
|
}
|
|
|
|
android {
|
|
defaultConfig {
|
|
versionCode = 1
|
|
versionName = "1.0"
|
|
consumerProguardFiles("consumer-rules.pro")
|
|
}
|
|
}
|
|
|
|
afterEvaluate {
|
|
publishing {
|
|
repositories {
|
|
maven {
|
|
name = "aps"
|
|
url = uri("https://maven.msfjarvis.dev/android-password-store/${findProperty("POM_ARTIFACT_ID")}")
|
|
credentials {
|
|
username = getCredential("user")
|
|
password = getCredential("password")
|
|
}
|
|
}
|
|
}
|
|
publications {
|
|
create<MavenPublication>("apsMaven") {
|
|
fun getKey(propertyName: String): String {
|
|
return findProperty(propertyName)?.toString() ?: error("Failed to find property for $propertyName")
|
|
}
|
|
|
|
from(components.getByName("release"))
|
|
groupId = getKey("GROUP")
|
|
artifactId = getKey("POM_ARTIFACT_ID")
|
|
version = getKey("VERSION_NAME")
|
|
pom {
|
|
name.set(getKey("POM_ARTIFACT_ID"))
|
|
description.set(getKey("POM_ARTIFACT_DESCRIPTION"))
|
|
url.set(getKey("POM_URL"))
|
|
licenses {
|
|
license {
|
|
name.set(getKey("POM_LICENSE_NAME"))
|
|
url.set(getKey("POM_LICENSE_URL"))
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id.set(getKey("POM_DEVELOPER_ID"))
|
|
name.set(getKey("POM_DEVELOPER_NAME"))
|
|
email.set(getKey("POM_DEVELOPER_EMAIL"))
|
|
}
|
|
}
|
|
scm {
|
|
connection.set(getKey("POM_SCM_CONNECTION"))
|
|
developerConnection.set(getKey("POM_SCM_DEV_CONNECTION"))
|
|
url.set(getKey("POM_SCM_URL"))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly(Dependencies.AndroidX.annotation)
|
|
implementation(Dependencies.AndroidX.autofill)
|
|
implementation(Dependencies.Kotlin.Coroutines.android)
|
|
implementation(Dependencies.Kotlin.Coroutines.core)
|
|
implementation(Dependencies.ThirdParty.timberkt)
|
|
}
|