Stirling-PDF/build.gradle
dependabot[bot] b2dfb4f863
Bump org.postgresql:postgresql from 42.7.4 to 42.7.5 (#2757)
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from
42.7.4 to 42.7.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pgjdbc/pgjdbc/releases">org.postgresql:postgresql's
releases</a>.</em></p>
<blockquote>
<h2>v42.7.5</h2>
<h2>Changes</h2>
<ul>
<li>update changelogs and increment version in gradle.properties for
release <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3478">#3478</a>)</li>
<li>regression: revert change in <a
href="https://github.com/pgjdbc/pgjdbc/commit/fc60537">https://github.com/pgjdbc/pgjdbc/commit/fc60537</a>
<a href="https://github.com/davecramer"><code>@​davecramer</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3476">#3476</a>)</li>
<li>Fix PgDatabaseMetaData implementation of catalog as param and return
value <a
href="https://github.com/SophiahHo"><code>@​SophiahHo</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3390">#3390</a>)</li>
<li>Support default GSS credentials in the Java Postgres client <a
href="https://github.com/nrhall"><code>@​nrhall</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3451">#3451</a>)</li>
<li>fix: return only the transactions accessible by the current_user in
XAResource.recover <a
href="https://github.com/vlsi"><code>@​vlsi</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3450">#3450</a>)</li>
<li>feat: don't force send extra_float_digits for PostgreSQL &gt;= 12
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3432">#3432</a>)
<a href="https://github.com/damienb-opt"><code>@​damienb-opt</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3446">#3446</a>)</li>
<li>fix: exclude &quot;include columns&quot; from the list of primary
keys <a
href="https://github.com/priteshranjan01"><code>@​priteshranjan01</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3434">#3434</a>)</li>
<li>Enhance the meta query performance by specifying the oid. <a
href="https://github.com/dh-cloud"><code>@​dh-cloud</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3427">#3427</a>)</li>
<li>feat: support getObject(int, byte[].class) for bytea <a
href="https://github.com/anesterenok"><code>@​anesterenok</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3274">#3274</a>)</li>
<li>docs: document infinity and some minor edits <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3407">#3407</a>)</li>
<li>Added way to check for major server version, fixed check for RULE <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3402">#3402</a>)</li>
<li>fixed remaining paragraphs <a
href="https://github.com/Zopsss"><code>@​Zopsss</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3398">#3398</a>)</li>
<li>fixed paragraphs in javadoc comments <a
href="https://github.com/Zopsss"><code>@​Zopsss</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3397">#3397</a>)</li>
<li>Reuse buffers and reduce allocations in GSSInputStream addresses
Issue <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3251">#3251</a>
<a href="https://github.com/davecramer"><code>@​davecramer</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3255">#3255</a>)</li>
<li>chore: Update Gradle to 8.10.2 <a
href="https://github.com/jorsol"><code>@​jorsol</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3388">#3388</a>)</li>
<li>ci: Test with Java 23 <a
href="https://github.com/jorsol"><code>@​jorsol</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3381">#3381</a>)</li>
<li>Fix getSchemas() <a
href="https://github.com/SophiahHo"><code>@​SophiahHo</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3386">#3386</a>)</li>
<li>Update rpm postgresql-jdbc.spec.tpl with scram-client <a
href="https://github.com/jorsol"><code>@​jorsol</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3324">#3324</a>)</li>
<li>Clearing thisRow and rowBuffer on close() of ResultSet <a
href="https://github.com/reallyinsane"><code>@​reallyinsane</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3384">#3384</a>)</li>
<li>Package was renamed to maven-bundle-plugin <a
href="https://github.com/ljavorsk"><code>@​ljavorsk</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3382">#3382</a>)</li>
<li>As of version 18 the RULE privilege has been removed <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3378">#3378</a>)</li>
<li>fix: use buffered inputstream to create GSSInputStream <a
href="https://github.com/Sasasu"><code>@​Sasasu</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3373">#3373</a>)</li>
<li>get rid of 8.4, 9.0 pg versions and use &gt;= jdk version 17 <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3372">#3372</a>)</li>
<li>Changed docker-compose version and renamed script file in
instructions to match the real file name <a
href="https://github.com/MohanadKh03"><code>@​MohanadKh03</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3363">#3363</a>)</li>
<li>Do not assume &quot;test&quot; database in
DatabaseMetaDataTransactionIsolationTest <a
href="https://github.com/nvanbenschoten"><code>@​nvanbenschoten</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3364">#3364</a>)</li>
<li>try to categorize dependencies <a
href="https://github.com/davecramer"><code>@​davecramer</code></a> (<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3362">#3362</a>)</li>
</ul>
<h2>⬆️ Dependencies</h2>
<!-- raw HTML omitted -->
<ul>
<li>chore(deps): update dependency gradle to v8.12 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3473">#3473</a>)</li>
<li>chore(deps): update codecov/codecov-action digest to adfacf2 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3468">#3468</a>)</li>
<li>chore(deps): update dependency sbt/sbt to v1.10.7 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3470">#3470</a>)</li>
<li>fix(deps): update dependency org.ops4j.pax.url:pax-url-aether to
v2.6.15 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3471">#3471</a>)</li>
<li>fix(deps): update junit5 monorepo to v5.11.4 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3472">#3472</a>)</li>
<li>fix(deps): update dependency
com.github.spotbugs:com.github.spotbugs.gradle.plugin to v6.1.0 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3469">#3469</a>)</li>
<li>chore(deps): update plugin biz.aqute.bnd.builder to v7.1.0 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3455">#3455</a>)</li>
<li>chore(deps): update dependency gradle to v8.11.1 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3454">#3454</a>)</li>
<li>chore(deps): update dependency com.typesafe.play:sbt-plugin to
v2.9.6 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3452">#3452</a>)</li>
<li>chore(deps): update dependency sbt/sbt to v1.10.6 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3453">#3453</a>)</li>
<li>chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.1.0 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3456">#3456</a>)</li>
<li>chore(deps): update codecov/codecov-action digest to 015f24e <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3438">#3438</a>)</li>
<li>chore(deps): update dependency sbt/sbt to v1.10.5 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3439">#3439</a>)</li>
<li>chore(deps): update plugin com.github.burrunan.s3-build-cache to
v1.8.4 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3440">#3440</a>)</li>
<li>fix(deps): update dependency
com.github.spotbugs:com.github.spotbugs.gradle.plugin to v6.0.26 <a
href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3441">#3441</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md">org.postgresql:postgresql's
changelog</a>.</em></p>
<blockquote>
<h2>[42.7.5] (2025-01-14 08:00:00 -0400)</h2>
<h3>Added</h3>
<ul>
<li>ci: Test with Java 23 [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3381">#3381</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3381">pgjdbc/pgjdbc#3381</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>regression: revert change in fc60537 [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3476">#3476</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3476">pgjdbc/pgjdbc#3476</a>)</li>
<li>fix: PgDatabaseMetaData implementation of catalog as param and
return value [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3390">#3390</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3390">pgjdbc/pgjdbc#3390</a>)</li>
<li>fix: Support default GSS credentials in the Java Postgres client [PR
<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3451">#3451</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3451">pgjdbc/pgjdbc#3451</a>)</li>
<li>fix: return only the transactions accessible by the current_user in
XAResource.recover [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3450">#3450</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3450">pgjdbc/pgjdbc#3450</a>)</li>
<li>feat: don't force send extra_float_digits for PostgreSQL &gt;= 12
fix [Issue <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3432">#3432</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3432">pgjdbc/pgjdbc#3432</a>)
[PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3446">#3446</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3446">pgjdbc/pgjdbc#3446</a>)</li>
<li>fix: exclude &quot;include columns&quot; from the list of primary
keys [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3434">#3434</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3434">pgjdbc/pgjdbc#3434</a>)</li>
<li>perf: Enhance the meta query performance by specifying the oid. [PR
<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3427">#3427</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3427">pgjdbc/pgjdbc#3427</a>)</li>
<li>feat: support getObject(int, byte[].class) for bytea [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3274">#3274</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3274">pgjdbc/pgjdbc#3274</a>)</li>
<li>docs: document infinity and some minor edits [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3407">#3407</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3407">pgjdbc/pgjdbc#3407</a>)</li>
<li>fix: Added way to check for major server version, fixed check for
RULE [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3402">#3402</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3402">pgjdbc/pgjdbc#3402</a>)</li>
<li>docs: fixed remaining paragraphs [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3398">#3398</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3398">pgjdbc/pgjdbc#3398</a>)</li>
<li>docs: fixed paragraphs in javadoc comments [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3397">#3397</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3397">pgjdbc/pgjdbc#3397</a>)</li>
<li>fix: Reuse buffers and reduce allocations in GSSInputStream
addresses [Issue <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3251">#3251</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3251">pgjdbc/pgjdbc#3251</a>)
[PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3255">#3255</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3255">pgjdbc/pgjdbc#3255</a>)</li>
<li>chore: Update Gradle to 8.10.2 [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3388">#3388</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3388">pgjdbc/pgjdbc#3388</a>)</li>
<li>fix: getSchemas() [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3386">#3386</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3386">pgjdbc/pgjdbc#3386</a>)</li>
<li>fix: Update rpm postgresql-jdbc.spec.tpl with scram-client [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3324">#3324</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3324">pgjdbc/pgjdbc#3324</a>)</li>
<li>fix: Clearing thisRow and rowBuffer on close() of ResultSet [Issue
<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3383">#3383</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3383">pgjdbc/pgjdbc#3383</a>)
[PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3384">#3384</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3384">pgjdbc/pgjdbc#3384</a>)</li>
<li>fix: Package was renamed to maven-bundle-plugin [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3382">#3382</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3382">pgjdbc/pgjdbc#3382</a>)</li>
<li>fix: As of version 18 the RULE privilege has been removed [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3378">#3378</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3378">pgjdbc/pgjdbc#3378</a>)</li>
<li>fix: use buffered inputstream to create GSSInputStream [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3373">#3373</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3373">pgjdbc/pgjdbc#3373</a>)</li>
<li>test: get rid of 8.4, 9.0 pg versions and use &gt;= jdk version 17
[PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3372">#3372</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3372">pgjdbc/pgjdbc#3372</a>)</li>
<li>Changed docker-compose version and renamed script file in
instructions to match the real file name [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3363">#3363</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3363">pgjdbc/pgjdbc#3363</a>)</li>
<li>test:Do not assume &quot;test&quot; database in
DatabaseMetaDataTransactionIsolationTest [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3364">#3364</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3364">pgjdbc/pgjdbc#3364</a>)</li>
<li>try to categorize dependencies [PR <a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3362">#3362</a>](<a
href="https://redirect.github.com/pgjdbc/pgjdbc/pull/3362">pgjdbc/pgjdbc#3362</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="94a1693a61"><code>94a1693</code></a>
update changelogs and increment version in gradle.properties for release
(<a
href="https://redirect.github.com/pgjdbc/pgjdbc/issues/3478">#3478</a>)</li>
<li><a
href="ce54dfdee8"><code>ce54dfd</code></a>
chore: replace deprecated kotlinOptions with a replacement API</li>
<li><a
href="398029efe9"><code>398029e</code></a>
chore: avoid failure in osgi-test/onlyIf if -PjdkBuildVersion is missing
at t...</li>
<li><a
href="7245443f16"><code>7245443</code></a>
test: skip :pgjdbc-osgi-test:test when runnning tests with Java 8</li>
<li><a
href="7747527904"><code>7747527</code></a>
chore(deps): update dependency gradle to v8.12</li>
<li><a
href="bb07a4bd01"><code>bb07a4b</code></a>
chore(deps): update codecov/codecov-action digest to adfacf2</li>
<li><a
href="f545514893"><code>f545514</code></a>
chore(deps): update dependency sbt/sbt to v1.10.7</li>
<li><a
href="45df56c7bc"><code>45df56c</code></a>
fix(deps): update dependency org.ops4j.pax.url:pax-url-aether to
v2.6.15</li>
<li><a
href="b87e106d55"><code>b87e106</code></a>
fix(deps): update junit5 monorepo to v5.11.4</li>
<li><a
href="560347762c"><code>5603477</code></a>
fix(deps): update dependency
com.github.spotbugs:com.github.spotbugs.gradle.p...</li>
<li>Additional commits viewable in <a
href="https://github.com/pgjdbc/pgjdbc/compare/REL42.7.4...REL42.7.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql&package-manager=gradle&previous-version=42.7.4&new-version=42.7.5)](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>
2025-01-30 11:02:07 +00:00

458 lines
17 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.0"
}
import com.github.jk1.license.render.*
ext {
springBootVersion = "3.4.1"
pdfboxVersion = "3.0.4"
logbackVersion = "1.5.7"
imageioVersion = "3.12.0"
lombokVersion = "1.18.36"
bouncycastleVersion = "1.80"
springSecuritySamlVersion = "6.4.2"
openSamlVersion = "4.3.2"
}
group = "stirling.software"
version = "0.39.0"
java {
// 17 is lowest but we support and recommend 21
sourceCompatibility = JavaVersion.VERSION_17
}
repositories {
mavenCentral()
maven { url = "https://jitpack.io" }
maven { url = "https://build.shibboleth.net/maven/releases" }
maven { url = "https://maven.pkg.github.com/jcefmaven/jcefmaven" }
}
licenseReport {
renderers = [new JsonReportRenderer()]
}
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")
toggleOffOn()
trimTrailingWhitespace()
leadingTabsToSpaces()
endWithNewline()
}
}
//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 {
if (System.getenv("STIRLING_PDF_DESKTOP_UI") != "false") {
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.2"
implementation("io.github.pixee:java-security-toolkit:1.2.1")
// implementation "org.yaml:snakeyaml:2.2"
implementation 'com.github.Carleslc.Simple-YAML:Simple-Yaml:1.8.4'
// 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.1.1'
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:$springBootVersion"
implementation "org.springframework:spring-jdbc:6.2.2"
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.3"
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())
}
}