2023-01-27 19:23:40 +01:00
|
|
|
plugins {
|
|
|
|
id 'java'
|
2023-06-01 11:49:33 +02:00
|
|
|
id 'org.springframework.boot' version '3.1.0'
|
2023-01-27 19:23:40 +01:00
|
|
|
id 'io.spring.dependency-management' version '1.1.0'
|
2023-06-03 23:56:15 +02:00
|
|
|
id 'org.springdoc.openapi-gradle-plugin' version '1.6.0'
|
2023-06-04 00:21:12 +02:00
|
|
|
id "io.swagger.swaggerhub" version "1.1.0"
|
2023-06-10 16:05:38 +02:00
|
|
|
id 'edu.sc.seis.launch4j' version '3.0.1'
|
2023-01-27 19:23:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
group = 'stirling.software'
|
2023-06-08 21:45:35 +02:00
|
|
|
version = '0.10.1'
|
2023-01-27 19:23:40 +01:00
|
|
|
sourceCompatibility = '17'
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
2023-06-03 23:56:15 +02:00
|
|
|
openApi {
|
|
|
|
apiDocsUrl = "http://localhost:8080/v3/api-docs"
|
2023-06-04 00:01:14 +02:00
|
|
|
outputDir = file("$projectDir")
|
2023-06-03 23:56:15 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
errTitle="Encountered error, Do you have Java 17?"
|
|
|
|
downloadUrl="https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe"
|
|
|
|
variables=["BROWSER_OPEN=true"]
|
|
|
|
jreMinVersion="17"
|
|
|
|
|
|
|
|
mutexName="Stirling-PDF"
|
|
|
|
windowTitle="Stirling-PDF"
|
|
|
|
|
|
|
|
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-05-30 21:55:06 +02:00
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-web:3.1.0'
|
2023-06-01 11:49:26 +02:00
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.1.0'
|
2023-06-01 11:51:11 +02:00
|
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.1.0'
|
2023-04-01 22:02:54 +02:00
|
|
|
// https://mvnrepository.com/artifact/org.apache.pdfbox/jbig2-imageio
|
|
|
|
implementation group: 'org.apache.pdfbox', name: 'jbig2-imageio', version: '3.0.4'
|
2023-04-04 00:16:11 +02:00
|
|
|
implementation 'commons-io:commons-io:2.11.0'
|
2023-04-29 00:18:10 +02:00
|
|
|
|
|
|
|
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
|
|
|
|
|
2023-03-20 22:55:11 +01:00
|
|
|
//general PDF
|
2023-04-18 01:02:33 +02:00
|
|
|
implementation 'org.apache.pdfbox:pdfbox:2.0.28'
|
2023-05-20 23:48:59 +02:00
|
|
|
implementation 'org.bouncycastle:bcprov-jdk15on:1.70'
|
|
|
|
implementation 'org.bouncycastle:bcpkix-jdk15on:1.70'
|
|
|
|
implementation 'com.itextpdf:itext7-core:7.2.5'
|
2023-05-16 23:44:53 +02:00
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
|
|
implementation 'io.micrometer:micrometer-core'
|
|
|
|
|
2023-06-24 15:59:49 +02:00
|
|
|
// https://mvnrepository.com/artifact/com.cybozu.labs/langdetect
|
|
|
|
implementation group: 'com.cybozu.labs', name: 'langdetect', version: '1.1-20120112'
|
|
|
|
|
|
|
|
|
2023-03-25 23:16:26 +01:00
|
|
|
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
2023-03-20 22:55:11 +01:00
|
|
|
|
2023-01-27 19:23:40 +01:00
|
|
|
}
|
|
|
|
|
2023-06-03 23:56:15 +02: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-03 23:56:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2023-06-04 00:21:12 +02:00
|
|
|
|
2023-01-29 15:10:12 +01:00
|
|
|
jar {
|
|
|
|
enabled = false
|
2023-03-20 22:55:11 +01:00
|
|
|
manifest {
|
|
|
|
attributes 'Implementation-Title': 'Stirling-PDF',
|
|
|
|
'Implementation-Version': project.version
|
|
|
|
}
|
|
|
|
|
2023-01-29 15:10:12 +01:00
|
|
|
}
|
|
|
|
|
2023-01-27 19:23:40 +01:00
|
|
|
tasks.named('test') {
|
|
|
|
useJUnitPlatform()
|
|
|
|
}
|
2023-01-29 18:06:53 +01:00
|
|
|
|
2023-01-27 19:23:40 +01:00
|
|
|
task printVersion {
|
|
|
|
println project.version
|
|
|
|
}
|