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

buildscript {
    apply from: 'deps.gradle'
    repositories {
        google()
        gradlePluginPortal()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10"
        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.19'
        classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.30.0"
        classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5'
        // 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()
        maven { url 'https://jitpack.io' }
    }
}

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

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

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 }
                }
    }
}