Files
imgui-java/build.gradle
T
SpaiR 1c396fb82a build(ci): adapt build pipeline for the generator API
build(ci): make "Compare Binding Hash" job also took into account generated and include folders

build(ci): add JDK 11 to the setup-java pipeline

This is required for the buildSrc module, since it uses "spoon" library, which is compiled for JDK11.

build(ci): keep only JDK11

- Add source ant target compatibility output to the MANIFEST.mf file

build: add auto-provisioning for JDK

just in case
2024-08-08 14:46:23 +03:00

70 lines
2.3 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')): [
"#define IMGUI_HAS_TABLE",
"#define IMGUI_HAS_VIEWPORT",
"#define IMGUI_HAS_DOCK",
],
(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')): [],
]
}