aboutsummaryrefslogtreecommitdiff
path: root/autofill-parser/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'autofill-parser/build.gradle.kts')
-rw-r--r--autofill-parser/build.gradle.kts38
1 files changed, 38 insertions, 0 deletions
diff --git a/autofill-parser/build.gradle.kts b/autofill-parser/build.gradle.kts
index be90cd0a..23d3e304 100644
--- a/autofill-parser/build.gradle.kts
+++ b/autofill-parser/build.gradle.kts
@@ -1,5 +1,20 @@
plugins {
kotlin("android")
+ id("maven-publish")
+}
+
+// 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 {
@@ -10,6 +25,29 @@ android {
}
}
+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") {
+ from(components.getByName("release"))
+ groupId = findProperty("GROUP").toString()
+ artifactId = findProperty("POM_ARTIFACT_ID").toString()
+ version = findProperty("VERSION_NAME").toString()
+ }
+ }
+ }
+}
+
dependencies {
implementation(Dependencies.AndroidX.core_ktx)
implementation(Dependencies.AndroidX.autofill)