summaryrefslogtreecommitdiff
path: root/autofill-parser/build.gradle.kts
blob: a4d0582d20e4aedf938efd72e995ed1c4cb241d6 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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 {
    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") {
                from(components.getByName("release"))
                groupId = findProperty("GROUP").toString()
                artifactId = findProperty("POM_ARTIFACT_ID").toString()
                version = findProperty("VERSION_NAME").toString()
            }
        }
    }
}

dependencies {
    implementation(Dependencies.AndroidX.autofill)
    implementation(Dependencies.Kotlin.Coroutines.android)
    implementation(Dependencies.Kotlin.Coroutines.core)
    implementation(Dependencies.ThirdParty.timberkt)
}