11plugins {
2- id( " java" )
2+ java
33}
44
55repositories{
66 mavenCentral()
77 google()
8- maven { url = uri (" https://jogamp.org/deployment/maven" ) }
8+ maven(" https://jogamp.org/deployment/maven" )
99}
1010
1111sourceSets{
@@ -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}
5860tasks.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+
84106tasks.jar { dependsOn(" extraResources" ) }
85107tasks.processResources{ finalizedBy(" extraResources" ) }
86108tasks.compileTestJava{ finalizedBy(" extraResources" ) }
0 commit comments