generated from tommyettinger/libgdx-library-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
104 lines (90 loc) · 3.79 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
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
gradlePluginPortal()
}
dependencies {
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.22.0'
}
}
apply plugin: 'java-library'
apply plugin: 'com.vanniktech.maven.publish'
//Obviously, change the next line to match your project name.
def projectName = 'KleeSwept'
//Change this to whatever Maven Central group you might publish to, which is probably not this one if you aren't Tommy Ettinger.
group 'com.github.kleesup'
version "$VERSION_NAME" // You can set the version in gradle.properties .
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
// Disable JDK 8's doclint
// http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
// The -quiet is because of some sort of weird JDK JavaCompiler bug:
// https://discuss.gradle.org/t/passing-arguments-to-compiler-and-javadoc/1661
options.addStringOption('Xdoclint:none,-missing', '-quiet')
}
}
}
compileJava {
// Targeting Java 7 is the lowest version you could need to go at this point.
// libGDX itself targets a mix of Java 7 (for most backends) and 8 (for LWJGL3).
sourceCompatibility = 8
targetCompatibility = 8
if (JavaVersion.current().isJava9Compatible()) {
options.release.set(8)
}
}
compileTestJava {
// LWJGL3 needs Java 8 starting in libGDX 1.11.0, which forces tests that use LWJGL3
// to use Java 8 or higher. options.release enforces compatibility with Java 8,
// including how NIO Buffers behave (which broke compatibility in Java 9).
sourceCompatibility = 8
targetCompatibility = 8
if (JavaVersion.current().isJava9Compatible()) {
options.release.set(8)
}
}
// JavaDocs will be published inside the docs/ folder, which you can easily put on GitHub Pages in your repo settings.
// You may instead want to remove this line if frequent doc changes use up too much repo space.
javadoc.destinationDir = file('docs/apidocs')
jar {
archiveBaseName.set(projectName)
manifest {
attributes 'Implementation-Title': projectName, 'Implementation-Version': archiveVersion
}
}
repositories {
// You can uncomment mavenLocal() if you need self-built versions, but it can be a problem with GWT or other sources dependencies.
//mavenLocal()
mavenCentral()
maven { url 'https://s01.oss.sonatype.org' }
google()
gradlePluginPortal()
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
// JitPack is a good repo to have if you depend on commit versions.
// Having the below repo might cause problems if uploading to Maven Central.
maven { url 'https://jitpack.io' }
}
dependencies {
// Change gdxVersion in gradle.properties to update or downgrade.
// Libraries that don't use libGDX directly can change the next line
// from `api` to `testImplementation` .
api "com.badlogicgames.gdx:gdx:$gdxVersion"
testImplementation "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
testImplementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
testImplementation "junit:junit:4.13.2"
// I don't know what conditions may require this to run tests.
//testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.9.0"
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
signing {
setRequired {
// signing is only required if the artifacts are to be published
gradle.taskGraph.allTasks.any { (it.class == PublishToMavenLocal) }
}
}