-
-
Notifications
You must be signed in to change notification settings - Fork 98
/
build.gradle
66 lines (56 loc) · 2.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
import tool.generator.ast.task.GenerateAst
import java.text.SimpleDateFormat
ext {
lwjglVersion = '3.3.4'
}
allprojects {
group 'imgui-java'
version 'git describe --tags --always'.execute().text.trim().substring(1)
repositories {
mavenCentral()
}
tasks.withType(Jar).tap {
configureEach {
from(project.rootDir) {
include 'LICENSE'
into 'META-INF'
}
manifest {
attributes (
'Implementation-Title': project.name,
'Implementation-Version': project.version,
'Build-Timestamp': new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(System.currentTimeMillis()),
'Build-Revision': 'git rev-parse HEAD'.execute().text.trim(),
'Build-Jdk': "${System.getProperty('java.version')} (${System.getProperty('java.vendor')})",
'Source-Compatibility': tasks.withType(JavaCompile).find().sourceCompatibility,
'Target-Compatibility': tasks.withType(JavaCompile).find().targetCompatibility,
'Created-By': "Gradle ${gradle.gradleVersion}"
)
}
}
}
}
tasks.register('buildAll') { t ->
t.group = 'build'
t.description = 'Build all project sources.'
t.dependsOn ':imgui-app:shadowJar'
['app', 'binding', 'lwjgl3'].each { module ->
['build', 'sourcesJar', 'javadocJar'].each { task ->
t.dependsOn ":imgui-$module:$task"
}
}
}
tasks.register('generateAst', GenerateAst) {
headerFiles = [
file('include/imgui/imgui.h'),
file('include/imgui/imgui_internal.h'),
file('include/imgui/misc/freetype/imgui_freetype.h'),
file('include/ImGuiFileDialog/ImGuiFileDialog.h'),
file('include/imgui-knobs/imgui-knobs.h'),
file('include/imguizmo/ImGuizmo.h'),
file('include/imnodes/imnodes.h'),
file('include/implot/implot.h'),
file('include/imgui-node-editor/imgui_node_editor.h'),
file('include/ImGuiColorTextEdit/TextEditor.h'),
]
}