xref: /aosp_15_r20/external/subsampling-scale-image-view/release.gradle (revision b596130c744e645677984e0225561b580e00a40b)
1apply plugin: 'maven'
2apply plugin: 'signing'
3
4def isReleaseBuild() {
5    return version.contains("SNAPSHOT") == false
6}
7
8def getMavenRepositoryUrl() {
9    return hasProperty('repositoryUrl') ? property('repositoryUrl') : "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
10}
11
12def getMavenRepositoryUsername() {
13    return hasProperty('sonatypeUsername') ? property('sonatypeUsername') : ""
14}
15
16def getMavenRepositoryPassword() {
17    return hasProperty('sonatypePassword') ? property('sonatypePassword') : ""
18}
19
20afterEvaluate { project ->
21
22    signing {
23        required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
24        sign configurations.archives
25    }
26
27    uploadArchives {
28        configuration = configurations.archives
29        repositories.mavenDeployer {
30            beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
31
32            repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
33                authentication(userName: getMavenRepositoryUsername(), password: getMavenRepositoryPassword())
34            }
35
36            pom.project {
37                name 'SubsamplingScaleImageView'
38                packaging 'aar'
39                description 'Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc.'
40                url 'https://github.com/davemorrissey/subsampling-scale-image-view'
41
42                scm {
43                    url 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git'
44                    connection 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git'
45                    developerConnection 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git'
46                }
47
48                licenses {
49                    license {
50                        name 'The Apache Software License, Version 2.0'
51                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
52                        distribution 'repo'
53                    }
54                }
55
56                developers {
57                    developer {
58                        id 'davemorrissey'
59                        name 'Dave Morrissey'
60                    }
61                }
62            }
63        }
64    }
65
66    task androidJavadocs(type: Javadoc) {
67        onlyIf { gradle.taskGraph.hasTask("uploadArchives") }
68        source = android.sourceSets.main.java.sourceFiles
69        destinationDir = rootProject.file("docs/javadoc")
70        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
71        classpath += configurations.compile
72        classpath += configurations.javadocs
73        options.noTimestamp = true
74        options.links = ['https://developer.android.com/reference/']
75    }
76
77    task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
78        classifier = 'javadoc'
79        from androidJavadocs.destinationDir
80    }
81
82    task androidSourcesJar(type: Jar) {
83        classifier = 'sources'
84        from android.sourceSets.main.java.sourceFiles
85    }
86
87    artifacts {
88        archives androidSourcesJar
89        archives androidJavadocsJar
90    }
91
92}
93