summaryrefslogtreecommitdiff
path: root/platform/android/gradle/gradle-bintray.gradle
blob: 7e14a4c1ef1e82e2add7bff6e7baf00e301aae41 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'maven-publish'
apply from: file('../gradle/artifact-settings.gradle')


group = project.ext.mapboxArtifactGroupId
project.archivesBaseName = project.ext.mapboxArtifactId

install {
    repositories.mavenInstaller {
        pom.project {

            // Make sure that artifactId and name are the same String values!
            // https://github.com/bintray/gradle-bintray-plugin/issues/81#issuecomment-149632738

            name project.ext.mapboxArtifactId
            println 'name = ' + name

            description project.ext.mapboxArtifactDescription
            println 'description = ' + description
            url project.ext.mapboxArtifactGitUrl
            inceptionYear project.ext.mapboxArtifactInceptionYear

            packaging 'aar'
            groupId project.ext.mapboxArtifactGroupId
            artifactId project.ext.mapboxArtifactId
            version project.ext.versionName
            println 'version = ' + version

            scm {
                connection project.ext.mapboxArtifactVcsUrl
                url project.ext.mapboxArtifactScmUrl
            }

            developers {
                developer {
                    name project.ext.mapboxArtifactDeveloperName
                }
            }

            licenses {
                license {
                    name project.ext.mapboxLicenseName
                    url project.ext.mapboxLicenseUrl
                    distribution 'repo'
                }
            }
        }
    }
}

publishing {
    publications {
        MapboxMapsSdkPublication(MavenPublication) {

            artifact("$buildDir/outputs/aar/mapbox-android-sdk-release.aar")

            // TODO: Uncomment these and use exisiting Gradle tasks in `gradle-publish.gradle` ?
            // TODO: https://github.com/search?q=%22artifact%28sourcesJar%29+++++++++++++artifact%28javadocJar%29%22&type=Code
            /*artifact(sourcesJar)
            artifact(javadocJar)
*/
            // For some reason, uncommented the following 3 declarations throws an error:
            /*
            groupId 'com.mapbox.mapboxsdk'
            artifactId = 'mapbox-android-sdk'
            version project.ext.versionName
            */

            pom.withXml {
                def dependenciesNode = asNode().getAt('dependencies')[0] ?: asNode().appendNode('dependencies')

                // Iterate over the implementation dependencies (we don't want the test ones), adding a <dependency> node for each
                configurations.implementation.allDependencies.each {
                    // Ensure dependencies such as fileTree are not included.
                    if (it.name != 'unspecified') {
                        def dependencyNode = dependenciesNode.appendNode('dependency')
                        dependencyNode.appendNode('groupId', it.group)
                        dependencyNode.appendNode('artifactId', it.name)
                        dependencyNode.appendNode('version', it.version)
                    }
                }
            }
        }
    }
}

bintray {

    user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER')

    key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_KEY')

    publications = ['MapboxMapsSdkPublication']
    pkg {

        repo = project.ext.mapboxBintrayRepoName
        println 'pkg repo = ' + repo

        name = project.ext.mapboxArtifactId
        println 'pkg name = ' + name

        userOrg = project.ext.mapboxBintrayUserOrg
        println 'pkg userOrg = ' + userOrg

        licenses = [project.ext.mapboxLicenseName]
        vcsUrl = project.ext.mapboxArtifactVcsUrl
        version {
            name = project.ext.versionName
            desc = 'Mapbox Maps SDK for Android'
            released = new Date()
            println 'version released = ' + released

            gpg {
                sign = true
                passphrase = project.hasProperty('gpgPassphrase') ? project.property('gpgPassphrase') : System.getenv('GPG_PASSPHRASE')
            }
            mavenCentralSync {
                sync = false
            }
        }
    }
}