jb-ssg-site/build.gradle
2024-06-08 10:46:30 +02:00

69 lines
1.6 KiB
Groovy

plugins {
id 'com.jessebrault.ssg' version '0.4.0'
id 'distribution'
}
group = 'com.jessebrault'
version = '0.1.0'
repositories {
mavenCentral()
maven {
url 'https://archiva.jessebrault.com/repository/internal/'
credentials {
username System.getenv('JBARCHIVA_USERNAME')
password System.getenv('JBARCHIVA_PASSWORD')
}
}
}
configurations {
server
}
sourceSets {
server
}
dependencies {
implementation 'org.apache.groovy:groovy:4.0.21'
serverImplementation 'org.eclipse.jetty:jetty-server:12.0.9'
serverImplementation 'info.picocli:picocli:4.7.6'
serverRuntimeOnly 'org.apache.logging.log4j:log4j-slf4j2-impl:2.23.1'
}
tasks.register('serverJar', Jar) {
group = 'build'
archiveBaseName = 'jb-ssg-site-server'
from sourceSets.server.java.classesDirectory
from sourceSets.server.resources.files
}
tasks.register('serverStartScripts', CreateStartScripts) {
applicationName = 'JbServer'
mainClass = 'com.jessebrault.site.JbServer'
classpath = files(configurations.serverRuntimeClasspath.files.collect {
java.nio.file.Path.of('lib', it.name).toFile()
})
classpath += files(tasks.named('serverJar', Jar).get().outputs.files.collect { it.name })
outputDir = file('build/tmp/serverStartScripts')
}
distributions {
server {
contents {
from(serverStartScripts) {
into 'bin'
}
from(serverJar) {
into 'lib'
}
from(configurations.serverRuntimeClasspath.files) {
into 'lib'
}
}
}
}