1+ apply plugin : ' com.android.library'
2+
3+ ext {
4+ PUBLISH_GROUP_ID = ' com.zebra.deviceidentifierswrapper'
5+ PUBLISH_ARTIFACT_ID = ' deviceidentifierswrapper'
6+ PUBLISH_VERSION = ' 1.2.739'
7+ }
8+
9+ android {
10+ compileSdkVersion 29
11+
12+ defaultConfig {
13+ minSdkVersion 26
14+ targetSdkVersion 29
15+ versionCode 1
16+ versionName " 1.3"
17+
18+ testInstrumentationRunner " android.support.test.runner.AndroidJUnitRunner"
19+
20+ }
21+
22+ buildTypes {
23+ release {
24+ minifyEnabled false
25+ proguardFiles getDefaultProguardFile(' proguard-android.txt' ), ' proguard-rules.pro'
26+ }
27+ }
28+
29+ }
30+
31+ dependencies {
32+ implementation fileTree(dir : ' libs' , include : [' *.jar' ])
33+ implementation ' com.android.support:appcompat-v7:28.0.0'
34+ testImplementation ' junit:junit:4.13'
35+ androidTestImplementation ' com.android.support.test:runner:1.0.2'
36+ androidTestImplementation ' com.android.support.test.espresso:espresso-core:3.0.2'
37+ compileOnly ' com.symbol:emdk:+'
38+ api ' com.symbol:emdk:7.0.0'
39+ }
40+
41+ def jarName = ' deviceidentifierswrapper.jar'
42+
43+ task clearJarRelease (type : Delete ) {
44+ delete " ${ project.buildDir} /outputs/jar/release/" + jarName
45+ }
46+
47+ task clearJarDebug (type : Delete ) {
48+ delete " ${ project.buildDir} /outputs/jar/debug/" + jarName
49+ }
50+
51+ task makeJarRelease (type : Copy ) {
52+ from(" ${ project.buildDir} /intermediates/intermediate-jars/release/" )
53+ into(" ${ project.buildDir} /outputs/jar/release" )
54+ include(' classes.jar' )
55+ rename(' classes.jar' , jarName)
56+ }
57+
58+ task makeJarDebug (type : Copy ) {
59+ from(" ${ project.buildDir} /intermediates/intermediate-jars/debug/" )
60+ into(" ${ project.buildDir} /outputs/jar/debug" )
61+ include(' classes.jar' )
62+ rename(' classes.jar' , jarName)
63+ }
64+
65+ task makeAllJar (type : Copy ) {}
66+
67+ makeJarRelease. dependsOn(clearJarRelease, build)
68+ makeJarDebug. dependsOn(clearJarDebug, build)
69+
70+ makeAllJar. dependsOn(makeJarDebug,makeJarRelease)
71+
72+ /*
73+ Publish tasks
74+ https://medium.com/@daniellevass/how-to-publish-your-android-studio-library-to-jcenter-5384172c4739
75+ https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle
76+ */
77+
78+ // ./gradlew clean build generateRelease
79+ apply plugin : ' maven'
80+
81+ def groupId = project. PUBLISH_GROUP_ID
82+ def artifactId = project. PUBLISH_ARTIFACT_ID
83+ def version = project. PUBLISH_VERSION
84+
85+ def localReleaseDest = " ${ buildDir} /release/${ version} "
86+
87+ task androidJavadocs (type : Javadoc ) {
88+ failOnError = false
89+ source = android. sourceSets. main. java. srcDirs
90+ ext. androidJar = " ${ android.sdkDirectory} /platforms/${ android.compileSdkVersion} /android.jar"
91+ classpath + = files(ext. androidJar)
92+ }
93+
94+ task androidJavadocsJar (type : Jar , dependsOn : androidJavadocs) {
95+ classifier = ' javadoc'
96+ from androidJavadocs. destinationDir
97+ }
98+
99+ task androidSourcesJar (type : Jar ) {
100+ classifier = ' sources'
101+ from android. sourceSets. main. java. srcDirs
102+ }
103+
104+ uploadArchives {
105+ repositories. mavenDeployer {
106+ pom. groupId = groupId
107+ pom. artifactId = artifactId
108+ pom. version = version
109+ // Add other pom properties here if you want (developer details / licenses)
110+ repository(url : " file://${ localReleaseDest} " )
111+ }
112+ }
113+
114+ task zipRelease (type : Zip ) {
115+ from localReleaseDest
116+ destinationDir buildDir
117+ archiveName " release-${ version} .zip"
118+ }
119+
120+ task generateRelease {
121+ doLast {
122+ println " Release ${ version} can be found at ${ localReleaseDest} /"
123+ println " Release ${ version} zipped can be found ${ buildDir} /release-${ version} .zip"
124+ }
125+ }
126+
127+ generateRelease. dependsOn(uploadArchives)
128+ generateRelease. dependsOn(zipRelease)
129+
130+
131+ artifacts {
132+ archives androidSourcesJar
133+ archives androidJavadocsJar
134+ }
0 commit comments