plugins { id 'net.woggioni.gradle.lombok' apply false id 'net.woggioni.gradle.wildfly' id 'war' id 'maven-publish' } import net.woggioni.gradle.wildfly.Deploy2WildflyTask allprojects { apply plugin: 'net.woggioni.gradle.lombok' group = 'net.woggioni' version = getProperty('jpacrepo.version') repositories { maven { url = 'https://woggioni.net/mvn/' content { includeGroup 'net.woggioni' } } mavenCentral() } lombok { version = getProperty('lombok.version') } tasks.withType(JavaCompile) { options.release = 11 } tasks.withType(Test) { useJUnitPlatform() } } dependencies { implementation project(':jpacrepo-impl') implementation group: 'net.woggioni', name: 'jwo', version: getProperty('jwo.version') implementation group: 'org.slf4j', name: 'slf4j-api', version: getProperty('slf4j.version') compileOnly group: 'org.hibernate', name: 'hibernate-jpamodelgen', version: getProperty('hibernate.version') // compileOnly group: 'jakarta.persistence', // name: 'jakarta.persistence-api', version: getProperty('jakarta.persistence.version') // compileOnly group: 'jakarta.annotation', // name: 'jakarta.annotation-api', // version: getProperty('jakarta.annotation.version') // compileOnly group: 'jakarta.platform', // name: 'jakarta.jakartaee-web-api', // version: getProperty('jakarta.ee.version') compileOnly group: 'jakarta.platform', name: 'jakarta.jakartaee-api', version: getProperty('jakarta.ee.version') implementation group: 'org.apache.commons', name: 'commons-compress', version: getProperty('apache.commons.compress.version') implementation group: 'net.java.dev.jna', name: 'jna', version: getProperty('jna.version') // compileOnly group: 'jakarta.inject', // name: 'jakarta.inject-api', version: getProperty('jakarta.inject.version') // compileOnly group: 'jakarta.enterprise', name: 'jakarta.enterprise.cdi-api', version: getProperty('jakarta.cdi.version') testImplementation group: 'jakarta.platform', name: 'jakarta.jakartaee-api', version: getProperty('jakarta.ee.version') // testImplementation group: 'jakarta.platform', // name: 'jakarta.jakartaee-web-api', // version: getProperty('jakarta.ee.version') testImplementation group: 'org.jboss', name: 'jboss-ejb-client', version: getProperty('jboss.ejb.client.version') testImplementation group: 'org.jboss.weld.se', name: 'weld-se-core', version: getProperty('weld.version') testImplementation group: 'com.h2database', name: 'h2', version: getProperty('h2.version') testImplementation group: 'org.hibernate', name: 'hibernate-core', version: getProperty('hibernate.version') testImplementation group: 'org.jboss.resteasy', name: 'resteasy-client', version: getProperty('resteasy.version') testImplementation group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider', version: getProperty('resteasy.version') testRuntimeOnly group: 'org.slf4j', name: 'slf4j-simple', version: getProperty('slf4j.version') testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: getProperty('junit.jupiter.version') testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: getProperty('junit.jupiter.version') testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: getProperty('junit.jupiter.version') } wrapper { distributionType = Wrapper.DistributionType.BIN gradleVersion = getProperty('gradle.version') } File nimDir = project.file('nim') File srcDir = new File(nimDir, 'src') File staticDir = new File(nimDir, 'static') Provider nimCompileTaskProvider = tasks.register("compileNim", Exec) { inputs.files(project.fileTree(srcDir), project.fileTree(staticDir)) File outputFile = new File(temporaryDir, "jpacrepo.js") outputs.file(outputFile) commandLine 'nim', 'js', "-o:$outputFile", 'src/jpacrepo.nim' workingDir(nimDir) } Provider warTaskProvider = tasks.named('war', War) { from staticDir from nimCompileTaskProvider } tasks.named('deploy2Wildfly', Deploy2WildflyTask) { } publishing { repositories { maven { url = 'https://mvn.woggioni.net/' } } publications { maven(MavenPublication) { from(components["web"]) } } }