-
Notifications
You must be signed in to change notification settings - Fork 3
/
mvn-push.gradle
154 lines (136 loc) · 4.7 KB
/
mvn-push.gradle
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'maven'
if (IS_LOCAL.toBoolean()){
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'file://' + rootProject.getRootDir() + File.separator + 'localmvn')
pom.project {
groupId = GROUP
artifactId POM_ARTIFACT_ID
version VERSION_NAME
name POM_NAME
packaging POM_PACKAGING
description POM_DESCRIPTION
}
pom.whenConfigured { pom ->
pom.dependencies.findAll { dep -> dep.groupId == rootProject.name }.collect { dep ->
dep.groupId = pom.groupId = project.GROUP
dep.version = pom.version = project.VERSION_NAME
}
}
}
}
}
}else{
// load properties
Properties properties = new Properties()
File localPropertiesFile = rootProject.file("local.properties")
if(localPropertiesFile.exists()){
properties.load(localPropertiesFile.newDataInputStream())
}
def projectName = POM_NAME
def projectGroupId = GROUP
def projectArtifactId = POM_ARTIFACT_ID
def projectVersionName = VERSION_NAME
def projectPackaging = POM_PACKAGING
def projectSiteUrl = "https://github.com/gentrio/SocialGo"
def projectGitUrl = "https://github.com/gentrio/SocialGo.git"
def developerId = "gentriolee"
def developerName = "gentriolee"
def developerEmail = "[email protected]"
def bintrayUser = properties.getProperty("bintray.user")
def bintrayApikey = properties.getProperty("bintray.apikey")
def javadocName = POM_NAME + "doc"
group = projectGroupId
// This generates POM.xml with proper parameters
install {
repositories.mavenInstaller {
pom {
project {
name projectName
groupId projectGroupId
artifactId projectArtifactId
version projectVersionName
packaging projectPackaging
url projectSiteUrl
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id developerId
name developerName
email developerEmail
}
}
scm {
connection projectGitUrl
developerConnection projectGitUrl
url projectSiteUrl
}
}
pom.whenConfigured { pom ->
pom.dependencies.findAll { dep -> dep.groupId == rootProject.name }.collect { dep ->
dep.groupId = pom.groupId = project.GROUP
dep.version = pom.version = project.VERSION_NAME
}
}
}
}
}
// This generates sources.jar
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
failOnError false
}
// Add compile dependencies to javadoc
afterEvaluate {
javadoc.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompile.classpath.files
})
}
// This generates javadoc.jar
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
// javadoc configuration
javadoc {
options{
encoding "UTF-8"
charSet 'UTF-8'
author true
version projectVersionName
links "http://docs.oracle.com/javase/7/docs/api"
title javadocName
}
}
// bintray configuration
bintray {
user = bintrayUser
key = bintrayApikey
configurations = ['archives']
pkg {
repo = "maven"
name = projectName
websiteUrl = projectSiteUrl
vcsUrl = projectGitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
}