Skip to content
Snippets Groups Projects
gradle-publish.gradle 1.99 KiB
Newer Older
Taras's avatar
Taras committed
apply plugin: 'com.android.library'
Taras's avatar
Taras committed
apply plugin: 'maven-publish'

Taras's avatar
Taras committed
def groupIdString = "org.matrix.android"
def artifactIdString = "matrix-sdk-android"
Taras's avatar
Taras committed
def versionName = "1.5.2"
Taras's avatar
Taras committed
def artifactPath = "$buildDir/outputs/aar/$artifactIdString-release.aar"
Taras's avatar
Taras committed
def publicationName = "release"
Taras's avatar
Taras committed
def projectId = "16"
def token = "e3yxa-_Duy7xLabSa7_z"
Taras's avatar
Taras committed

Taras's avatar
Taras committed
task sourceJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = "sources"
}

Taras's avatar
Taras committed
publishing {
    publications {
Taras's avatar
Taras committed
        "$publicationName"(MavenPublication) {
            groupId groupIdString
            artifactId artifactIdString
            version versionName
            artifact artifactPath
Taras's avatar
Taras committed
            artifact sourceJar
Taras's avatar
Taras committed

            pom.withXml {
Taras's avatar
Taras committed
                def dependenciesNode = asNode().appendNode('dependencies')
                ext.addDependency = { Dependency dep, String scope ->
Taras's avatar
Taras committed
                    if (dep.group == null || dep.name == null || dep.name == "unspecified")
Taras's avatar
Taras committed
                        return
                    final dependencyNode = dependenciesNode.appendNode('dependency')
                    dependencyNode.appendNode('groupId', dep.group)
                    dependencyNode.appendNode('artifactId', dep.name)
Taras's avatar
Taras committed
                    if (dep.version != null)
                        dependencyNode.appendNode('version', dep.version)
Taras's avatar
Taras committed
                    dependencyNode.appendNode('scope', scope)
Taras's avatar
Taras committed
                }
Taras's avatar
Taras committed
                configurations.api.getDependencies().each { dep -> addDependency(dep, "compile") }
                configurations.implementation.getDependencies().each { dep -> addDependency(dep, "runtime") }
Taras's avatar
Taras committed
            }
        }
    }
    repositories {
        maven {
Taras's avatar
Taras committed
            url "https://gitlab.futo.org/api/v4/projects/$projectId/packages/maven"
            name "GitLab"
Taras's avatar
Taras committed
            credentials(HttpHeaderCredentials) {
                name = "Private-Token"
Taras's avatar
Taras committed
                value = token
Taras's avatar
Taras committed
            }
            authentication {
                header(HttpHeaderAuthentication)
            }
        }
    }
}