2025-05-09 16:48:48 +01:00
|
|
|
plugins {
|
|
|
|
id 'java'
|
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
maven { url = "https://build.shibboleth.net/maven/releases" }
|
|
|
|
maven { url = "https://maven.pkg.github.com/jcefmaven/jcefmaven" }
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
if (System.getenv("STIRLING_PDF_DESKTOP_UI") != "false") {
|
|
|
|
implementation "me.friwi:jcefmaven:132.3.1"
|
|
|
|
implementation "org.openjfx:javafx-controls:21"
|
|
|
|
implementation "org.openjfx:javafx-swing:21"
|
|
|
|
}
|
|
|
|
|
|
|
|
if (System.getenv("ADDITIONAL_FEATURES") == "true") {
|
|
|
|
implementation project(':proprietary')
|
|
|
|
}
|
|
|
|
|
|
|
|
implementation project(':common')
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-jetty'
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
|
|
|
implementation 'com.posthog.java:posthog:1.2.0'
|
|
|
|
implementation 'io.github.pixee:java-security-toolkit:1.2.1'
|
|
|
|
implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20240325.1'
|
|
|
|
implementation 'commons-io:commons-io:2.19.0'
|
|
|
|
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6'
|
|
|
|
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
|
|
|
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
|
|
|
implementation 'io.micrometer:micrometer-core:1.14.6'
|
|
|
|
implementation 'com.google.zxing:core:3.5.3'
|
|
|
|
implementation "org.commonmark:commonmark:$commonmarkVersion" // https://mvnrepository.com/artifact/org.commonmark/commonmark
|
|
|
|
implementation "org.commonmark:commonmark-ext-gfm-tables:$commonmarkVersion"
|
|
|
|
|
|
|
|
// General PDF dependencies
|
|
|
|
implementation ("org.apache.pdfbox:pdfbox:$pdfboxVersion")
|
|
|
|
implementation "org.apache.pdfbox:preflight:$pdfboxVersion"
|
|
|
|
implementation ("org.apache.pdfbox:xmpbox:$pdfboxVersion")
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/technology.tabula/tabula
|
|
|
|
implementation ('technology.tabula:tabula:1.0.5') {
|
|
|
|
exclude group: 'org.slf4j', module: 'slf4j-simple'
|
|
|
|
exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
|
|
|
|
exclude group: 'com.google.code.gson', module: 'gson'
|
|
|
|
}
|
|
|
|
implementation 'org.apache.pdfbox:jbig2-imageio:3.0.4'
|
|
|
|
implementation ('com.opencsv:opencsv:5.11') // https://mvnrepository.com/artifact/com.opencsv/opencsv
|
|
|
|
|
|
|
|
// Batik
|
|
|
|
implementation 'org.apache.xmlgraphics:batik-all:1.18'
|
|
|
|
|
|
|
|
// TwelveMonkeys
|
|
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-batik:$imageioVersion"
|
|
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-bmp:$imageioVersion"
|
|
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-jpeg:$imageioVersion"
|
|
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-tiff:$imageioVersion"
|
|
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-hdr:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-icns:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-iff:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-pcx:$imageioVersion@
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-pict:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-pnm:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-psd:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-sgi:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-tga:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-thumbsdb:$imageioVersion"
|
|
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-xwd:$imageioVersion"
|
|
|
|
|
2025-05-19 11:00:27 +01:00
|
|
|
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
2025-05-09 16:48:48 +01:00
|
|
|
}
|
2025-05-19 11:00:27 +01:00
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
resources {
|
|
|
|
srcDirs += ['../configs']
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
jar {
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
|
|
|
|
|
|
from {
|
|
|
|
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
|
|
}
|
|
|
|
|
|
|
|
manifest {
|
|
|
|
attributes(
|
|
|
|
'Main-Class': 'stirling.software.spdf.SPDFApplication',
|
|
|
|
"Implementation-Title": "Stirling-PDF",
|
|
|
|
"Implementation-Version": project.version
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
shadowJar {
|
|
|
|
archiveClassifier.set('shadow')
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
|
|
|
|
|
|
manifest {
|
|
|
|
attributes(
|
|
|
|
'Main-Class': 'stirling.software.spdf.SPDFApplication'
|
|
|
|
)
|
|
|
|
}
|
|
|
|
zip64 = true
|
|
|
|
mergeServiceFiles()
|
|
|
|
}
|
|
|
|
|
|
|
|
build.dependsOn shadowJar
|
|
|
|
jar.dependsOn ':common:jar'
|
|
|
|
shadowJar.dependsOn ':common:jar'
|
|
|
|
jar.dependsOn ':proprietary:jar'
|
|
|
|
shadowJar.dependsOn ':proprietary:jar'
|