/* * Copyright (C) 2022 E FOUNDATION * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'maven-publish' group 'foundation.e' android { compileSdkVersion buildConfig.compileSdk defaultConfig { minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk consumerProguardFiles "consumer-rules.pro" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation( libs.androidx.core.ktx, libs.kotlinx.coroutines ) } //url "https://gitlab.e.foundation/api/v4/groups/e/privacy-central/-/packages/maven" publishing { publications { maven(MavenPublication) { groupId 'foundation.e' //You can either define these here or get them from project conf elsewhere artifactId 'privacymodule-api' version buildConfig.version.name artifact "$buildDir/outputs/aar/privacymodule-api-release.aar" //aar artifact you want to publish //generate pom nodes for dependencies pom.withXml { def dependenciesNode = asNode().appendNode('dependencies') configurations.implementation.allDependencies.each { dependency -> if (dependency.name != 'unspecified') { def dependencyNode = dependenciesNode.appendNode('dependency') dependencyNode.appendNode('groupId', dependency.group) dependencyNode.appendNode('artifactId', dependency.name) dependencyNode.appendNode('version', dependency.version) } } } repositories { def ciJobToken = System.getenv("CI_JOB_TOKEN") def ciApiV4Url = System.getenv("CI_API_V4_URL") if (ciJobToken != null) { maven { url "${ciApiV4Url}/projects/900/packages/maven" credentials(HttpHeaderCredentials) { name = 'Job-Token' value = ciJobToken } authentication { header(HttpHeaderAuthentication) } } } else { maven { // url "https://gitlab.e.foundation/api/v4/projects/900/packages/maven" // Use privacymodule-e repository (id = 781) for now, // because repository not activated on Advanced Privacy (id = 900) url "https://gitlab.e.foundation/api/v4/projects/781/packages/maven" credentials(HttpHeaderCredentials) { name = "Private-Token" value = gitLabPrivateToken // the variable resides in ~/.gradle/gradle.properties } authentication { header(HttpHeaderAuthentication) } } } } } } }