plugins { id 'java' id 'org.springframework.boot' version '3.4.0' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.reajason.javaweb' version = '' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } def runtimeJvmArgs = [ '--add-opens=java.base/java.util=ALL-UNNAMED', '--add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED', '--add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED' ] tasks.withType(JavaCompile).configureEach { options.compilerArgs += [ '--add-exports=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED', '--add-exports=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED' ] } tasks.withType(Test).configureEach { jvmArgs += runtimeJvmArgs } // For running the application tasks.withType(JavaExec).configureEach { jvmArgs += runtimeJvmArgs } configurations { compileOnly { extendsFrom annotationProcessor } } dependencies { implementation(project(":generator")) { exclude group: 'org.apache.tomcat', module: 'tomcat-catalina' exclude group: 'commons-logging', module: 'commons-logging' } implementation(project(":deserialize")) { exclude group: 'commons-logging', module: 'commons-logging' } implementation 'org.apache.bcel:bcel:5.2' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-tomcat' implementation 'com.google.code.gson:gson:2.11.0' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }