* deps(build): bump FreeType from 2.12.1 to 2.13.3 * fix(generator): add missing ImGuiFreeTypeBuilderFlags * feat(generator): add possibility to provide additional defines specifically for AST * feat(api): make FreeType optional and disabled by default FreeType renderer is still included in the final build. Its usage is toggleable and DISABLED by default.
67 lines
2.2 KiB
Groovy
67 lines
2.2 KiB
Groovy
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'),
|
|
]
|
|
}
|