Skip to content

Commit faf5997

Browse files
committed
Migration of the pdf library to Gradle
1 parent 3f36db5 commit faf5997

File tree

2 files changed

+70
-10
lines changed

2 files changed

+70
-10
lines changed

java/build.gradle.kts

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
plugins {
2-
id("java")
2+
java
33
}
44

55
repositories{
66
mavenCentral()
77
google()
8-
maven { url = uri("https://jogamp.org/deployment/maven") }
8+
maven("https://jogamp.org/deployment/maven")
99
}
1010

1111
sourceSets{
@@ -47,13 +47,15 @@ tasks.compileJava{
4747
// LEGACY TASKS
4848
// Most of these are shims to be compatible with the old build system
4949
// They should be removed in the future, as we work towards making things more Gradle-native
50-
tasks.register<Copy>("extraResources"){
51-
dependsOn(":java:copyCore")
50+
val javaMode = { path : String -> layout.buildDirectory.dir("resources-bundled/common/modes/java/$path") }
51+
52+
val bundle = tasks.register<Copy>("extraResources"){
53+
dependsOn("copyCore")
5254
from(".")
5355
include("keywords.txt")
5456
include("theme/**/*")
5557
include("application/**/*")
56-
into( layout.buildDirectory.dir("resources-bundled/common/modes/java"))
58+
into(javaMode(""))
5759
}
5860
tasks.register<Copy>("copyCore"){
5961
val coreProject = project(":core")
@@ -65,8 +67,8 @@ tasks.register<Copy>("copyCore"){
6567
into(coreProject.layout.projectDirectory.dir("library"))
6668
}
6769

68-
val libraries = arrayOf("dxf","io","net","pdf","serial","svg")
69-
libraries.forEach { library ->
70+
val legacyLibraries = arrayOf("dxf","io","net","serial","svg")
71+
legacyLibraries.forEach { library ->
7072
tasks.register<Copy>("library-$library-extraResources"){
7173
val build = project(":java:libraries:$library").tasks.named("build")
7274
build.configure {
@@ -77,10 +79,30 @@ libraries.forEach { library ->
7779
include("*.properties")
7880
include("library/**/*")
7981
include("examples/**/*")
80-
into( layout.buildDirectory.dir("resources-bundled/common/modes/java/libraries/$library"))
82+
into( javaMode("/libraries/$library"))
83+
}
84+
bundle.configure {
85+
dependsOn("library-$library-extraResources")
86+
}
87+
}
88+
89+
val libraries = arrayOf("pdf")
90+
libraries.forEach { library ->
91+
val name = "create-$library-library"
92+
tasks.register<Copy>(name) {
93+
group = "libraries"
94+
val project = project(":java:libraries:$library")
95+
val libraryTask = project.tasks.named("createLibrary")
96+
dependsOn(libraryTask)
97+
98+
from(project.layout.buildDirectory.dir("library"))
99+
into(javaMode("/libraries/$library"))
100+
}
101+
bundle.configure {
102+
dependsOn(name)
81103
}
82-
tasks.named("extraResources"){ dependsOn("library-$library-extraResources") }
83104
}
105+
84106
tasks.jar { dependsOn("extraResources") }
85107
tasks.processResources{ finalizedBy("extraResources") }
86108
tasks.compileTestJava{ finalizedBy("extraResources") }
Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,39 @@
1-
ant.importBuild("build.xml")
1+
plugins{
2+
java
3+
}
4+
5+
sourceSets {
6+
main {
7+
java {
8+
srcDirs("src")
9+
}
10+
}
11+
}
12+
repositories{
13+
mavenCentral()
14+
maven("https://jogamp.org/deployment/maven/")
15+
}
16+
17+
dependencies{
18+
compileOnly(project(":core"))
19+
20+
implementation("com.lowagie:itext:2.1.7")
21+
}
22+
23+
tasks.register<Copy>("createLibrary"){
24+
dependsOn("jar")
25+
into(layout.buildDirectory.dir("library"))
26+
27+
from(layout.projectDirectory){
28+
include ("library.properties")
29+
include("examples/**")
30+
}
31+
32+
from(configurations.runtimeClasspath){
33+
into("library")
34+
}
35+
36+
from(tasks.jar) {
37+
into("library")
38+
}
39+
}

0 commit comments

Comments
 (0)