mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-02-21 00:17:05 +01:00
Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.3 to 1.14.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/micrometer-metrics/micrometer/releases">io.micrometer:micrometer-core's releases</a>.</em></p> <blockquote> <h2>1.14.4</h2> <h2>🐞 Bug Fixes</h2> <ul> <li>Log4j2Metrics does not work with multiple registries and non-root loggers <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5893">#5893</a></li> <li>Fix LongTaskTimer output for LoggingMeterRegistry <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5834">#5834</a></li> <li><code>Log4j2Metrics</code> creates more <code>MetricsFilter</code> instances than needed <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5818">#5818</a></li> <li>Fix unit discrepancy between Timer and FunctionTimer in LoggingMeterRegistry <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5816">#5816</a></li> <li>Distribution bucket_counts sum does not equal the count <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/4868">#4868</a></li> </ul> <h2>📔 Documentation</h2> <ul> <li>Remove obviated GraalVM native image compilation section from Stackdriver docs <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5819">#5819</a></li> <li>Update Docs with right contract of MeterFilter <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5480">#5480</a></li> </ul> <h2>🔨 Dependency Upgrades</h2> <ul> <li>Bump com.netflix.spectator:spectator-reg-atlas from 1.8.3 to 1.8.4 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5907">#5907</a></li> <li>Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.1 to 5.4.2 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5876">#5876</a></li> <li>Bump io.netty:netty-bom from 4.1.116.Final to 4.1.117.Final <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5872">#5872</a></li> <li>Bump org.postgresql:postgresql from 42.7.4 to 42.7.5 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5871">#5871</a></li> <li>Bump jersey3 from 3.1.9 to 3.1.10 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5870">#5870</a></li> <li>Bump software.amazon.awssdk:cloudwatch from 2.29.46 to 2.29.52 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5869">#5869</a></li> <li>Bump jetty9 from 9.4.56.v20240826 to 9.4.57.v20241219 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5868">#5868</a></li> <li>Bump dropwizard-metrics from 4.2.29 to 4.2.30 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5867">#5867</a></li> <li>Bump com.signalfx.public:signalfx-java from 1.0.48 to 1.0.49 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5895">#5895</a></li> <li>Bump org.apache.commons:commons-pool2 from 2.12.0 to 2.12.1 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5865">#5865</a></li> </ul> <h2>📝 Tasks</h2> <ul> <li>Increase sleep time to avoid exemplar sampling rate limiting for openMetricsScrapeWithExemplars() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5908">#5908</a></li> <li>Fix flakiness in DynatraceMeterRegistryTest.shouldTrackPercentilesWhenDynatraceSummaryInstrumentsNotUsed() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5900">#5900</a></li> <li>Fix flakiness in JmsInstrumentationTests.shouldInstrumentMessageListener() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5899">#5899</a></li> <li>Fix flakiness in JettyClientMetricsWithObservationTest.activeTimer() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5894">#5894</a></li> <li>Increase wait duration in PushMeterRegistryTest.closeRespectsInterrupt() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5890">#5890</a></li> <li>Enable TimedAspectTest.pjpFunctionThrows() <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5889">#5889</a></li> <li>Add .kotlin to .gitignore <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5888">#5888</a></li> <li>Polish <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5886">#5886</a></li> <li>Migrate to dependabot auto-merge function <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5874">#5874</a></li> <li>Back-port LoggingMeterRegistry tests <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5833">#5833</a></li> <li>Bump build machine image to ubuntu-2404:2024.11.1 <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5829">#5829</a></li> <li>Bump build JDKs to 21.0.6, 17.0.14, 11.0.26 <a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5828">#5828</a></li> <li>Upgrade to Gradle Wrapper 8.12.1 <a href="https://redirect.github.com/micrometer-metrics/micrometer/pull/5823">#5823</a></li> </ul> <h2>❤️ Contributors</h2> <p>Thank you to all the contributors who worked on this release:</p> <p><a href="https://github.com/izeye"><code>@izeye</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e387558fcc
"><code>e387558</code></a> Merge branch '1.13.x' into 1.14.x</li> <li><a href="f33456630e
"><code>f334566</code></a> Increase sleep time to avoid exemplar sampling rate limiting for openMetricsS...</li> <li><a href="94686e8895
"><code>94686e8</code></a> Merge branch '1.13.x' into 1.14.x</li> <li><a href="9e4dfbf8be
"><code>9e4dfbf</code></a> Migrates post actions to java gh action</li> <li><a href="e44147a942
"><code>e44147a</code></a> Bump com.netflix.spectator:spectator-reg-atlas from 1.8.3 to 1.8.4 (<a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5907">#5907</a>)</li> <li><a href="7c65ad6585
"><code>7c65ad6</code></a> Fix flakiness in DynatraceMeterRegistryTest.shouldTrackPercentilesWhenDynatra...</li> <li><a href="f879d3abf1
"><code>f879d3a</code></a> Fix flakiness in JmsInstrumentationTests.shouldInstrumentMessageListener() (#...</li> <li><a href="20d0a9ef6e
"><code>20d0a9e</code></a> Fix flakiness in JettyClientMetricsWithObservationTest.activeTimer() (<a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5894">#5894</a>)</li> <li><a href="fd6d438441
"><code>fd6d438</code></a> Bump com.signalfx.public:signalfx-java from 1.0.48 to 1.0.49 (<a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5898">#5898</a>)</li> <li><a href="9311c173de
"><code>9311c17</code></a> Bump com.signalfx.public:signalfx-java from 1.0.48 to 1.0.49 (<a href="https://redirect.github.com/micrometer-metrics/micrometer/issues/5895">#5895</a>)</li> <li>Additional commits viewable in <a href="https://github.com/micrometer-metrics/micrometer/compare/v1.14.3...v1.14.4">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
477 lines
18 KiB
Groovy
477 lines
18 KiB
Groovy
plugins {
|
|
id "java"
|
|
id "org.springframework.boot" version "3.4.1"
|
|
id "io.spring.dependency-management" version "1.1.7"
|
|
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.6"
|
|
id "com.diffplug.spotless" version "7.0.2"
|
|
id "com.github.jk1.dependency-license-report" version "2.9"
|
|
//id "nebula.lint" version "19.0.3"
|
|
id("org.panteleyev.jpackageplugin") version "1.6.1"
|
|
id "org.sonarqube" version "6.0.1.5171"
|
|
}
|
|
|
|
import com.github.jk1.license.render.*
|
|
|
|
ext {
|
|
springBootVersion = "3.4.2"
|
|
pdfboxVersion = "3.0.4"
|
|
imageioVersion = "3.12.0"
|
|
lombokVersion = "1.18.36"
|
|
bouncycastleVersion = "1.80"
|
|
springSecuritySamlVersion = "6.4.2"
|
|
openSamlVersion = "4.3.2"
|
|
}
|
|
|
|
group = "stirling.software"
|
|
version = "0.42.0"
|
|
|
|
java {
|
|
// 17 is lowest but we support and recommend 21
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url = "https://build.shibboleth.net/maven/releases" }
|
|
maven { url = "https://maven.pkg.github.com/jcefmaven/jcefmaven" }
|
|
}
|
|
|
|
licenseReport {
|
|
renderers = [new JsonReportRenderer()]
|
|
allowedLicensesFile = new File("$projectDir/allowed-licenses.json")
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
if (System.getenv("DOCKER_ENABLE_SECURITY") == "false") {
|
|
exclude "stirling/software/SPDF/config/security/**"
|
|
exclude "stirling/software/SPDF/controller/api/DatabaseController.java"
|
|
exclude "stirling/software/SPDF/controller/api/UserController.java"
|
|
exclude "stirling/software/SPDF/controller/api/H2SQLCondition.java"
|
|
exclude "stirling/software/SPDF/controller/web/AccountWebController.java"
|
|
exclude "stirling/software/SPDF/controller/web/DatabaseWebController.java"
|
|
exclude "stirling/software/SPDF/model/ApiKeyAuthenticationToken.java"
|
|
exclude "stirling/software/SPDF/model/AttemptCounter.java"
|
|
exclude "stirling/software/SPDF/model/Authority.java"
|
|
exclude "stirling/software/SPDF/model/BackupNotFoundException.java"
|
|
exclude "stirling/software/SPDF/model/PersistentLogin.java"
|
|
exclude "stirling/software/SPDF/model/SessionEntity.java"
|
|
exclude "stirling/software/SPDF/model/User.java"
|
|
exclude "stirling/software/SPDF/repository/**"
|
|
}
|
|
|
|
if (System.getenv("STIRLING_PDF_DESKTOP_UI") == "false") {
|
|
exclude "stirling/software/SPDF/UI/impl/**"
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
test {
|
|
java {
|
|
if (System.getenv("DOCKER_ENABLE_SECURITY") == "false") {
|
|
exclude "stirling/software/SPDF/config/security/**"
|
|
exclude "stirling/software/SPDF/controller/api/UserControllerTest.java"
|
|
exclude "stirling/software/SPDF/controller/api/DatabaseControllerTest.java"
|
|
exclude "stirling/software/SPDF/controller/web/AccountWebControllerTest.java"
|
|
exclude "stirling/software/SPDF/controller/web/DatabaseWebControllerTest.java"
|
|
exclude "stirling/software/SPDF/model/ApiKeyAuthenticationTokenTest.java"
|
|
exclude "stirling/software/SPDF/model/AttemptCounterTest.java"
|
|
exclude "stirling/software/SPDF/model/AuthorityTest.java"
|
|
exclude "stirling/software/SPDF/model/PersistentLoginTest.java"
|
|
exclude "stirling/software/SPDF/model/SessionEntityTest.java"
|
|
exclude "stirling/software/SPDF/model/UserTest.java"
|
|
exclude "stirling/software/SPDF/repository/**"
|
|
}
|
|
|
|
if (System.getenv("STIRLING_PDF_DESKTOP_UI") == "false") {
|
|
exclude "stirling/software/SPDF/UI/impl/**"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
openApi {
|
|
apiDocsUrl = "http://localhost:8080/v1/api-docs"
|
|
outputDir = file("$projectDir")
|
|
outputFileName = "SwaggerDoc.json"
|
|
}
|
|
|
|
//0.11.5 to 2024.11.5
|
|
def getMacVersion(String version) {
|
|
def currentYear = java.time.Year.now().getValue()
|
|
def versionParts = version.split("\\.", 2)
|
|
return "${currentYear}.${versionParts.length > 1 ? versionParts[1] : versionParts[0]}"
|
|
}
|
|
|
|
jpackage {
|
|
input = "build/libs"
|
|
destination = "${projectDir}/build/jpackage"
|
|
mainJar = "Stirling-PDF-${project.version}.jar"
|
|
appName = "Stirling-PDF"
|
|
appVersion = project.version
|
|
vendor = "Stirling-Software"
|
|
appDescription = "Stirling PDF - Your Local PDF Editor"
|
|
icon = "src/main/resources/static/favicon.ico"
|
|
verbose = true
|
|
// mainClass = "org.springframework.boot.loader.launch.JarLauncher"
|
|
|
|
// JVM Options
|
|
javaOptions = [
|
|
"-DBROWSER_OPEN=true",
|
|
"-DSTIRLING_PDF_DESKTOP_UI=true",
|
|
"-Djava.awt.headless=false",
|
|
"-Dapple.awt.UIElement=true",
|
|
"--add-opens=java.base/java.lang=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/java.awt.event=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/sun.awt=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/sun.awt.windows=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/sun.lwawt=ALL-UNNAMED",
|
|
"--add-opens=java.desktop/sun.lwawt.macosx=ALL-UNNAMED",
|
|
]
|
|
|
|
// Windows-specific configuration
|
|
windows {
|
|
launcherAsService = false
|
|
appVersion = project.version
|
|
|
|
winConsole = false
|
|
winMenu = true // Creates start menu entry
|
|
winShortcut = true // Creates desktop shortcut
|
|
winShortcutPrompt = true // Lets user choose whether to create shortcuts
|
|
winDirChooser = true // Allows users to choose installation directory
|
|
winPerUserInstall = false
|
|
winMenuGroup = "Stirling Software"
|
|
winUpgradeUuid = "2a43ed0c-b8c2-40cf-89e1-751129b87641" // Unique identifier for updates
|
|
winHelpUrl = "https://github.com/Stirling-Tools/Stirling-PDF"
|
|
winUpdateUrl = "https://github.com/Stirling-Tools/Stirling-PDF/releases"
|
|
type = "exe"
|
|
installDir = "C:/Program Files/Stirling-PDF"
|
|
}
|
|
|
|
// macOS-specific configuration
|
|
mac {
|
|
appVersion = getMacVersion(project.version.toString())
|
|
icon = "src/main/resources/static/favicon.icns"
|
|
type = "dmg"
|
|
macPackageIdentifier = "com.stirling.software.pdf"
|
|
macPackageName = "Stirling-PDF"
|
|
macAppCategory = "public.app-category.productivity"
|
|
macSign = false // Enable signing
|
|
macAppStore = false // Not targeting App Store initially
|
|
|
|
//installDir = "Applications"
|
|
|
|
// Add license and other documentation to DMG
|
|
/*macDmgContent = [
|
|
"README.md",
|
|
"LICENSE",
|
|
"CHANGELOG.md"
|
|
]*/
|
|
|
|
// Enable Mac-specific entitlements
|
|
//macEntitlements = "entitlements.plist" // You'll need to create this file
|
|
}
|
|
|
|
// Linux-specific configuration
|
|
linux {
|
|
appVersion = project.version
|
|
icon = "src/main/resources/static/favicon.png"
|
|
type = "deb" // Can also use "rpm" for Red Hat-based systems
|
|
|
|
// Debian package configuration
|
|
//linuxPackageName = "stirlingpdf"
|
|
linuxDebMaintainer = "support@stirlingpdf.com"
|
|
linuxMenuGroup = "Office;PDF;Productivity"
|
|
linuxAppCategory = "Office"
|
|
linuxAppRelease = "1"
|
|
linuxPackageDeps = true
|
|
|
|
installDir = "/opt/Stirling-PDF"
|
|
|
|
// RPM-specific settings
|
|
//linuxRpmLicenseType = "MIT"
|
|
}
|
|
|
|
// Common additional options
|
|
//jLinkOptions = [
|
|
// "--strip-debug",
|
|
// "--compress=2",
|
|
// "--no-header-files",
|
|
// "--no-man-pages"
|
|
//]
|
|
|
|
// Add any additional modules required
|
|
/*addModules = [
|
|
"java.base",
|
|
"java.desktop",
|
|
"java.logging",
|
|
"java.sql",
|
|
"java.xml",
|
|
"jdk.crypto.ec"
|
|
]*/
|
|
|
|
// Add copyright and license information
|
|
copyright = "Copyright © 2024 Stirling Software"
|
|
licenseFile = "LICENSE"
|
|
}
|
|
|
|
|
|
launch4j {
|
|
icon = "${projectDir}/src/main/resources/static/favicon.ico"
|
|
|
|
outfile="Stirling-PDF.exe"
|
|
|
|
if(System.getenv("STIRLING_PDF_DESKTOP_UI") == 'true') {
|
|
headerType = "gui"
|
|
} else {
|
|
headerType = "console"
|
|
}
|
|
jarTask = tasks.bootJar
|
|
|
|
errTitle="Encountered error, Do you have Java 21?"
|
|
downloadUrl="https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe"
|
|
|
|
if(System.getenv("STIRLING_PDF_DESKTOP_UI") == 'true') {
|
|
variables=["BROWSER_OPEN=true", "STIRLING_PDF_DESKTOP_UI=true"]
|
|
} else {
|
|
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 21."
|
|
messagesLauncherError="Java is corrupted. Please uninstall and then install Java 21."
|
|
messagesInstanceAlreadyExists="Stirling-PDF is already running."
|
|
}
|
|
|
|
spotless {
|
|
java {
|
|
target project.fileTree('src/main/java')
|
|
|
|
googleJavaFormat("1.25.2").aosp().reorderImports(false)
|
|
|
|
importOrder("java", "javax", "org", "com", "net", "io", "jakarta", "lombok", "me", "stirling")
|
|
toggleOffOn()
|
|
trimTrailingWhitespace()
|
|
leadingTabsToSpaces()
|
|
endWithNewline()
|
|
}
|
|
}
|
|
|
|
sonar {
|
|
properties {
|
|
property "sonar.projectKey", "Stirling-Tools_Stirling-PDF"
|
|
property "sonar.organization", "stirling-tools"
|
|
|
|
property "sonar.exclusions", "**/build-wrapper-dump.json, src/main/java/org/apache/**, src/main/resources/static/pdfjs/**, src/main/resources/static/pdfjs-legacy/**, src/main/resources/static/js/thirdParty/**"
|
|
property "sonar.coverage.exclusions", "src/main/java/org/apache/**, src/main/resources/static/pdfjs/**, src/main/resources/static/pdfjs-legacy/**, src/main/resources/static/js/thirdParty/**"
|
|
property "sonar.cpd.exclusions", "src/main/java/org/apache/**, src/main/resources/static/pdfjs/**, src/main/resources/static/pdfjs-legacy/**, src/main/resources/static/js/thirdParty/**"
|
|
}
|
|
}
|
|
|
|
//gradleLint {
|
|
// rules=['unused-dependency']
|
|
// }
|
|
tasks.wrapper {
|
|
gradleVersion = "8.12"
|
|
}
|
|
//tasks.withType(JavaCompile) {
|
|
// options.compilerArgs << "-Xlint:deprecation"
|
|
//}
|
|
configurations.all {
|
|
exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat"
|
|
}
|
|
dependencies {
|
|
|
|
//tmp for security bumps
|
|
implementation 'ch.qos.logback:logback-core:1.5.15'
|
|
implementation 'ch.qos.logback:logback-classic:1.5.15'
|
|
|
|
|
|
// Exclude vulnerable BouncyCastle version used in tableau
|
|
configurations.all {
|
|
exclude group: 'org.bouncycastle', module: 'bcpkix-jdk15on'
|
|
exclude group: 'org.bouncycastle', module: 'bcutil-jdk15on'
|
|
exclude group: 'org.bouncycastle', module: 'bcmail-jdk15on'
|
|
}
|
|
|
|
if (System.getenv("STIRLING_PDF_DESKTOP_UI") != "false") {
|
|
implementation 'org.apache.commons:commons-compress:1.26.0'
|
|
implementation "me.friwi:jcefmaven:127.3.1"
|
|
implementation "org.openjfx:javafx-controls:21"
|
|
implementation "org.openjfx:javafx-swing:21"
|
|
}
|
|
|
|
//security updates
|
|
implementation "org.springframework:spring-webmvc:6.2.3"
|
|
|
|
implementation("io.github.pixee:java-security-toolkit:1.2.1")
|
|
|
|
// Exclude Tomcat and include Jetty
|
|
implementation("org.springframework.boot:spring-boot-starter-web:$springBootVersion")
|
|
implementation "org.springframework.boot:spring-boot-starter-jetty:$springBootVersion"
|
|
|
|
implementation "org.springframework.boot:spring-boot-starter-thymeleaf:$springBootVersion"
|
|
implementation 'com.posthog.java:posthog:1.2.0'
|
|
implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20240325.1'
|
|
|
|
|
|
if (System.getenv("DOCKER_ENABLE_SECURITY") != "false") {
|
|
implementation "org.springframework.boot:spring-boot-starter-security:$springBootVersion"
|
|
implementation "org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.3.RELEASE"
|
|
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$springBootVersion"
|
|
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion"
|
|
|
|
implementation "org.springframework.session:spring-session-core:3.4.1"
|
|
implementation "org.springframework:spring-jdbc:6.2.3"
|
|
|
|
implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5'
|
|
// Don't upgrade h2database
|
|
runtimeOnly "com.h2database:h2:2.3.232"
|
|
runtimeOnly "org.postgresql:postgresql:42.7.5"
|
|
constraints {
|
|
implementation "org.opensaml:opensaml-core:$openSamlVersion"
|
|
implementation "org.opensaml:opensaml-saml-api:$openSamlVersion"
|
|
implementation "org.opensaml:opensaml-saml-impl:$openSamlVersion"
|
|
}
|
|
implementation "org.springframework.security:spring-security-saml2-service-provider:$springSecuritySamlVersion"
|
|
// implementation 'org.springframework.security:spring-security-core:$springSecuritySamlVersion'
|
|
implementation 'com.coveo:saml-client:5.0.0'
|
|
|
|
|
|
}
|
|
|
|
testImplementation "org.springframework.boot:spring-boot-starter-test:$springBootVersion"
|
|
|
|
// 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-hdr:$imageioVersion"
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-icns:$imageioVersion"
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-iff:$imageioVersion"
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-jpeg:$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-tiff:$imageioVersion"
|
|
runtimeOnly "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion"
|
|
// runtimeOnly "com.twelvemonkeys.imageio:imageio-xwd:$imageioVersion"
|
|
|
|
// Image metadata extractor
|
|
implementation "com.drewnoakes:metadata-extractor:2.19.0"
|
|
|
|
implementation "commons-io:commons-io:2.18.0"
|
|
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.10") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
|
|
implementation ("org.apache.pdfbox:pdfbox:$pdfboxVersion") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
implementation "org.apache.pdfbox:preflight:$pdfboxVersion"
|
|
|
|
|
|
implementation ("org.apache.pdfbox:xmpbox:$pdfboxVersion") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
|
|
// 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 "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
|
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
|
implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
|
|
implementation "io.micrometer:micrometer-core:1.14.4"
|
|
implementation group: "com.google.zxing", name: "core", version: "3.5.3"
|
|
// https://mvnrepository.com/artifact/org.commonmark/commonmark
|
|
implementation "org.commonmark:commonmark:0.24.0"
|
|
implementation "org.commonmark:commonmark-ext-gfm-tables:0.24.0"
|
|
// https://mvnrepository.com/artifact/com.bucket4j/bucket4j_jdk17
|
|
implementation "com.bucket4j:bucket4j_jdk17-core:8.14.0"
|
|
implementation "com.fathzer:javaluator:3.0.5"
|
|
|
|
implementation 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8'
|
|
|
|
developmentOnly("org.springframework.boot:spring-boot-devtools:$springBootVersion")
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testRuntimeOnly 'org.mockito:mockito-inline:5.2.0'
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = "UTF-8"
|
|
dependsOn "spotlessApply"
|
|
}
|
|
compileJava {
|
|
options.compilerArgs << "-parameters"
|
|
}
|
|
|
|
task writeVersion {
|
|
def propsFile = file("src/main/resources/version.properties")
|
|
def props = new Properties()
|
|
props.setProperty("version", version)
|
|
props.store(propsFile.newWriter(), null)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
jar {
|
|
enabled = false
|
|
manifest {
|
|
attributes "Implementation-Title": "Stirling-PDF",
|
|
"Implementation-Version": project.version
|
|
}
|
|
|
|
}
|
|
|
|
tasks.named("test") {
|
|
useJUnitPlatform()
|
|
}
|
|
task printVersion {
|
|
doLast {
|
|
println project.version
|
|
}
|
|
}
|
|
|
|
task printMacVersion {
|
|
doLast {
|
|
println getMacVersion(project.version.toString())
|
|
}
|
|
}
|