Compare commits
15 Commits
extraTest
...
autoMergeT
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d797d700db | ||
|
|
ff1086b0d5 | ||
|
|
eb3c3cace0 | ||
|
|
b2d1f20ebe | ||
|
|
6834067e7a | ||
|
|
d4b120b5f8 | ||
|
|
f0310a4177 | ||
|
|
06a53de350 | ||
|
|
bb99f9ff83 | ||
|
|
72b7b1b838 | ||
|
|
cbaea9cca9 | ||
|
|
5605e4d3bb | ||
|
|
bf0958f588 | ||
|
|
0ae862a84a | ||
|
|
3e216872ce |
2
.github/workflows/PR-Demo-Comment.yml
vendored
2
.github/workflows/PR-Demo-Comment.yml
vendored
@@ -119,7 +119,7 @@ jobs:
|
|||||||
password: ${{ secrets.DOCKER_HUB_API }}
|
password: ${{ secrets.DOCKER_HUB_API }}
|
||||||
|
|
||||||
- name: Build and push PR-specific image
|
- name: Build and push PR-specific image
|
||||||
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
|
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
|
|||||||
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
@@ -49,7 +49,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload Test Reports
|
- name: Upload Test Reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
name: test-reports-jdk-${{ matrix.jdk-version }}
|
name: test-reports-jdk-${{ matrix.jdk-version }}
|
||||||
path: |
|
path: |
|
||||||
@@ -109,5 +109,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Run Docker Compose Tests
|
- name: Run Docker Compose Tests
|
||||||
run: |
|
run: |
|
||||||
|
chmod +x ./cucumber/test_webpages.sh
|
||||||
chmod +x ./test.sh
|
chmod +x ./test.sh
|
||||||
./test.sh
|
./test.sh
|
||||||
|
|||||||
35
.github/workflows/licenses-update.yml
vendored
35
.github/workflows/licenses-update.yml
vendored
@@ -22,6 +22,13 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
|
- name: Generate GitHub App Token
|
||||||
|
id: generate-token
|
||||||
|
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1
|
||||||
|
with:
|
||||||
|
app-id: ${{ vars.GH_APP_ID }}
|
||||||
|
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
||||||
@@ -42,8 +49,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up git config
|
- name: Set up git config
|
||||||
run: |
|
run: |
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "stirlingbot[bot]"
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
git config --global user.email "1113334+stirlingbot[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
- name: Run git add
|
- name: Run git add
|
||||||
run: |
|
run: |
|
||||||
@@ -55,32 +62,22 @@ jobs:
|
|||||||
if: env.CHANGES_DETECTED == 'true'
|
if: env.CHANGES_DETECTED == 'true'
|
||||||
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
|
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
commit-message: "Update 3rd Party Licenses"
|
commit-message: "Update 3rd Party Licenses"
|
||||||
committer: GitHub Action <action@github.com>
|
committer: "stirlingbot[bot] <1113334+stirlingbot[bot]@users.noreply.github.com>"
|
||||||
author: GitHub Action <action@github.com>
|
author: "stirlingbot[bot] <1113334+stirlingbot[bot]@users.noreply.github.com>"
|
||||||
signoff: true
|
signoff: true
|
||||||
branch: update-3rd-party-licenses
|
branch: update-3rd-party-licenses
|
||||||
title: "Update 3rd Party Licenses"
|
title: "Update 3rd Party Licenses"
|
||||||
body: |
|
body: |
|
||||||
Auto-generated by [create-pull-request][1]
|
Auto-generated by StirlingBot
|
||||||
|
|
||||||
[1]: https://github.com/peter-evans/create-pull-request
|
|
||||||
labels: licenses,github-actions
|
labels: licenses,github-actions
|
||||||
draft: false
|
draft: false
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
sign-commits: true
|
sign-commits: true
|
||||||
|
|
||||||
- name: Auto approve
|
- name: Enable Pull Request Automerge
|
||||||
if: steps.cpr.outputs.pull-request-operation == 'created'
|
if: steps.cpr.outputs.pull-request-operation == 'created'
|
||||||
run: gh pr review --approve "${{ steps.cpr.outputs.pull-request-number }}"
|
run: gh pr merge --squash --auto "${{ steps.cpr.outputs.pull-request-number }}"
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
- name: Enable auto-merge
|
|
||||||
if: steps.cpr.outputs.pull-request-operation == 'created'
|
|
||||||
uses: peter-evans/enable-pull-request-automerge@a660677d5469627102a1c1e11409dd063606628d # v3.0.0
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
|
|
||||||
merge-method: squash # Choose the merge method: merge, squash, or rebase
|
|
||||||
|
|||||||
53
.github/workflows/multiOSReleases.yml
vendored
53
.github/workflows/multiOSReleases.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
|||||||
enable_security: [true, false]
|
enable_security: [true, false]
|
||||||
include:
|
include:
|
||||||
- enable_security: true
|
- enable_security: true
|
||||||
file_suffix: "with-login-"
|
file_suffix: "-with-login"
|
||||||
- enable_security: false
|
- enable_security: false
|
||||||
file_suffix: ""
|
file_suffix: ""
|
||||||
steps:
|
steps:
|
||||||
@@ -75,18 +75,18 @@ jobs:
|
|||||||
|
|
||||||
- name: Rename binaries
|
- name: Rename binaries
|
||||||
run: |
|
run: |
|
||||||
mv ./build/launch4j/Stirling-PDF.exe ./win-Stirling-PDF-portable-Server-${{ matrix.file_suffix }}${{ needs.read_versions.outputs.version }}.exe
|
mkdir ./binaries
|
||||||
mv ./build/libs/Stirling-PDF-${{ needs.read_versions.outputs.version }}.jar ./Stirling-PDF-${{ matrix.file_suffix }}${{ needs.read_versions.outputs.version }}.jar
|
mv ./build/launch4j/Stirling-PDF.exe ./binaries/win-Stirling-PDF-portable-Server${{ matrix.file_suffix }}.exe
|
||||||
|
mv ./build/libs/Stirling-PDF-${{ needs.read_versions.outputs.version }}.jar ./binaries/Stirling-PDF${{ matrix.file_suffix }}.jar
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
name: stirling-${{ matrix.file_suffix }}binaries
|
name: stirling${{ matrix.file_suffix }}-binaries
|
||||||
path: |
|
path: |
|
||||||
./win-Stirling-PDF-portable-Server-${{ matrix.file_suffix }}${{ needs.read_versions.outputs.version }}.exe
|
./binaries/*
|
||||||
./Stirling-PDF-${{ matrix.file_suffix }}${{ needs.read_versions.outputs.version }}.jar
|
|
||||||
|
|
||||||
sign_verify-portable:
|
sign_verify-portable:
|
||||||
needs: [build-portable, read_versions]
|
needs: [build-portable, read_versions]
|
||||||
@@ -129,17 +129,11 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
extra: "-installer"
|
|
||||||
platform: win-
|
platform: win-
|
||||||
ext: exe
|
|
||||||
# - os: macos-latest
|
# - os: macos-latest
|
||||||
# extra: ""
|
|
||||||
# platform: mac-
|
# platform: mac-
|
||||||
# ext: dmg
|
|
||||||
# - os: ubuntu-latest
|
# - os: ubuntu-latest
|
||||||
# extra: ""
|
|
||||||
# platform: linux-
|
# platform: linux-
|
||||||
# ext: deb
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -180,14 +174,18 @@ jobs:
|
|||||||
id: prepare
|
id: prepare
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
mkdir ./binaries
|
||||||
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
||||||
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.version }}.exe" "${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}"
|
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe"
|
||||||
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
|
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
|
||||||
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}"
|
mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
|
||||||
else
|
else
|
||||||
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}"
|
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Display structure of downloaded files
|
||||||
|
run: ls -R ./binaries
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
@@ -195,7 +193,7 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
name: ${{ matrix.platform }}binaries
|
name: ${{ matrix.platform }}binaries
|
||||||
path: |
|
path: |
|
||||||
./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}
|
./binaries/*
|
||||||
|
|
||||||
sign_verify:
|
sign_verify:
|
||||||
needs: [read_versions, build-installers]
|
needs: [read_versions, build-installers]
|
||||||
@@ -203,17 +201,11 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
extra: "-installer"
|
|
||||||
platform: win-
|
platform: win-
|
||||||
ext: exe
|
|
||||||
# - os: macos-latest
|
# - os: macos-latest
|
||||||
# extra: ""
|
|
||||||
# platform: mac-
|
# platform: mac-
|
||||||
# ext: dmg
|
|
||||||
# - os: ubuntu-latest
|
# - os: ubuntu-latest
|
||||||
# extra: ""
|
|
||||||
# platform: linux-
|
# platform: linux-
|
||||||
# ext: deb
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Harden Runner
|
- name: Harden Runner
|
||||||
@@ -243,20 +235,23 @@ jobs:
|
|||||||
cosign sign-blob \
|
cosign sign-blob \
|
||||||
--key ./cosign.key \
|
--key ./cosign.key \
|
||||||
--yes \
|
--yes \
|
||||||
--output-signature ./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}.sig \
|
--output-signature ./Stirling-PDF-win-installer.exe.sig \
|
||||||
./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}
|
./Stirling-PDF-win-installer.exe
|
||||||
|
|
||||||
cosign attest-blob \
|
cosign attest-blob \
|
||||||
--predicate - \
|
--predicate - \
|
||||||
--key ./cosign.key \
|
--key ./cosign.key \
|
||||||
--yes \
|
--yes \
|
||||||
--output-attestation ./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}.intoto.jsonl \
|
--output-attestation ./Stirling-PDF-win-installer.exe.intoto.jsonl \
|
||||||
./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}
|
./Stirling-PDF-win-installer.exe
|
||||||
|
|
||||||
cosign verify-blob \
|
cosign verify-blob \
|
||||||
--key ./cosign.pub \
|
--key ./cosign.pub \
|
||||||
--signature ./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}.sig \
|
--signature ./Stirling-PDF-win-installer.exe.sig \
|
||||||
./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.${{ matrix.ext }}
|
./Stirling-PDF-win-installer.exe
|
||||||
|
|
||||||
|
- name: Display structure of downloaded files
|
||||||
|
run: ls -R
|
||||||
|
|
||||||
- name: Upload signed artifacts
|
- name: Upload signed artifacts
|
||||||
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
@@ -265,7 +260,7 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
name: ${{ matrix.platform }}signed
|
name: ${{ matrix.platform }}signed
|
||||||
path: |
|
path: |
|
||||||
./${{ matrix.platform }}Stirling-PDF${{ matrix.extra }}-${{ needs.read_versions.outputs.version }}.*
|
./Stirling-PDF-${{ matrix.platform }}installer.*
|
||||||
!cosign.*
|
!cosign.*
|
||||||
|
|
||||||
create-release:
|
create-release:
|
||||||
|
|||||||
8
.github/workflows/push-docker.yml
vendored
8
.github/workflows/push-docker.yml
vendored
@@ -67,7 +67,7 @@ jobs:
|
|||||||
password: ${{ github.token }}
|
password: ${{ github.token }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
|
uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
|
||||||
|
|
||||||
- name: Convert repository owner to lowercase
|
- name: Convert repository owner to lowercase
|
||||||
id: repoowner
|
id: repoowner
|
||||||
@@ -89,7 +89,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build and push main Dockerfile
|
- name: Build and push main Dockerfile
|
||||||
id: build-push-regular
|
id: build-push-regular
|
||||||
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
|
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
@@ -134,7 +134,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build and push Dockerfile-ultra-lite
|
- name: Build and push Dockerfile-ultra-lite
|
||||||
id: build-push-lite
|
id: build-push-lite
|
||||||
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
|
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||||
if: github.ref != 'refs/heads/main'
|
if: github.ref != 'refs/heads/main'
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
@@ -165,7 +165,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build and push main Dockerfile fat
|
- name: Build and push main Dockerfile fat
|
||||||
id: build-push-fat
|
id: build-push-fat
|
||||||
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
|
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||||
if: github.ref != 'refs/heads/main'
|
if: github.ref != 'refs/heads/main'
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
|||||||
4
.github/workflows/releaseArtifacts.yml
vendored
4
.github/workflows/releaseArtifacts.yml
vendored
@@ -63,7 +63,7 @@ jobs:
|
|||||||
ls -R ./build/launch4j
|
ls -R ./build/launch4j
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
name: binaries${{ matrix.file_suffix }}
|
name: binaries${{ matrix.file_suffix }}
|
||||||
path: |
|
path: |
|
||||||
@@ -139,7 +139,7 @@ jobs:
|
|||||||
./launch4j/Stirling-PDF-Server${{ matrix.file_suffix }}.exe
|
./launch4j/Stirling-PDF-Server${{ matrix.file_suffix }}.exe
|
||||||
|
|
||||||
- name: Upload signed artifacts
|
- name: Upload signed artifacts
|
||||||
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
name: signed${{ matrix.file_suffix }}
|
name: signed${{ matrix.file_suffix }}
|
||||||
path: |
|
path: |
|
||||||
|
|||||||
2
.github/workflows/scorecards.yml
vendored
2
.github/workflows/scorecards.yml
vendored
@@ -66,7 +66,7 @@ jobs:
|
|||||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||||
# format to the repository Actions tab.
|
# format to the repository Actions tab.
|
||||||
- name: "Upload artifact"
|
- name: "Upload artifact"
|
||||||
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
with:
|
with:
|
||||||
name: SARIF file
|
name: SARIF file
|
||||||
path: results.sarif
|
path: results.sarif
|
||||||
|
|||||||
2
.github/workflows/testdriver.yml
vendored
2
.github/workflows/testdriver.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
|||||||
password: ${{ secrets.DOCKER_HUB_API }}
|
password: ${{ secrets.DOCKER_HUB_API }}
|
||||||
|
|
||||||
- name: Build and push test image
|
- name: Build and push test image
|
||||||
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
|
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
|
|||||||
45
USERS.md
Normal file
45
USERS.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Who is using Stirling-PDF?
|
||||||
|
|
||||||
|
Understanding the diverse applications of Stirling-PDF can be an invaluable resource for collaboration and learning. This page provides a directory of users and use cases. If you are using Stirling-PDF, consider sharing your experiences to help others and foster a community of best practices.
|
||||||
|
|
||||||
|
## Adding Yourself as a User
|
||||||
|
|
||||||
|
If you're using Stirling-PDF or have integrated it into your platform or workflow, please consider contributing to this list by describing your use case. You can do this by opening a pull request to this file and adding your details in the format below:
|
||||||
|
|
||||||
|
- **N**: Name of the organization or individual.
|
||||||
|
- **D**: A brief description of your usage.
|
||||||
|
- **U**: Specific features or capabilities utilized.
|
||||||
|
- **L**: Optional link for further information (e.g., website, blog post).
|
||||||
|
- **Q**: Contact information for sharing insights (optional).
|
||||||
|
|
||||||
|
Example entry:
|
||||||
|
|
||||||
|
```
|
||||||
|
* N: Example Corp
|
||||||
|
D: Using Stirling-PDF for automated document processing in our SaaS platform focusing on compression.
|
||||||
|
U: OCR, merging PDFs, metadata editing, encryption, compression.
|
||||||
|
L: https://example.com/stirling-pdf
|
||||||
|
Q: @example-user on Discord/email
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Requirements for Listing
|
||||||
|
|
||||||
|
- You must represent the entity you're listing and ensure the details are accurate.
|
||||||
|
- Trial deployments are welcome if they represent a realistic evaluation of Stirling-PDF in action.
|
||||||
|
- Community contributions, including home-lab setups or non-commercial uses, are encouraged.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Users (Alphabetically)
|
||||||
|
|
||||||
|
* N:
|
||||||
|
D:
|
||||||
|
U:
|
||||||
|
L:
|
||||||
|
|
||||||
|
* N:
|
||||||
|
D:
|
||||||
|
U:
|
||||||
|
L:
|
||||||
@@ -372,7 +372,7 @@ dependencies {
|
|||||||
//general PDF
|
//general PDF
|
||||||
|
|
||||||
// https://mvnrepository.com/artifact/com.opencsv/opencsv
|
// https://mvnrepository.com/artifact/com.opencsv/opencsv
|
||||||
implementation ("com.opencsv:opencsv:5.9") {
|
implementation ("com.opencsv:opencsv:5.10") {
|
||||||
exclude group: "commons-logging", module: "commons-logging"
|
exclude group: "commons-logging", module: "commons-logging"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -396,7 +396,7 @@ dependencies {
|
|||||||
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
||||||
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
||||||
implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
|
implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
|
||||||
implementation "io.micrometer:micrometer-core:1.14.2"
|
implementation "io.micrometer:micrometer-core:1.14.3"
|
||||||
implementation group: "com.google.zxing", name: "core", version: "3.5.3"
|
implementation group: "com.google.zxing", name: "core", version: "3.5.3"
|
||||||
// https://mvnrepository.com/artifact/org.commonmark/commonmark
|
// https://mvnrepository.com/artifact/org.commonmark/commonmark
|
||||||
implementation "org.commonmark:commonmark:0.24.0"
|
implementation "org.commonmark:commonmark:0.24.0"
|
||||||
@@ -405,6 +405,8 @@ dependencies {
|
|||||||
implementation "com.bucket4j:bucket4j_jdk17-core:8.14.0"
|
implementation "com.bucket4j:bucket4j_jdk17-core:8.14.0"
|
||||||
implementation "com.fathzer:javaluator:3.0.5"
|
implementation "com.fathzer:javaluator:3.0.5"
|
||||||
|
|
||||||
|
implementation 'org.jsoup:jsoup:1.18.3'
|
||||||
|
|
||||||
developmentOnly("org.springframework.boot:spring-boot-devtools:$springBootVersion")
|
developmentOnly("org.springframework.boot:spring-boot-devtools:$springBootVersion")
|
||||||
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
||||||
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
||||||
|
|||||||
97
cucumber/test_webpages.sh
Normal file
97
cucumber/test_webpages.sh
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to check a single webpage
|
||||||
|
check_webpage() {
|
||||||
|
local url=$1
|
||||||
|
local base_url=${2:-"http://localhost:8080"}
|
||||||
|
local full_url="${base_url}${url}"
|
||||||
|
local timeout=10
|
||||||
|
|
||||||
|
echo -n "Testing $full_url ... "
|
||||||
|
|
||||||
|
# Use curl to fetch the page with timeout
|
||||||
|
response=$(curl -s -w "\n%{http_code}" --max-time $timeout "$full_url")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "FAILED - Connection error or timeout"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Split response into body and status code
|
||||||
|
HTTP_STATUS=$(echo "$response" | tail -n1)
|
||||||
|
BODY=$(echo "$response" | sed '$d')
|
||||||
|
|
||||||
|
# Check HTTP status
|
||||||
|
if [ "$HTTP_STATUS" != "200" ]; then
|
||||||
|
echo "FAILED - HTTP Status: $HTTP_STATUS"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if response contains HTML
|
||||||
|
if ! echo "$BODY" | grep -q "<!DOCTYPE html>\|<html"; then
|
||||||
|
echo "FAILED - Response is not HTML"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "OK"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main function to test all URLs from the list
|
||||||
|
test_all_urls() {
|
||||||
|
local url_file=$1
|
||||||
|
local base_url=${2:-"http://localhost:8080"}
|
||||||
|
local failed_count=0
|
||||||
|
local total_count=0
|
||||||
|
local start_time=$(date +%s)
|
||||||
|
|
||||||
|
echo "Starting webpage tests..."
|
||||||
|
echo "Base URL: $base_url"
|
||||||
|
echo "----------------------------------------"
|
||||||
|
|
||||||
|
while IFS= read -r url || [ -n "$url" ]; do
|
||||||
|
# Skip empty lines
|
||||||
|
[ -z "$url" ] && continue
|
||||||
|
|
||||||
|
((total_count++))
|
||||||
|
if ! check_webpage "$url" "$base_url"; then
|
||||||
|
((failed_count++))
|
||||||
|
fi
|
||||||
|
done < "$url_file"
|
||||||
|
|
||||||
|
local end_time=$(date +%s)
|
||||||
|
local duration=$((end_time - start_time))
|
||||||
|
|
||||||
|
echo "----------------------------------------"
|
||||||
|
echo "Test Summary:"
|
||||||
|
echo "Total tests: $total_count"
|
||||||
|
echo "Failed tests: $failed_count"
|
||||||
|
echo "Passed tests: $((total_count - failed_count))"
|
||||||
|
echo "Duration: ${duration} seconds"
|
||||||
|
|
||||||
|
return $failed_count
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main execution
|
||||||
|
main() {
|
||||||
|
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
local url_file="${script_dir}/webpage_urls.txt"
|
||||||
|
|
||||||
|
if [ ! -f "$url_file" ]; then
|
||||||
|
echo "Error: URL list file not found: $url_file"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run tests using the URL list
|
||||||
|
if test_all_urls "$url_file"; then
|
||||||
|
echo "All webpage tests passed!"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Some webpage tests failed!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run main if script is executed directly
|
||||||
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||||
|
main "$@"
|
||||||
|
fi
|
||||||
54
cucumber/webpage_urls.txt
Normal file
54
cucumber/webpage_urls.txt
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
/
|
||||||
|
/multi-tool
|
||||||
|
/merge-pdfs
|
||||||
|
/split-pdfs
|
||||||
|
/rotate-pdf
|
||||||
|
/remove-pages
|
||||||
|
/pdf-organizer
|
||||||
|
/multi-page-layout
|
||||||
|
/scale-pages
|
||||||
|
/crop
|
||||||
|
/extract-page
|
||||||
|
/pdf-to-single-page
|
||||||
|
/img-to-pdf
|
||||||
|
/markdown-to-pdf
|
||||||
|
/pdf-to-img
|
||||||
|
/pdf-to-text
|
||||||
|
/pdf-to-csv
|
||||||
|
/sign
|
||||||
|
/add-password
|
||||||
|
/remove-password
|
||||||
|
/change-permissions
|
||||||
|
/add-watermark
|
||||||
|
/cert-sign
|
||||||
|
/validate-signature
|
||||||
|
/remove-cert-sign
|
||||||
|
/sanitize-pdf
|
||||||
|
/auto-redact
|
||||||
|
/redact
|
||||||
|
/stamp
|
||||||
|
/view-pdf
|
||||||
|
/add-page-numbers
|
||||||
|
/add-image
|
||||||
|
/extract-images
|
||||||
|
/flatten
|
||||||
|
/remove-annotations
|
||||||
|
/remove-blanks
|
||||||
|
/compare
|
||||||
|
/change-metadata
|
||||||
|
/get-info-on-pdf
|
||||||
|
/remove-image-pdf
|
||||||
|
/replace-and-invert-color-pdf
|
||||||
|
/pipeline
|
||||||
|
/auto-rename
|
||||||
|
/adjust-contrast
|
||||||
|
/overlay-pdf
|
||||||
|
/auto-split-pdf
|
||||||
|
/split-pdf-by-sections
|
||||||
|
/split-pdf-by-chapters
|
||||||
|
/split-by-size-or-count
|
||||||
|
/show-javascript
|
||||||
|
/swagger-ui/index.html
|
||||||
|
/licenses
|
||||||
|
/releases
|
||||||
@@ -60,4 +60,4 @@ services:
|
|||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 10
|
retries: 10
|
||||||
volumes:
|
volumes:
|
||||||
- ./stirling/latest/data:/pgdata
|
- ./stirling/latest/data:/pgdata
|
||||||
|
|||||||
@@ -135,9 +135,10 @@ def compare_files(
|
|||||||
# elif "language.direction" in sort_ignore_translation[language]["missing"]:
|
# elif "language.direction" in sort_ignore_translation[language]["missing"]:
|
||||||
# sort_ignore_translation[language]["missing"].remove("language.direction")
|
# sort_ignore_translation[language]["missing"].remove("language.direction")
|
||||||
|
|
||||||
with open(default_file_path, encoding="utf-8") as default_file, open(
|
with (
|
||||||
file_path, encoding="utf-8"
|
open(default_file_path, encoding="utf-8") as default_file,
|
||||||
) as file:
|
open(file_path, encoding="utf-8") as file,
|
||||||
|
):
|
||||||
for _ in range(5):
|
for _ in range(5):
|
||||||
next(default_file)
|
next(default_file)
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -182,7 +182,6 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("Python", "extract-image-scans");
|
addEndpointToGroup("Python", "extract-image-scans");
|
||||||
addEndpointToGroup("Python", "html-to-pdf");
|
addEndpointToGroup("Python", "html-to-pdf");
|
||||||
addEndpointToGroup("Python", "url-to-pdf");
|
addEndpointToGroup("Python", "url-to-pdf");
|
||||||
addEndpointToGroup("Python", "pdf-to-img");
|
|
||||||
addEndpointToGroup("Python", "file-to-pdf");
|
addEndpointToGroup("Python", "file-to-pdf");
|
||||||
|
|
||||||
// openCV
|
// openCV
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ public class InstallationPathConfig {
|
|||||||
private static final String PIPELINE_WATCHED_FOLDERS_PATH;
|
private static final String PIPELINE_WATCHED_FOLDERS_PATH;
|
||||||
private static final String PIPELINE_FINISHED_FOLDERS_PATH;
|
private static final String PIPELINE_FINISHED_FOLDERS_PATH;
|
||||||
private static final String PIPELINE_DEFAULT_WEB_UI_CONFIGS;
|
private static final String PIPELINE_DEFAULT_WEB_UI_CONFIGS;
|
||||||
|
|
||||||
// Custom file paths
|
// Custom file paths
|
||||||
private static final String STATIC_PATH;
|
private static final String STATIC_PATH;
|
||||||
private static final String TEMPLATES_PATH;
|
private static final String TEMPLATES_PATH;
|
||||||
private static final String SIGNATURES_PATH;
|
private static final String SIGNATURES_PATH;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
BASE_PATH = initializeBasePath();
|
BASE_PATH = initializeBasePath();
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ public class InstallationPathConfig {
|
|||||||
PIPELINE_WATCHED_FOLDERS_PATH = PIPELINE_PATH + "watchedFolders" + File.separator;
|
PIPELINE_WATCHED_FOLDERS_PATH = PIPELINE_PATH + "watchedFolders" + File.separator;
|
||||||
PIPELINE_FINISHED_FOLDERS_PATH = PIPELINE_PATH + "finishedFolders" + File.separator;
|
PIPELINE_FINISHED_FOLDERS_PATH = PIPELINE_PATH + "finishedFolders" + File.separator;
|
||||||
PIPELINE_DEFAULT_WEB_UI_CONFIGS = PIPELINE_PATH + "defaultWebUIConfigs" + File.separator;
|
PIPELINE_DEFAULT_WEB_UI_CONFIGS = PIPELINE_PATH + "defaultWebUIConfigs" + File.separator;
|
||||||
|
|
||||||
// Initialize custom file paths
|
// Initialize custom file paths
|
||||||
STATIC_PATH = CUSTOM_FILES_PATH + "static" + File.separator;
|
STATIC_PATH = CUSTOM_FILES_PATH + "static" + File.separator;
|
||||||
TEMPLATES_PATH = CUSTOM_FILES_PATH + "templates" + File.separator;
|
TEMPLATES_PATH = CUSTOM_FILES_PATH + "templates" + File.separator;
|
||||||
@@ -123,7 +123,7 @@ public class InstallationPathConfig {
|
|||||||
public static String getPipelineDefaultWebUIConfigsDir() {
|
public static String getPipelineDefaultWebUIConfigsDir() {
|
||||||
return PIPELINE_DEFAULT_WEB_UI_CONFIGS;
|
return PIPELINE_DEFAULT_WEB_UI_CONFIGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getStaticPath() {
|
public static String getStaticPath() {
|
||||||
return STATIC_PATH;
|
return STATIC_PATH;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import stirling.software.SPDF.model.provider.UnsupportedProviderException;
|
|||||||
public class DatabaseConfig {
|
public class DatabaseConfig {
|
||||||
|
|
||||||
public final String DATASOURCE_DEFAULT_URL;
|
public final String DATASOURCE_DEFAULT_URL;
|
||||||
|
|
||||||
public static final String DATASOURCE_URL_TEMPLATE = "jdbc:%s://%s:%4d/%s";
|
public static final String DATASOURCE_URL_TEMPLATE = "jdbc:%s://%s:%4d/%s";
|
||||||
public static final String DEFAULT_DRIVER = "org.h2.Driver";
|
public static final String DEFAULT_DRIVER = "org.h2.Driver";
|
||||||
public static final String DEFAULT_USERNAME = "sa";
|
public static final String DEFAULT_USERNAME = "sa";
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -284,7 +284,7 @@
|
|||||||
{
|
{
|
||||||
"moduleName": "com.opencsv:opencsv",
|
"moduleName": "com.opencsv:opencsv",
|
||||||
"moduleUrl": "http://opencsv.sf.net",
|
"moduleUrl": "http://opencsv.sf.net",
|
||||||
"moduleVersion": "5.9",
|
"moduleVersion": "5.10",
|
||||||
"moduleLicense": "Apache 2",
|
"moduleLicense": "Apache 2",
|
||||||
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||||
},
|
},
|
||||||
@@ -385,9 +385,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"moduleName": "commons-beanutils:commons-beanutils",
|
"moduleName": "commons-beanutils:commons-beanutils",
|
||||||
"moduleUrl": "https://commons.apache.org/proper/commons-beanutils/",
|
"moduleUrl": "https://commons.apache.org/proper/commons-beanutils",
|
||||||
"moduleVersion": "1.9.4",
|
"moduleVersion": "1.10.0",
|
||||||
"moduleLicense": "Apache License, Version 2.0",
|
"moduleLicense": "Apache-2.0",
|
||||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -448,7 +448,7 @@
|
|||||||
{
|
{
|
||||||
"moduleName": "io.micrometer:micrometer-core",
|
"moduleName": "io.micrometer:micrometer-core",
|
||||||
"moduleUrl": "https://github.com/micrometer-metrics/micrometer",
|
"moduleUrl": "https://github.com/micrometer-metrics/micrometer",
|
||||||
"moduleVersion": "1.14.2",
|
"moduleVersion": "1.14.3",
|
||||||
"moduleLicense": "The Apache Software License, Version 2.0",
|
"moduleLicense": "The Apache Software License, Version 2.0",
|
||||||
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||||
},
|
},
|
||||||
@@ -690,7 +690,7 @@
|
|||||||
{
|
{
|
||||||
"moduleName": "org.apache.commons:commons-text",
|
"moduleName": "org.apache.commons:commons-text",
|
||||||
"moduleUrl": "https://commons.apache.org/proper/commons-text",
|
"moduleUrl": "https://commons.apache.org/proper/commons-text",
|
||||||
"moduleVersion": "1.11.0",
|
"moduleVersion": "1.13.0",
|
||||||
"moduleLicense": "Apache-2.0",
|
"moduleLicense": "Apache-2.0",
|
||||||
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -222,30 +222,30 @@ document.getElementById('deletePipelineBtn').addEventListener('click', function(
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let pipelineName = document.getElementById('pipelineName').value;
|
let pipelineName = document.getElementById('pipelineName').value;
|
||||||
|
|
||||||
if (confirm(deletePipelineText + pipelineName)) {
|
if (confirm(deletePipelineText + pipelineName)) {
|
||||||
removePipelineFromUI(pipelineName);
|
removePipelineFromUI(pipelineName);
|
||||||
let key = "#Pipeline-" + pipelineName;
|
let key = "#Pipeline-" + pipelineName;
|
||||||
if (localStorage.getItem(key)) {
|
if (localStorage.getItem(key)) {
|
||||||
localStorage.removeItem(key);
|
localStorage.removeItem(key);
|
||||||
}
|
}
|
||||||
let pipelineSelect = document.getElementById("pipelineSelect");
|
let pipelineSelect = document.getElementById("pipelineSelect");
|
||||||
let modal = document.getElementById('pipelineSettingsModal');
|
let modal = document.getElementById('pipelineSettingsModal');
|
||||||
if (modal.style.display !== 'none') {
|
if (modal.style.display !== 'none') {
|
||||||
$('#pipelineSettingsModal').modal('hide');
|
$('#pipelineSettingsModal').modal('hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipelineSelect.options.length > 0) {
|
if (pipelineSelect.options.length > 0) {
|
||||||
pipelineSelect.selectedIndex = 0;
|
pipelineSelect.selectedIndex = 0;
|
||||||
pipelineSelect.dispatchEvent(new Event('change'));
|
pipelineSelect.dispatchEvent(new Event('change'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function removePipelineFromUI(pipelineName) {
|
function removePipelineFromUI(pipelineName) {
|
||||||
let pipelineSelect = document.getElementById("pipelineSelect");
|
let pipelineSelect = document.getElementById("pipelineSelect");
|
||||||
for (let i = 0; i < pipelineSelect.options.length; i++) {
|
for (let i = 0; i < pipelineSelect.options.length; i++) {
|
||||||
console.log(pipelineSelect.options[i])
|
console.log(pipelineSelect.options[i])
|
||||||
console.log("list " + pipelineSelect.options[i].innerText + " vs " + pipelineName)
|
console.log("list " + pipelineSelect.options[i].innerText + " vs " + pipelineName)
|
||||||
if (pipelineSelect.options[i].innerText === pipelineName) {
|
if (pipelineSelect.options[i].innerText === pipelineName) {
|
||||||
pipelineSelect.remove(i);
|
pipelineSelect.remove(i);
|
||||||
break;
|
break;
|
||||||
@@ -414,22 +414,22 @@ document.getElementById("addOperationBtn").addEventListener("click", function ()
|
|||||||
parameterInput.type = "checkbox";
|
parameterInput.type = "checkbox";
|
||||||
if (defaultValue === true) parameterInput.checked = true;
|
if (defaultValue === true) parameterInput.checked = true;
|
||||||
break;
|
break;
|
||||||
case "array":
|
case "array":
|
||||||
// If parameter.schema.format === 'binary' is to be checked, it should be checked here
|
// If parameter.schema.format === 'binary' is to be checked, it should be checked here
|
||||||
parameterInput = document.createElement("textarea");
|
parameterInput = document.createElement("textarea");
|
||||||
parameterInput.placeholder = 'Enter a JSON formatted array, e.g., ["item1", "item2", "item3"]';
|
parameterInput.placeholder = 'Enter a JSON formatted array, e.g., ["item1", "item2", "item3"]';
|
||||||
parameterInput.className = "form-control";
|
parameterInput.className = "form-control";
|
||||||
break;
|
break;
|
||||||
case "object":
|
case "object":
|
||||||
parameterInput = document.createElement("textarea");
|
parameterInput = document.createElement("textarea");
|
||||||
parameterInput.placeholder = 'Enter a JSON formatted object, e.g., {"key": "value"} If this is a fileInput, it is not currently supported';
|
parameterInput.placeholder = 'Enter a JSON formatted object, e.g., {"key": "value"} If this is a fileInput, it is not currently supported';
|
||||||
parameterInput.className = "form-control";
|
parameterInput.className = "form-control";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
parameterInput = document.createElement("input");
|
parameterInput = document.createElement("input");
|
||||||
parameterInput.type = "text";
|
parameterInput.type = "text";
|
||||||
parameterInput.className = "form-control";
|
parameterInput.className = "form-control";
|
||||||
if (defaultValue !== undefined) parameterInput.value = defaultValue;
|
if (defaultValue !== undefined) parameterInput.value = defaultValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parameterInput.id = parameter.name;
|
parameterInput.id = parameter.name;
|
||||||
@@ -481,21 +481,21 @@ document.getElementById("addOperationBtn").addEventListener("click", function ()
|
|||||||
break;
|
break;
|
||||||
case "array":
|
case "array":
|
||||||
case "object":
|
case "object":
|
||||||
if (value === null || value === "") {
|
if (value === null || value === "") {
|
||||||
settings[parameter.name] = "";
|
settings[parameter.name] = "";
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
const parsedValue = JSON.parse(value);
|
const parsedValue = JSON.parse(value);
|
||||||
if (Array.isArray(parsedValue)) {
|
if (Array.isArray(parsedValue)) {
|
||||||
settings[parameter.name] = parsedValue;
|
settings[parameter.name] = parsedValue;
|
||||||
} else {
|
} else {
|
||||||
settings[parameter.name] = value;
|
settings[parameter.name] = value;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
settings[parameter.name] = value;
|
settings[parameter.name] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
settings[parameter.name] = value;
|
settings[parameter.name] = value;
|
||||||
}
|
}
|
||||||
@@ -686,13 +686,13 @@ async function processPipelineConfig(configString) {
|
|||||||
case "text":
|
case "text":
|
||||||
case "textarea":
|
case "textarea":
|
||||||
default:
|
default:
|
||||||
var value = operationConfig.parameters[parameterName]
|
var value = operationConfig.parameters[parameterName]
|
||||||
if (typeof value !== 'string') {
|
if (typeof value !== 'string') {
|
||||||
input.value = JSON.stringify(value) ;
|
input.value = JSON.stringify(value) ;
|
||||||
} else {
|
} else {
|
||||||
input.value = value;
|
input.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
9
test.sh
9
test.sh
@@ -78,6 +78,15 @@ main() {
|
|||||||
|
|
||||||
# Test each configuration
|
# Test each configuration
|
||||||
run_tests "Stirling-PDF-Ultra-Lite" "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml"
|
run_tests "Stirling-PDF-Ultra-Lite" "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml"
|
||||||
|
|
||||||
|
echo "Testing webpage accessibility..."
|
||||||
|
if ./cucumber/test_webpages.sh; then
|
||||||
|
passed_tests+=("Webpage-Accessibility")
|
||||||
|
else
|
||||||
|
failed_tests+=("Webpage-Accessibility")
|
||||||
|
echo "Webpage accessibility tests failed"
|
||||||
|
fi
|
||||||
|
|
||||||
docker-compose -f "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml" down
|
docker-compose -f "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml" down
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user