-
Notifications
You must be signed in to change notification settings - Fork 14
/
build.gradle
130 lines (110 loc) · 3.19 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
121
122
123
124
125
126
127
128
129
130
plugins {
id 'idea'
id 'java-library'
id 'maven-publish'
id 'com.jfrog.bintray' version "1.8.4"
}
group = "com.rvandoosselaer"
version = "1.2.0"
// The artifact ID defaults to the project name configured in settings.gradle
sourceCompatibility = 1.8
ext {
jmeVersion = "[3.2,)"
lombokVersion = "[1.18,)"
slf4jVersion = "[1.8,)"
simMathVersion = "[1.4,)"
junitVersion = "[5.4.0,)"
mockitoVersion = "[3.1,)"
caffeineVersion = "[2.8,)"
protobufVersion = "[3.10,)"
guavaVersion = "[28,)"
minieVersion = "1.2.0for33"
}
repositories {
jcenter()
maven { url 'https://dl.bintray.com/stephengold/jme3utilities' } // for Minie
maven { url 'https://dl.bintray.com/stephengold/v-hacd' } // for v-hacd-java-bindings
}
dependencies {
// JME
implementation "org.jmonkeyengine:jme3-core:${jmeVersion}"
// physics
implementation "jme3utilities:Minie:${minieVersion}"
// utilities
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
implementation "com.simsilica:sim-math:${simMathVersion}"
implementation "com.github.ben-manes.caffeine:caffeine:${caffeineVersion}"
implementation "com.google.protobuf:protobuf-java:${protobufVersion}"
implementation "com.google.guava:guava:${guavaVersion}"
// logging
implementation "org.slf4j:slf4j-api:${slf4jVersion}"
// testing
testCompileOnly "org.projectlombok:lombok:${lombokVersion}"
testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}"
testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
testImplementation "org.jmonkeyengine:jme3-core:${jmeVersion}"
testImplementation "org.jmonkeyengine:jme3-desktop:${jmeVersion}"
}
test {
useJUnitPlatform()
}
// copy the generated javadocs into the /docs folder for the github pages
task copyJavadoc(dependsOn: javadoc) {
doLast {
copy {
from "$buildDir/docs"
into "$projectDir/docs"
}
}
}
// remove the generated javadocs in the /docs folder
task cleanJavadoc(type: Delete) {
delete "$projectDir/docs/javadoc/"
}
clean {
dependsOn cleanJavadoc
}
jar {
exclude 'blocks.proto'
}
build {
dependsOn copyJavadoc
}
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
archiveClassifier = 'sources'
}
task javadocJar(type: Jar) {
from javadoc
archiveClassifier = 'javadoc'
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
}
}
}
javadoc {
failOnError = false
}
bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_APIKEY')
publications = ['MyPublication']
pkg {
repo = 'rvandoosselaer'
name = rootProject.getName()
licenses = ['BSD 3-Clause']
vcsUrl = 'https://github.com/rvandoosselaer/Blocks.git'
version {
name = '1.2.0'
released = new Date()
}
}
}