forked from airbnb/aerosolve
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
executable file
·116 lines (98 loc) · 2.65 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
apply plugin: 'wrapper'
// Needed for shadow.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
}
}
import java.text.SimpleDateFormat
def globalVersion = new Version(currentVersion)
allprojects {
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'com.jfrog.bintray'
repositories {
jcenter()
maven { url "http://repo.typesafe.com/typesafe/releases/" }
maven { url 'http://projectlombok.org/mavenrepo' }
}
configurations {
provided
}
group = 'com.airbnb.aerosolve'
version = globalVersion
status = version.status
ext.publish = false
sourceSets {
main {
compileClasspath += configurations.provided
}
test {
compileClasspath += configurations.provided
runtimeClasspath += configurations.provided
}
}
compileJava {
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
options.setDeprecation true
options.encoding = 'UTF-8'
}
}
subprojects {
apply plugin: 'maven'
if (project.plugins.hasPlugin('java')) {
// manifest.mainAttributes(provider: 'gradle')
configurations {
published
}
dependencies {
testCompile 'junit:junit:4.7'
}
task sourceJar(type: Jar) {
from sourceSets.main.allSource
classifier = 'sources'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
// Add the sourceJars to non-extractor modules
artifacts {
published sourceJar
published javadocJar
}
}
}
class Version {
String originalVersion
String thisVersion
String status
Date buildTime
Version(String versionValue) {
buildTime = new Date()
originalVersion = versionValue
if (originalVersion.endsWith('-SNAPSHOT')) {
status = 'integration'
thisVersion = originalVersion.substring(0, originalVersion.length() - 'SNAPSHOT'.length()) + getTimestamp()
} else {
status = 'release'
thisVersion = versionValue
}
}
String getTimestamp() {
// Convert local file timestamp to UTC
def format = new SimpleDateFormat('yyyyMMddHHmmss')
format.setCalendar(Calendar.getInstance(TimeZone.getTimeZone('UTC')));
return format.format(buildTime)
}
String toString() {
thisVersion
}
}