1
0
mirror of https://github.com/Stirling-Tools/Stirling-PDF.git synced 2024-11-05 07:20:12 +01:00
Stirling-PDF/build.gradle

158 lines
5.6 KiB
Groovy
Raw Normal View History

2023-01-27 19:23:40 +01:00
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.2'
id 'io.spring.dependency-management' version '1.1.3'
2023-12-18 15:58:06 +01:00
id 'org.springdoc.openapi-gradle-plugin' version '1.8.0'
id "io.swagger.swaggerhub" version "1.3.2"
id 'edu.sc.seis.launch4j' version '3.0.5'
2023-01-27 19:23:40 +01:00
}
group = 'stirling.software'
version = '0.17.2'
2023-01-27 19:23:40 +01:00
sourceCompatibility = '17'
repositories {
mavenCentral()
}
2023-08-27 12:59:08 +02:00
sourceSets {
main {
java {
2023-08-27 20:58:20 +02:00
if (System.getenv('DOCKER_ENABLE_SECURITY') == 'false') {
2023-08-27 12:59:08 +02:00
exclude 'stirling/software/SPDF/config/security/**'
exclude 'stirling/software/SPDF/controller/api/UserController.java'
exclude 'stirling/software/SPDF/controller/web/AccountWebController.java'
exclude 'stirling/software/SPDF/model/ApiKeyAuthenticationToken.java'
exclude 'stirling/software/SPDF/model/Authority.java'
exclude 'stirling/software/SPDF/model/PersistentLogin.java'
exclude 'stirling/software/SPDF/model/User.java'
exclude 'stirling/software/SPDF/repository/**'
}
}
}
}
openApi {
2023-09-14 22:25:18 +02:00
apiDocsUrl = "http://localhost:8080/v1/api-docs"
2023-06-04 00:01:14 +02:00
outputDir = file("$projectDir")
outputFileName = "SwaggerDoc.json"
}
2023-06-10 16:05:38 +02:00
launch4j {
icon = "${projectDir}/src/main/resources/static/favicon.ico"
outfile="Stirling-PDF.exe"
headerType="console"
jarTask = tasks.bootJar
2023-06-10 16:05:38 +02:00
errTitle="Encountered error, Do you have Java 17?"
downloadUrl="https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe"
2023-06-10 16:05:38 +02:00
variables=["BROWSER_OPEN=true"]
jreMinVersion="17"
2023-06-10 16:05:38 +02:00
mutexName="Stirling-PDF"
windowTitle="Stirling-PDF"
2023-06-10 16:05:38 +02:00
messagesStartupError="An error occurred while starting Stirling-PDF"
//messagesJreNotFoundError="This application requires a Java Runtime Environment, Please download Java 17."
messagesJreVersionError="You are running the wrong version of Java, Please download Java 17."
messagesLauncherError="Java is corrupted. Please uninstall and then install Java 17."
messagesInstanceAlreadyExists="Stirling-PDF is already running."
}
2023-01-27 19:23:40 +01:00
dependencies {
2023-12-16 11:22:33 +01:00
//security updates
implementation 'ch.qos.logback:logback-classic:1.4.14'
implementation 'ch.qos.logback:logback-core:1.4.14'
2023-12-16 11:42:27 +01:00
implementation 'org.springframework:spring-webmvc:6.0.15'
2023-12-16 11:22:33 +01:00
implementation 'org.yaml:snakeyaml:2.1'
2023-12-11 11:59:05 +01:00
implementation 'org.springframework.boot:spring-boot-starter-web:3.1.6'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.1.6'
if (System.getenv('DOCKER_ENABLE_SECURITY') != 'false') {
2023-12-11 11:59:05 +01:00
implementation 'org.springframework.boot:spring-boot-starter-security:3.1.6'
2023-12-11 12:01:48 +01:00
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE'
2023-08-27 12:59:08 +02:00
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
implementation "com.h2database:h2"
2023-08-27 12:59:08 +02:00
}
2023-12-11 11:59:05 +01:00
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.1.6'
// https://mvnrepository.com/artifact/org.apache.pdfbox/jbig2-imageio
implementation group: 'org.apache.pdfbox', name: 'jbig2-imageio', version: '3.0.4'
2023-12-10 15:09:28 +01:00
implementation 'com.github.jai-imageio:jai-imageio-core:1.4.0'
implementation 'com.github.jai-imageio:jai-imageio-jpeg2000:1.3.0'
2023-12-18 15:58:06 +01:00
implementation 'commons-io:commons-io:2.15.1'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'
//general PDF
// https://mvnrepository.com/artifact/com.opencsv/opencsv
implementation ('com.opencsv:opencsv:5.7.1') {
exclude group: 'commons-logging', module: 'commons-logging'
}
implementation ('org.apache.pdfbox:pdfbox:2.0.29'){
exclude group: 'commons-logging', module: 'commons-logging'
}
implementation ('org.apache.pdfbox:xmpbox:2.0.29'){
exclude group: 'commons-logging', module: 'commons-logging'
}
2023-12-16 11:22:33 +01:00
implementation 'org.bouncycastle:bcprov-jdk18on:1.77'
implementation 'org.bouncycastle:bcpkix-jdk18on:1.77'
2023-05-16 23:44:53 +02:00
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-core'
implementation group: 'com.google.zxing', name: 'core', version: '3.5.2'
2023-08-01 01:03:13 +02:00
// https://mvnrepository.com/artifact/org.commonmark/commonmark
implementation 'org.commonmark:commonmark:0.21.0'
2023-08-13 02:12:29 +02:00
// https://mvnrepository.com/artifact/com.github.vladimir-bukhtoyarov/bucket4j-core
implementation 'com.github.vladimir-bukhtoyarov:bucket4j-core:7.6.0'
developmentOnly("org.springframework.boot:spring-boot-devtools")
2023-12-18 15:58:06 +01:00
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.28'
2023-01-27 19:23:40 +01:00
}
task writeVersion {
def propsFile = file('src/main/resources/version.properties')
def props = new Properties()
props.setProperty('version', version)
props.store(propsFile.newWriter(), null)
}
2023-06-04 00:21:12 +02:00
swaggerhubUpload {
//dependsOn generateOpenApiDocs // Depends on your task generating Swagger docs
api 'Stirling-PDF' // The name of your API on SwaggerHub
owner 'Frooodle' // Your SwaggerHub username (or organization name)
version project.version // The version of your API
inputFile './SwaggerDoc.json' // The path to your Swagger docs
token "${System.getenv('SWAGGERHUB_API_KEY')}" // Your SwaggerHub API key, passed as an environment variable
oas '3.0.0' // The version of the OpenAPI Specification you're using
}
2023-06-04 00:21:12 +02:00
jar {
enabled = false
manifest {
attributes 'Implementation-Title': 'Stirling-PDF',
'Implementation-Version': project.version
}
}
2023-01-27 19:23:40 +01:00
tasks.named('test') {
useJUnitPlatform()
}
2023-01-27 19:23:40 +01:00
task printVersion {
println project.version
}