build.gradle 2.3 KB
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        compose_version = '1.0.3'
        kotlin_version = '1.5.30'
        java_version = JavaVersion.VERSION_1_8
        dokka_version = '1.5.0'
    }
    repositories {
        google()
        mavenCentral()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
        classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.15'
        classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.30.0"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
apply plugin: 'io.codearte.nexus-staging'

subprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

nexusStaging {
    serverUrl = "https://s01.oss.sonatype.org/service/local/"
    packageGroup = GROUP
    stagingProfileId = "16b57cbf143daa"
}

ext {
    androidSdk = [
            compileVersion: 29,
            targetVersion : 29,
            minVersion    : 21,
    ]
    versions = [
            androidx_core     : "1.2.0",
            androidx_lifecycle: "2.3.1",
            dagger            : "2.27",
            groupie           : "2.9.0",
            protobuf          : "3.15.1",
    ]
    generated = [
            protoSrc: "$projectDir/protocol",
    ]
    deps = [
            kotlinx_coroutines: "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2",
            timber : "com.github.ajalt:timberkt:1.5.1",
    ]
    annotations = [
    ]
}
afterEvaluate {
    // These aren't supported for snapshots. From nexus staging plugin.
    if (VERSION_NAME.contains("SNAPSHOT")) {
        ["closeAndReleaseRepository",
         "closeRepository",
         "createRepository",
         "getStagingProfile",
         "releaseRepository"]
                .forEach { taskName ->
                    getTasksByName(taskName, false).forEach { task -> task.enabled = false }
                }
    }
}