18
18
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
19
*/
20
20
21
+ import com.android.builder.core.BuilderConstants
22
+
21
23
apply plugin : ' com.android.library'
22
24
25
+ version = " 0.0.1"
26
+
23
27
dependencies {
24
28
compile ' com.parse:parse-android:1.10.3'
25
29
@@ -30,11 +34,129 @@ dependencies {
30
34
}
31
35
32
36
android {
33
- compileSdkVersion 21
34
- buildToolsVersion " 21.1 .1"
37
+ compileSdkVersion 23
38
+ buildToolsVersion " 23.0 .1"
35
39
36
40
defaultConfig {
37
41
minSdkVersion 9
38
- targetSdkVersion 21
42
+ targetSdkVersion 23
43
+ versionName project. version
44
+ }
45
+ }
46
+
47
+ android. libraryVariants. all { variant ->
48
+ def name = variant. buildType. name
49
+
50
+ def jarTask = task(" jar${ name.capitalize()} " , type : Jar ) {
51
+ dependsOn variant. javaCompile
52
+ from variant. javaCompile. destinationDir
53
+
54
+ manifest {
55
+ attributes(
56
+ " Bundle-Name" : ' parseui-widget-android' ,
57
+ " Bundle-Version" : project. version
58
+ )
59
+ }
60
+
61
+ exclude ' **/R.class'
62
+ exclude ' **/R\$ *.class'
63
+ exclude ' **/Manifest.class'
64
+ exclude ' **/Manifest\$ *.class'
65
+ exclude ' **/BuildConfig.class'
66
+
67
+ baseName ' ParseUI-Widget'
68
+ }
69
+
70
+ def javadocTask = task(" javadoc${ variant.name.capitalize()} " , type : Javadoc ) {
71
+ description " Generates Javadoc for $variant . name . "
72
+ source = variant. javaCompile. source
73
+ ext. androidJar = " ${ android.sdkDirectory} /platforms/${ android.compileSdkVersion} /android.jar"
74
+ classpath = files(variant. javaCompile. classpath. files) + files(ext. androidJar)
75
+
76
+ options. linksOffline(" http://d.android.com/reference" , " ${ android.sdkDirectory} /docs/reference" )
77
+ options. links(" http://boltsframework.github.io/docs/android/" )
78
+
79
+ exclude ' **/BuildConfig.java'
80
+ exclude ' **/R.java'
81
+ exclude ' **/internal/**'
82
+ exclude ' **/oauth/**'
83
+ }
84
+
85
+ def javadocJarTask = task(" javadocJar${ variant.name.capitalize()} " , type : Jar , dependsOn : " javadoc${ variant.name.capitalize()} " ) {
86
+ classifier = ' javadoc'
87
+ from javadocTask. destinationDir
88
+ }
89
+
90
+ if (name. equals(BuilderConstants . RELEASE )) {
91
+ artifacts. add(' archives' , jarTask);
92
+ artifacts. add(' archives' , javadocJarTask);
93
+ }
94
+ }
95
+
96
+ // region Maven
97
+
98
+ apply plugin : ' maven'
99
+ apply plugin : ' signing'
100
+
101
+ def isSnapshot = version. endsWith(' -SNAPSHOT' )
102
+ def ossrhUsername = hasProperty(' NEXUS_USERNAME' ) ? NEXUS_USERNAME : System . getenv(' CI_NEXUS_USERNAME' )
103
+ def ossrhPassword = hasProperty(' NEXUS_PASSWORD' ) ? NEXUS_PASSWORD : System . getenv(' CI_NEXUS_PASSWORD' )
104
+
105
+ uploadArchives {
106
+ repositories. mavenDeployer {
107
+ beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
108
+
109
+ repository(url : " https://oss.sonatype.org/service/local/staging/deploy/maven2/" ) {
110
+ authentication(userName : ossrhUsername, password : ossrhPassword)
111
+ }
112
+
113
+ snapshotRepository(url : " https://oss.sonatype.org/content/repositories/snapshots/" ) {
114
+ authentication(userName : ossrhUsername, password : ossrhPassword)
115
+ }
116
+
117
+ pom. project {
118
+ name ' ParseUI-Widget-Android'
119
+ artifactId = ' parseui-widget-android'
120
+ packaging ' jar'
121
+ description ' A library contains ui widgets for building apps with the Parse Android SDK.'
122
+ url ' https://github.com/ParsePlatform/ParseUI-Android'
123
+
124
+ scm {
125
+ connection
' scm:[email protected] :ParsePlatform/ParseUI-Android.git'
126
+ developerConnection
' scm:[email protected] :ParsePlatform/ParseUI-Android.git'
127
+ url ' https://github.com/ParsePlatform/ParseUI-Android'
128
+ }
129
+
130
+ licenses {
131
+ license {
132
+ name ' BSD License'
133
+ url ' https://github.com/ParsePlatform/ParseUI-Android/blob/master/LICENSE'
134
+ distribution ' repo'
135
+ }
136
+ }
137
+
138
+ developers {
139
+ developer {
140
+ id ' parse'
141
+ name ' Parse'
142
+ }
143
+ }
144
+ }
39
145
}
40
146
}
147
+
148
+ signing {
149
+ required { ! isSnapshot && gradle. taskGraph. hasTask(" uploadArchives" ) }
150
+ sign configurations. archives
151
+ }
152
+
153
+ task androidSourcesJar (type : Jar ) {
154
+ classifier = ' sources'
155
+ from android. sourceSets. main. java. sourceFiles
156
+ }
157
+
158
+ artifacts {
159
+ archives androidSourcesJar
160
+ }
161
+
162
+ // endregion
0 commit comments