Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ktgw0316 committed Mar 26, 2024
1 parent b4809fd commit 095ae85
Show file tree
Hide file tree
Showing 8 changed files with 126 additions and 111 deletions.
97 changes: 0 additions & 97 deletions build.gradle.kts

This file was deleted.

6 changes: 6 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
plugins {
`kotlin-dsl`
}
repositories {
mavenCentral()
}
92 changes: 92 additions & 0 deletions buildSrc/src/main/java/lightzone.java-conventions.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import org.gradle.api.tasks.Exec
import org.gradle.api.tasks.compile.JavaCompile
import org.gradle.kotlin.dsl.*

plugins {
application
java
}

group = "com.lightcrafts"
version = rootProject.file("lightcrafts/version.txt").readText().trim().substringBefore('~')

repositories {
maven(url = "https://maven.geotoolkit.org/")
mavenCentral()
}

val jetbrainsAnnotation = "org.jetbrains:annotations:24.0.1"
val lombok = "org.projectlombok:lombok:1.18.30"
dependencies {
annotationProcessor(jetbrainsAnnotation)
annotationProcessor(lombok)
compileOnly(jetbrainsAnnotation)
compileOnly(lombok)
implementation(files("${project.rootDir}/lightcrafts/lib/jai-lightzone-1.1.3.0.jar"))
testCompileOnly(jetbrainsAnnotation)
testImplementation(kotlin("test"))
testImplementation("io.kotest:kotest-runner-junit5:5.8.0")
testImplementation("org.assertj:assertj-core:3.11.1")
testImplementation(platform("org.junit:junit-bom:5.10.1"))
testImplementation("org.junit.jupiter:junit-jupiter-api")
testImplementation("org.junit.jupiter:junit-jupiter-engine")
testImplementation("org.junit.jupiter:junit-jupiter-params")
}

application {
applicationName = "LightZone"
applicationDefaultJvmArgs += listOf(
"--add-exports=java.desktop/sun.awt.image=ALL-UNNAMED",
"-Xmx512m",
)
}

val os = System.getProperty("os.name").lowercase()
val MAKE = with(os) {
when {
startsWith("sun") -> "gmake"
endsWith("bsd") -> "gmake"
else -> "make"
}
}
tasks {
withType<JavaCompile> {
options.encoding = "UTF-8"
options.compilerArgs = listOf("-h", file("javah").absolutePath)
}
test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
workingDir = file("products")
}
run.get().workingDir = file("products")
register<Exec> ("products") {
commandLine(MAKE, "-C", "products", "-j")
}
register<Exec> ("cleanProducts") {
commandLine(MAKE, "-C", "products", "-j", "-s", "clean")
}
named("build") {
dependsOn("products")
}
named("clean") {
dependsOn("cleanProducts")
}
if (file("jnisrc").exists()) {
register<Exec> ("jni") {
dependsOn("classes")
commandLine(MAKE, "-C", "jnisrc")
}
register<Exec> ("cleanJni") {
commandLine(MAKE, "-C", "jnisrc", "-j", "-s", "distclean")
}
named("build") {
dependsOn("jni")
}
named("clean") {
dependsOn("cleanJni")
}
}
}
26 changes: 15 additions & 11 deletions lightcrafts/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
import java.io.FileOutputStream

plugins {
kotlin("jvm")
id("lightzone.java-conventions")
}
dependencies {
implementation("com.formdev:flatlaf:3.1.1")
implementation("com.formdev:flatlaf-intellij-themes:3.1.1")
implementation("com.github.jiconfont:jiconfont-swing:1.0.1")
implementation("com.github.jiconfont:jiconfont-font_awesome:4.7.0.0")
implementation("com.github.jiconfont:jiconfont-google_material_design_icons:2.2.0.2")
implementation("com.github.openjson:openjson:1.0.13")
implementation("org.ejml:ejml-simple:0.40")
}
application {
mainClass.set("com.lightcrafts.app.Application")
}
Expand All @@ -11,15 +24,6 @@ sourceSets {
}
}
}
dependencies {
implementation("com.formdev:flatlaf:3.1.1")
implementation("com.formdev:flatlaf-intellij-themes:3.1.1")
implementation("com.github.jiconfont:jiconfont-swing:1.0.1")
implementation("com.github.jiconfont:jiconfont-font_awesome:4.7.0.0")
implementation("com.github.jiconfont:jiconfont-google_material_design_icons:2.2.0.2")
implementation("com.github.openjson:openjson:1.0.13")
implementation("org.ejml:ejml-simple:0.40")
}
val os = System.getProperty("os.name").lowercase()
val MAKE = with(os) {
when {
Expand Down Expand Up @@ -50,10 +54,10 @@ tasks {
}
File("$dir/Version").writeText(version.toString())
}
getByName("build") {
named("build") {
dependsOn("coprocesses", "revision")
}
getByName("clean") {
named("clean") {
dependsOn("cleanCoprocesses")
}
}
4 changes: 4 additions & 0 deletions linux/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
kotlin("jvm")
id("lightzone.java-conventions")
}
dependencies {
implementation(project(":lightcrafts"))
implementation("javax.help:javahelp:2.0.05")
Expand Down
2 changes: 2 additions & 0 deletions macosx/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
kotlin("jvm")
id("lightzone.java-conventions")
id("org.beryx.runtime")
}
dependencies {
Expand Down
8 changes: 5 additions & 3 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import org.gradle.internal.os.OperatingSystem

plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.5.0"
kotlin("jvm") version "1.9.22" apply false
id("org.beryx.runtime") version "1.13.1" apply false
}

include(":lightcrafts")
val os = OperatingSystem.current()!!
val osName = when {
os.isWindows -> "windows"
os.isMacOsX -> "macosx"
else -> "linux"
}
include(osName)

rootProject.name = "lightzone"
include("lightcrafts", osName)
2 changes: 2 additions & 0 deletions windows/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
kotlin("jvm")
id("lightzone.java-conventions")
id("org.beryx.runtime")
}
dependencies {
Expand Down

0 comments on commit 095ae85

Please sign in to comment.