-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.gradle
120 lines (105 loc) · 3.51 KB
/
build.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
apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'signing'
String getMyVersionName() {
def stdout = new ByteArrayOutputStream()
if (rootProject.file("gradlew").exists())
exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout }
else // automatic build system, don't tag dirty
exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout }
return stdout.toString().trim().substring(1)
}
group = "org.microg"
version = getMyVersionName();
description = 'Build human readable addresses from OpenCageData definitions'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.yaml:snakeyaml:1.33'
testImplementation 'junit:junit:4.13.2'
}
void createListing(String dirname) {
File dir = project.file(dirname)
File target = new File(dir, "index.list")
dir.eachFile {
if (!it.name.equals("index.list"))
target.append(it.name + (it.isDirectory() ? "/\n" : "\n"))
}
}
processResources.doLast {
createListing("build/resources/main/org/microg/address/conf/countries")
}
processTestResources.doLast {
createListing("build/resources/test/org/microg/address/testcases/countries")
}
sourceCompatibility = JavaVersion.VERSION_1_6
if (file('user.gradle').exists()) {
apply from: 'user.gradle'
}
task javaSourcesJar(type: Jar) {
archiveClassifier.set("sources")
from sourceSets.main.allJava
}
javadoc {
classpath = configurations.compileClasspath
source = sourceSets.main.allJava
}
task javaJavadocsJar(type: Jar) {
archiveClassifier.set("javadoc")
from javadoc
}
artifacts {
archives javaSourcesJar
archives javaJavadocsJar
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
pom {
name = project.name
description = project.description
url = 'https://github.com/microg/address-formatting'
licenses {
license {
name = 'The Apache Software License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'microg'
name = 'microG Team'
}
}
scm {
url = 'https://github.com/microg/address-formatting'
connection = 'scm:git:https://github.com/microg/address-formatting.git'
developerConnection = 'scm:git:ssh://github.com/microg/address-formatting.git'
}
}
from components.java
artifact javaSourcesJar
artifact javaJavadocsJar
}
}
if (project.hasProperty('sonatype.username')) {
repositories {
maven {
name = 'sonatype'
url = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
credentials {
username project.getProperty('sonatype.username')
password project.getProperty('sonatype.password')
}
}
}
}
}
if (project.hasProperty('signing.keyId')) {
signing {
sign publishing.publications
}
}
}