diff --git a/.github/workflows/github-prerelease.yml b/.github/workflows/github-prerelease.yml index fe25cf9cbdacd37b13bafebc2a3f959e9f121cf1..1a27f52d5d3a0804b0e24714a2051a4e05531271 100644 --- a/.github/workflows/github-prerelease.yml +++ b/.github/workflows/github-prerelease.yml @@ -28,7 +28,7 @@ jobs: - name: Use tag run: echo ${{steps.tag.outputs.tag}} - jar: + jar-and-media: needs: preparations runs-on: ubuntu-latest @@ -54,20 +54,26 @@ jobs: with: gradle-version: wrapper + - uses: luangong/setup-install4j@v1 + with: + version: 10.0.7 + license: ${{ secrets.INSTALL4J_LICENSE }} + - name: Build release env: GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test + ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build media --info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test # UPLOAD ARTIFACTS - uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: build-artifacts + name: jar-media-build-artifacts path: | + media serverpackcreator-api/build serverpackcreator-app/build serverpackcreator-cli/build @@ -87,283 +93,20 @@ jobs: - uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: jar-release-artifacts + name: jar-media-release path: | + media/*.deb + media/*.rpm + media/*.dmg + media/*.sh + media/*.gz + media/*.exe + media/*.zip serverpackcreator-app/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}.jar serverpackcreator-plugin-example/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}-Example-Plugin.jar if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - mac-01: - runs-on: macos-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename MacOs - run: mv serverpackcreator-app/build/dist/ServerPackCreator*.pkg serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: mac-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: mac-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - windows-01: - runs-on: windows-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename Windows - run: mv serverpackcreator-app/build/dist/ServerPackCreator*.msi serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - windows-02: - runs-on: windows-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - id: java - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Prepare - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar --info --full-stacktrace - - - name: Build Image - run: | - $Version = "${{ needs.preparations.outputs.version }}".split("-") - jpackage ` - --app-version $Version[0] ` - --copyright "Copyright (C) 2024 Griefed" ` - --description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." ` - --dest "serverpackcreator-app\build\dist" ` - --icon "serverpackcreator-app\jpackagerResources\app.ico" ` - --input "serverpackcreator-app\build\jars" ` - --java-options "-Dfile.encoding=UTF-8" ` - --java-options "-Dlog4j2.formatMsgNoLookups=true" ` - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt ` - --main-jar serverpackcreator-app-${{ needs.preparations.outputs.version }}.jar ` - --name ServerPackCreator ` - --resource-dir "serverpackcreator-app\jpackagerResources" ` - --runtime-image "${{ steps.java.outputs.path }}" ` - --temp "serverpackcreator-app\build\tmp\jpackager" ` - --type "app-image" ` - --vendor "griefed.de" ` - --verbose - - - name: List - run: dir serverpackcreator-app\build\dist - - - name: Archive - uses: thedoctor0/zip-release@0.7.1 - with: - type: 'zip' - directory: serverpackcreator-app/build/dist - path: 'ServerPackCreator' - filename: 'ServerPackCreator-Portable-Windows.zip' - - - name: Rename Archive - run: mv serverpackcreator-app/build/dist/ServerPackCreator-Portable-Windows.zip serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip - - - name: List - run: dir serverpackcreator-app\build\dist - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-02-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-02-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-01: - runs-on: ubuntu-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename - run: mv serverpackcreator-app/build/dist/serverpackcreator*.deb serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-02: + appimage: runs-on: ubuntu-latest needs: preparations steps: @@ -410,7 +153,7 @@ jobs: --input serverpackcreator-app/build/jars \ --java-options "-Dfile.encoding=UTF-8" \ --java-options "-Dlog4j2.formatMsgNoLookups=true" \ - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt \ + --main-class org.springframework.boot.loader.launch.JarLauncher \ --main-jar serverpackcreator-app-${{ needs.preparations.outputs.version }}.jar \ --name ServerPackCreator \ --resource-dir serverpackcreator-app/jpackagerResources \ @@ -460,25 +203,15 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: ubuntu-02-release-artifacts + name: appimage-release path: | serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Linux-x86_64.AppImage if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-02-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - prerelease: if: ${{ always() }} runs-on: ubuntu-latest - needs: [preparations, jar, mac-01, windows-01, windows-02, ubuntu-01, ubuntu-02] + needs: [preparations, jar-and-media, appimage] steps: # GET THE LATEST CODE @@ -529,27 +262,11 @@ jobs: - uses: actions/download-artifact@v4 with: - name: jar-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: mac-01-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: windows-01-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: windows-02-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: ubuntu-01-release-artifacts + name: jar-media-release - uses: actions/download-artifact@v4 with: - name: ubuntu-02-release-artifacts + name: appimage-release # GENERATE RELEASE - name: Create Release @@ -564,10 +281,13 @@ jobs: prerelease: true fail_on_unmatched_files: false files: | - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip + media/*.deb + media/*.rpm + media/*.dmg + media/*.sh + media/*.gz + media/*.exe + media/*.zip ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Linux-x86_64.AppImage serverpackcreator-app/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}.jar serverpackcreator-plugin-example/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}-Example-Plugin.jar diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml index 8cb3599cd643ddec0290fd3cee1560a8b13b4d70..091a93879a37e665e9fd9423a1f5ba7fc15db728 100644 --- a/.github/workflows/github_release.yml +++ b/.github/workflows/github_release.yml @@ -26,7 +26,7 @@ jobs: - name: Use tag run: echo ${{steps.tag.outputs.tag}} - jar: + jar-and-media: needs: preparations runs-on: ubuntu-latest @@ -52,20 +52,26 @@ jobs: with: gradle-version: wrapper + - uses: luangong/setup-install4j@v1 + with: + version: 10.0.7 + license: ${{ secrets.INSTALL4J_LICENSE }} + - name: Build release env: GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test + ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build media --info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test # UPLOAD ARTIFACTS - uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: build-artifacts + name: jar-media-build-artifacts path: | + media serverpackcreator-api/build serverpackcreator-app/build serverpackcreator-cli/build @@ -85,282 +91,20 @@ jobs: - uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: jar-release-artifacts + name: jar-media-release path: | + media/*.deb + media/*.rpm + media/*.dmg + media/*.sh + media/*.gz + media/*.exe + media/*.zip serverpackcreator-app/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}.jar serverpackcreator-plugin-example/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}-Example-Plugin.jar if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - mac-01: - runs-on: macos-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename MacOs - run: mv serverpackcreator-app/build/dist/ServerPackCreator*.pkg serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: mac-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Installer Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: mac-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - windows-01: - runs-on: windows-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename Windows - run: mv serverpackcreator-app/build/dist/ServerPackCreator*.msi serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - windows-02: - runs-on: windows-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - id: java - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Prepare - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar :serverpackcreator-app:cleanTmpPackager --info --full-stacktrace - - - name: Build Image - run: | - jpackage ` - --app-version "${{ needs.preparations.outputs.version }}" ` - --copyright "Copyright (C) 2024 Griefed" ` - --description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." ` - --dest "serverpackcreator-app\build\dist" ` - --icon "serverpackcreator-app\jpackagerResources\app.ico" ` - --input "serverpackcreator-app\build\jars" ` - --java-options "-Dfile.encoding=UTF-8" ` - --java-options "-Dlog4j2.formatMsgNoLookups=true" ` - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt ` - --main-jar serverpackcreator-app-${{ needs.preparations.outputs.version }}.jar ` - --name ServerPackCreator ` - --resource-dir "serverpackcreator-app\jpackagerResources" ` - --runtime-image "${{ steps.java.outputs.path }}" ` - --temp "serverpackcreator-app\build\tmp\jpackager" ` - --type "app-image" ` - --vendor "griefed.de" ` - --verbose - - - name: List - run: dir serverpackcreator-app\build\dist - - - name: Archive - uses: thedoctor0/zip-release@0.7.1 - with: - type: 'zip' - directory: serverpackcreator-app/build/dist - path: 'ServerPackCreator' - filename: 'ServerPackCreator-Portable-Windows.zip' - - - name: Rename Archive - run: mv serverpackcreator-app/build/dist/ServerPackCreator-Portable-Windows.zip serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip - - - name: List - run: dir serverpackcreator-app\build\dist - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-02-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-02-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-01: - runs-on: ubuntu-latest - needs: preparations - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion="${{ needs.preparations.outputs.version }}" generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage -Pversion="${{ needs.preparations.outputs.version }}" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test - - - name: List After Build - run: ls serverpackcreator-app/build/dist/ - - - name: Rename - run: mv serverpackcreator-app/build/dist/serverpackcreator*.deb serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - - - name: Artifacts - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-01-release-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-01-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-02: + appimage: runs-on: ubuntu-latest needs: preparations steps: @@ -406,7 +150,7 @@ jobs: --input serverpackcreator-app/build/jars \ --java-options "-Dfile.encoding=UTF-8" \ --java-options "-Dlog4j2.formatMsgNoLookups=true" \ - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt \ + --main-class org.springframework.boot.loader.launch.JarLauncher \ --main-jar serverpackcreator-app-${{ needs.preparations.outputs.version }}.jar \ --name ServerPackCreator \ --resource-dir serverpackcreator-app/jpackagerResources \ @@ -456,25 +200,15 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: ubuntu-02-release-artifacts + name: appimage-release path: | serverpackcreator-app/build/dist/ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Linux-x86_64.AppImage if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-02-installer-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - release: if: ${{ always() }} runs-on: ubuntu-latest - needs: [preparations, jar, mac-01, windows-01, windows-02, ubuntu-01, ubuntu-02] + needs: [preparations, jar-and-media, appimage] steps: # GET THE LATEST CODE @@ -524,27 +258,11 @@ jobs: - uses: actions/download-artifact@v4 with: - name: jar-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: mac-01-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: windows-01-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: windows-02-release-artifacts - - - uses: actions/download-artifact@v4 - with: - name: ubuntu-01-release-artifacts + name: jar-media-release - uses: actions/download-artifact@v4 with: - name: ubuntu-02-release-artifacts + name: appimage-release # GENERATE RELEASE - name: Create Release @@ -559,10 +277,13 @@ jobs: prerelease: false fail_on_unmatched_files: false files: | - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-MacOS.pkg - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Windows.msi - ServerPackCreator-${{ needs.preparations.outputs.version }}-Installer-Ubuntu-amd64.deb - ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Windows.zip + media/*.deb + media/*.rpm + media/*.dmg + media/*.sh + media/*.gz + media/*.exe + media/*.zip ServerPackCreator-${{ needs.preparations.outputs.version }}-Portable-Linux-x86_64.AppImage serverpackcreator-app/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}.jar serverpackcreator-plugin-example/build/libs/ServerPackCreator-${{ needs.preparations.outputs.version }}-Example-Plugin.jar diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6b7c2c0ee5f0951f86f6f786f1d9364db0f71565..de0ebc5722da468a000deb42a95b01f9743b0ad5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: jobs: - jar: + jar-and-media: runs-on: ubuntu-latest steps: @@ -28,16 +28,22 @@ jobs: with: gradle-version: wrapper + - uses: luangong/setup-install4j@v1 + with: + version: 10.0.7 + license: ${{ secrets.INSTALL4J_LICENSE }} + - name: Build with Gradle run: | ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} build --info --full-stacktrace + ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} build media --info --full-stacktrace - uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: build-artifacts-jar + name: jar-and-media path: | + media build buildSrc/build serverpackcreator-api/build @@ -49,233 +55,7 @@ jobs: serverpackcreator-plugin-example/build if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - mac-01: - runs-on: macos-latest - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace - - - name: Rename - run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-MacOS-dev.pkg - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: mac-01-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - windows-01: - runs-on: windows-latest - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - if: matrix.os == 'windows-latest' - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace - - - name: Rename - run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-Windows-dev.msi - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-01-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ig - - windows-02: - runs-on: windows-latest - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - id: java - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Prepare wix-toolset - if: matrix.os == 'windows-latest' - run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Prepare - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar --info --full-stacktrace - - - name: Build Image - run: | - jpackage ` - --app-version "6.6.6" ` - --copyright "Copyright (C) 2024 Griefed" ` - --description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." ` - --dest "serverpackcreator-app\build\dist" ` - --icon "serverpackcreator-app\jpackagerResources\app.ico" ` - --input "serverpackcreator-app\build\jars" ` - --java-options "-Dfile.encoding=UTF-8" ` - --java-options "-Dlog4j2.formatMsgNoLookups=true" ` - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt ` - --main-jar serverpackcreator-app-dev.jar ` - --name ServerPackCreator ` - --resource-dir "serverpackcreator-app\jpackagerResources" ` - --runtime-image "${{ steps.java.outputs.path }}" ` - --temp "serverpackcreator-app\build\tmp\jpackager" ` - --type "app-image" ` - --vendor "griefed.de" ` - --verbose - - - name: List - if: ${{ always() }} - run: dir serverpackcreator-app\build\dist - - - name: Archive - uses: thedoctor0/zip-release@0.7.1 - with: - type: 'zip' - directory: serverpackcreator-app/build/dist - path: 'ServerPackCreator' - filename: 'ServerPackCreator-Portable-Windows.zip' - - - name: List - run: dir serverpackcreator-app\build\dist - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: windows-02-artifacts - path: | - serverpackcreator-app/build/dist/ServerPackCreator-Portable-Windows.zip - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-01: - runs-on: ubuntu-latest - steps: - # GET THE LATEST CODE - - name: Checkout latest code - uses: actions/checkout@v4.1.1 - with: - fetch-depth: 0 - - # BUILD PROJECT AND PUBLISH - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: '21' - check-latest: true - cache: 'gradle' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - - uses: gradle/actions/setup-gradle@v3 - with: - gradle-version: wrapper - - - name: Build installer - env: - GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace - - - name: Rename - run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-Ubuntu-dev-amd64.deb - - # UPLOAD OS-SPECIFICS - - name: Upload - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ubuntu-01-artifacts - path: | - serverpackcreator-app/build - if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` - - ubuntu-02: + appimage: runs-on: ubuntu-latest steps: # GET THE LATEST CODE @@ -307,7 +87,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace - ./gradlew build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar --info --full-stacktrace + ./gradlew build --info --full-stacktrace - name: Build Image run: | @@ -317,10 +97,10 @@ jobs: --description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." \ --dest serverpackcreator-app/build/dist \ --icon serverpackcreator-app/jpackagerResources/app.png \ - --input serverpackcreator-app/build/jars \ + --input serverpackcreator-app/build/libs \ --java-options "-Dfile.encoding=UTF-8" \ --java-options "-Dlog4j2.formatMsgNoLookups=true" \ - --main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt \ + --main-class org.springframework.boot.loader.launch.JarLauncher \ --main-jar serverpackcreator-app-dev.jar \ --name ServerPackCreator \ --resource-dir serverpackcreator-app/jpackagerResources \ @@ -372,7 +152,7 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ always() }} with: - name: ubuntu-02-artifacts + name: appimage path: | serverpackcreator-app/build/dist/ServerPackCreator-Portable-Linux-x86_64.AppImage if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn` diff --git a/.github/workflows/update_readme.yml b/.github/workflows/update_readme.yml index 0f5850e5b97dac7b2204cc0298fc9258e7f19b28..7ba6669b776e354a0d401e2f7dcb98b0112703f3 100644 --- a/.github/workflows/update_readme.yml +++ b/.github/workflows/update_readme.yml @@ -12,9 +12,10 @@ jobs: uses: actions/checkout@v4 - name: Add GitHub Sponsors to Readme - uses: JamesIves/github-sponsors-readme-action@v1.3.1 + uses: JamesIves/github-sponsors-readme-action@v1.4 with: token: ${{ secrets.GITHUB_TOKEN }} + active-only: false - uses: actions-cool/contributor-helper@v1.2.1 with: diff --git a/.gitignore b/.gitignore index d18156163761992406681bf60d76a228eac4ea96..9461539b3c91ae689f143e84701fef606e9cbfa9 100644 --- a/.gitignore +++ b/.gitignore @@ -377,11 +377,12 @@ serverpackcreator-app/src/main/resources/static serverpackcreator-api/main/resources/VERSION.txt serverpackcreator-api/tests/* !serverpackcreator-api/tests/.gitkeep -serverpackcreator-api/src/jvmTest/resources/forge_tests_copy/ -serverpackcreator-api/src/jvmTest/resources/fabric_tests_copy/ -serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests_copy/ -serverpackcreator-api/src/jvmTest/resources/quilt_tests_copy/ -serverpackcreator-api/src/jvmTest/resources/fabric_tests_server_pack.zip -serverpackcreator-api/src/jvmTest/resources/forge_tests_server_pack.zip -serverpackcreator-api/src/jvmTest/resources/quilt_tests_server_pack.zip - +serverpackcreator-api/src/test/resources/forge_tests_copy/ +serverpackcreator-api/src/test/resources/fabric_tests_copy/ +serverpackcreator-api/src/test/resources/legacyfabric_tests_copy/ +serverpackcreator-api/src/test/resources/quilt_tests_copy/ +serverpackcreator-api/src/test/resources/fabric_tests_server_pack.zip +serverpackcreator-api/src/test/resources/forge_tests_server_pack.zip +serverpackcreator-api/src/test/resources/quilt_tests_server_pack.zip + +/media/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e75fb4b8a42edbc107c603bbc11962581fe4c286..1f0cb09d3cc9675e711d0b7f56f7fff97ef1ba73 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,6 +39,18 @@ Build Test: script: - echo "**** Building ServerPackCreator ****" - "./gradlew build --info --full-stacktrace" + - "./gradlew cyclonedxBom --info --full-stacktrace" + - echo "**** Uploading BOM ****" + - | + curl -X "POST" "$DEPENDENCYTRACK_URL" \ + -H 'Content-Type: multipart/form-data' \ + -H "X-Api-Key: $DEPENDENCYTRACK_TOKEN" \ + -F "autoCreate=true" \ + -F "projectName=ServerPackCreator" \ + -F "projectVersion=$CI_COMMIT_BRANCH" \ + -F "parentName=ServerPackCreator" \ + -F "parentVersion=branches" \ + -F "bom=@build/reports/bom.xml" retry: 1 rules: - if: '$CI_SERVER_HOST == "git.griefed.de"' @@ -64,7 +76,7 @@ Build Test: expire_in: 1 week reports: junit: - - serverpackcreator-api/build/test-results/jvmTest/TEST-*.xml + - serverpackcreator-api/build/test-results/test/TEST-*.xml cache: - key: $CACHE_KEY policy: $POLICY @@ -135,7 +147,8 @@ Build Release: script: - echo "**** Building ServerPackCreator ****" - "./gradlew generateLicenseReport -Pversion=${CI_COMMIT_TAG} --info --full-stacktrace" - - "./gradlew build -Pversion=${CI_COMMIT_TAG} --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew build -Pversion=${CI_COMMIT_TAG} --info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" + - "./gradlew cyclonedxBom -Pversion=${CI_COMMIT_TAG} --info --full-stacktrace" - echo "**** Listing build directory ****" - LC_COLLATE=C ls -ahl --group-directories-first --color=auto */build - LC_COLLATE=C ls -ahl --group-directories-first --color=auto */build/* @@ -143,6 +156,25 @@ Build Release: - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file serverpackcreator-app/build/libs/serverpackcreator-app-${CI_COMMIT_TAG}.jar "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar"' - echo "**** Create asset links ****" - 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" --data tag_name="${CI_COMMIT_TAG}" --data name="${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar" --data url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.jar" --data link_type="package" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${CI_COMMIT_TAG}/assets/links"' + - echo "**** Uploading BOM ****" + - | + curl -X "POST" "$DEPENDENCYTRACK_URL" \ + -H 'Content-Type: multipart/form-data' \ + -H "X-Api-Key: $DEPENDENCYTRACK_TOKEN" \ + -F "autoCreate=true" \ + -F "projectName=ServerPackCreator" \ + -F "projectVersion=${CI_COMMIT_TAG%%.*}" \ + -F "bom=@build/reports/bom.xml" + - | + curl -X "POST" "$DEPENDENCYTRACK_URL" \ + -H 'Content-Type: multipart/form-data' \ + -H "X-Api-Key: $DEPENDENCYTRACK_TOKEN" \ + -F "autoCreate=true" \ + -F "projectName=ServerPackCreator" \ + -F "projectVersion=${CI_COMMIT_TAG}" \ + -F "parentName=ServerPackCreator" \ + -F "parentVersion=${CI_COMMIT_TAG%%.*}" \ + -F "bom=@build/reports/bom.xml" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-(alpha|beta)\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' @@ -180,7 +212,7 @@ Sign Java Publication: - chmod +x gradlew script: - echo "**** Publishing Maven Artifacts ****" - - "./gradlew dokkaJavadocJar signJvmPublication -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew dokkaJavadocJar signJvmPublication -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-beta\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' @@ -212,7 +244,7 @@ Publish GitHub: artifacts: true script: - echo "**** Publishing Maven Artifacts to GitHub ****" - - "./gradlew publishAllPublicationsToGitHubPackagesRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew publishAllPublicationsToGitHubPackagesRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-beta\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' @@ -244,7 +276,7 @@ Publish GitLab: artifacts: true script: - echo "**** Publishing Maven Artifacts to GitLab ****" - - "./gradlew publishAllPublicationsToGitLabRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew publishAllPublicationsToGitLabRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-beta\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' @@ -276,7 +308,7 @@ Publish GitGriefed: artifacts: true script: - echo "**** Publishing Maven Artifacts GitGriefed ****" - - "./gradlew publishAllPublicationsToGitGriefedRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew publishAllPublicationsToGitGriefedRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-beta\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' @@ -308,7 +340,7 @@ Publish OSSRH: artifacts: true script: - echo "**** Publishing Maven Artifacts to OSSRH ****" - - "./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" + - "./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository -Pversion=${CI_COMMIT_TAG} --info --stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" rules: - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+-beta\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/ && $CI_SERVER_HOST == "git.griefed.de"' diff --git a/.runConfigurations/Build All.run.xml b/.runConfigurations/Build All.run.xml index 918c771a26afa9bc729de5eccd8252a950cad5a0..db5fec218269806fc2cd084d571cbc328684af70 100644 --- a/.runConfigurations/Build All.run.xml +++ b/.runConfigurations/Build All.run.xml @@ -11,7 +11,6 @@ <option name="taskNames"> <list> <option value="clean" /> - <option value="cleanAllTests" /> <option value="build" /> </list> </option> diff --git a/.runConfigurations/Build without tests with version.run.xml b/.runConfigurations/Build without tests with version.run.xml index b92c30a4e1a1aa683cc405713626e568d81c2206..2acc17c53d66dbfa2deb4bee4a06be503e2eaec2 100644 --- a/.runConfigurations/Build without tests with version.run.xml +++ b/.runConfigurations/Build without tests with version.run.xml @@ -4,7 +4,7 @@ <option name="executionName" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalSystemIdString" value="GRADLE" /> - <option name="scriptParameters" value="-Pversion=5.0.1 --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" /> + <option name="scriptParameters" value="-Pversion=5.0.1 --info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" /> <option name="taskDescriptions"> <list /> </option> diff --git a/.runConfigurations/Build without tests.run.xml b/.runConfigurations/Build without tests.run.xml index c580bcaf8724a9c9ef017f495f12637820f6ad44..1bab9347c3068104889e5636c9105538c560b7ba 100644 --- a/.runConfigurations/Build without tests.run.xml +++ b/.runConfigurations/Build without tests.run.xml @@ -4,14 +4,13 @@ <option name="executionName" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalSystemIdString" value="GRADLE" /> - <option name="scriptParameters" value="--info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" /> + <option name="scriptParameters" value="--info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" /> <option name="taskDescriptions"> <list /> </option> <option name="taskNames"> <list> <option value="clean" /> - <option value="cleanAllTests" /> <option value="build" /> </list> </option> @@ -20,6 +19,7 @@ <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> <DebugAllEnabled>false</DebugAllEnabled> + <RunAsTest>false</RunAsTest> <method v="2" /> </configuration> </component> \ No newline at end of file diff --git a/.runConfigurations/Clean.run.xml b/.runConfigurations/Clean.run.xml index 1041fc8fbdebfa57f68eddc22edf2aaa89553376..cd3af3c69aa48dbc47cbe534780d55229f11a03d 100644 --- a/.runConfigurations/Clean.run.xml +++ b/.runConfigurations/Clean.run.xml @@ -11,7 +11,6 @@ <option name="taskNames"> <list> <option value="clean" /> - <option value="cleanAllTests" /> </list> </option> <option name="vmOptions" /> diff --git a/.runConfigurations/Debug Fat Jar.run.xml b/.runConfigurations/Debug Fat Jar.run.xml index a492c8cd3d0bf2d3926e358c8d8b1e5462d75781..456ee778af5b6c5fc880bca397a0824f3119b3f5 100644 --- a/.runConfigurations/Debug Fat Jar.run.xml +++ b/.runConfigurations/Debug Fat Jar.run.xml @@ -5,7 +5,7 @@ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$\serverpackcreator-app\tests" /> <option name="ALTERNATIVE_JRE_PATH" /> <method v="2"> - <option name="Gradle.BeforeRunTask" enabled="false" tasks="clean cleanAllTests build" externalProjectPath="$PROJECT_DIR$" vmOptions="" scriptParameters=" --info --full-stacktrace -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test" /> + <option name="Gradle.BeforeRunTask" enabled="false" tasks="clean build" externalProjectPath="$PROJECT_DIR$" vmOptions="" scriptParameters=" --info --full-stacktrace -x :serverpackcreator-api:test -x :serverpackcreator-web:test" /> </method> </configuration> </component> \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e7712c360005218aee1f7e783895bd9981ff83d9..e0842e87f72700785b9800dca3225b157e3912cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN \ dos2unix gradlew && chmod +x gradlew && \ sh gradlew -Pversion="$VERSION" \ build --info --full-stacktrace \ - -x :serverpackcreator-api:jvmTest -x :serverpackcreator-web:test && \ + -x :serverpackcreator-api:test -x :serverpackcreator-web:test && \ wget -O zulu21.tar.gz https://cdn.azul.com/zulu/bin/zulu21.30.15-ca-jdk21.0.1-linux_x64.tar.gz && \ tar -xvf zulu21.tar.gz -C /tmp/serverpackcreator/java --strip-components=1 diff --git a/HELP.md b/HELP.md index 1b4cbb7d659c98d8335bc1674abfe489fd7e32af..15a19a185c5994fe002ea4396dd8c5e1eac77c94 100644 --- a/HELP.md +++ b/HELP.md @@ -849,24 +849,18 @@ That being said: You can delete a server pack by removing the corresponding file ## Keeping Data You can disable the cleanup of an already generated server pack in order to keep data between generations. -This is useful if you ran the server pack and generated a world or similar things. Scripts, icon and properties will always be updated. +This is useful if you ran the server pack and generated world or similar. Scripts, icon and properties will always be updated Keep in mind, though, that any ZIP-archived generated this way may contain data which is not allowed on platforms such as Modrinth or CurseForge. -Turning overwrites off is probably most useful if the modpack from which the server pack is generated didn't have a change of mods or mod-configs -between generations. You may also run the risk of having duplicate mods if the mods in your modpack change or are updated between generations. -If overwrites, and thus cleanups, are disabled, and you run into this, then only you yourself are to blame. 😅 -You have been warned. +If overwrites, and thus cleanups, are disabled, and you run into this ## Multiple Java Installations If you manage multiple modpacks and they require different Java versions to run, then you can make use of ServerPackCreators -feature to store paths to your Java installations of different versions. Changing the Minecraft version for your server pack will then update -the path to the Java installation in the Advanced-Section to reflect the required Java-install. - -This feature is most helpful when you want to quickly test the generated server pack without having to meddle with the -Java path inside the `variables.txt` yourself. +feature to use store paths to your Java installations. Changing the Miencraft version for your server pack will then update +the path to the Java installation in the Advanced-Section to reflect the required Java install. Note: This path will not be present in the `variables.txt` in the ZIP-archive of your server pack. If you disabled `Server Pack Overwrites`, then the updated Java path may end up in the `variables.txt` inside the ZIP-archive. Use with caution! diff --git a/LICENSE b/LICENSE index 8000a6faacf471c537530805ab29523c7732e11a..20fb9c7da21cb5a29e10f614a03661a935181652 100644 --- a/LICENSE +++ b/LICENSE @@ -456,49 +456,3 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/README.md b/README.md index c76fbf1b3eb4e4f2e69317947d22b52dee8b0886..b354e948ba83bfc282e045445a0df2ed9e82c367 100644 --- a/README.md +++ b/README.md @@ -314,8 +314,15 @@ Huge shoutout and thank you!** ## ✨ Thanks to all of my Supporters and Sponsors ✨ +### Sponsors + <!-- sponsors --><a href="https://github.com/kreezxil"><img src="https://github.com/kreezxil.png" width="60px" alt="" /></a><!-- sponsors --> +### Contributors + +<!-- contributors --> +<!-- contributors end--> + --- ## 7. Libraries and Licenses diff --git a/build.gradle.kts b/build.gradle.kts index 2ea76839de7755efdc37c3a8f1b9a0e4f441b27a..60d54a1c37b84fedcc3e45da0adb287d715a3cf0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,31 +1,32 @@ +import com.install4j.gradle.Install4jTask import de.griefed.common.gradle.LicenseAgreementRenderer import de.griefed.common.gradle.SubprojectLicenseFilter +import org.cyclonedx.model.AttachmentText +import org.cyclonedx.model.License +import org.cyclonedx.model.OrganizationalContact +import org.gradle.internal.os.OperatingSystem import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel -import java.io.FileInputStream -import java.util.* +import java.time.LocalDate plugins { idea kotlin("jvm") id("io.github.gradle-nexus.publish-plugin") version "1.3.0" id("com.github.jk1.dependency-license-report") -} - -val props = Properties() -FileInputStream(file("gradle.properties")).use { - props.load(it) + id("com.install4j.gradle") + id("org.cyclonedx.bom") version "1.8.2" } idea { project { - languageLevel = IdeaLanguageLevel(props.getProperty("jdkVersion")) - jdkName = props.getProperty("jdkVersion") + languageLevel = IdeaLanguageLevel(properties["jdkVersion"]) + jdkName = properties["jdkVersion"] as String modules.forEach { it.isDownloadJavadoc = true it.isDownloadSources = true - it.languageLevel = IdeaLanguageLevel(props.getProperty("jdkVersion")) - it.jdkName = props.getProperty("jdkVersion") + it.languageLevel = IdeaLanguageLevel(properties["jdkVersion"]) + it.jdkName = properties["jdkVersion"] as String } } } @@ -58,6 +59,36 @@ nexusPublishing { } } +tasks.cyclonedxBom { + setIncludeConfigs(listOf("runtimeClasspath")) + setSkipConfigs(listOf("compileClasspath", "testCompileClasspath")) + setProjectType("application") + setSchemaVersion("1.5") + setDestination(project.file("build/reports")) + setOutputName("bom") + //setOutputFormat("json") + setIncludeBomSerialNumber(true) + + val organizationalContact = OrganizationalContact() + organizationalContact.name = "Griefed" + organizationalContact.email = "griefed@griefed.de" + setOrganizationalEntity { oe -> + oe.name = "Griefed" + oe.urls = listOf("griefed.de") + oe.addContact(organizationalContact) + } + + val attachementText = AttachmentText() + attachementText.text = File(projectDir,"LICENSE").readText() + val license = License() + license.name = "LGPL-2.1" + license.setLicenseText(attachementText) + license.url = "https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE" + setLicenseChoice { lc -> + lc.addLicense(license) + } +} + licenseReport { outputDir = "$projectDir/licenses" configurations = arrayOf("runtimeClasspath", "compileClasspath") @@ -70,12 +101,13 @@ licenseReport { renderers = arrayOf( com.github.jk1.license.render.InventoryHtmlReportRenderer("index.html", "Dependency Licences"), com.github.jk1.license.render.InventoryMarkdownReportRenderer("licences.md", "Dependency Licenses"), - LicenseAgreementRenderer("LICENSE-AGREEMENT") + LicenseAgreementRenderer("LICENSE-AGREEMENT"), + LicenseAgreementRenderer("LICENSE-AGREEMENT.txt") ) } val appPlugins = File("serverpackcreator-app/tests/plugins") -val apiPlugins = File("serverpackcreator-api/src/jvmTest/resources/testresources/plugins") +val apiPlugins = File("serverpackcreator-api/src/test/resources/testresources/plugins") val kotlinPlugin = project.childProjects["serverpackcreator-plugin-example"]?.tasks?.jar?.get()?.archiveFile?.get()?.asFile?.toPath() val licenseReports = File("licenses") @@ -128,4 +160,34 @@ tasks.register<Copy>("copyLicenseReport") { tasks.generateLicenseReport { mustRunAfter(tasks.getByName("cleanLicenseReport")) finalizedBy(tasks.getByName("copyLicenseReport")) +} + +install4j { + //Set the install4jHomeDir-property for building on your own machine, or use the paths listed below according + //to your operating system family. + installDir = if (properties["install4jHomeDir"].toString().isNotBlank()) { + file(properties["install4jHomeDir"].toString()) + } else if (OperatingSystem.current().isWindows) { + file("C:\\Program Files\\install4j") + } else if (OperatingSystem.current().isMacOsX) { + //Ensure your install4j installation is available under this location + file("/Applications/install4j.app") + } else if (OperatingSystem.current().isLinux) { + //Ensure your install4j installation is available under this location + file("/opt/install4j") + } else { + file(properties["install4jHomeDir"].toString()) + } + verbose = true +} + +task("media", Install4jTask::class) { + mustRunAfter(tasks.build) + release = version.toString() + projectFile = "spc.install4j" + variables = hashMapOf<Any, Any>( + "projectDir" to rootDir.absolutePath, + "projectVersion" to version.toString(), + "projectYear" to LocalDate.now().year.toString() + ) } \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index f100f098a6464011e51b3cfea3d0ecf0e1630aa2..8fa62c2194ee5765c00b3425998ba1f18e41a0df 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -21,15 +21,15 @@ FileInputStream(file("../gradle.properties")).use { dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${props.getProperty("kotlinVersion")}") - implementation("org.springframework.boot:spring-boot-gradle-plugin:3.2.0") - implementation("io.spring.gradle:dependency-management-plugin:1.1.4") - implementation("org.jetbrains.kotlin:kotlin-allopen:1.9.10") - implementation("org.jetbrains.kotlin.plugin.jpa:org.jetbrains.kotlin.plugin.jpa.gradle.plugin:1.9.21") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.9.10") + implementation("org.springframework.boot:spring-boot-gradle-plugin:3.3.0") + implementation("io.spring.gradle:dependency-management-plugin:1.1.5") + implementation("org.jetbrains.kotlin:kotlin-allopen:1.9.23") + implementation("org.jetbrains.kotlin.plugin.jpa:org.jetbrains.kotlin.plugin.jpa.gradle.plugin:1.9.23") + implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20") implementation("org.panteleyev:jpackage-gradle-plugin:1.5.2") implementation("com.github.jk1:gradle-license-report:2.5") implementation("org.siouan.frontend-jdk11:org.siouan.frontend-jdk11.gradle.plugin:6.0.0") - + implementation("gradle.plugin.install4j.install4j.buildtools:gradle_publish:10.0.7") } tasks.compileKotlin<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> { diff --git a/buildSrc/src/main/kotlin/serverpackcreator.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/serverpackcreator.java-conventions.gradle.kts index 2541e8415f04b0b5e8c68d5c2b03e3779efa102d..d05544df6c5e38898b722447ce6d3efc4b594d25 100644 --- a/buildSrc/src/main/kotlin/serverpackcreator.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/serverpackcreator.java-conventions.gradle.kts @@ -106,8 +106,6 @@ tasks.jar { manifest { attributes( mapOf( - "Implementation-Title" to project.name, - "Implementation-Version" to project.version, "Built-By" to System.getProperty("user.name"), "Build-Timestamp" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(Date()), "Created-By" to "Gradle ${gradle.gradleVersion}", diff --git a/buildSrc/src/main/kotlin/serverpackcreator.kotlin-multiplatform-conventions.gradle.kts b/buildSrc/src/main/kotlin/serverpackcreator.kotlin-multiplatform-conventions.gradle.kts deleted file mode 100644 index c92bd8e7b589bd151aa3b17052568b7977c23783..0000000000000000000000000000000000000000 --- a/buildSrc/src/main/kotlin/serverpackcreator.kotlin-multiplatform-conventions.gradle.kts +++ /dev/null @@ -1,71 +0,0 @@ -import de.griefed.common.gradle.constant.JDK_VERSION -import de.griefed.common.gradle.constant.KOTLIN_VERSION -import java.text.SimpleDateFormat -import java.util.* - -plugins { - id("serverpackcreator.java-conventions") - kotlin("multiplatform") -} - -repositories { - mavenCentral() -} - -kotlin { - jvm { - compilations.all { - val list = kotlinOptions.freeCompilerArgs.toMutableList() - list.add("-Xexpect-actual-classes") - kotlinOptions.freeCompilerArgs = list.toList() - kotlinOptions.allWarningsAsErrors = false - kotlinOptions.apiVersion = KOTLIN_VERSION - kotlinOptions.jvmTarget = JDK_VERSION - kotlinOptions.languageVersion = KOTLIN_VERSION - jvmToolchain { - languageVersion.set( - JavaLanguageVersion.of(JDK_VERSION) - ) - } - withJava() - testRuns["test"].executionTask.configure { - useJUnitPlatform() - } - tasks.withType<Jar> { - doFirst { - duplicatesStrategy = DuplicatesStrategy.INCLUDE - manifest { - attributes( - mapOf( - "Implementation-Title" to project.name, - "Implementation-Version" to project.version, - "Built-By" to System.getProperty("user.name"), - "Build-Timestamp" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(Date()), - "Created-By" to "Gradle ${gradle.gradleVersion}", - "Build-Jdk" to "${System.getProperty("java.version")} (${System.getProperty("java.vendor")} ${ - System.getProperty("java.vm.version") - })", - "Build-OS" to "${System.getProperty("os.name")} ${System.getProperty("os.arch")} ${ - System.getProperty("os.version") - }", - "Implementation-Vendor" to "Griefed", - "Implementation-Version" to project.version, - "Implementation-Title" to project.name - ) - ) - } - } - } - } - } -// js(IR) { -// useCommonJs() -// browser { -// commonWebpackConfig { -// cssSupport { -// enabled = true -// } -// } -// } -// } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts b/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts index 590b220097dea9f785959e731013f7727dbad7df..ca45e0a5524bc1d1d9fe65793bf947c6cfe850a4 100644 --- a/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/serverpackcreator.quasar-conventions.gradle.kts @@ -11,7 +11,7 @@ repositories { frontend { packageJsonDirectory.set(project.layout.projectDirectory.asFile) - nodeVersion.set("16.9.1") + nodeVersion.set("18.20.2") nodeInstallDirectory.set(project.layout.projectDirectory.dir("node")) yarnEnabled.set(false) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index ecdf86b5cd7bfec77ea2ed1b1f6100f96271aa96..bbbfb25bfb5519eec2d21a0d4af936096b58d0d8 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -36,7 +36,7 @@ services: - SPC_CONFIGURATION_AIKAR=-Xms4G -Xmx4G -XX\:+UseG1GC -XX\:+ParallelRefProcEnabled -XX\:MaxGCPauseMillis\=200 -XX\:+UnlockExperimentalVMOptions -XX\:+DisableExplicitGC -XX\:+AlwaysPreTouch -XX\:G1NewSizePercent\=30 -XX\:G1MaxNewSizePercent\=40 -XX\:G1HeapRegionSize\=8M -XX\:G1ReservePercent\=20 -XX\:G1HeapWastePercent\=5 -XX\:G1MixedGCCountTarget\=4 -XX\:InitiatingHeapOccupancyPercent\=15 -XX\:G1MixedGCLiveThresholdPercent\=90 -XX\:G1RSetUpdatingPauseTimePercent\=5 -XX\:SurvivorRatio\=32 -XX\:+PerfDisableSharedMem -XX\:MaxTenuringThreshold\=1 -Dusing.aikars.flags\=https\://mcflags.emc.gs -Daikars.new.flags\=true - SPC_CONFIGURATION_DIRECTORIES_MUSTINCLUDE=addonpacks,blueprints,config,configs,customnpcs,defaultconfigs,global_data_packs,global_packs,kubejs,maps,mods,openloader,scripts,shrines-saves,structures,structurize,worldshape,Zoestria - SPC_CONFIGURATION_DIRECTORIES_SHOULDEXCLUDE=animation,asm,cache,changelogs,craftpresence,crash-reports,downloads,icons,libraries,local,logs,overrides,packmenu,profileImage,profileImage,resourcepacks,screenshots,server_pack,shaderpacks,simple-rpc,tv-cache - - SPC_CONFIGURATION_FALLBACK_UPDATEURL=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties + - SPC_CONFIGURATION_FALLBACK_UPDATEURL=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties - SPC_SERVERPACK_AUTODISCOVERY_ENABLED=true - SPC_SERVERPACK_AUTODISCOVERY_FILTER=START - SPC_SERVERPACK_ZIP_EXCLUDE=minecraft_server.MINECRAFT_VERSION.jar,server.jar,libraries/net/minecraft/server/MINECRAFT_VERSION/server-MINECRAFT_VERSION.jar diff --git a/docker-compose.yml b/docker-compose.yml index 782f85064bafba0964defc6f0063b2d540020cad..e7f76af29f3b5a9215c1abf7d314e471a72d2c88 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,7 +32,7 @@ services: - SPC_CONFIGURATION_AIKAR=-Xms4G -Xmx4G -XX\:+UseG1GC -XX\:+ParallelRefProcEnabled -XX\:MaxGCPauseMillis\=200 -XX\:+UnlockExperimentalVMOptions -XX\:+DisableExplicitGC -XX\:+AlwaysPreTouch -XX\:G1NewSizePercent\=30 -XX\:G1MaxNewSizePercent\=40 -XX\:G1HeapRegionSize\=8M -XX\:G1ReservePercent\=20 -XX\:G1HeapWastePercent\=5 -XX\:G1MixedGCCountTarget\=4 -XX\:InitiatingHeapOccupancyPercent\=15 -XX\:G1MixedGCLiveThresholdPercent\=90 -XX\:G1RSetUpdatingPauseTimePercent\=5 -XX\:SurvivorRatio\=32 -XX\:+PerfDisableSharedMem -XX\:MaxTenuringThreshold\=1 -Dusing.aikars.flags\=https\://mcflags.emc.gs -Daikars.new.flags\=true #Keep an eye out for proper escaping! - SPC_CONFIGURATION_DIRECTORIES_MUSTINCLUDE=addonpacks,blueprints,config,configs,customnpcs,defaultconfigs,global_data_packs,global_packs,kubejs,maps,mods,openloader,scripts,shrines-saves,structures,structurize,worldshape,Zoestria - SPC_CONFIGURATION_DIRECTORIES_SHOULDEXCLUDE=animation,asm,cache,changelogs,craftpresence,crash-reports,downloads,icons,libraries,local,logs,overrides,packmenu,profileImage,profileImage,resourcepacks,screenshots,server_pack,shaderpacks,simple-rpc,tv-cache - - SPC_CONFIGURATION_FALLBACK_UPDATEURL=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties + - SPC_CONFIGURATION_FALLBACK_UPDATEURL=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties - SPC_SERVERPACK_AUTODISCOVERY_ENABLED=true - SPC_SERVERPACK_AUTODISCOVERY_FILTER=START - SPC_SERVERPACK_ZIP_EXCLUDE=minecraft_server.MINECRAFT_VERSION.jar,server.jar,libraries/net/minecraft/server/MINECRAFT_VERSION/server-MINECRAFT_VERSION.jar diff --git a/gradle.properties b/gradle.properties index 029e4b0bd1c1d49138fab04006b8efeb4c27a972..ce865f79e286fbcbbb3aa736c65865971dff66c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,9 +6,11 @@ org.gradle.caching=true kotlin.code.style=official kotlin.js.generate.executable.default=false kotlin.build.report.enable=true -kotlinVersion=1.9.21 +kotlinVersion=1.9.23 kotlinMajor=1.9 jdkVersion=21 group=de.griefed.serverpackcreator version=dev + +install4jHomeDir= \ No newline at end of file diff --git a/img/banner_installer.png b/img/banner_installer.png new file mode 100644 index 0000000000000000000000000000000000000000..37555d353684ba8e8ee8113700fb064b6c28fce4 Binary files /dev/null and b/img/banner_installer.png differ diff --git a/img/banner_installer_fin.png b/img/banner_installer_fin.png new file mode 100644 index 0000000000000000000000000000000000000000..0d53a1edba885fa95cb8e84900ffbcd1dac921b0 Binary files /dev/null and b/img/banner_installer_fin.png differ diff --git a/img/install.png b/img/install.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0f847dbac7e3d540122536f53e5f68b340d48e Binary files /dev/null and b/img/install.png differ diff --git a/img/install_128x128.png b/img/install_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf8809ceb13b4f501334342ccf83a916c2e3908 Binary files /dev/null and b/img/install_128x128.png differ diff --git a/img/install_16x16.png b/img/install_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c262353cdd7eeb3a9f0c89dd03e747991fcaa27b Binary files /dev/null and b/img/install_16x16.png differ diff --git a/img/install_256x256.png b/img/install_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..052d56c047d9623ce028eda6d581cc0dde7c7d11 Binary files /dev/null and b/img/install_256x256.png differ diff --git a/img/install_32x32.png b/img/install_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c7cbc6c289ea0acd6d4f804a31bd57cca65d55 Binary files /dev/null and b/img/install_32x32.png differ diff --git a/img/install_48x48.png b/img/install_48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..3829d100f57d4160c4c6a6aeb35e7d0efce0f9d8 Binary files /dev/null and b/img/install_48x48.png differ diff --git a/img/install_512x512.png b/img/install_512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..56e9c0ec5d9811dc9847ad3222196ef30290b7c7 Binary files /dev/null and b/img/install_512x512.png differ diff --git a/img/uninstall.png b/img/uninstall.png new file mode 100644 index 0000000000000000000000000000000000000000..a445bf092be8335306385bdee377d6bc2d27ca11 Binary files /dev/null and b/img/uninstall.png differ diff --git a/img/uninstall_128x128.png b/img/uninstall_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4e5ef784ccba66f461b2c5e665ada62f17ea7f Binary files /dev/null and b/img/uninstall_128x128.png differ diff --git a/img/uninstall_16x16.png b/img/uninstall_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c0134adbf5ed98a523348d205e8ec2213caa54f5 Binary files /dev/null and b/img/uninstall_16x16.png differ diff --git a/img/uninstall_256x256.png b/img/uninstall_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..997be7f993ae620701d78c56b43e31ed65199eee Binary files /dev/null and b/img/uninstall_256x256.png differ diff --git a/img/uninstall_32x32.png b/img/uninstall_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c01447c08d858526883137584324487a2bee3650 Binary files /dev/null and b/img/uninstall_32x32.png differ diff --git a/img/uninstall_48x48.png b/img/uninstall_48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..db091b3510240757b077889a12da7467cb251173 Binary files /dev/null and b/img/uninstall_48x48.png differ diff --git a/img/uninstall_512x512.png b/img/uninstall_512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..7a8d2d124ed8656ba4e50abb0dc0d79ca814999f Binary files /dev/null and b/img/uninstall_512x512.png differ diff --git a/licenses/LICENSE-AGREEMENT b/licenses/LICENSE-AGREEMENT index e1d820cb15c81ca2b876e6b3e01fb173b3c0898a..02abccda117b174e1223263a1fe2b476330c4ccf 100644 --- a/licenses/LICENSE-AGREEMENT +++ b/licenses/LICENSE-AGREEMENT @@ -469,52 +469,6 @@ DAMAGES. END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - Used libraries / dependencies licenses: @@ -546,8 +500,8 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (2 of 41) Group: com.electronwill.night-config Name: toml -Version: 3.6.7 -POM Project URL: https://github.com/TheElectronWill/Night-Config +Version: 3.7.1 +POM Project URL: https://github.com/TheElectronWill/night-config POM License: GNU Lesser General Public License v3.0 @@ -733,7 +687,7 @@ Library. (3 of 41) Group: com.fasterxml.jackson.core Name: jackson-databind -Version: 2.15.3 +Version: 2.17.0 Project URL: https://github.com/FasterXML/jackson\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -976,7 +930,7 @@ from the source code management (SCM) system project uses. (4 of 41) Group: com.fasterxml.jackson.module Name: jackson-module-kotlin -Version: 2.14.2 +Version: 2.17.0 Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -990,7 +944,7 @@ Embedded license: This copy of Jackson JSON processor databind module is licensed under the Apache (Software) License, version 2.0 ("the License"). See the License for details about distribution rights, and the -specific rights regarding derivate works. +specific rights regarding derivative works. You may obtain a copy of the License at: @@ -1005,6 +959,10 @@ been in development since 2007. It is currently developed by a community of developers, as well as supported commercially by FasterXML.com. +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + ## Licensing Jackson core and extension components may be licensed under different licenses. @@ -1024,7 +982,7 @@ from the source code management (SCM) system project uses. (5 of 41) Group: com.fasterxml.jackson.module Name: jackson-module-kotlin -Version: 2.15.3 +Version: 2.17.1 Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -1076,7 +1034,7 @@ from the source code management (SCM) system project uses. (6 of 41) Group: com.formdev Name: flatlaf -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1294,7 +1252,7 @@ Embedded license: (7 of 41) Group: com.formdev Name: flatlaf-extras -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1512,7 +1470,7 @@ Embedded license: (8 of 41) Group: com.formdev Name: flatlaf-fonts-inter -Version: 3.19 +Version: 4.0 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1729,9 +1687,7 @@ Embedded license: limitations under the License. -Copyright (c) 2016-2020 The Inter Project Authors. -"Inter" is trademark of Rasmus Andersson. -https://github.com/rsms/inter +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: @@ -1830,7 +1786,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE. (9 of 41) Group: com.formdev Name: flatlaf-fonts-jetbrains-mono -Version: 2.242 +Version: 2.304 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -2896,7 +2852,7 @@ Embedded license: (12 of 41) Group: com.formdev Name: flatlaf-intellij-themes -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -3142,7 +3098,7 @@ URL: https://opensource.org/licenses/BSD-2-Clause (14 of 41) Group: com.miglayout Name: miglayout-swing -Version: 11.2 +Version: 11.3 POM Project URL: http://www.miglayout.com/ @@ -3162,7 +3118,7 @@ URL: https://opensource.org/licenses/0BSD (15 of 41) Group: commons-io Name: commons-io -Version: 2.14.0 +Version: 2.16.1 Project URL: https://commons.apache.org/proper/commons-io/\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3379,7 +3335,7 @@ Embedded license: Apache Commons IO -Copyright 2002-2023 The Apache Software Foundation +Copyright 2002-2024 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/). @@ -3390,7 +3346,7 @@ The Apache Software Foundation (https://www.apache.org/). (16 of 41) Group: de.comahe.i18n4k Name: i18n4k-core -Version: 0.6.2 +Version: 0.7.0 No license information found @@ -3399,7 +3355,7 @@ No license information found (17 of 41) Group: de.comahe.i18n4k Name: i18n4k-core-jvm -Version: 0.6.2 +Version: 0.7.0 POM Project URL: https://comahe-de.github.io/i18n4k/ @@ -3419,7 +3375,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (18 of 41) Group: de.jensklingenberg.ktorfit Name: ktorfit-lib -Version: 1.9.0 +Version: 1.14.0 No license information found @@ -3480,7 +3436,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (22 of 41) Group: org.apache.logging.log4j Name: log4j-api-kotlin -Version: 1.3.0 +Version: 1.4.0 Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3707,7 +3663,7 @@ The Apache Software Foundation (http://www.apache.org/). (23 of 41) Group: org.apache.logging.log4j Name: log4j-core -Version: 2.21.0 +Version: 2.23.1 Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3935,7 +3891,7 @@ Copyright 2005-2006 Tim Fennell (24 of 41) Group: org.bouncycastle Name: bcpkix-jdk18on -Version: 1.77 +Version: 1.78 POM Project URL: https://www.bouncycastle.org/java.html @@ -3955,11 +3911,11 @@ URL: https://www.bouncycastle.org/licence.html (25 of 41) Group: org.javassist Name: javassist -Version: 3.29.2-GA +Version: 3.30.2-GA Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 -POM Project URL: http://www.javassist.org/ +POM Project URL: https://www.javassist.org/ POM License: Apache License, Version 2.0 @@ -3994,7 +3950,7 @@ URL: https://www.mozilla.org/en-US/MPL/1.1 (26 of 41) Group: org.jetbrains.kotlin Name: kotlin-bom -Version: 1.9.21 +Version: 1.9.23 No license information found @@ -4003,7 +3959,7 @@ No license information found (27 of 41) Group: org.jetbrains.kotlin Name: kotlin-reflect -Version: 1.9.10 +Version: 1.9.23 POM Project URL: https://kotlinlang.org/ @@ -4022,8 +3978,8 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (28 of 41) Group: org.jetbrains.kotlin -Name: kotlin-reflect -Version: 1.9.21 +Name: kotlin-stdlib +Version: 1.9.23 POM Project URL: https://kotlinlang.org/ @@ -4043,7 +3999,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (29 of 41) Group: org.jetbrains.kotlin Name: kotlin-stdlib -Version: 1.9.21 +Version: 2.0.0-RC1 POM Project URL: https://kotlinlang.org/ @@ -4063,7 +4019,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (30 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-coroutines-core -Version: 1.7.3 +Version: 1.8.0 No license information found @@ -4072,7 +4028,7 @@ No license information found (31 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-coroutines-swing -Version: 1.7.3 +Version: 1.8.0 POM Project URL: https://github.com/Kotlin/kotlinx.coroutines @@ -4092,7 +4048,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (32 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-datetime -Version: 0.4.1 +Version: 0.5.0 No license information found @@ -4101,7 +4057,7 @@ No license information found (33 of 41) Group: org.pf4j Name: pf4j -Version: 3.10.0 +Version: 3.11.0 POM License: Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 @@ -4118,7 +4074,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (34 of 41) Group: org.postgresql Name: postgresql -Version: 42.6.0 +Version: 42.7.3 Manifest Project URL: https://jdbc.postgresql.org/ @@ -4270,7 +4226,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. (35 of 41) Group: org.springframework.boot Name: spring-boot-devtools -Version: 3.0.4 +Version: 3.2.5 POM Project URL: https://spring.io/projects/spring-boot @@ -4483,8 +4439,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4495,7 +4451,7 @@ the License. (36 of 41) Group: org.springframework.boot Name: spring-boot-devtools -Version: 3.2.0 +Version: 3.3.0 POM Project URL: https://spring.io/projects/spring-boot @@ -4708,8 +4664,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.2.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4720,7 +4676,7 @@ the License. (37 of 41) Group: org.springframework.boot Name: spring-boot-starter-data-jpa -Version: 3.0.4 +Version: 3.2.5 POM Project URL: https://spring.io/projects/spring-boot @@ -4933,8 +4889,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4945,7 +4901,7 @@ the License. (38 of 41) Group: org.springframework.boot Name: spring-boot-starter-log4j2 -Version: 3.0.4 +Version: 3.2.4 POM Project URL: https://spring.io/projects/spring-boot @@ -5158,8 +5114,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -5170,7 +5126,7 @@ the License. (39 of 41) Group: org.springframework.boot Name: spring-boot-starter-web -Version: 3.1.0 +Version: 3.2.4 POM Project URL: https://spring.io/projects/spring-boot @@ -5383,8 +5339,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.1.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -5395,7 +5351,7 @@ the License. (40 of 41) Group: org.springframework.boot Name: spring-boot-starter-web -Version: 3.2.0 +Version: 3.3.0 POM Project URL: https://spring.io/projects/spring-boot @@ -5608,8 +5564,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.2.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with diff --git a/licenses/LICENSE-AGREEMENT.txt b/licenses/LICENSE-AGREEMENT.txt new file mode 100644 index 0000000000000000000000000000000000000000..02abccda117b174e1223263a1fe2b476330c4ccf --- /dev/null +++ b/licenses/LICENSE-AGREEMENT.txt @@ -0,0 +1,5595 @@ +ServerPackCreator license agreement: + +By using a dev- / pre-release version of ServerPackCreator, you agree to do so at your own risk. +You agree to take responsibility for distributing a possibly faulty server pack +and will not hold Griefed, or any other party responsible for ServerPackCreator, +accountable should any issues / problems / errors arise from the use of said +software's dev- / pre-release version. +You may, however, report issues encountered when using this version on GitHub: +https://github.com/Griefed/ServerPackCreator/issues + +ServerPackCreator dev license: + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + +Used libraries / dependencies licenses: + +------------------------------------------------------- + +(1 of 41) +Group: com.cronutils +Name: cron-utils +Version: 9.2.1 +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM Project URL: http://cron-parser.com/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(2 of 41) +Group: com.electronwill.night-config +Name: toml +Version: 3.7.1 +POM Project URL: https://github.com/TheElectronWill/night-config + + +POM License: GNU Lesser General Public License v3.0 + - https://www.gnu.org/licenses/lgpl-3.0.txt + + +POM license(s): + + +License: GNU Lesser General Public License v3.0 +URL: https://www.gnu.org/licenses/lgpl-3.0.txt + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + + +####################################### + +(3 of 41) +Group: com.fasterxml.jackson.core +Name: jackson-databind +Version: 2.17.0 +Project URL: https://github.com/FasterXML/jackson\n\n +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + + +####################################### + +(4 of 41) +Group: com.fasterxml.jackson.module +Name: jackson-module-kotlin +Version: 2.17.0 +Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 + + +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + + +####################################### + +(5 of 41) +Group: com.fasterxml.jackson.module +Name: jackson-module-kotlin +Version: 2.17.1 +Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 + + +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + + +####################################### + +(6 of 41) +Group: com.formdev +Name: flatlaf +Version: 3.4 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(7 of 41) +Group: com.formdev +Name: flatlaf-extras +Version: 3.4 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(8 of 41) +Group: com.formdev +Name: flatlaf-fonts-inter +Version: 4.0 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: SIL OPEN FONT LICENSE Version 1.1 + - https://choosealicense.com/licenses/ofl-1.1/ + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + + +####################################### + +(9 of 41) +Group: com.formdev +Name: flatlaf-fonts-jetbrains-mono +Version: 2.304 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: SIL OPEN FONT LICENSE Version 1.1 + - https://choosealicense.com/licenses/ofl-1.1/ + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(10 of 41) +Group: com.formdev +Name: flatlaf-fonts-roboto +Version: 2.137 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(11 of 41) +Group: com.formdev +Name: flatlaf-fonts-roboto-mono +Version: 3.000 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(12 of 41) +Group: com.formdev +Name: flatlaf-intellij-themes +Version: 3.4 +POM Project URL: https://github.com/JFormDesigner/FlatLaf + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +####################################### + +(13 of 41) +Group: com.formdev +Name: svgSalamander +Version: 1.1.4 +POM Project URL: https://github.com/JFormDesigner/svgSalamander + + +POM License: BSD Zero Clause License + - https://opensource.org/licenses/0BSD + + +POM License: The 2-Clause BSD License + - https://opensource.org/licenses/BSD-2-Clause + + +POM license(s): + + +License: BSD Zero Clause License +URL: https://opensource.org/licenses/0BSD + + +License: The 2-Clause BSD License +URL: https://opensource.org/licenses/BSD-2-Clause + + +####################################### + +(14 of 41) +Group: com.miglayout +Name: miglayout-swing +Version: 11.3 +POM Project URL: http://www.miglayout.com/ + + +POM License: BSD Zero Clause License + - https://opensource.org/licenses/0BSD + + +POM license(s): + + +License: BSD Zero Clause License +URL: https://opensource.org/licenses/0BSD + + +####################################### + +(15 of 41) +Group: commons-io +Name: commons-io +Version: 2.16.1 +Project URL: https://commons.apache.org/proper/commons-io/\n\n +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Apache Commons IO +Copyright 2002-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). + + +####################################### + +(16 of 41) +Group: de.comahe.i18n4k +Name: i18n4k-core +Version: 0.7.0 +No license information found + + +####################################### + +(17 of 41) +Group: de.comahe.i18n4k +Name: i18n4k-core-jvm +Version: 0.7.0 +POM Project URL: https://comahe-de.github.io/i18n4k/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(18 of 41) +Group: de.jensklingenberg.ktorfit +Name: ktorfit-lib +Version: 1.14.0 +No license information found + + +####################################### + +(19 of 41) +Group: io.github.microutils +Name: kotlin-logging +Version: 3.0.5 +No license information found + + +####################################### + +(20 of 41) +Group: net.java.balloontip +Name: balloontip +Version: 1.2.4.1 +POM Project URL: http://balloontip.java.net/ + + +POM License: The 3-Clause BSD License + - https://opensource.org/licenses/BSD-3-Clause + + +POM license(s): + + +License: The 3-Clause BSD License +URL: https://opensource.org/licenses/BSD-3-Clause + + +####################################### + +(21 of 41) +Group: net.lingala.zip4j +Name: zip4j +Version: 2.11.5 +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM Project URL: https://github.com/srikanth-lingala/zip4j + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(22 of 41) +Group: org.apache.logging.log4j +Name: log4j-api-kotlin +Version: 1.4.0 +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Apache Log4j Kotlin API +Copyright 1999-2023 The Apache Software Foundation + + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + + +####################################### + +(23 of 41) +Group: org.apache.logging.log4j +Name: log4j-core +Version: 2.23.1 +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 1999-2005 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Apache Log4j Core +Copyright 1999-2012 Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +ResolverUtil.java +Copyright 2005-2006 Tim Fennell + +####################################### + +(24 of 41) +Group: org.bouncycastle +Name: bcpkix-jdk18on +Version: 1.78 +POM Project URL: https://www.bouncycastle.org/java.html + + +POM License: Bouncy Castle Licence + - https://www.bouncycastle.org/licence.html + + +POM license(s): + + +License: Bouncy Castle Licence +URL: https://www.bouncycastle.org/licence.html + + +####################################### + +(25 of 41) +Group: org.javassist +Name: javassist +Version: 3.30.2-GA +Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 + + +POM Project URL: https://www.javassist.org/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM License: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 + - https://www.gnu.org/licenses/lgpl-2.1 + + +POM License: Mozilla Public License Version 1.1 + - https://www.mozilla.org/en-US/MPL/1.1 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +License: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 +URL: https://www.gnu.org/licenses/lgpl-2.1 + + +License: Mozilla Public License Version 1.1 +URL: https://www.mozilla.org/en-US/MPL/1.1 + + +####################################### + +(26 of 41) +Group: org.jetbrains.kotlin +Name: kotlin-bom +Version: 1.9.23 +No license information found + + +####################################### + +(27 of 41) +Group: org.jetbrains.kotlin +Name: kotlin-reflect +Version: 1.9.23 +POM Project URL: https://kotlinlang.org/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(28 of 41) +Group: org.jetbrains.kotlin +Name: kotlin-stdlib +Version: 1.9.23 +POM Project URL: https://kotlinlang.org/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(29 of 41) +Group: org.jetbrains.kotlin +Name: kotlin-stdlib +Version: 2.0.0-RC1 +POM Project URL: https://kotlinlang.org/ + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(30 of 41) +Group: org.jetbrains.kotlinx +Name: kotlinx-coroutines-core +Version: 1.8.0 +No license information found + + +####################################### + +(31 of 41) +Group: org.jetbrains.kotlinx +Name: kotlinx-coroutines-swing +Version: 1.8.0 +POM Project URL: https://github.com/Kotlin/kotlinx.coroutines + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(32 of 41) +Group: org.jetbrains.kotlinx +Name: kotlinx-datetime +Version: 0.5.0 +No license information found + + +####################################### + +(33 of 41) +Group: org.pf4j +Name: pf4j +Version: 3.11.0 +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +POM license(s): + + +License: Apache License, Version 2.0 +URL: https://www.apache.org/licenses/LICENSE-2.0 + + +####################################### + +(34 of 41) +Group: org.postgresql +Name: postgresql +Version: 42.7.3 +Manifest Project URL: https://jdbc.postgresql.org/ + + +Manifest license URL: https://opensource.org/licenses/BSD-2-Clause + + +POM Project URL: https://jdbc.postgresql.org + + +POM License: The 2-Clause BSD License + - https://opensource.org/licenses/BSD-2-Clause + + +Embedded license: + +Copyright (c) 1997, PostgreSQL Global Development Group +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Additional License files can be found in the 'licenses' folder located in the same directory as the LICENSE file (i.e. this file) + +- Software produced outside the ASF which is available under other licenses (not Apache-2.0) + +BSD-2-Clause +* com.ongres.scram:client:2.1 +* com.ongres.scram:common:2.1 +* com.ongres.stringprep:saslprep:1.1 +* com.ongres.stringprep:stringprep:1.1 + + +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +####################################### + +(35 of 41) +Group: org.springframework.boot +Name: spring-boot-devtools +Version: 3.2.5 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(36 of 41) +Group: org.springframework.boot +Name: spring-boot-devtools +Version: 3.3.0 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(37 of 41) +Group: org.springframework.boot +Name: spring-boot-starter-data-jpa +Version: 3.2.5 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(38 of 41) +Group: org.springframework.boot +Name: spring-boot-starter-log4j2 +Version: 3.2.4 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(39 of 41) +Group: org.springframework.boot +Name: spring-boot-starter-web +Version: 3.2.4 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(40 of 41) +Group: org.springframework.boot +Name: spring-boot-starter-web +Version: 3.3.0 +POM Project URL: https://spring.io/projects/spring-boot + + +POM License: Apache License, Version 2.0 + - https://www.apache.org/licenses/LICENSE-2.0 + + +Embedded license: + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +####################################### + +(41 of 41) +Group: tokyo.northside +Name: tipoftheday +Version: 0.4.2 +POM Project URL: https://codeberg.org/miurahr/tipoftheday + + +POM License: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 + - https://www.gnu.org/licenses/lgpl-2.1 + + +POM license(s): + + +License: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 +URL: https://www.gnu.org/licenses/lgpl-2.1 + + +####################################### + diff --git a/licenses/angus-activation-2.0.2.jar/META-INF/LICENSE.md b/licenses/angus-activation-2.0.2.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..e0358f972175d83cc567fcd129cc205ea9d40ff0 --- /dev/null +++ b/licenses/angus-activation-2.0.2.jar/META-INF/LICENSE.md @@ -0,0 +1,29 @@ + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/angus-activation-2.0.2.jar/META-INF/NOTICE.md b/licenses/angus-activation-2.0.2.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..81a6d339037fb404ca9159c42cffc5a9b91df874 --- /dev/null +++ b/licenses/angus-activation-2.0.2.jar/META-INF/NOTICE.md @@ -0,0 +1,45 @@ +# Notices for Eclipse Angus + +This content is produced and maintained by the Eclipse Angus project. + +* Project home: https://projects.eclipse.org/projects/ee4j.angus + +## Trademarks + +Eclipse Angus is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Distribution License v1.0 which is available at +https://www.eclipse.org/org/documents/edl-v10.php. + +SPDX-License-Identifier: BSD-3-Clause + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/eclipse-ee4j/angus-activation +* https://github.com/eclipse-ee4j/angus-mail + +## Third-party Content + +This project leverages the following third party content. + +None + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. \ No newline at end of file diff --git a/licenses/byte-buddy-1.14.12.jar/META-INF/LICENSE b/licenses/byte-buddy-1.14.12.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9bc5efde097a1bbea9fd175c4c120e9d3bc164de --- /dev/null +++ b/licenses/byte-buddy-1.14.12.jar/META-INF/LICENSE @@ -0,0 +1,180 @@ +This product bundles ASM 9.6, which is available under a "3-clause BSD" +license. For details, see licenses/ASM. For more information visit ${asm.url}. + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/licenses/byte-buddy-1.14.12.jar/META-INF/NOTICE b/licenses/byte-buddy-1.14.12.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..929cbc6b18bba33d1b6801409b93adc413ded993 --- /dev/null +++ b/licenses/byte-buddy-1.14.12.jar/META-INF/NOTICE @@ -0,0 +1,13 @@ +Copyright 2014 - Present Rafael Winterhalter + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/licenses/byte-buddy-1.14.16.jar/META-INF/LICENSE b/licenses/byte-buddy-1.14.16.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..b6ee4d1dc01ce685875f11b1b66c196639b5c772 --- /dev/null +++ b/licenses/byte-buddy-1.14.16.jar/META-INF/LICENSE @@ -0,0 +1,180 @@ +This product bundles ASM 9.7, which is available under a "3-clause BSD" +license. For details, see licenses/ASM. For more information visit ${asm.url}. + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/licenses/byte-buddy-1.14.16.jar/META-INF/NOTICE b/licenses/byte-buddy-1.14.16.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..929cbc6b18bba33d1b6801409b93adc413ded993 --- /dev/null +++ b/licenses/byte-buddy-1.14.16.jar/META-INF/NOTICE @@ -0,0 +1,13 @@ +Copyright 2014 - Present Rafael Winterhalter + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/licenses/byte-buddy-1.14.9.jar/META-INF/LICENSE b/licenses/byte-buddy-1.14.9.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9bc5efde097a1bbea9fd175c4c120e9d3bc164de --- /dev/null +++ b/licenses/byte-buddy-1.14.9.jar/META-INF/LICENSE @@ -0,0 +1,180 @@ +This product bundles ASM 9.6, which is available under a "3-clause BSD" +license. For details, see licenses/ASM. For more information visit ${asm.url}. + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/licenses/byte-buddy-1.14.9.jar/META-INF/NOTICE b/licenses/byte-buddy-1.14.9.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..929cbc6b18bba33d1b6801409b93adc413ded993 --- /dev/null +++ b/licenses/byte-buddy-1.14.9.jar/META-INF/NOTICE @@ -0,0 +1,13 @@ +Copyright 2014 - Present Rafael Winterhalter + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/licenses/checker-qual-3.42.0.jar/META-INF/LICENSE.txt b/licenses/checker-qual-3.42.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..9837c6b69fdabbf2aa312faf980aaa5610234618 --- /dev/null +++ b/licenses/checker-qual-3.42.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,22 @@ +Checker Framework qualifiers +Copyright 2004-present by the Checker Framework developers + +MIT License: + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/licenses/classmate-1.7.0.jar/META-INF/LICENSE b/licenses/classmate-1.7.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..522a4db0980dab7cfb7d0599bbc707f52226d270 --- /dev/null +++ b/licenses/classmate-1.7.0.jar/META-INF/LICENSE @@ -0,0 +1,7 @@ +This copy of Java ClassMate library is licensed under Apache (Software) License, +version 2.0 ("the License"). +See the License for details about distribution rights, and the specific rights regarding derivate works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/classmate-1.7.0.jar/META-INF/NOTICE b/licenses/classmate-1.7.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d706cadf5ad68c2e05d78ada09e4c6c573271f5a --- /dev/null +++ b/licenses/classmate-1.7.0.jar/META-INF/NOTICE @@ -0,0 +1,9 @@ +Java ClassMate library was originally written by Tatu Saloranta (tatu.saloranta@iki.fi) + +Other developers who have contributed code are: + +* Brian Langel + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) \ No newline at end of file diff --git a/licenses/commons-codec-1.16.1.jar/META-INF/LICENSE.txt b/licenses/commons-codec-1.16.1.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/commons-codec-1.16.1.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/commons-codec-1.16.1.jar/META-INF/NOTICE.txt b/licenses/commons-codec-1.16.1.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6d6ef34a3e83a9edfab261a97e45b0c8cc7327d --- /dev/null +++ b/licenses/commons-codec-1.16.1.jar/META-INF/NOTICE.txt @@ -0,0 +1,5 @@ +Apache Commons Codec +Copyright 2002-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). diff --git a/licenses/commons-io-2.16.1.jar/META-INF/LICENSE.txt b/licenses/commons-io-2.16.1.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b0b1270ff0ca8f03867efcd09ba6ddb6392b1e1 --- /dev/null +++ b/licenses/commons-io-2.16.1.jar/META-INF/LICENSE.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/licenses/commons-io-2.16.1.jar/META-INF/NOTICE.txt b/licenses/commons-io-2.16.1.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..e7dbcdc22baa67c258ccaa3f7c4b99fbe47c87d5 --- /dev/null +++ b/licenses/commons-io-2.16.1.jar/META-INF/NOTICE.txt @@ -0,0 +1,5 @@ +Apache Commons IO +Copyright 2002-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). diff --git a/licenses/commons-lang3-3.14.0.jar/META-INF/LICENSE.txt b/licenses/commons-lang3-3.14.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/commons-lang3-3.14.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/commons-lang3-3.14.0.jar/META-INF/NOTICE.txt b/licenses/commons-lang3-3.14.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..307ec45cf5cf04e1dd8ccdc7f9c44c3c472e49ad --- /dev/null +++ b/licenses/commons-lang3-3.14.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,5 @@ +Apache Commons Lang +Copyright 2001-2023 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). diff --git a/licenses/flatlaf-3.4.jar/META-INF/LICENSE b/licenses/flatlaf-3.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/licenses/flatlaf-3.4.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/flatlaf-extras-3.4.jar/META-INF/LICENSE b/licenses/flatlaf-extras-3.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/licenses/flatlaf-extras-3.4.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE b/licenses/flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/licenses/flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt b/licenses/flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b2ca37b3ffc77391d8b2ebef4a974ef32bf46ea --- /dev/null +++ b/licenses/flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt @@ -0,0 +1,92 @@ +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/licenses/flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE b/licenses/flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/licenses/flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE b/licenses/flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/licenses/flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/index.html b/licenses/index.html index cc14d001758298b7dddc11555e8e2097f1f21329..da5161f761f80effbf7fad2e6346a1470d170c64 100644 --- a/licenses/index.html +++ b/licenses/index.html @@ -124,7 +124,7 @@ <div class='header'> <h1>serverpackcreator dev</h1> <h2>Dependency License Report</h2> -<h2 class='timestamp'><em>2024-02-13 21:42:38 MEZ</em>.</h2></div> +<h2 class='timestamp'><em>2024-05-26 14:44:22 MESZ</em>.</h2></div> <h3>Dependency Licences</h3> <ul> <li><a class='license' href='#Dependency_Licences_Apache_License,_Version_2.0'><span class='name'>Apache License, Version 2.0</span> <span class='badge'>28</span></a></li> @@ -152,70 +152,70 @@ <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 2.</strong> <strong>Group:</strong> com.fasterxml.jackson.core <strong>Name:</strong> jackson-databind <strong>Version:</strong> 2.15.3 </p><label>Project URL</label> +<p><strong> 2.</strong> <strong>Group:</strong> com.fasterxml.jackson.core <strong>Name:</strong> jackson-databind <strong>Version:</strong> 2.17.0 </p><label>Project URL</label> <div class='dependency-value'><a href='https://github.com/FasterXML/jackson'>https://github.com/FasterXML/jackson</a></div> <label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='jackson-databind-2.15.3.jar/META-INF/LICENSE'>jackson-databind-2.15.3.jar/META-INF/LICENSE</a><br><a href='jackson-databind-2.15.3.jar/META-INF/NOTICE'>jackson-databind-2.15.3.jar/META-INF/NOTICE</a></div> +<div class='dependency-value'><a href='jackson-databind-2.17.0.jar/META-INF/LICENSE'>jackson-databind-2.17.0.jar/META-INF/LICENSE</a><br><a href='jackson-databind-2.17.0.jar/META-INF/NOTICE'>jackson-databind-2.17.0.jar/META-INF/NOTICE</a></div> </div> <div class='dependency'> -<p><strong> 3.</strong> <strong>Group:</strong> com.fasterxml.jackson.module <strong>Name:</strong> jackson-module-kotlin <strong>Version:</strong> 2.14.2 </p><label>Project URL</label> +<p><strong> 3.</strong> <strong>Group:</strong> com.fasterxml.jackson.module <strong>Name:</strong> jackson-module-kotlin <strong>Version:</strong> 2.17.0 </p><label>Project URL</label> <div class='dependency-value'><a href='https://github.com/FasterXML/jackson-module-kotlin'>https://github.com/FasterXML/jackson-module-kotlin</a></div> <label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='jackson-module-kotlin-2.14.2.jar/META-INF/LICENSE'>jackson-module-kotlin-2.14.2.jar/META-INF/LICENSE</a><br><a href='jackson-module-kotlin-2.14.2.jar/META-INF/NOTICE'>jackson-module-kotlin-2.14.2.jar/META-INF/NOTICE</a></div> +<div class='dependency-value'><a href='jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE'>jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE</a><br><a href='jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE'>jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE</a></div> </div> <div class='dependency'> -<p><strong> 4.</strong> <strong>Group:</strong> com.fasterxml.jackson.module <strong>Name:</strong> jackson-module-kotlin <strong>Version:</strong> 2.15.3 </p><label>Project URL</label> +<p><strong> 4.</strong> <strong>Group:</strong> com.fasterxml.jackson.module <strong>Name:</strong> jackson-module-kotlin <strong>Version:</strong> 2.17.1 </p><label>Project URL</label> <div class='dependency-value'><a href='https://github.com/FasterXML/jackson-module-kotlin'>https://github.com/FasterXML/jackson-module-kotlin</a></div> <label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='jackson-module-kotlin-2.15.3.jar/META-INF/LICENSE'>jackson-module-kotlin-2.15.3.jar/META-INF/LICENSE</a><br><a href='jackson-module-kotlin-2.15.3.jar/META-INF/NOTICE'>jackson-module-kotlin-2.15.3.jar/META-INF/NOTICE</a></div> +<div class='dependency-value'><a href='jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE'>jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE</a><br><a href='jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE'>jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE</a></div> </div> <div class='dependency'> -<p><strong> 5.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf <strong>Version:</strong> 3.2.5 </p><label>POM Project URL</label> +<p><strong> 5.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf <strong>Version:</strong> 3.4 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-3.2.5.jar/META-INF/LICENSE'>flatlaf-3.2.5.jar/META-INF/LICENSE</a></div> +<div class='dependency-value'><a href='flatlaf-3.4.jar/META-INF/LICENSE'>flatlaf-3.4.jar/META-INF/LICENSE</a></div> </div> <div class='dependency'> -<p><strong> 6.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-extras <strong>Version:</strong> 3.2.5 </p><label>POM Project URL</label> +<p><strong> 6.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-extras <strong>Version:</strong> 3.4 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-extras-3.2.5.jar/META-INF/LICENSE'>flatlaf-extras-3.2.5.jar/META-INF/LICENSE</a></div> +<div class='dependency-value'><a href='flatlaf-extras-3.4.jar/META-INF/LICENSE'>flatlaf-extras-3.4.jar/META-INF/LICENSE</a></div> </div> <div class='dependency'> -<p><strong> 7.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-inter <strong>Version:</strong> 3.19 </p><label>POM Project URL</label> +<p><strong> 7.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-inter <strong>Version:</strong> 4.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>SIL OPEN FONT LICENSE Version 1.1 - <a href='https://choosealicense.com/licenses/ofl-1.1/'>https://choosealicense.com/licenses/ofl-1.1/</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE'>flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE</a><br><a href='flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt'>flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt</a></div> +<div class='dependency-value'><a href='flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE'>flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE</a><br><a href='flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt'>flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt</a></div> </div> <div class='dependency'> -<p><strong> 8.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-jetbrains-mono <strong>Version:</strong> 2.242 </p><label>POM Project URL</label> +<p><strong> 8.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-jetbrains-mono <strong>Version:</strong> 2.304 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>SIL OPEN FONT LICENSE Version 1.1 - <a href='https://choosealicense.com/licenses/ofl-1.1/'>https://choosealicense.com/licenses/ofl-1.1/</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE'>flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE</a></div> +<div class='dependency-value'><a href='flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE'>flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE</a></div> </div> <div class='dependency'> <p><strong> 9.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-roboto <strong>Version:</strong> 2.137 </p><label>POM Project URL</label> @@ -234,25 +234,25 @@ <div class='dependency-value'><a href='flatlaf-fonts-roboto-mono-3.000.jar/META-INF/LICENSE'>flatlaf-fonts-roboto-mono-3.000.jar/META-INF/LICENSE</a><br><a href='flatlaf-fonts-roboto-mono-3.000.jar/com/formdev/flatlaf/fonts/roboto_mono/LICENSE.txt'>flatlaf-fonts-roboto-mono-3.000.jar/com/formdev/flatlaf/fonts/roboto_mono/LICENSE.txt</a></div> </div> <div class='dependency'> -<p><strong> 11.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-intellij-themes <strong>Version:</strong> 3.2.5 </p><label>POM Project URL</label> +<p><strong> 11.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-intellij-themes <strong>Version:</strong> 3.4 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-intellij-themes-3.2.5.jar/META-INF/LICENSE'>flatlaf-intellij-themes-3.2.5.jar/META-INF/LICENSE</a></div> +<div class='dependency-value'><a href='flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE'>flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE</a></div> </div> <div class='dependency'> -<p><strong> 12.</strong> <strong>Group:</strong> commons-io <strong>Name:</strong> commons-io <strong>Version:</strong> 2.14.0 </p><label>Project URL</label> +<p><strong> 12.</strong> <strong>Group:</strong> commons-io <strong>Name:</strong> commons-io <strong>Version:</strong> 2.16.1 </p><label>Project URL</label> <div class='dependency-value'><a href='https://commons.apache.org/proper/commons-io/'>https://commons.apache.org/proper/commons-io/</a></div> <label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='commons-io-2.14.0.jar/META-INF/LICENSE.txt'>commons-io-2.14.0.jar/META-INF/LICENSE.txt</a><br><a href='commons-io-2.14.0.jar/META-INF/NOTICE.txt'>commons-io-2.14.0.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='commons-io-2.16.1.jar/META-INF/LICENSE.txt'>commons-io-2.16.1.jar/META-INF/LICENSE.txt</a><br><a href='commons-io-2.16.1.jar/META-INF/NOTICE.txt'>commons-io-2.16.1.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 13.</strong> <strong>Group:</strong> de.comahe.i18n4k <strong>Name:</strong> i18n4k-core-jvm <strong>Version:</strong> 0.6.2 </p><label>POM Project URL</label> +<p><strong> 13.</strong> <strong>Group:</strong> de.comahe.i18n4k <strong>Name:</strong> i18n4k-core-jvm <strong>Version:</strong> 0.7.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://comahe-de.github.io/i18n4k/'>https://comahe-de.github.io/i18n4k/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> @@ -266,26 +266,26 @@ <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 15.</strong> <strong>Group:</strong> org.apache.logging.log4j <strong>Name:</strong> log4j-api-kotlin <strong>Version:</strong> 1.3.0 </p><label>Manifest License</label> +<p><strong> 15.</strong> <strong>Group:</strong> org.apache.logging.log4j <strong>Name:</strong> log4j-api-kotlin <strong>Version:</strong> 1.4.0 </p><label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='log4j-api-kotlin-1.3.0.jar/META-INF/LICENSE'>log4j-api-kotlin-1.3.0.jar/META-INF/LICENSE</a><br><a href='log4j-api-kotlin-1.3.0.jar/META-INF/NOTICE'>log4j-api-kotlin-1.3.0.jar/META-INF/NOTICE</a></div> +<div class='dependency-value'><a href='log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE'>log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE</a><br><a href='log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE'>log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE</a></div> </div> <div class='dependency'> -<p><strong> 16.</strong> <strong>Group:</strong> org.apache.logging.log4j <strong>Name:</strong> log4j-core <strong>Version:</strong> 2.21.0 </p><label>Manifest License</label> +<p><strong> 16.</strong> <strong>Group:</strong> org.apache.logging.log4j <strong>Name:</strong> log4j-core <strong>Version:</strong> 2.23.1 </p><label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='log4j-core-2.21.0.jar/META-INF/LICENSE'>log4j-core-2.21.0.jar/META-INF/LICENSE</a><br><a href='log4j-core-2.21.0.jar/META-INF/NOTICE'>log4j-core-2.21.0.jar/META-INF/NOTICE</a></div> +<div class='dependency-value'><a href='log4j-core-2.23.1.jar/META-INF/LICENSE'>log4j-core-2.23.1.jar/META-INF/LICENSE</a><br><a href='log4j-core-2.23.1.jar/META-INF/NOTICE'>log4j-core-2.23.1.jar/META-INF/NOTICE</a></div> </div> <div class='dependency'> -<p><strong> 17.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.29.2-GA </p><label>Manifest License</label> +<p><strong> 17.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.30.2-GA </p><label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM Project URL</label> -<div class='dependency-value'><a href='http://www.javassist.org/'>http://www.javassist.org/</a></div> +<div class='dependency-value'><a href='https://www.javassist.org/'>https://www.javassist.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> @@ -294,80 +294,80 @@ <div class='dependency-value'>Mozilla Public License Version 1.1 - <a href='https://www.mozilla.org/en-US/MPL/1.1'>https://www.mozilla.org/en-US/MPL/1.1</a></div> </div> <div class='dependency'> -<p><strong> 18.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-reflect <strong>Version:</strong> 1.9.10 </p><label>POM Project URL</label> +<p><strong> 18.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-reflect <strong>Version:</strong> 1.9.23 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://kotlinlang.org/'>https://kotlinlang.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 19.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-reflect <strong>Version:</strong> 1.9.21 </p><label>POM Project URL</label> +<p><strong> 19.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-stdlib <strong>Version:</strong> 1.9.23 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://kotlinlang.org/'>https://kotlinlang.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 20.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-stdlib <strong>Version:</strong> 1.9.21 </p><label>POM Project URL</label> +<p><strong> 20.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-stdlib <strong>Version:</strong> 2.0.0-RC1 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://kotlinlang.org/'>https://kotlinlang.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 21.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-coroutines-swing <strong>Version:</strong> 1.7.3 </p><label>POM Project URL</label> +<p><strong> 21.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-coroutines-swing <strong>Version:</strong> 1.8.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/Kotlin/kotlinx.coroutines'>https://github.com/Kotlin/kotlinx.coroutines</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 22.</strong> <strong>Group:</strong> org.pf4j <strong>Name:</strong> pf4j <strong>Version:</strong> 3.10.0 </p><label>POM License</label> +<p><strong> 22.</strong> <strong>Group:</strong> org.pf4j <strong>Name:</strong> pf4j <strong>Version:</strong> 3.11.0 </p><label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> </div> <div class='dependency'> -<p><strong> 23.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-devtools <strong>Version:</strong> 3.0.4 </p><label>POM Project URL</label> +<p><strong> 23.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-devtools <strong>Version:</strong> 3.2.5 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-devtools-3.0.4.jar/META-INF/LICENSE.txt'>spring-boot-devtools-3.0.4.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-devtools-3.0.4.jar/META-INF/NOTICE.txt'>spring-boot-devtools-3.0.4.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt'>spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt'>spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 24.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-devtools <strong>Version:</strong> 3.2.0 </p><label>POM Project URL</label> +<p><strong> 24.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-devtools <strong>Version:</strong> 3.3.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-devtools-3.2.0.jar/META-INF/LICENSE.txt'>spring-boot-devtools-3.2.0.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-devtools-3.2.0.jar/META-INF/NOTICE.txt'>spring-boot-devtools-3.2.0.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt'>spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt'>spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 25.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-data-jpa <strong>Version:</strong> 3.0.4 </p><label>POM Project URL</label> +<p><strong> 25.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-data-jpa <strong>Version:</strong> 3.2.5 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-starter-data-jpa-3.0.4.jar/META-INF/LICENSE.txt'>spring-boot-starter-data-jpa-3.0.4.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-data-jpa-3.0.4.jar/META-INF/NOTICE.txt'>spring-boot-starter-data-jpa-3.0.4.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt'>spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt'>spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 26.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-log4j2 <strong>Version:</strong> 3.0.4 </p><label>POM Project URL</label> +<p><strong> 26.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-log4j2 <strong>Version:</strong> 3.2.4 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-starter-log4j2-3.0.4.jar/META-INF/LICENSE.txt'>spring-boot-starter-log4j2-3.0.4.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-log4j2-3.0.4.jar/META-INF/NOTICE.txt'>spring-boot-starter-log4j2-3.0.4.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt'>spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt'>spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 27.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-web <strong>Version:</strong> 3.1.0 </p><label>POM Project URL</label> +<p><strong> 27.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-web <strong>Version:</strong> 3.2.4 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-starter-web-3.1.0.jar/META-INF/LICENSE.txt'>spring-boot-starter-web-3.1.0.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-web-3.1.0.jar/META-INF/NOTICE.txt'>spring-boot-starter-web-3.1.0.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt'>spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt'>spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt</a></div> </div> <div class='dependency'> -<p><strong> 28.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-web <strong>Version:</strong> 3.2.0 </p><label>POM Project URL</label> +<p><strong> 28.</strong> <strong>Group:</strong> org.springframework.boot <strong>Name:</strong> spring-boot-starter-web <strong>Version:</strong> 3.3.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://spring.io/projects/spring-boot'>https://spring.io/projects/spring-boot</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='spring-boot-starter-web-3.2.0.jar/META-INF/LICENSE.txt'>spring-boot-starter-web-3.2.0.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-web-3.2.0.jar/META-INF/NOTICE.txt'>spring-boot-starter-web-3.2.0.jar/META-INF/NOTICE.txt</a></div> +<div class='dependency-value'><a href='spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt'>spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt</a><br><a href='spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt'>spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt</a></div> </div> <a id='Dependency_Licences_BSD_Zero_Clause_License'></a> <h2>BSD Zero Clause License</h2> @@ -380,7 +380,7 @@ <div class='dependency-value'>The 2-Clause BSD License - <a href='https://opensource.org/licenses/BSD-2-Clause'>https://opensource.org/licenses/BSD-2-Clause</a></div> </div> <div class='dependency'> -<p><strong> 30.</strong> <strong>Group:</strong> com.miglayout <strong>Name:</strong> miglayout-swing <strong>Version:</strong> 11.2 </p><label>POM Project URL</label> +<p><strong> 30.</strong> <strong>Group:</strong> com.miglayout <strong>Name:</strong> miglayout-swing <strong>Version:</strong> 11.3 </p><label>POM Project URL</label> <div class='dependency-value'><a href='http://www.miglayout.com/'>http://www.miglayout.com/</a></div> <label>POM License</label> <div class='dependency-value'>BSD Zero Clause License - <a href='https://opensource.org/licenses/0BSD'>https://opensource.org/licenses/0BSD</a></div> @@ -388,7 +388,7 @@ <a id='Dependency_Licences_Bouncy_Castle_Licence'></a> <h2>Bouncy Castle Licence</h2> <div class='dependency'> -<p><strong> 31.</strong> <strong>Group:</strong> org.bouncycastle <strong>Name:</strong> bcpkix-jdk18on <strong>Version:</strong> 1.77 </p><label>POM Project URL</label> +<p><strong> 31.</strong> <strong>Group:</strong> org.bouncycastle <strong>Name:</strong> bcpkix-jdk18on <strong>Version:</strong> 1.78 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://www.bouncycastle.org/java.html'>https://www.bouncycastle.org/java.html</a></div> <label>POM License</label> <div class='dependency-value'>Bouncy Castle Licence - <a href='https://www.bouncycastle.org/licence.html'>https://www.bouncycastle.org/licence.html</a></div> @@ -396,10 +396,10 @@ <a id='Dependency_Licences_GNU_LESSER_GENERAL_PUBLIC_LICENSE,_Version_2.1'></a> <h2>GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1</h2> <div class='dependency'> -<p><strong> 32.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.29.2-GA </p><label>Manifest License</label> +<p><strong> 32.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.30.2-GA </p><label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM Project URL</label> -<div class='dependency-value'><a href='http://www.javassist.org/'>http://www.javassist.org/</a></div> +<div class='dependency-value'><a href='https://www.javassist.org/'>https://www.javassist.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> @@ -416,18 +416,18 @@ <a id='Dependency_Licences_GNU_Lesser_General_Public_License_v3.0'></a> <h2>GNU Lesser General Public License v3.0</h2> <div class='dependency'> -<p><strong> 34.</strong> <strong>Group:</strong> com.electronwill.night-config <strong>Name:</strong> toml <strong>Version:</strong> 3.6.7 </p><label>POM Project URL</label> -<div class='dependency-value'><a href='https://github.com/TheElectronWill/Night-Config'>https://github.com/TheElectronWill/Night-Config</a></div> +<p><strong> 34.</strong> <strong>Group:</strong> com.electronwill.night-config <strong>Name:</strong> toml <strong>Version:</strong> 3.7.1 </p><label>POM Project URL</label> +<div class='dependency-value'><a href='https://github.com/TheElectronWill/night-config'>https://github.com/TheElectronWill/night-config</a></div> <label>POM License</label> <div class='dependency-value'>GNU Lesser General Public License v3.0 - <a href='https://www.gnu.org/licenses/lgpl-3.0.txt'>https://www.gnu.org/licenses/lgpl-3.0.txt</a></div> </div> <a id='Dependency_Licences_Mozilla_Public_License_Version_1.1'></a> <h2>Mozilla Public License Version 1.1</h2> <div class='dependency'> -<p><strong> 35.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.29.2-GA </p><label>Manifest License</label> +<p><strong> 35.</strong> <strong>Group:</strong> org.javassist <strong>Name:</strong> javassist <strong>Version:</strong> 3.30.2-GA </p><label>Manifest License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM Project URL</label> -<div class='dependency-value'><a href='http://www.javassist.org/'>http://www.javassist.org/</a></div> +<div class='dependency-value'><a href='https://www.javassist.org/'>https://www.javassist.org/</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> @@ -438,24 +438,24 @@ <a id='Dependency_Licences_SIL_OPEN_FONT_LICENSE_Version_1.1'></a> <h2>SIL OPEN FONT LICENSE Version 1.1</h2> <div class='dependency'> -<p><strong> 36.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-inter <strong>Version:</strong> 3.19 </p><label>POM Project URL</label> +<p><strong> 36.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-inter <strong>Version:</strong> 4.0 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>SIL OPEN FONT LICENSE Version 1.1 - <a href='https://choosealicense.com/licenses/ofl-1.1/'>https://choosealicense.com/licenses/ofl-1.1/</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE'>flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE</a><br><a href='flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt'>flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt</a></div> +<div class='dependency-value'><a href='flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE'>flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE</a><br><a href='flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt'>flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt</a></div> </div> <div class='dependency'> -<p><strong> 37.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-jetbrains-mono <strong>Version:</strong> 2.242 </p><label>POM Project URL</label> +<p><strong> 37.</strong> <strong>Group:</strong> com.formdev <strong>Name:</strong> flatlaf-fonts-jetbrains-mono <strong>Version:</strong> 2.304 </p><label>POM Project URL</label> <div class='dependency-value'><a href='https://github.com/JFormDesigner/FlatLaf'>https://github.com/JFormDesigner/FlatLaf</a></div> <label>POM License</label> <div class='dependency-value'>Apache License, Version 2.0 - <a href='https://www.apache.org/licenses/LICENSE-2.0'>https://www.apache.org/licenses/LICENSE-2.0</a></div> <label>POM License</label> <div class='dependency-value'>SIL OPEN FONT LICENSE Version 1.1 - <a href='https://choosealicense.com/licenses/ofl-1.1/'>https://choosealicense.com/licenses/ofl-1.1/</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE'>flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE</a></div> +<div class='dependency-value'><a href='flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE'>flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE</a></div> </div> <a id='Dependency_Licences_The_2-Clause_BSD_License'></a> <h2>The 2-Clause BSD License</h2> @@ -468,7 +468,7 @@ <div class='dependency-value'>The 2-Clause BSD License - <a href='https://opensource.org/licenses/BSD-2-Clause'>https://opensource.org/licenses/BSD-2-Clause</a></div> </div> <div class='dependency'> -<p><strong> 39.</strong> <strong>Group:</strong> org.postgresql <strong>Name:</strong> postgresql <strong>Version:</strong> 42.6.0 </p><label>Manifest Project URL</label> +<p><strong> 39.</strong> <strong>Group:</strong> org.postgresql <strong>Name:</strong> postgresql <strong>Version:</strong> 42.7.3 </p><label>Manifest Project URL</label> <div class='dependency-value'><a href='https://jdbc.postgresql.org/'>https://jdbc.postgresql.org/</a></div> <label>Manifest License</label> <div class='dependency-value'>The 2-Clause BSD License - <a href='https://opensource.org/licenses/BSD-2-Clause'>https://opensource.org/licenses/BSD-2-Clause</a></div> @@ -477,7 +477,7 @@ <label>POM License</label> <div class='dependency-value'>The 2-Clause BSD License - <a href='https://opensource.org/licenses/BSD-2-Clause'>https://opensource.org/licenses/BSD-2-Clause</a></div> <label>Embedded license files</label> -<div class='dependency-value'><a href='postgresql-42.6.0.jar/META-INF/LICENSE'>postgresql-42.6.0.jar/META-INF/LICENSE</a><br><a href='postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE'>postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE</a><br><a href='postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE'>postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE</a><br><a href='postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE'>postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE</a><br><a href='postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE'>postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE</a></div> +<div class='dependency-value'><a href='postgresql-42.7.3.jar/META-INF/LICENSE'>postgresql-42.7.3.jar/META-INF/LICENSE</a><br><a href='postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE'>postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE</a><br><a href='postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE'>postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE</a><br><a href='postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE'>postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE</a><br><a href='postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE'>postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE</a></div> </div> <a id='Dependency_Licences_The_3-Clause_BSD_License'></a> <h2>The 3-Clause BSD License</h2> @@ -490,17 +490,17 @@ <a id='Dependency_Licences_Unknown'></a> <h2>Unknown</h2> <div class='dependency'> -<p><strong> 41.</strong> <strong>Group:</strong> de.comahe.i18n4k <strong>Name:</strong> i18n4k-core <strong>Version:</strong> 0.6.2 </p></div> +<p><strong> 41.</strong> <strong>Group:</strong> de.comahe.i18n4k <strong>Name:</strong> i18n4k-core <strong>Version:</strong> 0.7.0 </p></div> <div class='dependency'> -<p><strong> 42.</strong> <strong>Group:</strong> de.jensklingenberg.ktorfit <strong>Name:</strong> ktorfit-lib <strong>Version:</strong> 1.9.0 </p></div> +<p><strong> 42.</strong> <strong>Group:</strong> de.jensklingenberg.ktorfit <strong>Name:</strong> ktorfit-lib <strong>Version:</strong> 1.14.0 </p></div> <div class='dependency'> <p><strong> 43.</strong> <strong>Group:</strong> io.github.microutils <strong>Name:</strong> kotlin-logging <strong>Version:</strong> 3.0.5 </p></div> <div class='dependency'> -<p><strong> 44.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-bom <strong>Version:</strong> 1.9.21 </p></div> +<p><strong> 44.</strong> <strong>Group:</strong> org.jetbrains.kotlin <strong>Name:</strong> kotlin-bom <strong>Version:</strong> 1.9.23 </p></div> <div class='dependency'> -<p><strong> 45.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-coroutines-core <strong>Version:</strong> 1.7.3 </p></div> +<p><strong> 45.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-coroutines-core <strong>Version:</strong> 1.8.0 </p></div> <div class='dependency'> -<p><strong> 46.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-datetime <strong>Version:</strong> 0.4.1 </p></div> +<p><strong> 46.</strong> <strong>Group:</strong> org.jetbrains.kotlinx <strong>Name:</strong> kotlinx-datetime <strong>Version:</strong> 0.5.0 </p></div> </div> </div> diff --git a/licenses/jackson-annotations-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-annotations-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-annotations-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-annotations-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-annotations-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-annotations-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-annotations-2.17.0.jar/META-INF/LICENSE b/licenses/jackson-annotations-2.17.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-annotations-2.17.0.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-annotations-2.17.0.jar/META-INF/NOTICE b/licenses/jackson-annotations-2.17.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-annotations-2.17.0.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-annotations-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-annotations-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-annotations-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-annotations-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-annotations-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-annotations-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-core-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-core-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-core-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-core-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-core-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..e30a4782d71098b69e80f98a613dca79dc428633 --- /dev/null +++ b/licenses/jackson-core-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,32 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + +## FastDoubleParser + +jackson-core bundles a shaded copy of FastDoubleParser <https://github.com/wrandelshofer/FastDoubleParser>. +That code is available under an MIT license <https://github.com/wrandelshofer/FastDoubleParser/blob/main/LICENSE> +under the following copyright. + +Copyright © 2023 Werner Randelshofer, Switzerland. MIT License. + +See FastDoubleParser-NOTICE for details of other source code included in FastDoubleParser +and the licenses and copyrights that apply to that code. diff --git a/licenses/jackson-core-2.17.0.jar/META-INF/LICENSE b/licenses/jackson-core-2.17.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-core-2.17.0.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-core-2.17.0.jar/META-INF/NOTICE b/licenses/jackson-core-2.17.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..e30a4782d71098b69e80f98a613dca79dc428633 --- /dev/null +++ b/licenses/jackson-core-2.17.0.jar/META-INF/NOTICE @@ -0,0 +1,32 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + +## FastDoubleParser + +jackson-core bundles a shaded copy of FastDoubleParser <https://github.com/wrandelshofer/FastDoubleParser>. +That code is available under an MIT license <https://github.com/wrandelshofer/FastDoubleParser/blob/main/LICENSE> +under the following copyright. + +Copyright © 2023 Werner Randelshofer, Switzerland. MIT License. + +See FastDoubleParser-NOTICE for details of other source code included in FastDoubleParser +and the licenses and copyrights that apply to that code. diff --git a/licenses/jackson-core-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-core-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-core-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-core-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-core-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..e30a4782d71098b69e80f98a613dca79dc428633 --- /dev/null +++ b/licenses/jackson-core-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,32 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. + +## FastDoubleParser + +jackson-core bundles a shaded copy of FastDoubleParser <https://github.com/wrandelshofer/FastDoubleParser>. +That code is available under an MIT license <https://github.com/wrandelshofer/FastDoubleParser/blob/main/LICENSE> +under the following copyright. + +Copyright © 2023 Werner Randelshofer, Switzerland. MIT License. + +See FastDoubleParser-NOTICE for details of other source code included in FastDoubleParser +and the licenses and copyrights that apply to that code. diff --git a/licenses/jackson-databind-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-databind-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-databind-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-databind-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-databind-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-databind-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-databind-2.17.0.jar/META-INF/LICENSE b/licenses/jackson-databind-2.17.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-databind-2.17.0.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-databind-2.17.0.jar/META-INF/NOTICE b/licenses/jackson-databind-2.17.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-databind-2.17.0.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-databind-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-databind-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/jackson-databind-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/jackson-databind-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-databind-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..738b11fda42c8a5b48e65e030ee10ee6a7bf171d --- /dev/null +++ b/licenses/jackson-databind-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,21 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson 2.x core and extension components are licensed under Apache License 2.0 +To find the details that apply to this artifact see the accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS(-2.x) file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..0a97ea4ffb571afaf4be93d7038601d0d7551b8c --- /dev/null +++ b/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 datatype module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-datatype-jdk8-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..0a97ea4ffb571afaf4be93d7038601d0d7551b8c --- /dev/null +++ b/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 datatype module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-datatype-jdk8-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..0e9c9520aeeeef9db4cb9079e12685780c40c780 --- /dev/null +++ b/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 Date/Time module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-datatype-jsr310-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..0e9c9520aeeeef9db4cb9079e12685780c40c780 --- /dev/null +++ b/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 Date/Time module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-datatype-jsr310-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..8401e01f25baa098d54d469ea6fa9ddb87e30b21 --- /dev/null +++ b/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..201c4fc333448fa37ce7fab0044aba72dc3dc77d --- /dev/null +++ b/licenses/jackson-module-kotlin-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,24 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE b/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..8401e01f25baa098d54d469ea6fa9ddb87e30b21 --- /dev/null +++ b/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE b/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..201c4fc333448fa37ce7fab0044aba72dc3dc77d --- /dev/null +++ b/licenses/jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE @@ -0,0 +1,24 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..8401e01f25baa098d54d469ea6fa9ddb87e30b21 --- /dev/null +++ b/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor databind module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..201c4fc333448fa37ce7fab0044aba72dc3dc77d --- /dev/null +++ b/licenses/jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,24 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/LICENSE b/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..f49b9ee83acbd22cc5e807b9e006fdcf27fbbbbc --- /dev/null +++ b/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 parameter names module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/NOTICE b/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-module-parameter-names-2.15.4.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/LICENSE b/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..f49b9ee83acbd22cc5e807b9e006fdcf27fbbbbc --- /dev/null +++ b/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/LICENSE @@ -0,0 +1,8 @@ +This copy of Jackson JSON processor Java 8 parameter names module is licensed under the +Apache (Software) License, version 2.0 ("the License"). +See the License for details about distribution rights, and the +specific rights regarding derivative works. + +You may obtain a copy of the License at: + +http://www.apache.org/licenses/LICENSE-2.0 diff --git a/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/NOTICE b/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..d55c59a0d506f65815e713986d0115ecd5cfad66 --- /dev/null +++ b/licenses/jackson-module-parameter-names-2.17.1.jar/META-INF/NOTICE @@ -0,0 +1,17 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers. + +## Licensing + +Jackson components are licensed under Apache (Software) License, version 2.0, +as per accompanying LICENSE file. + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/licenses/jakarta.activation-api-2.1.3.jar/META-INF/LICENSE.md b/licenses/jakarta.activation-api-2.1.3.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..e0358f972175d83cc567fcd129cc205ea9d40ff0 --- /dev/null +++ b/licenses/jakarta.activation-api-2.1.3.jar/META-INF/LICENSE.md @@ -0,0 +1,29 @@ + + Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/jakarta.activation-api-2.1.3.jar/META-INF/NOTICE.md b/licenses/jakarta.activation-api-2.1.3.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..2ea9bf4da82ffda07717f0e3bb9050e6d64d94d7 --- /dev/null +++ b/licenses/jakarta.activation-api-2.1.3.jar/META-INF/NOTICE.md @@ -0,0 +1,91 @@ +# Notices for Jakarta Activation + +This content is produced and maintained by the Jakarta Activation project. + +* Project home: https://projects.eclipse.org/projects/ee4j.jaf + +## Trademarks + +Jakarta Activation is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License v. 2.0 which is available at +https://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License v1.0 +which is available at https://www.eclipse.org/org/documents/edl-v10.php. This +Source Code may also be made available under the following Secondary Licenses +when the conditions for such availability set forth in the Eclipse Public +License v. 2.0 are satisfied: (secondary) GPL-2.0 with Classpath-exception-2.0 +which is available at https://openjdk.java.net/legal/gplv2+ce.html. + +SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause OR GPL-2.0-only with +Classpath-exception-2.0 + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/jakartaee/jaf-api +* https://github.com/jakartaee/jaf-tck + +## Third-party Content + +This project leverages the following third party content. + +Apache Ant (1.9.6) + +* License: Apache License, 2.0, W3C License, Public Domain + +Apache Ant (1.9.6) + +* License: Apache License, 2.0, W3C License, Public Domain + +Apache commons-lang (3.5) + +* License: Apache-2.0 + +font-awesome (4.7.0) + +* License: OFL-1.1 AND MIT + +jsoup (1.10.2) + +* License: MIT + +JTHarness (5.0) + +* License: (GPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0) +* Project: https://wiki.openjdk.java.net/display/CodeTools/JT+Harness +* Source: http://hg.openjdk.java.net/code-tools/jtharness/ + +JUnit (4.12) + +* License: Eclipse Public License + +normalize.css (3.0.2) + +* License: MIT +* Project: http://necolas.github.io/normalize.css/ +* Source: http://necolas.github.io/normalize.css/ + +SigTest (4.0) + +* License: GPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 +* Project: https://wiki.openjdk.java.net/display/CodeTools/sigtest +* Source: http://hg.openjdk.java.net/code-tools/sigtest/file/c57f97e2ac2f + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. \ No newline at end of file diff --git a/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/LICENSE.md b/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..6fb337cb014d5ae5d406194049b960982e307849 --- /dev/null +++ b/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/LICENSE.md @@ -0,0 +1,29 @@ + + Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/NOTICE.md b/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..417ebab2968ae433d0e9f32b184de6851c6153cb --- /dev/null +++ b/licenses/jakarta.xml.bind-api-4.0.2.jar/META-INF/NOTICE.md @@ -0,0 +1,47 @@ +[//]: # " Copyright (c) 2018, 2024 Oracle and/or its affiliates. All rights reserved. " +[//]: # " " +[//]: # " This program and the accompanying materials are made available under the " +[//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at " +[//]: # " http://www.eclipse.org/org/documents/edl-v10.php. " +[//]: # " " +[//]: # " SPDX-License-Identifier: BSD-3-Clause " + +# Notices for Jakarta XML Binding + +This content is produced and maintained by the Jakarta XML Binding project. + +* Project home: https://projects.eclipse.org/projects/ee4j.jaxb + +## Trademarks + +Jakarta XML Binding™ is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Distribution License v1.0 which is available at +https://www.eclipse.org/org/documents/edl-v10.php. + +SPDX-License-Identifier: BSD-3-Clause + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/jakartaee/jaxb-api +* https://github.com/jakartaee/jaxb-tck + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. diff --git a/licenses/java-semver-0.10.2.jar/META-INF/LICENSE b/licenses/java-semver-0.10.2.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..251865ad7602883409c55c84da0883c036a81884 --- /dev/null +++ b/licenses/java-semver-0.10.2.jar/META-INF/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright 2012-2024 Zafar Khaja <zafarkhaja@gmail.com>. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/licenses/jaxb-core-4.0.5.jar/META-INF/LICENSE.md b/licenses/jaxb-core-4.0.5.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..da1c1cea702150aee366cb43cdea59089ba7a045 --- /dev/null +++ b/licenses/jaxb-core-4.0.5.jar/META-INF/LICENSE.md @@ -0,0 +1,28 @@ +Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/licenses/jaxb-core-4.0.5.jar/META-INF/NOTICE.md b/licenses/jaxb-core-4.0.5.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..cd46a173aa18b5b71d80f7d36de52fe4f01e01ee --- /dev/null +++ b/licenses/jaxb-core-4.0.5.jar/META-INF/NOTICE.md @@ -0,0 +1,191 @@ +# Notices for Eclipse Implementation of JAXB + +This content is produced and maintained by the Eclipse Implementation of JAXB +project. + +* Project home: https://projects.eclipse.org/projects/ee4j.jaxb-impl + +## Trademarks + +Eclipse Implementation of JAXB is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Distribution License v. 1.0 which is available at +http://www.eclipse.org/org/documents/edl-v10.php. + +SPDX-License-Identifier: BSD-3-Clause + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/eclipse-ee4j/jaxb-ri +* https://github.com/eclipse-ee4j/jaxb-istack-commons +* https://github.com/eclipse-ee4j/jaxb-dtd-parser +* https://github.com/eclipse-ee4j/jaxb-fi +* https://github.com/eclipse-ee4j/jaxb-stax-ex +* https://github.com/eclipse-ee4j/jax-rpc-ri + +## Third-party Content + +This project leverages the following third party content. + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Felix (1.2.0) + +* License: Apache License, 2.0 + +args4j (2.33) + +* License: MIT License + +dom4j (1.6.1) + +* License: Custom license based on Apache 1.1 + +file-management (3.0.0) + +* License: Apache-2.0 +* Project: https://maven.apache.org/shared/file-management/ +* Source: + https://svn.apache.org/viewvc/maven/shared/tags/file-management-3.0.0/ + +JUnit (4.12) + +* License: Eclipse Public License + +JUnit (4.12) + +* License: Eclipse Public License + +maven-compat (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-compat/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-compat/3.5.2 + +maven-core (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-core/index.html +* Source: https://mvnrepository.com/artifact/org.apache.maven/maven-core/3.5.2 + +maven-plugin-annotations (3.5) + +* License: Apache-2.0 +* Project: https://maven.apache.org/plugin-tools/maven-plugin-annotations/ +* Source: + https://github.com/apache/maven-plugin-tools/tree/master/maven-plugin-annotations + +maven-plugin-api (3.5.2) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-connector-basic (1.1.1) + +* License: Apache-2.0 + +maven-resolver-impl (1.1.1) + +* License: Apache-2.0 + +maven-resolver-spi (1.1.1) + +* License: Apache-2.0 + +maven-resolver-transport-file (1.1.1) + +* License: Apache-2.0 +* Project: https://maven.apache.org/resolver/maven-resolver-transport-file/ +* Source: + https://github.com/apache/maven-resolver/tree/master/maven-resolver-transport-file + +maven-resolver-util (1.1.1) + +* License: Apache-2.0 + +maven-settings (3.5.2) + +* License: Apache-2.0 +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-settings/3.5.2 + +OSGi Service Platform Core Companion Code (6.0) + +* License: Apache License, 2.0 + +plexus-archiver (3.5) + +* License: Apache-2.0 +* Project: https://codehaus-plexus.github.io/plexus-archiver/ +* Source: https://github.com/codehaus-plexus/plexus-archiver + +plexus-io (3.0.0) + +* License: Apache-2.0 + +plexus-utils (3.1.0) + +* License: Apache- 2.0 or Apache- 1.1 or BSD or Public Domain or Indiana + University Extreme! Lab Software License V1.1.1 (Apache 1.1 style) + +relaxng-datatype (1.0) + +* License: New BSD license + +Sax (0.2) + +* License: SAX-PD +* Project: http://www.megginson.com/downloads/SAX/ +* Source: http://sourceforge.net/project/showfiles.php?group_id=29449 + +testng (6.14.2) + +* License: Apache-2.0 AND (MIT OR GPL-1.0+) +* Project: https://testng.org/doc/index.html +* Source: https://github.com/cbeust/testng + +wagon-http-lightweight (3.0.0) + +* License: Pending +* Project: https://maven.apache.org/wagon/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven.wagon/wagon-http-lightweight/3.0.0 + +xz for java (1.8) + +* License: LicenseRef-Public-Domain + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. + diff --git a/licenses/jaxb-runtime-4.0.5.jar/META-INF/LICENSE.md b/licenses/jaxb-runtime-4.0.5.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..da1c1cea702150aee366cb43cdea59089ba7a045 --- /dev/null +++ b/licenses/jaxb-runtime-4.0.5.jar/META-INF/LICENSE.md @@ -0,0 +1,28 @@ +Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/licenses/jaxb-runtime-4.0.5.jar/META-INF/NOTICE.md b/licenses/jaxb-runtime-4.0.5.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..cd46a173aa18b5b71d80f7d36de52fe4f01e01ee --- /dev/null +++ b/licenses/jaxb-runtime-4.0.5.jar/META-INF/NOTICE.md @@ -0,0 +1,191 @@ +# Notices for Eclipse Implementation of JAXB + +This content is produced and maintained by the Eclipse Implementation of JAXB +project. + +* Project home: https://projects.eclipse.org/projects/ee4j.jaxb-impl + +## Trademarks + +Eclipse Implementation of JAXB is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Distribution License v. 1.0 which is available at +http://www.eclipse.org/org/documents/edl-v10.php. + +SPDX-License-Identifier: BSD-3-Clause + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/eclipse-ee4j/jaxb-ri +* https://github.com/eclipse-ee4j/jaxb-istack-commons +* https://github.com/eclipse-ee4j/jaxb-dtd-parser +* https://github.com/eclipse-ee4j/jaxb-fi +* https://github.com/eclipse-ee4j/jaxb-stax-ex +* https://github.com/eclipse-ee4j/jax-rpc-ri + +## Third-party Content + +This project leverages the following third party content. + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Felix (1.2.0) + +* License: Apache License, 2.0 + +args4j (2.33) + +* License: MIT License + +dom4j (1.6.1) + +* License: Custom license based on Apache 1.1 + +file-management (3.0.0) + +* License: Apache-2.0 +* Project: https://maven.apache.org/shared/file-management/ +* Source: + https://svn.apache.org/viewvc/maven/shared/tags/file-management-3.0.0/ + +JUnit (4.12) + +* License: Eclipse Public License + +JUnit (4.12) + +* License: Eclipse Public License + +maven-compat (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-compat/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-compat/3.5.2 + +maven-core (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-core/index.html +* Source: https://mvnrepository.com/artifact/org.apache.maven/maven-core/3.5.2 + +maven-plugin-annotations (3.5) + +* License: Apache-2.0 +* Project: https://maven.apache.org/plugin-tools/maven-plugin-annotations/ +* Source: + https://github.com/apache/maven-plugin-tools/tree/master/maven-plugin-annotations + +maven-plugin-api (3.5.2) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-connector-basic (1.1.1) + +* License: Apache-2.0 + +maven-resolver-impl (1.1.1) + +* License: Apache-2.0 + +maven-resolver-spi (1.1.1) + +* License: Apache-2.0 + +maven-resolver-transport-file (1.1.1) + +* License: Apache-2.0 +* Project: https://maven.apache.org/resolver/maven-resolver-transport-file/ +* Source: + https://github.com/apache/maven-resolver/tree/master/maven-resolver-transport-file + +maven-resolver-util (1.1.1) + +* License: Apache-2.0 + +maven-settings (3.5.2) + +* License: Apache-2.0 +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-settings/3.5.2 + +OSGi Service Platform Core Companion Code (6.0) + +* License: Apache License, 2.0 + +plexus-archiver (3.5) + +* License: Apache-2.0 +* Project: https://codehaus-plexus.github.io/plexus-archiver/ +* Source: https://github.com/codehaus-plexus/plexus-archiver + +plexus-io (3.0.0) + +* License: Apache-2.0 + +plexus-utils (3.1.0) + +* License: Apache- 2.0 or Apache- 1.1 or BSD or Public Domain or Indiana + University Extreme! Lab Software License V1.1.1 (Apache 1.1 style) + +relaxng-datatype (1.0) + +* License: New BSD license + +Sax (0.2) + +* License: SAX-PD +* Project: http://www.megginson.com/downloads/SAX/ +* Source: http://sourceforge.net/project/showfiles.php?group_id=29449 + +testng (6.14.2) + +* License: Apache-2.0 AND (MIT OR GPL-1.0+) +* Project: https://testng.org/doc/index.html +* Source: https://github.com/cbeust/testng + +wagon-http-lightweight (3.0.0) + +* License: Pending +* Project: https://maven.apache.org/wagon/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven.wagon/wagon-http-lightweight/3.0.0 + +xz for java (1.8) + +* License: LicenseRef-Public-Domain + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. + diff --git a/licenses/licences.md b/licenses/licences.md index 88737814b42606802694ff7c976fda6cebf45246..0eac57284b0f62c32b982639c6f6aded959bcc32 100644 --- a/licenses/licences.md +++ b/licenses/licences.md @@ -1,7 +1,7 @@ # Dependency Licenses ## Dependency License Report -_2024-02-13 21:42:39 MEZ_ +_2024-05-26 14:44:22 MESZ_ ## Apache License, Version 2.0 **1** **Group:** `com.cronutils` **Name:** `cron-utils` **Version:** `9.2.1` @@ -9,49 +9,49 @@ _2024-02-13 21:42:39 MEZ_ > - **POM Project URL**: [http://cron-parser.com/](http://cron-parser.com/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**2** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-databind` **Version:** `2.15.3` +**2** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-databind` **Version:** `2.17.0` > - **Project URL**: [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [jackson-databind-2.15.3.jar/META-INF/LICENSE](jackson-databind-2.15.3.jar/META-INF/LICENSE) - - [jackson-databind-2.15.3.jar/META-INF/NOTICE](jackson-databind-2.15.3.jar/META-INF/NOTICE) +> - **Embedded license files**: [jackson-databind-2.17.0.jar/META-INF/LICENSE](jackson-databind-2.17.0.jar/META-INF/LICENSE) + - [jackson-databind-2.17.0.jar/META-INF/NOTICE](jackson-databind-2.17.0.jar/META-INF/NOTICE) -**3** **Group:** `com.fasterxml.jackson.module` **Name:** `jackson-module-kotlin` **Version:** `2.14.2` +**3** **Group:** `com.fasterxml.jackson.module` **Name:** `jackson-module-kotlin` **Version:** `2.17.0` > - **Project URL**: [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [jackson-module-kotlin-2.14.2.jar/META-INF/LICENSE](jackson-module-kotlin-2.14.2.jar/META-INF/LICENSE) - - [jackson-module-kotlin-2.14.2.jar/META-INF/NOTICE](jackson-module-kotlin-2.14.2.jar/META-INF/NOTICE) +> - **Embedded license files**: [jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE](jackson-module-kotlin-2.17.0.jar/META-INF/LICENSE) + - [jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE](jackson-module-kotlin-2.17.0.jar/META-INF/NOTICE) -**4** **Group:** `com.fasterxml.jackson.module` **Name:** `jackson-module-kotlin` **Version:** `2.15.3` +**4** **Group:** `com.fasterxml.jackson.module` **Name:** `jackson-module-kotlin` **Version:** `2.17.1` > - **Project URL**: [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [jackson-module-kotlin-2.15.3.jar/META-INF/LICENSE](jackson-module-kotlin-2.15.3.jar/META-INF/LICENSE) - - [jackson-module-kotlin-2.15.3.jar/META-INF/NOTICE](jackson-module-kotlin-2.15.3.jar/META-INF/NOTICE) +> - **Embedded license files**: [jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE](jackson-module-kotlin-2.17.1.jar/META-INF/LICENSE) + - [jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE](jackson-module-kotlin-2.17.1.jar/META-INF/NOTICE) -**5** **Group:** `com.formdev` **Name:** `flatlaf` **Version:** `3.2.5` +**5** **Group:** `com.formdev` **Name:** `flatlaf` **Version:** `3.4` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [flatlaf-3.2.5.jar/META-INF/LICENSE](flatlaf-3.2.5.jar/META-INF/LICENSE) +> - **Embedded license files**: [flatlaf-3.4.jar/META-INF/LICENSE](flatlaf-3.4.jar/META-INF/LICENSE) -**6** **Group:** `com.formdev` **Name:** `flatlaf-extras` **Version:** `3.2.5` +**6** **Group:** `com.formdev` **Name:** `flatlaf-extras` **Version:** `3.4` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [flatlaf-extras-3.2.5.jar/META-INF/LICENSE](flatlaf-extras-3.2.5.jar/META-INF/LICENSE) +> - **Embedded license files**: [flatlaf-extras-3.4.jar/META-INF/LICENSE](flatlaf-extras-3.4.jar/META-INF/LICENSE) -**7** **Group:** `com.formdev` **Name:** `flatlaf-fonts-inter` **Version:** `3.19` +**7** **Group:** `com.formdev` **Name:** `flatlaf-fonts-inter` **Version:** `4.0` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: SIL OPEN FONT LICENSE Version 1.1 - [https://choosealicense.com/licenses/ofl-1.1/](https://choosealicense.com/licenses/ofl-1.1/) -> - **Embedded license files**: [flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE](flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE) - - [flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt](flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt) +> - **Embedded license files**: [flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE](flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE) + - [flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt](flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt) -**8** **Group:** `com.formdev` **Name:** `flatlaf-fonts-jetbrains-mono` **Version:** `2.242` +**8** **Group:** `com.formdev` **Name:** `flatlaf-fonts-jetbrains-mono` **Version:** `2.304` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: SIL OPEN FONT LICENSE Version 1.1 - [https://choosealicense.com/licenses/ofl-1.1/](https://choosealicense.com/licenses/ofl-1.1/) -> - **Embedded license files**: [flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE](flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE) +> - **Embedded license files**: [flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE](flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE) **9** **Group:** `com.formdev` **Name:** `flatlaf-fonts-roboto` **Version:** `2.137` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) @@ -65,19 +65,19 @@ _2024-02-13 21:42:39 MEZ_ > - **Embedded license files**: [flatlaf-fonts-roboto-mono-3.000.jar/META-INF/LICENSE](flatlaf-fonts-roboto-mono-3.000.jar/META-INF/LICENSE) - [flatlaf-fonts-roboto-mono-3.000.jar/com/formdev/flatlaf/fonts/roboto_mono/LICENSE.txt](flatlaf-fonts-roboto-mono-3.000.jar/com/formdev/flatlaf/fonts/roboto_mono/LICENSE.txt) -**11** **Group:** `com.formdev` **Name:** `flatlaf-intellij-themes` **Version:** `3.2.5` +**11** **Group:** `com.formdev` **Name:** `flatlaf-intellij-themes` **Version:** `3.4` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [flatlaf-intellij-themes-3.2.5.jar/META-INF/LICENSE](flatlaf-intellij-themes-3.2.5.jar/META-INF/LICENSE) +> - **Embedded license files**: [flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE](flatlaf-intellij-themes-3.4.jar/META-INF/LICENSE) -**12** **Group:** `commons-io` **Name:** `commons-io` **Version:** `2.14.0` +**12** **Group:** `commons-io` **Name:** `commons-io` **Version:** `2.16.1` > - **Project URL**: [https://commons.apache.org/proper/commons-io/](https://commons.apache.org/proper/commons-io/) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [commons-io-2.14.0.jar/META-INF/LICENSE.txt](commons-io-2.14.0.jar/META-INF/LICENSE.txt) - - [commons-io-2.14.0.jar/META-INF/NOTICE.txt](commons-io-2.14.0.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [commons-io-2.16.1.jar/META-INF/LICENSE.txt](commons-io-2.16.1.jar/META-INF/LICENSE.txt) + - [commons-io-2.16.1.jar/META-INF/NOTICE.txt](commons-io-2.16.1.jar/META-INF/NOTICE.txt) -**13** **Group:** `de.comahe.i18n4k` **Name:** `i18n4k-core-jvm` **Version:** `0.6.2` +**13** **Group:** `de.comahe.i18n4k` **Name:** `i18n4k-core-jvm` **Version:** `0.7.0` > - **POM Project URL**: [https://comahe-de.github.io/i18n4k/](https://comahe-de.github.io/i18n4k/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) @@ -86,79 +86,79 @@ _2024-02-13 21:42:39 MEZ_ > - **POM Project URL**: [https://github.com/srikanth-lingala/zip4j](https://github.com/srikanth-lingala/zip4j) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**15** **Group:** `org.apache.logging.log4j` **Name:** `log4j-api-kotlin` **Version:** `1.3.0` +**15** **Group:** `org.apache.logging.log4j` **Name:** `log4j-api-kotlin` **Version:** `1.4.0` > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [log4j-api-kotlin-1.3.0.jar/META-INF/LICENSE](log4j-api-kotlin-1.3.0.jar/META-INF/LICENSE) - - [log4j-api-kotlin-1.3.0.jar/META-INF/NOTICE](log4j-api-kotlin-1.3.0.jar/META-INF/NOTICE) +> - **Embedded license files**: [log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE](log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE) + - [log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE](log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE) -**16** **Group:** `org.apache.logging.log4j` **Name:** `log4j-core` **Version:** `2.21.0` +**16** **Group:** `org.apache.logging.log4j` **Name:** `log4j-core` **Version:** `2.23.1` > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [log4j-core-2.21.0.jar/META-INF/LICENSE](log4j-core-2.21.0.jar/META-INF/LICENSE) - - [log4j-core-2.21.0.jar/META-INF/NOTICE](log4j-core-2.21.0.jar/META-INF/NOTICE) +> - **Embedded license files**: [log4j-core-2.23.1.jar/META-INF/LICENSE](log4j-core-2.23.1.jar/META-INF/LICENSE) + - [log4j-core-2.23.1.jar/META-INF/NOTICE](log4j-core-2.23.1.jar/META-INF/NOTICE) -**17** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.29.2-GA` +**17** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.30.2-GA` > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) -> - **POM Project URL**: [http://www.javassist.org/](http://www.javassist.org/) +> - **POM Project URL**: [https://www.javassist.org/](https://www.javassist.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 - [https://www.gnu.org/licenses/lgpl-2.1](https://www.gnu.org/licenses/lgpl-2.1) > - **POM License**: Mozilla Public License Version 1.1 - [https://www.mozilla.org/en-US/MPL/1.1](https://www.mozilla.org/en-US/MPL/1.1) -**18** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-reflect` **Version:** `1.9.10` +**18** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-reflect` **Version:** `1.9.23` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**19** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-reflect` **Version:** `1.9.21` +**19** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `1.9.23` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**20** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `1.9.21` +**20** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `2.0.0-RC1` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**21** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-coroutines-swing` **Version:** `1.7.3` +**21** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-coroutines-swing` **Version:** `1.8.0` > - **POM Project URL**: [https://github.com/Kotlin/kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**22** **Group:** `org.pf4j` **Name:** `pf4j` **Version:** `3.10.0` +**22** **Group:** `org.pf4j` **Name:** `pf4j` **Version:** `3.11.0` > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**23** **Group:** `org.springframework.boot` **Name:** `spring-boot-devtools` **Version:** `3.0.4` +**23** **Group:** `org.springframework.boot` **Name:** `spring-boot-devtools` **Version:** `3.2.5` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-devtools-3.0.4.jar/META-INF/LICENSE.txt](spring-boot-devtools-3.0.4.jar/META-INF/LICENSE.txt) - - [spring-boot-devtools-3.0.4.jar/META-INF/NOTICE.txt](spring-boot-devtools-3.0.4.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt](spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt) + - [spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt](spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt) -**24** **Group:** `org.springframework.boot` **Name:** `spring-boot-devtools` **Version:** `3.2.0` +**24** **Group:** `org.springframework.boot` **Name:** `spring-boot-devtools` **Version:** `3.3.0` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-devtools-3.2.0.jar/META-INF/LICENSE.txt](spring-boot-devtools-3.2.0.jar/META-INF/LICENSE.txt) - - [spring-boot-devtools-3.2.0.jar/META-INF/NOTICE.txt](spring-boot-devtools-3.2.0.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt](spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt) + - [spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt](spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt) -**25** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-data-jpa` **Version:** `3.0.4` +**25** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-data-jpa` **Version:** `3.2.5` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-starter-data-jpa-3.0.4.jar/META-INF/LICENSE.txt](spring-boot-starter-data-jpa-3.0.4.jar/META-INF/LICENSE.txt) - - [spring-boot-starter-data-jpa-3.0.4.jar/META-INF/NOTICE.txt](spring-boot-starter-data-jpa-3.0.4.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt](spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt) + - [spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt](spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt) -**26** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-log4j2` **Version:** `3.0.4` +**26** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-log4j2` **Version:** `3.2.4` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-starter-log4j2-3.0.4.jar/META-INF/LICENSE.txt](spring-boot-starter-log4j2-3.0.4.jar/META-INF/LICENSE.txt) - - [spring-boot-starter-log4j2-3.0.4.jar/META-INF/NOTICE.txt](spring-boot-starter-log4j2-3.0.4.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt](spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt) + - [spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt](spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt) -**27** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-web` **Version:** `3.1.0` +**27** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-web` **Version:** `3.2.4` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-starter-web-3.1.0.jar/META-INF/LICENSE.txt](spring-boot-starter-web-3.1.0.jar/META-INF/LICENSE.txt) - - [spring-boot-starter-web-3.1.0.jar/META-INF/NOTICE.txt](spring-boot-starter-web-3.1.0.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt](spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt) + - [spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt](spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt) -**28** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-web` **Version:** `3.2.0` +**28** **Group:** `org.springframework.boot` **Name:** `spring-boot-starter-web` **Version:** `3.3.0` > - **POM Project URL**: [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [spring-boot-starter-web-3.2.0.jar/META-INF/LICENSE.txt](spring-boot-starter-web-3.2.0.jar/META-INF/LICENSE.txt) - - [spring-boot-starter-web-3.2.0.jar/META-INF/NOTICE.txt](spring-boot-starter-web-3.2.0.jar/META-INF/NOTICE.txt) +> - **Embedded license files**: [spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt](spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt) + - [spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt](spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt) ## BSD Zero Clause License @@ -167,21 +167,21 @@ _2024-02-13 21:42:39 MEZ_ > - **POM License**: BSD Zero Clause License - [https://opensource.org/licenses/0BSD](https://opensource.org/licenses/0BSD) > - **POM License**: The 2-Clause BSD License - [https://opensource.org/licenses/BSD-2-Clause](https://opensource.org/licenses/BSD-2-Clause) -**30** **Group:** `com.miglayout` **Name:** `miglayout-swing` **Version:** `11.2` +**30** **Group:** `com.miglayout` **Name:** `miglayout-swing` **Version:** `11.3` > - **POM Project URL**: [http://www.miglayout.com/](http://www.miglayout.com/) > - **POM License**: BSD Zero Clause License - [https://opensource.org/licenses/0BSD](https://opensource.org/licenses/0BSD) ## Bouncy Castle Licence -**31** **Group:** `org.bouncycastle` **Name:** `bcpkix-jdk18on` **Version:** `1.77` +**31** **Group:** `org.bouncycastle` **Name:** `bcpkix-jdk18on` **Version:** `1.78` > - **POM Project URL**: [https://www.bouncycastle.org/java.html](https://www.bouncycastle.org/java.html) > - **POM License**: Bouncy Castle Licence - [https://www.bouncycastle.org/licence.html](https://www.bouncycastle.org/licence.html) ## GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 -**32** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.29.2-GA` +**32** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.30.2-GA` > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) -> - **POM Project URL**: [http://www.javassist.org/](http://www.javassist.org/) +> - **POM Project URL**: [https://www.javassist.org/](https://www.javassist.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 - [https://www.gnu.org/licenses/lgpl-2.1](https://www.gnu.org/licenses/lgpl-2.1) > - **POM License**: Mozilla Public License Version 1.1 - [https://www.mozilla.org/en-US/MPL/1.1](https://www.mozilla.org/en-US/MPL/1.1) @@ -192,33 +192,33 @@ _2024-02-13 21:42:39 MEZ_ ## GNU Lesser General Public License v3.0 -**34** **Group:** `com.electronwill.night-config` **Name:** `toml` **Version:** `3.6.7` -> - **POM Project URL**: [https://github.com/TheElectronWill/Night-Config](https://github.com/TheElectronWill/Night-Config) +**34** **Group:** `com.electronwill.night-config` **Name:** `toml` **Version:** `3.7.1` +> - **POM Project URL**: [https://github.com/TheElectronWill/night-config](https://github.com/TheElectronWill/night-config) > - **POM License**: GNU Lesser General Public License v3.0 - [https://www.gnu.org/licenses/lgpl-3.0.txt](https://www.gnu.org/licenses/lgpl-3.0.txt) ## Mozilla Public License Version 1.1 -**35** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.29.2-GA` +**35** **Group:** `org.javassist` **Name:** `javassist` **Version:** `3.30.2-GA` > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) -> - **POM Project URL**: [http://www.javassist.org/](http://www.javassist.org/) +> - **POM Project URL**: [https://www.javassist.org/](https://www.javassist.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 - [https://www.gnu.org/licenses/lgpl-2.1](https://www.gnu.org/licenses/lgpl-2.1) > - **POM License**: Mozilla Public License Version 1.1 - [https://www.mozilla.org/en-US/MPL/1.1](https://www.mozilla.org/en-US/MPL/1.1) ## SIL OPEN FONT LICENSE Version 1.1 -**36** **Group:** `com.formdev` **Name:** `flatlaf-fonts-inter` **Version:** `3.19` +**36** **Group:** `com.formdev` **Name:** `flatlaf-fonts-inter` **Version:** `4.0` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: SIL OPEN FONT LICENSE Version 1.1 - [https://choosealicense.com/licenses/ofl-1.1/](https://choosealicense.com/licenses/ofl-1.1/) -> - **Embedded license files**: [flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE](flatlaf-fonts-inter-3.19.jar/META-INF/LICENSE) - - [flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt](flatlaf-fonts-inter-3.19.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt) +> - **Embedded license files**: [flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE](flatlaf-fonts-inter-4.0.jar/META-INF/LICENSE) + - [flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt](flatlaf-fonts-inter-4.0.jar/com/formdev/flatlaf/fonts/inter/LICENSE.txt) -**37** **Group:** `com.formdev` **Name:** `flatlaf-fonts-jetbrains-mono` **Version:** `2.242` +**37** **Group:** `com.formdev` **Name:** `flatlaf-fonts-jetbrains-mono` **Version:** `2.304` > - **POM Project URL**: [https://github.com/JFormDesigner/FlatLaf](https://github.com/JFormDesigner/FlatLaf) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) > - **POM License**: SIL OPEN FONT LICENSE Version 1.1 - [https://choosealicense.com/licenses/ofl-1.1/](https://choosealicense.com/licenses/ofl-1.1/) -> - **Embedded license files**: [flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE](flatlaf-fonts-jetbrains-mono-2.242.jar/META-INF/LICENSE) +> - **Embedded license files**: [flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE](flatlaf-fonts-jetbrains-mono-2.304.jar/META-INF/LICENSE) ## The 2-Clause BSD License @@ -227,16 +227,16 @@ _2024-02-13 21:42:39 MEZ_ > - **POM License**: BSD Zero Clause License - [https://opensource.org/licenses/0BSD](https://opensource.org/licenses/0BSD) > - **POM License**: The 2-Clause BSD License - [https://opensource.org/licenses/BSD-2-Clause](https://opensource.org/licenses/BSD-2-Clause) -**39** **Group:** `org.postgresql` **Name:** `postgresql` **Version:** `42.6.0` +**39** **Group:** `org.postgresql` **Name:** `postgresql` **Version:** `42.7.3` > - **Manifest Project URL**: [https://jdbc.postgresql.org/](https://jdbc.postgresql.org/) > - **Manifest License**: The 2-Clause BSD License (Not Packaged) > - **POM Project URL**: [https://jdbc.postgresql.org](https://jdbc.postgresql.org) > - **POM License**: The 2-Clause BSD License - [https://opensource.org/licenses/BSD-2-Clause](https://opensource.org/licenses/BSD-2-Clause) -> - **Embedded license files**: [postgresql-42.6.0.jar/META-INF/LICENSE](postgresql-42.6.0.jar/META-INF/LICENSE) - - [postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE](postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE) - - [postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE](postgresql-42.6.0.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE) - - [postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE](postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE) - - [postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE](postgresql-42.6.0.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE) +> - **Embedded license files**: [postgresql-42.7.3.jar/META-INF/LICENSE](postgresql-42.7.3.jar/META-INF/LICENSE) + - [postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE](postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE) + - [postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE](postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE) + - [postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE](postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE) + - [postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE](postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE) ## The 3-Clause BSD License @@ -246,16 +246,16 @@ _2024-02-13 21:42:39 MEZ_ ## Unknown -**41** **Group:** `de.comahe.i18n4k` **Name:** `i18n4k-core` **Version:** `0.6.2` +**41** **Group:** `de.comahe.i18n4k` **Name:** `i18n4k-core` **Version:** `0.7.0` -**42** **Group:** `de.jensklingenberg.ktorfit` **Name:** `ktorfit-lib` **Version:** `1.9.0` +**42** **Group:** `de.jensklingenberg.ktorfit` **Name:** `ktorfit-lib` **Version:** `1.14.0` **43** **Group:** `io.github.microutils` **Name:** `kotlin-logging` **Version:** `3.0.5` -**44** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-bom` **Version:** `1.9.21` +**44** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-bom` **Version:** `1.9.23` -**45** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-coroutines-core` **Version:** `1.7.3` +**45** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-coroutines-core` **Version:** `1.8.0` -**46** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-datetime` **Version:** `0.4.1` +**46** **Group:** `org.jetbrains.kotlinx` **Name:** `kotlinx-datetime` **Version:** `0.5.0` diff --git a/licenses/log4j-api-2.23.1.jar/META-INF/LICENSE b/licenses/log4j-api-2.23.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/log4j-api-2.23.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/log4j-api-2.23.1.jar/META-INF/NOTICE b/licenses/log4j-api-2.23.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..62c3d128f0e03f54883b1bb5cce7b948c9f6db97 --- /dev/null +++ b/licenses/log4j-api-2.23.1.jar/META-INF/NOTICE @@ -0,0 +1,6 @@ +Apache Log4j API +Copyright 1999-2024 The Apache Software Foundation + + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE b/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE b/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..ffacd8ed1aa6e1c0605d0e04f9c5654364731a7f --- /dev/null +++ b/licenses/log4j-api-kotlin-1.4.0.jar/META-INF/NOTICE @@ -0,0 +1,6 @@ +Apache Log4j Kotlin API +Copyright 1999-2023 The Apache Software Foundation + + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/log4j-core-2.23.1.jar/META-INF/LICENSE b/licenses/log4j-core-2.23.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..6279e5206de1367a1fa0356bafb739d0e9ad0413 --- /dev/null +++ b/licenses/log4j-core-2.23.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 1999-2005 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/log4j-core-2.23.1.jar/META-INF/NOTICE b/licenses/log4j-core-2.23.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..97ccc5358ba19282ef3a7ef3df84395e9b8df59e --- /dev/null +++ b/licenses/log4j-core-2.23.1.jar/META-INF/NOTICE @@ -0,0 +1,8 @@ +Apache Log4j Core +Copyright 1999-2012 Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +ResolverUtil.java +Copyright 2005-2006 Tim Fennell \ No newline at end of file diff --git a/licenses/log4j-jul-2.23.1.jar/META-INF/LICENSE b/licenses/log4j-jul-2.23.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/log4j-jul-2.23.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/log4j-jul-2.23.1.jar/META-INF/NOTICE b/licenses/log4j-jul-2.23.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..a15ae3cbd77b9ee7a104df5384740e499496483a --- /dev/null +++ b/licenses/log4j-jul-2.23.1.jar/META-INF/NOTICE @@ -0,0 +1,6 @@ +Apache Log4j JUL Adapter +Copyright 1999-2024 The Apache Software Foundation + + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/LICENSE b/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/NOTICE b/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..6cad5dcefa55a81c9b27c7afec2eaf9415c6dd34 --- /dev/null +++ b/licenses/log4j-slf4j2-impl-2.23.1.jar/META-INF/NOTICE @@ -0,0 +1,6 @@ +Apache Log4j SLF4J 2.0 Binding +Copyright 1999-2024 The Apache Software Foundation + + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/micrometer-commons-1.12.4.jar/META-INF/LICENSE b/licenses/micrometer-commons-1.12.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9b259bdfcf9022e7f4999a318ab7261300644e11 --- /dev/null +++ b/licenses/micrometer-commons-1.12.4.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/micrometer-commons-1.12.4.jar/META-INF/NOTICE b/licenses/micrometer-commons-1.12.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..076c3641fa43cf2da231092a2cf82f39271199c9 --- /dev/null +++ b/licenses/micrometer-commons-1.12.4.jar/META-INF/NOTICE @@ -0,0 +1,45 @@ +Micrometer + +Copyright (c) 2017-Present VMware, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------------------- + +This product contains a modified portion of 'io.netty.util.internal.logging', +in the Netty/Common library distributed by The Netty Project: + + * Copyright 2013 The Netty Project + * License: Apache License v2.0 + * Homepage: https://netty.io + +This product contains a modified portion of 'StringUtils.isBlank()', +in the Commons Lang library distributed by The Apache Software Foundation: + + * Copyright 2001-2019 The Apache Software Foundation + * License: Apache License v2.0 + * Homepage: https://commons.apache.org/proper/commons-lang/ + +This product contains a modified portion of 'JsonUtf8Writer', +in the Moshi library distributed by Square, Inc: + + * Copyright 2010 Google Inc. + * License: Apache License v2.0 + * Homepage: https://github.com/square/moshi + +This product contains a modified portion of the 'org.springframework.lang' +package in the Spring Framework library, distributed by VMware, Inc: + + * Copyright 2002-2019 the original author or authors. + * License: Apache License v2.0 + * Homepage: https://spring.io/projects/spring-framework diff --git a/licenses/micrometer-commons-1.13.0.jar/META-INF/LICENSE b/licenses/micrometer-commons-1.13.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9b259bdfcf9022e7f4999a318ab7261300644e11 --- /dev/null +++ b/licenses/micrometer-commons-1.13.0.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/micrometer-commons-1.13.0.jar/META-INF/NOTICE b/licenses/micrometer-commons-1.13.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..076c3641fa43cf2da231092a2cf82f39271199c9 --- /dev/null +++ b/licenses/micrometer-commons-1.13.0.jar/META-INF/NOTICE @@ -0,0 +1,45 @@ +Micrometer + +Copyright (c) 2017-Present VMware, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------------------- + +This product contains a modified portion of 'io.netty.util.internal.logging', +in the Netty/Common library distributed by The Netty Project: + + * Copyright 2013 The Netty Project + * License: Apache License v2.0 + * Homepage: https://netty.io + +This product contains a modified portion of 'StringUtils.isBlank()', +in the Commons Lang library distributed by The Apache Software Foundation: + + * Copyright 2001-2019 The Apache Software Foundation + * License: Apache License v2.0 + * Homepage: https://commons.apache.org/proper/commons-lang/ + +This product contains a modified portion of 'JsonUtf8Writer', +in the Moshi library distributed by Square, Inc: + + * Copyright 2010 Google Inc. + * License: Apache License v2.0 + * Homepage: https://github.com/square/moshi + +This product contains a modified portion of the 'org.springframework.lang' +package in the Spring Framework library, distributed by VMware, Inc: + + * Copyright 2002-2019 the original author or authors. + * License: Apache License v2.0 + * Homepage: https://spring.io/projects/spring-framework diff --git a/licenses/micrometer-observation-1.12.4.jar/META-INF/LICENSE b/licenses/micrometer-observation-1.12.4.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9b259bdfcf9022e7f4999a318ab7261300644e11 --- /dev/null +++ b/licenses/micrometer-observation-1.12.4.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/micrometer-observation-1.12.4.jar/META-INF/NOTICE b/licenses/micrometer-observation-1.12.4.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..076c3641fa43cf2da231092a2cf82f39271199c9 --- /dev/null +++ b/licenses/micrometer-observation-1.12.4.jar/META-INF/NOTICE @@ -0,0 +1,45 @@ +Micrometer + +Copyright (c) 2017-Present VMware, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------------------- + +This product contains a modified portion of 'io.netty.util.internal.logging', +in the Netty/Common library distributed by The Netty Project: + + * Copyright 2013 The Netty Project + * License: Apache License v2.0 + * Homepage: https://netty.io + +This product contains a modified portion of 'StringUtils.isBlank()', +in the Commons Lang library distributed by The Apache Software Foundation: + + * Copyright 2001-2019 The Apache Software Foundation + * License: Apache License v2.0 + * Homepage: https://commons.apache.org/proper/commons-lang/ + +This product contains a modified portion of 'JsonUtf8Writer', +in the Moshi library distributed by Square, Inc: + + * Copyright 2010 Google Inc. + * License: Apache License v2.0 + * Homepage: https://github.com/square/moshi + +This product contains a modified portion of the 'org.springframework.lang' +package in the Spring Framework library, distributed by VMware, Inc: + + * Copyright 2002-2019 the original author or authors. + * License: Apache License v2.0 + * Homepage: https://spring.io/projects/spring-framework diff --git a/licenses/micrometer-observation-1.13.0.jar/META-INF/LICENSE b/licenses/micrometer-observation-1.13.0.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9b259bdfcf9022e7f4999a318ab7261300644e11 --- /dev/null +++ b/licenses/micrometer-observation-1.13.0.jar/META-INF/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/micrometer-observation-1.13.0.jar/META-INF/NOTICE b/licenses/micrometer-observation-1.13.0.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..076c3641fa43cf2da231092a2cf82f39271199c9 --- /dev/null +++ b/licenses/micrometer-observation-1.13.0.jar/META-INF/NOTICE @@ -0,0 +1,45 @@ +Micrometer + +Copyright (c) 2017-Present VMware, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------------------- + +This product contains a modified portion of 'io.netty.util.internal.logging', +in the Netty/Common library distributed by The Netty Project: + + * Copyright 2013 The Netty Project + * License: Apache License v2.0 + * Homepage: https://netty.io + +This product contains a modified portion of 'StringUtils.isBlank()', +in the Commons Lang library distributed by The Apache Software Foundation: + + * Copyright 2001-2019 The Apache Software Foundation + * License: Apache License v2.0 + * Homepage: https://commons.apache.org/proper/commons-lang/ + +This product contains a modified portion of 'JsonUtf8Writer', +in the Moshi library distributed by Square, Inc: + + * Copyright 2010 Google Inc. + * License: Apache License v2.0 + * Homepage: https://github.com/square/moshi + +This product contains a modified portion of the 'org.springframework.lang' +package in the Spring Framework library, distributed by VMware, Inc: + + * Copyright 2002-2019 the original author or authors. + * License: Apache License v2.0 + * Homepage: https://spring.io/projects/spring-framework diff --git a/licenses/postgresql-42.6.2.jar/META-INF/LICENSE b/licenses/postgresql-42.6.2.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..daa7e320f247b6895ea38fabfb72702be31001a8 --- /dev/null +++ b/licenses/postgresql-42.6.2.jar/META-INF/LICENSE @@ -0,0 +1,33 @@ +Copyright (c) 1997, PostgreSQL Global Development Group +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Additional License files can be found in the 'licenses' folder located in the same directory as the LICENSE file (i.e. this file) + +- Software produced outside the ASF which is available under other licenses (not Apache-2.0) + +BSD-2-Clause +* com.ongres.scram:client:2.1 +* com.ongres.scram:common:2.1 +* com.ongres.stringprep:saslprep:1.1 +* com.ongres.stringprep:stringprep:1.1 diff --git a/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..13fdb102a3a749bd124d68af68e5b36a4e29deaa --- /dev/null +++ b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..13fdb102a3a749bd124d68af68e5b36a4e29deaa --- /dev/null +++ b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..84b3fe0cd5df6bd2688210bf3207230e87ebc8c3 --- /dev/null +++ b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..84b3fe0cd5df6bd2688210bf3207230e87ebc8c3 --- /dev/null +++ b/licenses/postgresql-42.6.2.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.7.3.jar/META-INF/LICENSE b/licenses/postgresql-42.7.3.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..daa7e320f247b6895ea38fabfb72702be31001a8 --- /dev/null +++ b/licenses/postgresql-42.7.3.jar/META-INF/LICENSE @@ -0,0 +1,33 @@ +Copyright (c) 1997, PostgreSQL Global Development Group +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Additional License files can be found in the 'licenses' folder located in the same directory as the LICENSE file (i.e. this file) + +- Software produced outside the ASF which is available under other licenses (not Apache-2.0) + +BSD-2-Clause +* com.ongres.scram:client:2.1 +* com.ongres.scram:common:2.1 +* com.ongres.stringprep:saslprep:1.1 +* com.ongres.stringprep:stringprep:1.1 diff --git a/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..13fdb102a3a749bd124d68af68e5b36a4e29deaa --- /dev/null +++ b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/client-2.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..13fdb102a3a749bd124d68af68e5b36a4e29deaa --- /dev/null +++ b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.scram/common-2.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2017, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..84b3fe0cd5df6bd2688210bf3207230e87ebc8c3 --- /dev/null +++ b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/saslprep-1.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..84b3fe0cd5df6bd2688210bf3207230e87ebc8c3 --- /dev/null +++ b/licenses/postgresql-42.7.3.jar/META-INF/licenses/com.ongres.stringprep/stringprep-1.1/LICENSE @@ -0,0 +1,22 @@ +Copyright 2019, OnGres. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/slf4j-api-2.0.12.jar/META-INF/LICENSE.txt b/licenses/slf4j-api-2.0.12.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a3d053237bec66cfaee6cd674f0678a7f7d5aa2 --- /dev/null +++ b/licenses/slf4j-api-2.0.12.jar/META-INF/LICENSE.txt @@ -0,0 +1,24 @@ +Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/licenses/slf4j-api-2.0.13.jar/META-INF/LICENSE.txt b/licenses/slf4j-api-2.0.13.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a3d053237bec66cfaee6cd674f0678a7f7d5aa2 --- /dev/null +++ b/licenses/slf4j-api-2.0.13.jar/META-INF/LICENSE.txt @@ -0,0 +1,24 @@ +Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + diff --git a/licenses/spring-aop-6.1.5.jar/META-INF/license.txt b/licenses/spring-aop-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-aop-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-aop-6.1.5.jar/META-INF/notice.txt b/licenses/spring-aop-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-aop-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-aop-6.1.8.jar/META-INF/license.txt b/licenses/spring-aop-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-aop-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-aop-6.1.8.jar/META-INF/notice.txt b/licenses/spring-aop-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-aop-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-aspects-6.1.5.jar/META-INF/license.txt b/licenses/spring-aspects-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-aspects-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-aspects-6.1.5.jar/META-INF/notice.txt b/licenses/spring-aspects-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-aspects-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-aspects-6.1.8.jar/META-INF/license.txt b/licenses/spring-aspects-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-aspects-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-aspects-6.1.8.jar/META-INF/notice.txt b/licenses/spring-aspects-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-aspects-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-beans-6.1.5.jar/META-INF/license.txt b/licenses/spring-beans-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-beans-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-beans-6.1.5.jar/META-INF/notice.txt b/licenses/spring-beans-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-beans-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-beans-6.1.8.jar/META-INF/license.txt b/licenses/spring-beans-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-beans-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-beans-6.1.8.jar/META-INF/notice.txt b/licenses/spring-beans-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-beans-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-boot-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-autoconfigure-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-autoconfigure-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-devtools-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-devtools-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-devtools-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-devtools-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt b/licenses/spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-devtools-3.2.5.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt b/licenses/spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..074a1af79f823fde452763a8ea5c7f20b6b51fda --- /dev/null +++ b/licenses/spring-boot-devtools-3.2.5.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-devtools-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-devtools-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-aop-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-aop-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..074a1af79f823fde452763a8ea5c7f20b6b51fda --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.2.5.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-data-jpa-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-jdbc-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-jdbc-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-json-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-json-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..716829f711c08d739acafff7ccbe7fb03971c608 --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.2.6.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.6 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-log4j2-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-tomcat-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-tomcat-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..311160f07305f5ec398386116eb9aa4b4f328b8c --- /dev/null +++ b/licenses/spring-boot-starter-web-3.2.4.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..716829f711c08d739acafff7ccbe7fb03971c608 --- /dev/null +++ b/licenses/spring-boot-starter-web-3.2.6.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.2.6 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt b/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..823c1c8e9820bcc35d561f04d1cc972323162769 --- /dev/null +++ b/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt b/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7a391f33cc9017362c41ce377a60ff8195d802 --- /dev/null +++ b/licenses/spring-boot-starter-web-3.3.0.jar/META-INF/NOTICE.txt @@ -0,0 +1,6 @@ +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. \ No newline at end of file diff --git a/licenses/spring-context-6.1.5.jar/META-INF/license.txt b/licenses/spring-context-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-context-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-context-6.1.5.jar/META-INF/notice.txt b/licenses/spring-context-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-context-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-context-6.1.8.jar/META-INF/license.txt b/licenses/spring-context-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-context-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-context-6.1.8.jar/META-INF/notice.txt b/licenses/spring-context-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-context-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-core-6.1.5.jar/META-INF/license.txt b/licenses/spring-core-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-core-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-core-6.1.5.jar/META-INF/notice.txt b/licenses/spring-core-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-core-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-core-6.1.8.jar/META-INF/license.txt b/licenses/spring-core-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-core-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-core-6.1.8.jar/META-INF/notice.txt b/licenses/spring-core-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-core-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-data-commons-3.2.4.jar/license.txt b/licenses/spring-data-commons-3.2.4.jar/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..964a55d1c355ba8b109597364a109caf79e50774 --- /dev/null +++ b/licenses/spring-data-commons-3.2.4.jar/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/licenses/spring-data-commons-3.2.4.jar/notice.txt b/licenses/spring-data-commons-3.2.4.jar/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..a0854ca32ad3b5d489511f0463ac8ae8964fad31 --- /dev/null +++ b/licenses/spring-data-commons-3.2.4.jar/notice.txt @@ -0,0 +1,57 @@ +Spring Data Commons 3.2.4 (2023.1.4) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/licenses/spring-data-commons-3.3.0.jar/license.txt b/licenses/spring-data-commons-3.3.0.jar/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..964a55d1c355ba8b109597364a109caf79e50774 --- /dev/null +++ b/licenses/spring-data-commons-3.3.0.jar/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/licenses/spring-data-commons-3.3.0.jar/notice.txt b/licenses/spring-data-commons-3.3.0.jar/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a6913d035f8188601c933a28abdee47fedba658 --- /dev/null +++ b/licenses/spring-data-commons-3.3.0.jar/notice.txt @@ -0,0 +1,57 @@ +Spring Data Commons 3.3 GA (2024.0.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/licenses/spring-data-jpa-3.2.4.jar/license.txt b/licenses/spring-data-jpa-3.2.4.jar/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..964a55d1c355ba8b109597364a109caf79e50774 --- /dev/null +++ b/licenses/spring-data-jpa-3.2.4.jar/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/licenses/spring-data-jpa-3.2.4.jar/notice.txt b/licenses/spring-data-jpa-3.2.4.jar/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a28e2e5fc4beaa59d8808cd2dfe0adb7911b611 --- /dev/null +++ b/licenses/spring-data-jpa-3.2.4.jar/notice.txt @@ -0,0 +1,36 @@ +Spring Data JPA 2.7 M2 (2021.2.0) +Copyright (c) [2011-2019] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/licenses/spring-data-jpa-3.2.4.jar/readme.txt b/licenses/spring-data-jpa-3.2.4.jar/readme.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f0324ce440fd02f0cc9e5cc8336c5a3c4c8fe2f --- /dev/null +++ b/licenses/spring-data-jpa-3.2.4.jar/readme.txt @@ -0,0 +1,17 @@ +Spring Data JPA 1.6.0 M1 (March 31th, 2014) +------------------------------------------- + +Spring Data Jpa is released under the terms of the Apache Software License Version 2.0 (see license.txt). + + +DISTRIBUTION CONTENTS: + +The JARs are available in the 'dist' directory, and the source JARs are in the 'src' directory. + +The reference manual and javadoc are located in the 'docs' directory. + + +ADDITIONAL RESOURCES: + +Spring Data Homepage: https://projects.spring.io/spring-data +Spring Data JPA on Stackoverflow: https://stackoverflow.com/questions/tagged/spring-data-jpa diff --git a/licenses/spring-data-jpa-3.3.0.jar/license.txt b/licenses/spring-data-jpa-3.3.0.jar/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..964a55d1c355ba8b109597364a109caf79e50774 --- /dev/null +++ b/licenses/spring-data-jpa-3.3.0.jar/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/licenses/spring-data-jpa-3.3.0.jar/notice.txt b/licenses/spring-data-jpa-3.3.0.jar/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a28e2e5fc4beaa59d8808cd2dfe0adb7911b611 --- /dev/null +++ b/licenses/spring-data-jpa-3.3.0.jar/notice.txt @@ -0,0 +1,36 @@ +Spring Data JPA 2.7 M2 (2021.2.0) +Copyright (c) [2011-2019] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/licenses/spring-data-jpa-3.3.0.jar/readme.txt b/licenses/spring-data-jpa-3.3.0.jar/readme.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f0324ce440fd02f0cc9e5cc8336c5a3c4c8fe2f --- /dev/null +++ b/licenses/spring-data-jpa-3.3.0.jar/readme.txt @@ -0,0 +1,17 @@ +Spring Data JPA 1.6.0 M1 (March 31th, 2014) +------------------------------------------- + +Spring Data Jpa is released under the terms of the Apache Software License Version 2.0 (see license.txt). + + +DISTRIBUTION CONTENTS: + +The JARs are available in the 'dist' directory, and the source JARs are in the 'src' directory. + +The reference manual and javadoc are located in the 'docs' directory. + + +ADDITIONAL RESOURCES: + +Spring Data Homepage: https://projects.spring.io/spring-data +Spring Data JPA on Stackoverflow: https://stackoverflow.com/questions/tagged/spring-data-jpa diff --git a/licenses/spring-expression-6.1.5.jar/META-INF/license.txt b/licenses/spring-expression-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-expression-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-expression-6.1.5.jar/META-INF/notice.txt b/licenses/spring-expression-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-expression-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-expression-6.1.8.jar/META-INF/license.txt b/licenses/spring-expression-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-expression-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-expression-6.1.8.jar/META-INF/notice.txt b/licenses/spring-expression-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-expression-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-jcl-6.1.5.jar/META-INF/license.txt b/licenses/spring-jcl-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-jcl-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-jcl-6.1.5.jar/META-INF/notice.txt b/licenses/spring-jcl-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-jcl-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-jcl-6.1.8.jar/META-INF/license.txt b/licenses/spring-jcl-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-jcl-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-jcl-6.1.8.jar/META-INF/notice.txt b/licenses/spring-jcl-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-jcl-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-jdbc-6.1.5.jar/META-INF/license.txt b/licenses/spring-jdbc-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-jdbc-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-jdbc-6.1.5.jar/META-INF/notice.txt b/licenses/spring-jdbc-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-jdbc-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-jdbc-6.1.8.jar/META-INF/license.txt b/licenses/spring-jdbc-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-jdbc-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-jdbc-6.1.8.jar/META-INF/notice.txt b/licenses/spring-jdbc-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-jdbc-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-orm-6.1.5.jar/META-INF/license.txt b/licenses/spring-orm-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-orm-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-orm-6.1.5.jar/META-INF/notice.txt b/licenses/spring-orm-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-orm-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-orm-6.1.8.jar/META-INF/license.txt b/licenses/spring-orm-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-orm-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-orm-6.1.8.jar/META-INF/notice.txt b/licenses/spring-orm-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-orm-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-tx-6.1.5.jar/META-INF/license.txt b/licenses/spring-tx-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-tx-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-tx-6.1.5.jar/META-INF/notice.txt b/licenses/spring-tx-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-tx-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-tx-6.1.8.jar/META-INF/license.txt b/licenses/spring-tx-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-tx-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-tx-6.1.8.jar/META-INF/notice.txt b/licenses/spring-tx-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-tx-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-web-6.1.5.jar/META-INF/license.txt b/licenses/spring-web-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-web-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-web-6.1.5.jar/META-INF/notice.txt b/licenses/spring-web-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-web-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-web-6.1.8.jar/META-INF/license.txt b/licenses/spring-web-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-web-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-web-6.1.8.jar/META-INF/notice.txt b/licenses/spring-web-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-web-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-webmvc-6.1.5.jar/META-INF/license.txt b/licenses/spring-webmvc-6.1.5.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8ab95394a0316978af0452fc026dda84945375f --- /dev/null +++ b/licenses/spring-webmvc-6.1.5.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.5 SUBCOMPONENTS: + +Spring Framework 6.1.5 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-webmvc-6.1.5.jar/META-INF/notice.txt b/licenses/spring-webmvc-6.1.5.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..23f4051a3800a9fa00e08187f583f7cad9cde180 --- /dev/null +++ b/licenses/spring-webmvc-6.1.5.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.5 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/spring-webmvc-6.1.8.jar/META-INF/license.txt b/licenses/spring-webmvc-6.1.8.jar/META-INF/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1fa9332960e8405c6a2a592626c07a07f84311 --- /dev/null +++ b/licenses/spring-webmvc-6.1.8.jar/META-INF/license.txt @@ -0,0 +1,297 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +SPRING FRAMEWORK 6.1.8 SUBCOMPONENTS: + +Spring Framework 6.1.8 includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium <https://www.ow2.org/> + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the JavaPoet JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + +>>> Objenesis 3.2 (org.objenesis:objenesis:3.2): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.2 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/licenses/spring-webmvc-6.1.8.jar/META-INF/notice.txt b/licenses/spring-webmvc-6.1.8.jar/META-INF/notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2a0096c6d45a6652cbced56a67816138222813c --- /dev/null +++ b/licenses/spring-webmvc-6.1.8.jar/META-INF/notice.txt @@ -0,0 +1,11 @@ +Spring Framework 6.1.8 +Copyright (c) 2002-2024 Pivotal, Inc. + +This product is licensed to you under the Apache License, Version 2.0 +(the "License"). You may not use this product except in compliance with +the License. + +This product may include a number of subcomponents with separate +copyright notices and license terms. Your use of the source code for +these subcomponents is subject to the terms and conditions of the +subcomponent's license, as noted in the license.txt file. diff --git a/licenses/tomcat-embed-core-10.1.19.jar/META-INF/LICENSE b/licenses/tomcat-embed-core-10.1.19.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..2b4876a15193907f39e9f6ee1b45bfd5d11673c1 --- /dev/null +++ b/licenses/tomcat-embed-core-10.1.19.jar/META-INF/LICENSE @@ -0,0 +1,858 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +APACHE TOMCAT SUBCOMPONENTS: + +Apache Tomcat includes a number of subcomponents with separate copyright notices +and license terms. Your use of these subcomponents is subject to the terms and +conditions of the following licenses. + + +For the following XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd + - javaee_7.xsd + - javaee_web_services_1_4.xsd + - javaee_web_services_client_1_4.xsd + - jsp_2_3.xsd + - web-app_3_1.xsd + - web-common_3_1.xsd + - web-fragment_3_1.xsd + - javaee_8.xsd + - web-app_4_0.xsd + - web-common_4_0.xsd + - web-fragment_4_0.xsd + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + +1. Definitions. + + 1.1. Contributor. means each individual or entity that creates or contributes + to the creation of Modifications. + + 1.2. Contributor Version. means the combination of the Original Software, + prior Modifications used by a Contributor (if any), and the + Modifications made by that particular Contributor. + + 1.3. Covered Software. means (a) the Original Software, or (b) Modifications, + or (c) the combination of files containing Original Software with files + containing Modifications, in each case including portions thereof. + + 1.4. Executable. means the Covered Software in any form other than Source + Code. + + 1.5. Initial Developer. means the individual or entity that first makes + Original Software available under this License. + + 1.6. Larger Work. means a work which combines Covered Software or portions + thereof with code not governed by the terms of this License. + + 1.7. License. means this document. + + 1.8. Licensable. means having the right to grant, to the maximum extent + possible, whether at the time of the initial grant or subsequently + acquired, any and all of the rights conveyed herein. + + 1.9. Modifications. means the Source Code and Executable form of any of the + following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available under + the terms of this License. + + 1.10. Original Software. means the Source Code and Executable form of + computer software code that is originally released under this License. + + 1.11. Patent Claims. means any patent claim(s), now owned or hereafter + acquired, including without limitation, method, process, and apparatus + claims, in any patent Licensable by grantor. + + 1.12. Source Code. means (a) the common form of computer software code in + which modifications are made and (b) associated documentation included + in or with such code. + + 1.13. You. (or .Your.) means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License. For + legal entities, .You. includes any entity which controls, is controlled + by, or is under common control with You. For purposes of this + definition, .control. means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to + third party intellectual property claims, the Initial Developer hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Initial Developer, to use, reproduce, modify, display, + perform, sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, and/or as part of + a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on the + date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is granted: + (1) for code that You delete from the Original Software, or (2) for + infringements caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original Software with + other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to third + party intellectual property claims, each Contributor hereby grants You a + world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Contributor to use, reproduce, modify, display, + perform, sublicense and distribute the Modifications created by such + Contributor (or portions thereof), either on an unmodified basis, + with other Modifications, as Covered Software and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling of + Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on + the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is granted: + (1) for any code that Contributor has deleted from the Contributor + Version; (2) for infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the combination of + Modifications made by that Contributor with other software (except + as part of the Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + Any Covered Software that You distribute or otherwise make available in + Executable form must also be made available in Source Code form and that + Source Code form must be distributed only under the terms of this License. + You must include a copy of this License with every copy of the Source Code + form of the Covered Software You distribute or otherwise make available. + You must inform recipients of any such Covered Software in Executable form + as to how they can obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used for software + exchange. + + 3.2. Modifications. + The Modifications that You create or to which You contribute are governed + by the terms of this License. You represent that You believe Your + Modifications are Your original creation(s) and/or You have sufficient + rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + You must include a notice in each of Your Modifications that identifies + You as the Contributor of the Modification. You may not remove or alter + any copyright, patent or trademark notices contained within the Covered + Software, or any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + + 3.4. Application of Additional Terms. + You may not offer or impose any terms on any Covered Software in Source + Code form that alters or restricts the applicable version of this License + or the recipients. rights hereunder. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability obligations to + one or more recipients of Covered Software. However, you may do so only on + Your own behalf, and not on behalf of the Initial Developer or any + Contributor. You must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by You alone, and + You hereby agree to indemnify the Initial Developer and every Contributor + for any liability incurred by the Initial Developer or such Contributor as + a result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + You may distribute the Executable form of the Covered Software under the + terms of this License or under the terms of a license of Your choice, + which may contain terms different from this License, provided that You are + in compliance with the terms of this License and that the license for the + Executable form does not attempt to limit or alter the recipient.s rights + in the Source Code form from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a different + license, You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial Developer + or Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial Developer or + such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + You may create a Larger Work by combining Covered Software with other code + not governed by the terms of this License and distribute the Larger Work + as a single product. In such a case, You must make sure the requirements + of this License are fulfilled for the Covered Software. + +4. Versions of the License. + + 4.1. New Versions. + Sun Microsystems, Inc. is the initial license steward and may publish + revised and/or new versions of this License from time to time. Each + version will be given a distinguishing version number. Except as provided + in Section 4.3, no one other than the license steward has the right to + modify this License. + + 4.2. Effect of New Versions. + You may always continue to use, distribute or otherwise make the Covered + Software available under the terms of the version of the License under + which You originally received the Covered Software. If the Initial + Developer includes a notice in the Original Software prohibiting it from + being distributed or otherwise made available under any subsequent version + of the License, You must distribute and make the Covered Software + available under the terms of the version of the License under which You + originally received the Covered Software. Otherwise, You may also choose + to use, distribute or otherwise make the Covered Software available under + the terms of any subsequent version of the License published by the + license steward. + + 4.3. Modified Versions. + When You are an Initial Developer and You want to create a new license for + Your Original Software, You may create and use a modified version of this + License if You: (a) rename the license and remove any references to the + name of the license steward (except to note that the license differs from + this License); and (b) otherwise make it clear that the license contains + terms which differ from this License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT + LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, + MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK + AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD + ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL + DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED + HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding declaratory + judgment actions) against Initial Developer or a Contributor (the + Initial Developer or Contributor against whom You assert such claim + is referred to as .Participant.) alleging that the Participant + Software (meaning the Contributor Version where the Participant is a + Contributor or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any patent, then + any and all rights granted directly or indirectly to You by such + Participant, the Initial Developer (if the Initial Developer is not + the Participant) and all Contributors under Sections 2.1 and/or 2.2 + of this License shall, upon 60 days notice from Participant terminate + prospectively and automatically at the expiration of such 60 day + notice period, unless if within such 60 day period You withdraw Your + claim with respect to the Participant Software against such + Participant either unilaterally or pursuant to a written agreement + with Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end + user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING + NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY + OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF + ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, + INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, + COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF + SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR + DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY.S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a .commercial item,. as that term is defined in 48 + C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as + that term is defined at 48 C.F.R. ? 252.227-7014(a)(1)) and commercial + computer software documentation. as such terms are used in 48 C.F.R. 12.212 + (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered + Software with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or + provision that addresses Government rights in computer software under this + License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. This License shall be governed by the law of the jurisdiction + specified in a notice contained within the Original Software (except to the + extent applicable law, if any, provides otherwise), excluding such + jurisdiction's conflict-of-law provisions. Any litigation relating to this + License shall be subject to the jurisdiction of the courts located in the + jurisdiction and venue specified in a notice contained within the Original + Software, with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys. fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or regulation + which provides that the language of a contract shall be construed against + the drafter shall not apply to this License. You agree that You alone are + responsible for compliance with the United States export administration + regulations (and the export control laws and regulation of any other + countries) when You use, distribute or otherwise make available any Covered + Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is responsible + for claims and damages arising, directly or indirectly, out of its + utilization of rights under this License and You agree to work with Initial + Developer and Contributors to distribute such responsibility on an equitable + basis. Nothing herein is intended or shall be deemed to constitute any + admission of liability. + + NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION + LICENSE (CDDL) + + The code released under the CDDL shall be governed by the laws of the State + of California (excluding conflict-of-law provisions). Any litigation relating + to this License shall be subject to the jurisdiction of the Federal Courts of + the Northern District of California and the state courts of the State of + California, with venue lying in Santa Clara County, California. + + +For the following Jakarta EE Schemas: +- jakartaee_9.xsd +- jakartaee_10.xsd +- jakarta_web-services_2_0.xsd +- jakarta_web-services_client_2_0.xsd +- jsp_3_0.xsd +- jsp_3_1.xsd +- web-app_5_0.xsd +- web-app_6_0.xsd +- web-commonn_5_0.xsd +- web-commonn_6_0.xsd +- web-fragment_5_0.xsd +- web-fragment_6_0.xsd +- web-jsptaglibrary_3_0.xsd +- web-jsptaglibrary_3_1.xsd + +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. diff --git a/licenses/tomcat-embed-core-10.1.19.jar/META-INF/NOTICE b/licenses/tomcat-embed-core-10.1.19.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..7e477d12e5633993819a1ae559ec102263530f9c --- /dev/null +++ b/licenses/tomcat-embed-core-10.1.19.jar/META-INF/NOTICE @@ -0,0 +1,31 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +The original XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd + - javaee_7.xsd + - javaee_web_services_1_4.xsd + - javaee_web_services_client_1_4.xsd + - jsp_2_3.xsd + - web-app_3_1.xsd + - web-common_3_1.xsd + - web-fragment_3_1.xsd + - javaee_8.xsd + - web-app_4_0.xsd + - web-common_4_0.xsd + - web-fragment_4_0.xsd + +may be obtained from: +http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html diff --git a/licenses/tomcat-embed-core-10.1.24.jar/META-INF/LICENSE b/licenses/tomcat-embed-core-10.1.24.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..2b4876a15193907f39e9f6ee1b45bfd5d11673c1 --- /dev/null +++ b/licenses/tomcat-embed-core-10.1.24.jar/META-INF/LICENSE @@ -0,0 +1,858 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +APACHE TOMCAT SUBCOMPONENTS: + +Apache Tomcat includes a number of subcomponents with separate copyright notices +and license terms. Your use of these subcomponents is subject to the terms and +conditions of the following licenses. + + +For the following XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd + - javaee_7.xsd + - javaee_web_services_1_4.xsd + - javaee_web_services_client_1_4.xsd + - jsp_2_3.xsd + - web-app_3_1.xsd + - web-common_3_1.xsd + - web-fragment_3_1.xsd + - javaee_8.xsd + - web-app_4_0.xsd + - web-common_4_0.xsd + - web-fragment_4_0.xsd + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + +1. Definitions. + + 1.1. Contributor. means each individual or entity that creates or contributes + to the creation of Modifications. + + 1.2. Contributor Version. means the combination of the Original Software, + prior Modifications used by a Contributor (if any), and the + Modifications made by that particular Contributor. + + 1.3. Covered Software. means (a) the Original Software, or (b) Modifications, + or (c) the combination of files containing Original Software with files + containing Modifications, in each case including portions thereof. + + 1.4. Executable. means the Covered Software in any form other than Source + Code. + + 1.5. Initial Developer. means the individual or entity that first makes + Original Software available under this License. + + 1.6. Larger Work. means a work which combines Covered Software or portions + thereof with code not governed by the terms of this License. + + 1.7. License. means this document. + + 1.8. Licensable. means having the right to grant, to the maximum extent + possible, whether at the time of the initial grant or subsequently + acquired, any and all of the rights conveyed herein. + + 1.9. Modifications. means the Source Code and Executable form of any of the + following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available under + the terms of this License. + + 1.10. Original Software. means the Source Code and Executable form of + computer software code that is originally released under this License. + + 1.11. Patent Claims. means any patent claim(s), now owned or hereafter + acquired, including without limitation, method, process, and apparatus + claims, in any patent Licensable by grantor. + + 1.12. Source Code. means (a) the common form of computer software code in + which modifications are made and (b) associated documentation included + in or with such code. + + 1.13. You. (or .Your.) means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License. For + legal entities, .You. includes any entity which controls, is controlled + by, or is under common control with You. For purposes of this + definition, .control. means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to + third party intellectual property claims, the Initial Developer hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Initial Developer, to use, reproduce, modify, display, + perform, sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, and/or as part of + a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on the + date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is granted: + (1) for code that You delete from the Original Software, or (2) for + infringements caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original Software with + other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to third + party intellectual property claims, each Contributor hereby grants You a + world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Contributor to use, reproduce, modify, display, + perform, sublicense and distribute the Modifications created by such + Contributor (or portions thereof), either on an unmodified basis, + with other Modifications, as Covered Software and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling of + Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on + the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is granted: + (1) for any code that Contributor has deleted from the Contributor + Version; (2) for infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the combination of + Modifications made by that Contributor with other software (except + as part of the Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + Any Covered Software that You distribute or otherwise make available in + Executable form must also be made available in Source Code form and that + Source Code form must be distributed only under the terms of this License. + You must include a copy of this License with every copy of the Source Code + form of the Covered Software You distribute or otherwise make available. + You must inform recipients of any such Covered Software in Executable form + as to how they can obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used for software + exchange. + + 3.2. Modifications. + The Modifications that You create or to which You contribute are governed + by the terms of this License. You represent that You believe Your + Modifications are Your original creation(s) and/or You have sufficient + rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + You must include a notice in each of Your Modifications that identifies + You as the Contributor of the Modification. You may not remove or alter + any copyright, patent or trademark notices contained within the Covered + Software, or any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + + 3.4. Application of Additional Terms. + You may not offer or impose any terms on any Covered Software in Source + Code form that alters or restricts the applicable version of this License + or the recipients. rights hereunder. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability obligations to + one or more recipients of Covered Software. However, you may do so only on + Your own behalf, and not on behalf of the Initial Developer or any + Contributor. You must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by You alone, and + You hereby agree to indemnify the Initial Developer and every Contributor + for any liability incurred by the Initial Developer or such Contributor as + a result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + You may distribute the Executable form of the Covered Software under the + terms of this License or under the terms of a license of Your choice, + which may contain terms different from this License, provided that You are + in compliance with the terms of this License and that the license for the + Executable form does not attempt to limit or alter the recipient.s rights + in the Source Code form from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a different + license, You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial Developer + or Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial Developer or + such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + You may create a Larger Work by combining Covered Software with other code + not governed by the terms of this License and distribute the Larger Work + as a single product. In such a case, You must make sure the requirements + of this License are fulfilled for the Covered Software. + +4. Versions of the License. + + 4.1. New Versions. + Sun Microsystems, Inc. is the initial license steward and may publish + revised and/or new versions of this License from time to time. Each + version will be given a distinguishing version number. Except as provided + in Section 4.3, no one other than the license steward has the right to + modify this License. + + 4.2. Effect of New Versions. + You may always continue to use, distribute or otherwise make the Covered + Software available under the terms of the version of the License under + which You originally received the Covered Software. If the Initial + Developer includes a notice in the Original Software prohibiting it from + being distributed or otherwise made available under any subsequent version + of the License, You must distribute and make the Covered Software + available under the terms of the version of the License under which You + originally received the Covered Software. Otherwise, You may also choose + to use, distribute or otherwise make the Covered Software available under + the terms of any subsequent version of the License published by the + license steward. + + 4.3. Modified Versions. + When You are an Initial Developer and You want to create a new license for + Your Original Software, You may create and use a modified version of this + License if You: (a) rename the license and remove any references to the + name of the license steward (except to note that the license differs from + this License); and (b) otherwise make it clear that the license contains + terms which differ from this License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT + LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, + MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK + AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD + ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL + DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED + HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding declaratory + judgment actions) against Initial Developer or a Contributor (the + Initial Developer or Contributor against whom You assert such claim + is referred to as .Participant.) alleging that the Participant + Software (meaning the Contributor Version where the Participant is a + Contributor or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any patent, then + any and all rights granted directly or indirectly to You by such + Participant, the Initial Developer (if the Initial Developer is not + the Participant) and all Contributors under Sections 2.1 and/or 2.2 + of this License shall, upon 60 days notice from Participant terminate + prospectively and automatically at the expiration of such 60 day + notice period, unless if within such 60 day period You withdraw Your + claim with respect to the Participant Software against such + Participant either unilaterally or pursuant to a written agreement + with Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end + user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING + NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY + OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF + ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, + INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, + COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF + SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR + DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY.S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a .commercial item,. as that term is defined in 48 + C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as + that term is defined at 48 C.F.R. ? 252.227-7014(a)(1)) and commercial + computer software documentation. as such terms are used in 48 C.F.R. 12.212 + (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered + Software with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or + provision that addresses Government rights in computer software under this + License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. This License shall be governed by the law of the jurisdiction + specified in a notice contained within the Original Software (except to the + extent applicable law, if any, provides otherwise), excluding such + jurisdiction's conflict-of-law provisions. Any litigation relating to this + License shall be subject to the jurisdiction of the courts located in the + jurisdiction and venue specified in a notice contained within the Original + Software, with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys. fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or regulation + which provides that the language of a contract shall be construed against + the drafter shall not apply to this License. You agree that You alone are + responsible for compliance with the United States export administration + regulations (and the export control laws and regulation of any other + countries) when You use, distribute or otherwise make available any Covered + Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is responsible + for claims and damages arising, directly or indirectly, out of its + utilization of rights under this License and You agree to work with Initial + Developer and Contributors to distribute such responsibility on an equitable + basis. Nothing herein is intended or shall be deemed to constitute any + admission of liability. + + NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION + LICENSE (CDDL) + + The code released under the CDDL shall be governed by the laws of the State + of California (excluding conflict-of-law provisions). Any litigation relating + to this License shall be subject to the jurisdiction of the Federal Courts of + the Northern District of California and the state courts of the State of + California, with venue lying in Santa Clara County, California. + + +For the following Jakarta EE Schemas: +- jakartaee_9.xsd +- jakartaee_10.xsd +- jakarta_web-services_2_0.xsd +- jakarta_web-services_client_2_0.xsd +- jsp_3_0.xsd +- jsp_3_1.xsd +- web-app_5_0.xsd +- web-app_6_0.xsd +- web-commonn_5_0.xsd +- web-commonn_6_0.xsd +- web-fragment_5_0.xsd +- web-fragment_6_0.xsd +- web-jsptaglibrary_3_0.xsd +- web-jsptaglibrary_3_1.xsd + +Eclipse Public License - v 2.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION + OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial content + Distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + i) changes to the Program, and + ii) additions to the Program; + where such changes and/or additions to the Program originate from + and are Distributed by that particular Contributor. A Contribution + "originates" from a Contributor if it was added to the Program by + such Contributor itself or anyone acting on such Contributor's behalf. + Contributions do not include changes or additions to the Program that + are not Modified Works. + +"Contributor" means any person or entity that Distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which +are necessarily infringed by the use or sale of its Contribution alone +or when combined with the Program. + +"Program" means the Contributions Distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement +or any Secondary License (as applicable), including Contributors. + +"Derivative Works" shall mean any work, whether in Source Code or other +form, that is based on (or derived from) the Program and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. + +"Modified Works" shall mean any work in Source Code or other form that +results from an addition to, deletion from, or modification of the +contents of the Program, including, for purposes of clarity any new file +in Source Code form that contains any contents of the Program. Modified +Works shall not include works that contain only declarations, +interfaces, types, classes, structures, or files of the Program solely +in each case in order to link to, bind by name, or subclass the Program +or Modified Works thereof. + +"Distribute" means the acts of a) distributing or b) making available +in any manner that enables the transfer of a copy. + +"Source Code" means the form of a Program preferred for making +modifications, including but not limited to software source code, +documentation source, and configuration files. + +"Secondary License" means either the GNU General Public License, +Version 2.0, or any later versions of that license, including any +exceptions or additional permissions as identified by the initial +Contributor. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free copyright + license to reproduce, prepare Derivative Works of, publicly display, + publicly perform, Distribute and sublicense the Contribution of such + Contributor, if any, and such Derivative Works. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such Contributor, + if any, in Source Code or other form. This patent license shall + apply to the combination of the Contribution and the Program if, at + the time the Contribution is added by the Contributor, such addition + of the Contribution causes such combination to be covered by the + Licensed Patents. The patent license shall not apply to any other + combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe the + patent or other intellectual property rights of any other entity. + Each Contributor disclaims any liability to Recipient for claims + brought by any other entity based on infringement of intellectual + property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual + property rights needed, if any. For example, if a third party + patent license is required to allow Recipient to Distribute the + Program, it is Recipient's responsibility to acquire that license + before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + + e) Notwithstanding the terms of any Secondary License, no + Contributor makes additional grants to any Recipient (other than + those set forth in this Agreement) as a result of such Recipient's + receipt of the Program under the terms of a Secondary License + (if permitted under the terms of Section 3). + +3. REQUIREMENTS + +3.1 If a Contributor Distributes the Program in any form, then: + + a) the Program must also be made available as Source Code, in + accordance with section 3.2, and the Contributor must accompany + the Program with a statement that the Source Code for the Program + is available under this Agreement, and informs Recipients how to + obtain it in a reasonable manner on or through a medium customarily + used for software exchange; and + + b) the Contributor may Distribute the Program under a license + different than this Agreement, provided that such license: + i) effectively disclaims on behalf of all other Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all other Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) does not attempt to limit or alter the recipients' rights + in the Source Code under section 3.2; and + + iv) requires any subsequent distribution of the Program by any + party to be under a license that satisfies the requirements + of this section 3. + +3.2 When the Program is Distributed as Source Code: + + a) it must be made available under this Agreement, or if the + Program (i) is combined with other material in a separate file or + files made available under a Secondary License, and (ii) the initial + Contributor attached to the Source Code the notice described in + Exhibit A of this Agreement, then the Program may be made available + under the terms of such Secondary Licenses, and + + b) a copy of this Agreement must be included with each copy of + the Program. + +3.3 Contributors may not remove or alter any copyright, patent, +trademark, attribution notices, disclaimers of warranty, or limitations +of liability ("notices") contained within the Program from any copy of +the Program which they Distribute, provided that Contributors may add +their own appropriate notices. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While this +license is intended to facilitate the commercial use of the Program, +the Contributor who includes the Program in a commercial product +offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes +the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify every +other Contributor ("Indemnified Contributor") against any losses, +damages and costs (collectively "Losses") arising from claims, lawsuits +and other legal actions brought by a third party against the Indemnified +Contributor to the extent caused by the acts or omissions of such +Commercial Contributor in connection with its distribution of the Program +in a commercial product offering. The obligations in this section do not +apply to any claims or Losses relating to any actual or alleged +intellectual property infringement. In order to qualify, an Indemnified +Contributor must: a) promptly notify the Commercial Contributor in +writing of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those performance +claims and warranties, and if a court requires any other Contributor to +pay any damages as a result, the Commercial Contributor must pay +those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF +TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE. Each Recipient is solely responsible for determining the +appropriateness of using and distributing the Program and assumes all +risks associated with its exercise of rights under this Agreement, +including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs +or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT +PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS +SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE +EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software +or hardware) infringes such Recipient's patent(s), then such Recipient's +rights granted under Section 2(b) shall terminate as of the date such +litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably practicable. +However, Recipient's obligations under this Agreement and any licenses +granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign the +responsibility to serve as the Agreement Steward to a suitable separate +entity. Each new version of the Agreement will be given a distinguishing +version number. The Program (including Contributions) may always be +Distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to Distribute the Program (including its +Contributions) under the new version. + +Except as expressly stated in Sections 2(a) and 2(b) above, Recipient +receives no rights or licenses to the intellectual property of any +Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted +under this Agreement are reserved. Nothing in this Agreement is intended +to be enforceable by any entity that is not a Contributor or Recipient. +No third-party beneficiary rights are created under this Agreement. + +Exhibit A - Form of Secondary Licenses Notice + +"This Source Code may also be made available under the following +Secondary Licenses when the conditions for such availability set forth +in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), +version(s), and exceptions or additional permissions here}." + + Simply including a copy of this Agreement, including this Exhibit A + is not sufficient to license the Source Code under Secondary Licenses. + + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to + look for such a notice. + + You may add additional accurate notices of copyright ownership. diff --git a/licenses/tomcat-embed-core-10.1.24.jar/META-INF/NOTICE b/licenses/tomcat-embed-core-10.1.24.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..7e477d12e5633993819a1ae559ec102263530f9c --- /dev/null +++ b/licenses/tomcat-embed-core-10.1.24.jar/META-INF/NOTICE @@ -0,0 +1,31 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +The original XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd + - javaee_7.xsd + - javaee_web_services_1_4.xsd + - javaee_web_services_client_1_4.xsd + - jsp_2_3.xsd + - web-app_3_1.xsd + - web-common_3_1.xsd + - web-fragment_3_1.xsd + - javaee_8.xsd + - web-app_4_0.xsd + - web-common_4_0.xsd + - web-fragment_4_0.xsd + +may be obtained from: +http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html diff --git a/licenses/tomcat-embed-el-10.1.19.jar/META-INF/LICENSE b/licenses/tomcat-embed-el-10.1.19.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/tomcat-embed-el-10.1.19.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/tomcat-embed-el-10.1.19.jar/META-INF/NOTICE b/licenses/tomcat-embed-el-10.1.19.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..bc867acbb0b184a461ba9cf2e9540427dded2631 --- /dev/null +++ b/licenses/tomcat-embed-el-10.1.19.jar/META-INF/NOTICE @@ -0,0 +1,5 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/tomcat-embed-el-10.1.24.jar/META-INF/LICENSE b/licenses/tomcat-embed-el-10.1.24.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/tomcat-embed-el-10.1.24.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/tomcat-embed-el-10.1.24.jar/META-INF/NOTICE b/licenses/tomcat-embed-el-10.1.24.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..bc867acbb0b184a461ba9cf2e9540427dded2631 --- /dev/null +++ b/licenses/tomcat-embed-el-10.1.24.jar/META-INF/NOTICE @@ -0,0 +1,5 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/LICENSE b/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/NOTICE b/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..bc867acbb0b184a461ba9cf2e9540427dded2631 --- /dev/null +++ b/licenses/tomcat-embed-websocket-10.1.19.jar/META-INF/NOTICE @@ -0,0 +1,5 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/LICENSE b/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/NOTICE b/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..bc867acbb0b184a461ba9cf2e9540427dded2631 --- /dev/null +++ b/licenses/tomcat-embed-websocket-10.1.24.jar/META-INF/NOTICE @@ -0,0 +1,5 @@ +Apache Tomcat +Copyright 1999-2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/licenses/txw2-4.0.5.jar/META-INF/LICENSE.md b/licenses/txw2-4.0.5.jar/META-INF/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..da1c1cea702150aee366cb43cdea59089ba7a045 --- /dev/null +++ b/licenses/txw2-4.0.5.jar/META-INF/LICENSE.md @@ -0,0 +1,28 @@ +Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/licenses/txw2-4.0.5.jar/META-INF/NOTICE.md b/licenses/txw2-4.0.5.jar/META-INF/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..cd46a173aa18b5b71d80f7d36de52fe4f01e01ee --- /dev/null +++ b/licenses/txw2-4.0.5.jar/META-INF/NOTICE.md @@ -0,0 +1,191 @@ +# Notices for Eclipse Implementation of JAXB + +This content is produced and maintained by the Eclipse Implementation of JAXB +project. + +* Project home: https://projects.eclipse.org/projects/ee4j.jaxb-impl + +## Trademarks + +Eclipse Implementation of JAXB is a trademark of the Eclipse Foundation. + +## Copyright + +All content is the property of the respective authors or their employers. For +more information regarding authorship of content, please consult the listed +source code repository logs. + +## Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Distribution License v. 1.0 which is available at +http://www.eclipse.org/org/documents/edl-v10.php. + +SPDX-License-Identifier: BSD-3-Clause + +## Source Code + +The project maintains the following source code repositories: + +* https://github.com/eclipse-ee4j/jaxb-ri +* https://github.com/eclipse-ee4j/jaxb-istack-commons +* https://github.com/eclipse-ee4j/jaxb-dtd-parser +* https://github.com/eclipse-ee4j/jaxb-fi +* https://github.com/eclipse-ee4j/jaxb-stax-ex +* https://github.com/eclipse-ee4j/jax-rpc-ri + +## Third-party Content + +This project leverages the following third party content. + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Ant (1.10.2) + +* License: Apache-2.0 AND W3C AND LicenseRef-Public-Domain + +Apache Felix (1.2.0) + +* License: Apache License, 2.0 + +args4j (2.33) + +* License: MIT License + +dom4j (1.6.1) + +* License: Custom license based on Apache 1.1 + +file-management (3.0.0) + +* License: Apache-2.0 +* Project: https://maven.apache.org/shared/file-management/ +* Source: + https://svn.apache.org/viewvc/maven/shared/tags/file-management-3.0.0/ + +JUnit (4.12) + +* License: Eclipse Public License + +JUnit (4.12) + +* License: Eclipse Public License + +maven-compat (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-compat/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-compat/3.5.2 + +maven-core (3.5.2) + +* License: Apache-2.0 +* Project: https://maven.apache.org/ref/3.5.2/maven-core/index.html +* Source: https://mvnrepository.com/artifact/org.apache.maven/maven-core/3.5.2 + +maven-plugin-annotations (3.5) + +* License: Apache-2.0 +* Project: https://maven.apache.org/plugin-tools/maven-plugin-annotations/ +* Source: + https://github.com/apache/maven-plugin-tools/tree/master/maven-plugin-annotations + +maven-plugin-api (3.5.2) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-api (1.1.1) + +* License: Apache-2.0 + +maven-resolver-connector-basic (1.1.1) + +* License: Apache-2.0 + +maven-resolver-impl (1.1.1) + +* License: Apache-2.0 + +maven-resolver-spi (1.1.1) + +* License: Apache-2.0 + +maven-resolver-transport-file (1.1.1) + +* License: Apache-2.0 +* Project: https://maven.apache.org/resolver/maven-resolver-transport-file/ +* Source: + https://github.com/apache/maven-resolver/tree/master/maven-resolver-transport-file + +maven-resolver-util (1.1.1) + +* License: Apache-2.0 + +maven-settings (3.5.2) + +* License: Apache-2.0 +* Source: + https://mvnrepository.com/artifact/org.apache.maven/maven-settings/3.5.2 + +OSGi Service Platform Core Companion Code (6.0) + +* License: Apache License, 2.0 + +plexus-archiver (3.5) + +* License: Apache-2.0 +* Project: https://codehaus-plexus.github.io/plexus-archiver/ +* Source: https://github.com/codehaus-plexus/plexus-archiver + +plexus-io (3.0.0) + +* License: Apache-2.0 + +plexus-utils (3.1.0) + +* License: Apache- 2.0 or Apache- 1.1 or BSD or Public Domain or Indiana + University Extreme! Lab Software License V1.1.1 (Apache 1.1 style) + +relaxng-datatype (1.0) + +* License: New BSD license + +Sax (0.2) + +* License: SAX-PD +* Project: http://www.megginson.com/downloads/SAX/ +* Source: http://sourceforge.net/project/showfiles.php?group_id=29449 + +testng (6.14.2) + +* License: Apache-2.0 AND (MIT OR GPL-1.0+) +* Project: https://testng.org/doc/index.html +* Source: https://github.com/cbeust/testng + +wagon-http-lightweight (3.0.0) + +* License: Pending +* Project: https://maven.apache.org/wagon/ +* Source: + https://mvnrepository.com/artifact/org.apache.maven.wagon/wagon-http-lightweight/3.0.0 + +xz for java (1.8) + +* License: LicenseRef-Public-Domain + +## Cryptography + +Content may contain encryption software. The country in which you are currently +may have restrictions on the import, possession, and use, and/or re-export to +another country, of encryption software. BEFORE using any encryption software, +please check the country's laws, regulations and policies concerning the import, +possession, or use, and re-export of encryption software, to see if this is +permitted. + diff --git a/misc/PRE-INFO.md b/misc/PRE-INFO.md index 64aea0603b65b25b7d92afc39653eda83b244861..d222900cd32b9b55ad021a25c8b5fbd2f318f3b1 100644 --- a/misc/PRE-INFO.md +++ b/misc/PRE-INFO.md @@ -10,11 +10,12 @@ When using pre-release installers, make sure to uninstall the previous pre-relea own version checks may trigger an error out of my control. After uninstalling, install the newly downloaded one and you're good to go. +Only use the installers if you are versed in system-administration, manually editing and removing services, editing registries, +so on and so forth. + #### Alphas -Alphas are feature-incomplete and very likely to have bugs. -Before submitting an issue, please check the corresponding [milestone](https://git.griefed.de/Griefed/ServerPackCreator/-/milestones) of this releases major version to see whether an issue for yours already exists there. -Doing so saves both you and me a lot of time. Thanks in advance! +Alphas are feature-incomplete and very likely to have bugs. Consider them broken by default. Use at your own risk! #### Betas diff --git a/root/defaults/serverpackcreator.properties b/root/defaults/serverpackcreator.properties index be572f88abc92423028b1fc0e3f8e717760a5e51..60de7fcd01d8bdae14846552d8ade991b8132be3 100644 --- a/root/defaults/serverpackcreator.properties +++ b/root/defaults/serverpackcreator.properties @@ -1,7 +1,7 @@ de.griefed.serverpackcreator.configuration.aikar=-Xms4G -Xmx4G -XX\:+UseG1GC -XX\:+ParallelRefProcEnabled -XX\:MaxGCPauseMillis\=200 -XX\:+UnlockExperimentalVMOptions -XX\:+DisableExplicitGC -XX\:+AlwaysPreTouch -XX\:G1NewSizePercent\=30 -XX\:G1MaxNewSizePercent\=40 -XX\:G1HeapRegionSize\=8M -XX\:G1ReservePercent\=20 -XX\:G1HeapWastePercent\=5 -XX\:G1MixedGCCountTarget\=4 -XX\:InitiatingHeapOccupancyPercent\=15 -XX\:G1MixedGCLiveThresholdPercent\=90 -XX\:G1RSetUpdatingPauseTimePercent\=5 -XX\:SurvivorRatio\=32 -XX\:+PerfDisableSharedMem -XX\:MaxTenuringThreshold\=1 -Dusing.aikars.flags\=https\://mcflags.emc.gs -Daikars.new.flags\=true de.griefed.serverpackcreator.configuration.directories.mustinclude=addonpacks,blueprints,config,configs,customnpcs,defaultconfigs,global_data_packs,global_packs,kubejs,maps,mods,openloader,scripts,shrines-saves,structures,structurize,worldshape,Zoestria de.griefed.serverpackcreator.configuration.directories.shouldexclude=animation,asm,cache,changelogs,craftpresence,crash-reports,downloads,icons,libraries,local,logs,overrides,packmenu,profileImage,profileImage,resourcepacks,screenshots,server_pack,shaderpacks,simple-rpc,tv-cache -de.griefed.serverpackcreator.configuration.fallback.updateurl=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties +de.griefed.serverpackcreator.configuration.fallback.updateurl=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties de.griefed.serverpackcreator.configuration.fallbackmodslist=3dskinlayers-,Absolutely-Not-A-Zoom-Mod-,AdvancedChat-,AdvancedChatCore-,AdvancedChatHUD-,AdvancedCompas-,Ambience,AmbientEnvironment-,AmbientSounds_,AreYouBlind-,Armor Status HUD-,ArmorSoundTweak-,BH-Menu-,Batty's Coordinates PLUS Mod,BetterAdvancements-,BetterAnimationsCollection-,BetterDarkMode-,BetterF3-,BetterFog-,BetterFoliage-,BetterModsButton-,BetterPingDisplay-,BetterPlacement-,BetterTaskbar-,BetterThirdPerson,BetterTitleScreen-,Blur-,BorderlessWindow-,CTM-,ChunkAnimator-,ClientTweaks_,CompletionistsIndex-,Controller Support-,Controlling-,CraftPresence-,Create_Questing-,CullLessLeaves-Reforged-,CustomCursorMod-,CustomMainMenu-,DefaultOptions_,DefaultSettings-,DeleteWorldsToTrash-,DetailArmorBar-,Ding-,DistantHorizons-,DripSounds-,Durability101-,DurabilityNotifier-,DynamicSurroundings-,DynamicSurroundingsHuds-,EffectsLeft-,EiraMoticons_,EnchantmentDescriptions-,EnhancedVisuals_,EquipmentCompare-,FPS-Monitor-,FabricCustomCursorMod-,Fallingleaves-,FancySpawnEggs,FancyVideo-API-,FirstPersonMod,FogTweaker-,ForgeCustomCursorMod-,FpsReducer-,FpsReducer2-,FullscreenWindowed-,GameMenuModOption-,HealthOverlay-,HeldItemTooltips-,HorseStatsMod-,ImmediatelyFastReforged-,InventoryEssentials_,InventoryHud_[1.17.1].forge-,InventorySpam-,InventoryTweaks-,ItemBorders-,ItemPhysicLite_,ItemStitchingFix-,JBRA-Client-,JustEnoughCalculation-,JustEnoughEffects-,JustEnoughProfessions-,LLOverlayReloaded-,LOTRDRP-,LeaveMyBarsAlone-,LegendaryTooltips,LegendaryTooltips-,LightOverlay-,MinecraftCapes ,MoBends,MouseTweaks-,MyServerIsCompatible-,Neat ,Neat-,NekosEnchantedBooks-,NoAutoJump-,NoFog-,Notes-,NotifMod-,OldJavaWarning-,OptiFine,OptiFine_,OptiForge,OptiForge-,OverflowingBars-,PackMenu-,PackModeMenu-,PickUpNotifier-,Ping-,PingHUD-,PresenceFootsteps-,RPG-HUD-,ReAuth-,Reforgium-,ResourceLoader-,ResourcePackOrganizer,Ryoamiclights-,ShoulderSurfing-,ShulkerTooltip-,SimpleDiscordRichPresence-,SimpleWorldTimer-,SoundFilters-,SpawnerFix-,StylishEffects-,TRansliterationLib-,TextruesRubidiumOptions-,TipTheScales-,Tips-,Toast Control-,Toast-Control-,ToastControl-,TravelersTitles-,VR-Combat_,VoidFog-,WindowedFullscreen-,WorldNameRandomizer-,YungsMenuTweaks-,[1.12.2]DamageIndicatorsMod-,[1.12.2]bspkrscore-,^textrues_embeddium_options-.*$,antighost-,anviltooltipmod-,appleskin-,armorchroma-,armorpointspp-,auditory-,authme-,auto-reconnect-,autojoin-,autoreconnect-,axolotl-item-fix-,backtools-,bannerunlimited-,beenfo-1.19-,better-recipe-book-,betterbiomeblend-,bhmenu-,blur-,borderless-mining-,cat_jam-,catalogue-,charmonium-,chat_heads-,cherishedworlds-,cirback-1.0-,classicbar-,clickadv-,clienttweaks-,combat_music-,connectedness-,controllable-,cullleaves-,cullparticles-,custom-crosshair-mod-,customdiscordrpc-,darkness-,dashloader-,defaultoptions-,desiredservers-,discordrpc-,drippyloadingscreen-,drippyloadingscreen_,durabilitytooltip-,dynamic-fps-,dynamic-music-,dynamiclights-,dynmus-,effective-,eggtab-,eguilib-,eiramoticons-,embeddium-,enchantment-lore-,entity-texture-features-,entityculling-,essential_,exhaustedstamina-,extremesoundmuffler-,fabricemotes-,fancymenu_,fancymenu_video_extension,flickerfix-,fm_audio_extension_,forgemod_VoxelMap-,freelook-,galacticraft-rpc-,gamestagesviewer-,gpumemleakfix-,grid-,helium-,hiddenrecipebook-,hiddenrecipebook_,infinitemusic-,inventoryprofiles,invtweaks-,itemzoom,itlt-,jeed-,jehc-,jeiintegration_,just-enough-harvestcraft-,justenoughbeacons-,justenoughdrags-,justzoom_,keymap-,keywizard-,lazydfu-,lib39-,light-overlay-,lightfallclient-,lightspeed-,loadmyresources_,lock_minecart_view-,lootbeams-,lwl-,magnesium_extras-,maptooltip-,massunbind,mcbindtype-,mcwifipnp-,medievalmusic-,memoryusagescreen-,mightyarchitect-,mindful-eating-,minetogether-,mobplusplus-,modcredits-,modernworldcreation_,modnametooltip-,modnametooltip_,moreoverlays-,mousewheelie-,movement-vision-,multihotbar-,music-duration-reducer-,musicdr-,neiRecipeHandlers-,ngrok-lan-expose-mod-,no_nv_flash-,nopotionshift_,notenoughanimations-,oculus-,ornaments-,overloadedarmorbar-,panorama-,paperdoll-,phosphor-,physics-mod-,preciseblockplacing-,radon-,realm-of-lost-souls-,rebind-narrator-,rebind_narrator-,rebindnarrator-,rebrand-,reforgium-,replanter-,rrls-,rubidium-,rubidium_extras-,screenshot-to-clipboard-,servercountryflags-,shutupexperimentalsettings-,shutupmodelloader-,signtools-,simple-rpc-,simpleautorun-,smartcursor-,smoothboot-,smoothfocus-,sodium-fabric-,sounddeviceoptions-,soundreloader-,spoticraft-,tconplanner-,textrues_embeddium_options-,timestamps-,tooltipscroller-,torchoptimizer-,torohealth-,totaldarkness,toughnessbar-,watermedia-,whats-that-slot-forge-,wisla-,xlifeheartcolors-,yisthereautojump- de.griefed.serverpackcreator.configuration.hastebinserver=https\://haste.zneix.eu/documents de.griefed.serverpackcreator.configuration.modswhitelist=Ping-Wheel- diff --git a/root/etc/s6-overlay/s6-rc.d/init-spc-config/run b/root/etc/s6-overlay/s6-rc.d/init-spc-config/run index 1bbb873ac21ccc882b6ba46b40bb26b88a12fe9e..0dd7c8b3130f6373f3fd27dedc5f3d228711eaf3 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-spc-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-spc-config/run @@ -70,7 +70,7 @@ else fi if [[ -z ${SPC_CONFIGURATION_FALLBACK_UPDATEURL} ]];then - echo "de.griefed.serverpackcreator.configuration.fallback.updateurl=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties" >> $OVERRIDES + echo "de.griefed.serverpackcreator.configuration.fallback.updateurl=https\://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties" >> $OVERRIDES else echo "de.griefed.serverpackcreator.configuration.fallback.updateurl=$SPC_CONFIGURATION_FALLBACK_UPDATEURL" >> $OVERRIDES fi diff --git a/serverpackcreator-api/build.gradle.kts b/serverpackcreator-api/build.gradle.kts index 5ad84737f10483d7cd8f4cbc435d99a3e1ace28c..4a3d4bcf89cffbed031339f5a5e2787436d43abc 100644 --- a/serverpackcreator-api/build.gradle.kts +++ b/serverpackcreator-api/build.gradle.kts @@ -1,7 +1,8 @@ + import java.util.prefs.Preferences plugins { - id("serverpackcreator.kotlin-multiplatform-conventions") + id("serverpackcreator.kotlin-conventions") id("serverpackcreator.dokka-conventions") id("de.comahe.i18n4k") version "0.7.0" } @@ -10,73 +11,31 @@ repositories { mavenCentral() } -kotlin { - sourceSets { - val commonMain by getting { - dependencies { - api("io.github.microutils:kotlin-logging:3.0.5") - api("org.jetbrains.kotlinx:kotlinx-datetime:0.4.1") - api("de.jensklingenberg.ktorfit:ktorfit-lib:1.9.0") - api("de.comahe.i18n4k:i18n4k-core:0.6.2") - } - } - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - implementation(kotlin("test-common")) - implementation(kotlin("test-annotations-common")) - } - } - val jvmMain by getting { - dependencies { - implementation("org.jetbrains.kotlin:kotlin-bom") - implementation("org.jetbrains.kotlin:kotlin-stdlib") - implementation(files("${layout.buildDirectory.asFile.get()}/resources/")) - api("de.comahe.i18n4k:i18n4k-core-jvm:0.6.2") - api("com.electronwill.night-config:toml:3.6.7") - api("com.fasterxml.jackson.core:jackson-databind:2.15.3") - api("net.lingala.zip4j:zip4j:2.11.5") - api("org.apache.logging.log4j:log4j-api-kotlin:1.3.0") - api("org.apache.logging.log4j:log4j-core:2.21.0") - api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") - api("org.pf4j:pf4j:3.10.0") - api("org.bouncycastle:bcpkix-jdk18on:1.77") - } - } - val jvmTest by getting { - dependencies { - implementation(kotlin("test")) - implementation("org.jetbrains.kotlin:kotlin-test:1.9.10") - implementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - implementation("org.junit.jupiter:junit-jupiter-engine:5.10.0") - } - } -// Uncomment if you wish to start developing the JS component -// val jsMain by getting { -// dependsOn(commonMain) -// dependencies { -// api(kotlin("stdlib-js")) -// api("io.github.microutils:kotlin-logging-js:3.0.4") -// api("de.comahe.i18n4k:i18n4k-core-js:0.5.0") -// } -// } -// val jsTest by getting { -// dependencies { -// implementation(kotlin("test-js")) -// } -// } - } -} - -tasks.signJvmPublication { - dependsOn(tasks.dokkaJavadocJar) -} - -tasks.signKotlinMultiplatformPublication { - dependsOn(tasks.dokkaJavadocJar) +dependencies { + api("io.github.microutils:kotlin-logging:3.0.5") + api("org.jetbrains.kotlinx:kotlinx-datetime:0.5.0") + api("de.jensklingenberg.ktorfit:ktorfit-lib:1.14.0") + api("de.comahe.i18n4k:i18n4k-core:0.7.0") + api("de.comahe.i18n4k:i18n4k-core-jvm:0.7.0") + implementation("org.jetbrains.kotlin:kotlin-bom:1.9.23") + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.23") + implementation(files("${layout.buildDirectory.asFile.get()}/resources/")) + api("com.electronwill.night-config:toml:3.7.1") + api("com.fasterxml.jackson.core:jackson-databind:2.17.0") + api("net.lingala.zip4j:zip4j:2.11.5") + api("org.apache.logging.log4j:log4j-api-kotlin:1.4.0") + api("org.apache.logging.log4j:log4j-core:2.23.1") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0") + api("org.pf4j:pf4j:3.11.0") + api("org.bouncycastle:bcpkix-jdk18on:1.78") + + testImplementation("org.jetbrains.kotlin:kotlin-test:1.9.23") + testImplementation("org.jetbrains.kotlin:kotlin-test:1.9.23") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } -tasks.jvmSourcesJar { +tasks.sourcesJar { dependsOn(tasks.generateI18n4kFiles) } @@ -84,37 +43,37 @@ tasks.processResources { } -tasks.jvmProcessResources { +tasks.processResources { dependsOn(tasks.generateI18n4kFiles) copy { from(rootProject.layout.projectDirectory.file("CHANGELOG.md")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } copy { from(rootProject.layout.projectDirectory.file("CODE_OF_CONDUCT.md")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } copy { from(rootProject.layout.projectDirectory.file("CONTRIBUTING.md")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } copy { from(rootProject.layout.projectDirectory.file("HELP.md")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } copy { from(rootProject.layout.projectDirectory.file("LICENSE")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } copy { from(rootProject.layout.projectDirectory.file("README.md")) - into(layout.projectDirectory.dir("src/jvmMain/resources")) + into(layout.projectDirectory.dir("src/main/resources")) } } //Fix resources missing in multiplatform jvm inDev run https://youtrack.jetbrains.com/issue/KTIJ-16582/Consumer-Kotlin-JVM-library-cannot-access-a-Kotlin-Multiplatform-JVM-target-resources-in-multi-module-Gradle-project tasks.register<Copy>("fixMissingResources") { - dependsOn(tasks.jvmProcessResources) + dependsOn(tasks.processResources) from("${layout.buildDirectory.asFile.get()}/processedResources/jvm/main") into("${layout.buildDirectory.asFile.get()}/resources/") } @@ -123,17 +82,17 @@ tasks.dokkaHtml { dependsOn(tasks.generateI18n4kFiles, tasks.getByName("fixMissingResources")) } -tasks.jvmJar { +tasks.jar { dependsOn(tasks.getByName("fixMissingResources")) } tasks.register<Copy>("updateManifests") { dependsOn(tasks.test) from(rootDir.resolve("serverpackcreator-app/tests/manifests")) - into(projectDir.resolve("src/jvmMain/resources/de/griefed/resources/manifests")) + into(projectDir.resolve("src/main/resources/de/griefed/resources/manifests")) } -tasks.jvmTest { +tasks.test { dependsOn(tasks.getByName("fixMissingResources")) Preferences.userRoot().node("ServerPackCreator").clear() Preferences.userRoot().node("ServerPackCreator").sync() @@ -143,8 +102,4 @@ tasks.build { doLast { tasks.dokkaJavadocJar } -} - -tasks.withType(PublishToMavenRepository::class) { - dependsOn(tasks.signKotlinMultiplatformPublication,tasks.signJvmPublication) -} +} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Api.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Api.kt deleted file mode 100644 index d294012d66b1c5ad71f6740f180933093bb8a9b8..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Api.kt +++ /dev/null @@ -1,147 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.TomlParser -import de.griefed.serverpackcreator.api.utilities.common.BooleanUtilities -import de.griefed.serverpackcreator.api.utilities.common.ListUtilities -import de.griefed.serverpackcreator.api.utilities.common.StringUtilities -import mu.KotlinLogging - -/** - * Basic implementations of the API-class holding properties and functions/methods which should be provided to the given - * implementer. - * - * @author Griefed - */ -abstract class Api<F> { - protected val log = KotlinLogging.logger {} - protected val versionsRegex = ".*(alpha|beta|dev).*".toRegex() - protected val xmlJsonRegex = ".*\\.(xml|json)".toRegex() - protected var setupWasRun: Boolean = false - - /** - * This instances common boolean utilities used across ServerPackCreator. - * - * @return Common boolean utilities used across ServerPackCreator. - * @author Griefed - */ - val booleanUtilities: BooleanUtilities = BooleanUtilities() - - /** - * This instances common String utilities used across ServerPackCreator. - * - * @return Common String utilities used across ServerPackCreator. - * @author Griefed - */ - val stringUtilities: StringUtilities = StringUtilities() - - - /** - * This instances common list utilities used across ServerPackCreator. - * - * @return Common list utilities used across ServerPackCreator. - * @author Griefed - */ - val listUtilities: ListUtilities = ListUtilities() - - /** - * Convenience method to set up ServerPackCreator. - * - * @author Griefed - */ - abstract fun setup(force: Boolean = false): ApiWrapper - - /** - * Stage one of starting ServerPackCreator. - * - * Creates and prepares the environment for ServerPackCreator to run by creating required - * directories and copying required files from the JAR-file to the filesystem. Some of these files - * can and should be edited by a given user, others however, not. - * - * * Checks the read- and write-permissions of ServerPackCreators base-directory. - * * Copies the `README.md` from the JAR to the home-directory. - * * Copies the `HELP.md` from the JAR to the home-directory. - * * Copies the `CHANGELOG.md` from the JAR to the home-directory. - * * Copies the `LICENSE` from the JAR to the home-directory. - * * Copies the fallback version-manifests to the manifests. - * * Creates default directories: - * - * * server_files - * * work - * * temp - * * work/modpacks - * * server-packs (depending on the users settings, this may be anywhere on the users system) - * * plugins - * * plugins/config - * - * * Example `disabled.txt`-file in plugins/disabled.txt. - * * Creates the default `server.properties` if it doesn't exist. - * * Creates the default `server-icon.png` if it doesn't exist. - * * Creates the default PowerShell and Shell script templates or overwrites them if they already exist. - * * Determines whether this instance of ServerPackCreator was updated from a previous version. - * - * If an update was detected, and migrations are available for any of the steps of the update, they are executed, - * thus ensuring users are safe to update their instances. Writes ServerPackCreator and system information to the - * console and logs, important for error reporting and debugging. - * - * @author Griefed - */ - abstract fun stageOne() - - /** - * Initialize [de.griefed.serverpackcreator.api.versionmeta.VersionMeta], [ConfigurationHandler]. - * - * @author Griefed - */ - abstract fun stageTwo() - - /** - * Initialize [ApiPlugins], [de.griefed.serverpackcreator.api.modscanning.ModScanner] (consisting of [TomlParser], - * [de.griefed.serverpackcreator.api.modscanning.ForgeAnnotationScanner], - * [de.griefed.serverpackcreator.api.modscanning.FabricScanner], - * [de.griefed.serverpackcreator.api.modscanning.ForgeTomlScanner], - * [de.griefed.serverpackcreator.api.modscanning.QuiltScanner]), - * [ServerPackHandler]. - * - * @author Griefed - */ - abstract fun stageThree() - - /** - * Check whether the specified server-files file exists and create it if it doesn't. - * - * @param fileToCheckFor The file which is to be checked for whether it exists and if it doesn't, - * should be created. - * @return `true` if the file was generated. - * @author Griefed - */ - abstract fun checkServerFilesFile(fileToCheckFor: F): Boolean - - /** - * Overwrite the specified server-files file, even when it exists. Used to ensure files like the - * default script templates are always up-to-date. - * - * @param fileToOverwrite The file which is to be overwritten. If it exists. it is first deleted, - * then extracted from our JAR-file. - * @author Griefed - */ - abstract fun overwriteServerFilesFile(fileToOverwrite: F) -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt deleted file mode 100644 index 85d2850954600e5058bfc51cb6e2cd8c7d39ecad..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.plugins.serverpackhandler.PostGenExtension -import de.griefed.serverpackcreator.api.plugins.serverpackhandler.PreGenExtension -import de.griefed.serverpackcreator.api.plugins.serverpackhandler.PreZipExtension -import de.griefed.serverpackcreator.api.plugins.swinggui.TabExtension -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Optional - -/** - * Manager for ServerPackCreator plugins. In itself it doesn't do much. It gathers lists of all - * available extensions for [TabExtension],[PreGenExtension],[PreZipExtension] and - * [PostGenExtension] so they can then be run during server pack generation and during - * initialization of the GUI. - * - * @author Griefed - */ -expect class ApiPlugins { - - /** - * Get the global plugin configuration for a plugin of the passed ID. The configuration is wrapped - * in an [Optional], because a plugin may not provide a global configuration. If you intend - * on using a global configuration for your plugin, make sure to check whether it is present before - * trying to use it! - * - * @param pluginId The plugin ID of the...well...plugin. - * @return The global plugin configuration, wrapped in an Optional. - * @author Griefed - */ - fun getPluginConfig(pluginId: String): Optional<CommentedConfig> - - /** - * Run any and all Pre-Server Pack-Generation extensions, using the passed configuration model and - * the destination at which the server pack is to be generated and stored at. - * - * @param packConfig The configuration model from which to create the server pack. - * @param destination The destination at which the server pack will be generated and stored - * at. - * @author Griefed - */ - fun runPreGenExtensions(packConfig: PackConfig, destination: String) - - /** - * Run any and all Pre-ZIP-archive creation extensions, using the passed configuration model and - * the destination at which the server pack is to be generated and stored at. - * - * @param packConfig The configuration model from which to create the server pack. - * @param destination The destination at which the server pack will be generated and stored - * at. - * @author Griefed - */ - fun runPreZipExtensions(packConfig: PackConfig, destination: String) - - /** - * Run any and all Post-server pack-generation extensions, using the passed configuration model - * and the destination at which the server pack is to be generated and stored at. - * - * @param packConfig The configuration model from which to create the server pack. - * @param destination The destination at which the server pack will be generated and stored - * at. - * @author Griefed - */ - fun runPostGenExtensions(packConfig: PackConfig, destination: String) - - /** - * Run any and all configuration-check extensions, using the passed configuration model and the - * destination at which the server pack is to be generated and stored at. - * - * @param packConfig The configuration model containing the server pack and plugin - * configurations to check. - * @param configCheck Collection of encountered errors, if any, for convenient result-checks. - * @return `true` if any custom check detected an error with the configuration. - * **Only** return `false` when not a **single** check - * errored. - * @author Griefed - */ - fun runConfigCheckExtensions( - packConfig: PackConfig, - configCheck: ConfigCheck = ConfigCheck() - ): ConfigCheck - - /** - * Get the configuration-file for a plugin, if it exists. This is wrapped in an [Optional], - * because not every plugin may provide a configuration-file to use globally for the relevant - * plugins settings. If you intend on using a global configuration, make sure to check whether the - * file is present, before moving on! - * - * @param pluginId The plugin ID with which to identify the correct config-file to return. - * @return The config-file corresponding to the ID of the plugin, wrapped in an Optional. - * @author Griefed - */ - fun getPluginConfigFile(pluginId: String): Optional<File> -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt deleted file mode 100644 index b3c0fc63b1be31666377642cf3135a13ea414f79..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -/** - * Base settings of ServerPackCreator, such as working directories, default list of clientside-only - * mods, default list of directories to include in a server pack, script templates, java paths and - * much more. - * - * @author Griefed - */ -expect class ApiProperties { - - companion object { - @JvmStatic - fun getSeparator(): String - } -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt deleted file mode 100644 index 7622a1584a24643a58a85ecf7d5f3ba0b2633179..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.modscanning.* -import de.griefed.serverpackcreator.api.utilities.TomlParser -import de.griefed.serverpackcreator.api.utilities.common.* -import de.griefed.serverpackcreator.api.versionmeta.VersionMeta - -/** - * API wrapper, allowing you to conveniently initialize, setup and use the different aspects of ServerPackCreator. - * - * @author Griefed - */ -expect class ApiWrapper { - - val apiProperties: ApiProperties - val fileUtilities: FileUtilities - val jarUtilities: JarUtilities - val systemUtilities: SystemUtilities - val jsonUtilities: JsonUtilities - val xmlUtilities: XmlUtilities - val tomlParser: TomlParser - val forgeTomlScanner: ForgeTomlScanner - - val webUtilities: WebUtilities - val utilities: Utilities - val versionMeta: VersionMeta - val configurationHandler: ConfigurationHandler - val apiPlugins: ApiPlugins - val serverPackHandler: ServerPackHandler - val modScanner: ModScanner - val forgeAnnotationScanner: ForgeAnnotationScanner - val fabricScanner: FabricScanner - val quiltScanner: QuiltScanner - val neoForgeTomlScanner: NeoForgeTomlScanner -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Configuration.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Configuration.kt deleted file mode 100644 index 099a0a235d3e541174ba6803cd6aa2899297964e..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Configuration.kt +++ /dev/null @@ -1,546 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("unused") - -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.File -import mu.KotlinLogging - -/** - * Base for the [de.griefed.serverpackcreator.api.ConfigurationHandler] to ensure we have the basics for config-checks - * and config-handling. - * - * @author Griefed - */ -abstract class Configuration<F, P> { - protected val log = KotlinLogging.logger {} - protected val forge = "^forge$".toRegex() - protected val neoForge = "^neoforge$".toRegex() - protected val fabric = "^fabric$".toRegex() - protected val quilt = "^quilt$".toRegex() - protected val legacyFabric = "^legacyfabric$".toRegex() - protected val whitespace = "^\\s+$".toRegex() - protected val previous = ".*_\\d".toRegex() - protected val zipCheck = "^\\w+[/\\\\]$".toRegex() - - /** - * Check the passed configuration-file. If any check returns `true` then the server pack - * will not be created. In order to find out which check failed, the user has to check their - * serverpackcreator.log in the logs-directory. - * - * @param configFile The configuration file to check. Must either be an existing file to - * load a configuration from or null if you want to use the passed - * configuration model. - * @param packConfig Instance of a configuration of a modpack. Can be used to further - * display or use any information within, as it may be changed or - * otherwise altered by this method. - * @param configCheck Contains all encountered errors during the check of the passed configuration. - * @param quietCheck Whether the configuration should be printed to the console and logs. - * Pass false to quietly check the configuration. - * @return `false` if the configuration has passed all tests. - * @author Griefed - */ - abstract fun checkConfiguration( - configFile: F, - packConfig: PackConfig, - configCheck: ConfigCheck, - quietCheck: Boolean - ): ConfigCheck - - /** - * Check the passed [packConfig]. If any check returns `true` then the server - * pack will not be created. In order to find out which check failed, the user has to check their - * serverpackcreator.log in the logs-directory. - * - * The passed [packConfig] can be used to further display or use any information within, as it may be changed or otherwise - * altered by this method. - * - * @param packConfig Instance of a configuration of a modpack. Can be used to further - * display or use any information within, as it may be changed or - * otherwise altered by this method. - * @param configCheck Contains all encountered errors during the check of the passed configuration. - * @param quietCheck Whether the configuration should be printed to the console and logs. - * Pass false to quietly check the configuration. - * @return `false` if all checks are passed. - * @author Griefed - */ - abstract fun checkConfiguration( - packConfig: PackConfig, - configCheck: ConfigCheck, - quietCheck: Boolean - ): ConfigCheck - - /** - * Sanitize any and all links in a given instance of [PackConfig] modpack-directory, - * server-icon path, server-properties path, Java path and copy-directories entries. - * - * @param packConfig Instance of [PackConfig] in which to sanitize links to - * their respective destinations. - * @author Griefed - */ - abstract fun sanitizeLinks(packConfig: PackConfig) - - /** - * Checks the passed String whether it is an existing file. If the passed String is empty, then - * ServerPackCreator will treat it as the user being fine with the default files and return the - * corresponding boolean. - * - * @param iconOrPropertiesPath The path to the custom server-icon.png or server.properties file to - * check. - * @return `true` if the file exists or an empty String was passed, false if a file was - * specified, but the file was not found. - * @author Griefed - */ - abstract fun checkIconAndProperties(iconOrPropertiesPath: String): Boolean - - /** - * If the in the configuration specified modpack dir is an existing directory, checks are made for - * valid configuration of: directories to copy to server pack, if includeServerInstallation is - * `true` path to Java executable/binary, Minecraft version, modloader and modloader - * version. - * - * @param packConfig An instance of [PackConfig] which contains the - * configuration of the modpack. - * @param configCheck Contains all encountered errors during the check of the passed configuration. - * @return `true` if an error is found during configuration check. - * @author Griefed - */ - abstract fun isDir(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck - - /** - * Checks the specified ZIP-archive for validity. In order for a modpack ZIP-archive to be - * considered valid, it needs to contain the `mods` and `config` folders at minimum. - * If any of `manifest.json`, `minecraftinstance.json` or `config.json` are - * available, gather as much information from them as possible. - * - * @param packConfig Instance of [PackConfig] with a server pack - * configuration. - * @param configCheck Collection of encountered errors, if any, for convenient result-checks. - * @return `false` when no errors were encountered. - * @author Griefed - */ - abstract fun isZip(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck - - /** - * Checks whether either Forge or Fabric were specified as the modloader. - * - * @param modloader Check as case-insensitive for Forge or Fabric. - * @return `true` if the specified modloader is either Forge or Fabric. False if neither. - * @author Griefed - */ - abstract fun checkModloader(modloader: String, configCheck: ConfigCheck): ConfigCheck - - /** - * Check the given Minecraft and modloader versions for the specified modloader. - * - * @param modloader The passed modloader which determines whether the check for Forge or - * Fabric is called. - * @param modloaderVersion The version of the modloader which is checked against the corresponding - * modloader's manifest. - * @param minecraftVersion The version of Minecraft used for checking the Forge version. - * @return `true` if the specified modloader version was found in the corresponding - * manifest. - * @author Griefed - */ - abstract fun checkModloaderVersion( - modloader: String, modloaderVersion: String, minecraftVersion: String, configCheck: ConfigCheck - ): ConfigCheck - - /** - * Convenience method which passes the important fields from an instance of - * [PackConfig] to - * [.printConfigurationModel] - * - * @param packConfig Instance of [PackConfig] to print to console and logs. - * @author Griefed - */ - fun printConfigurationModel(packConfig: Pack<*, *, *>) = printConfigurationModel( - packConfig.modpackDir, - packConfig.clientMods, - packConfig.inclusions, - packConfig.minecraftVersion, - packConfig.modloader, - packConfig.modloaderVersion, - packConfig.isServerIconInclusionDesired, - packConfig.isServerPropertiesInclusionDesired, - packConfig.isZipCreationDesired, - packConfig.javaArgs, - packConfig.serverPackSuffix, - packConfig.serverIconPath, - packConfig.serverPropertiesPath, - packConfig.scriptSettings - ) - - /** - * Print all encountered errors to logs. - * - * @param encounteredErrors A list of all errors which were encountered during a configuration - * check. - * @author Griefed - */ - fun printEncounteredErrors(encounteredErrors: List<String>) { - log.error("Encountered ${encounteredErrors.size} errors during the configuration check.") - var encounteredErrorNumber: Int - for (i in encounteredErrors.indices) { - encounteredErrorNumber = i + 1 - log.error("Error $encounteredErrorNumber: ${encounteredErrors[i]}") - } - } - - /** - * Update the script settings and ensure the default keys, with values gathered from the passed - * [PackConfig], are present: - * - * - * 1. `SPC_SERVERPACKCREATOR_VERSION_SPC` : `ServerPackCreator version with which the scripts were created` - * 1. `SPC_MINECRAFT_VERSION_SPC` : `Minecraft version of the modpack` - * 1. `SPC_MINECRAFT_SERVER_URL_SPC` : `Download-URL to the Minecraft server - ` * - * 1. `SPC_MODLOADER_SPC` : `The modloader of the modpack` - * 1. `SPC_MODLOADER_VERSION_SPC` : `The modloader version of the modpack - ` * - * 1. `SPC_JAVA_ARGS_SPC` : `The JVM args to be used to run the server` - * 1. `SPC_JAVA_SPC` : `Path to the java installation to be used to run the server` - * 1. `SPC_FABRIC_INSTALLER_VERSION_SPC` : `Most recent version of the Fabric installer at the time of creating the scripts` - * 1. `SPC_QUILT_INSTALLER_VERSION_SPC` : `Most recent version of the Quilt installer at the time of creating the scripts` - * - * - * @param packConfig Model in which to ensure the default key-value pairs are present. - * @author Griefed - */ - abstract fun ensureScriptSettingsDefaults(packConfig: PackConfig) - - /** - * Checks whether the passed list of directories which are supposed to be in the modpack directory - * is empty, or whether all directories in the list exist in the modpack directory. If the user - * specified a `source/file;destination/file`-combination, it is checked whether the - * specified source-file exists on the host. - * - * @param inclusions Directories, or `source/file;destination/file`-combinations, to - * check for existence. - * `source/file;destination/file`-combinations must be absolute - * paths to the source-file. - * @param modpackDir Path to the modpack directory in which to check for existence of the - * passed list of directories. - * @return `true` if every directory was found in the modpack directory. If any single one - * was not found, false is returned. - * @author Griefed - */ - abstract fun checkInclusions( - inclusions: MutableList<InclusionSpecification>, - modpackDir: String, - configCheck: ConfigCheck, - printLog: Boolean - ): ConfigCheck - - /** - * Check a given ZIP-archives contents. If the ZIP-archive only contains one directory, or if it - * contains neither the mods nor the config directories, consider it invalid. - * - * @param pathToZip Path to the ZIP-file to check. - * @author Griefed - */ - abstract fun checkZipArchive(pathToZip: String, configCheck: ConfigCheck): ConfigCheck - - /** - * Update the destination to which the ZIP-archive will the extracted to, based on whether a - * directory of the same name already exists. - * - * @param destination The destination to where the ZIP-archive was about to be extracted to. - * @return The destination where the ZIP-archive will be extracted to. - * @author Griefed - */ - abstract fun unzipDestination(destination: String): String - - /** - * Creates a list of suggested directories to include in server pack which is later on written to - * a new configuration file. The list of directories to include in the server pack which is - * generated by this method excludes well know directories which would not be needed by a server - * pack. If you have suggestions to this list, open a feature request issue on [GitHub](https://github.com/Griefed/ServerPackCreator/issues/new/choose) - * - * @param modpackDir The directory for which to gather a list of directories to copy to the server - * pack. - * @return Directories inside the modpack, excluding well known client-side only directories. - * @author Griefed - */ - abstract fun suggestInclusions(modpackDir: String): ArrayList<InclusionSpecification> - - /** - * Check whether various manifests from various launchers exist and use them to update our - * ConfigurationModel and pack name. - * - * @param destination The destination in which the manifests are. - * @param packConfig The ConfigurationModel to update. - * @param configCheck Collection of encountered errors, if any, for convenient result-checks. - * @return The name of the modpack currently being checked. `null` if the name could not be - * acquired. - * @author Griefed - */ - abstract fun checkManifests( - destination: String, - packConfig: PackConfig, - configCheck: ConfigCheck - ): String? - - /** - * Check whether a server pack for the given destination already exists and get an incrementor - * based on whether one exists, how many, or none exist. Think if this as the incrementation - * Windows does when a file of the same name is copied. `foo.bar` becomes - * `foo (1).bar` etc. - * - * @param source The name of the modpack. - * @param destination The name of the server pack about to be generated. - * @return An incremented number, based on whether a server pack of the same name already exists. - * @author Griefed - */ - abstract fun checkServerPacksForIncrement(source: String, destination: String): String - - /** - * Prints all passed fields to the console and serverpackcreator.log. Used to show the user the - * configuration before ServerPackCreator starts the generation of the server pack or, if checks - * failed, to show the user their last configuration, so they can more easily identify problems - * with said configuration. - * - * Should a user report an issue on GitHub and include their logs (which I hope they do....), this would also help - * me help them. Logging is good. People should use more logging. - * - * @param modpackDirectory The used modpackDir field either from a configuration file or from - * configuration setup. - * @param clientsideMods List of clientside-only mods to exclude from the server pack... - * @param inclusions List of directories in the modpack which are to be included in the - * server pack. - * @param minecraftVer The Minecraft version the modpack uses. - * @param modloader The modloader the modpack uses. - * @param modloaderVersion The version of the modloader the modpack uses. - * @param includeIcon Whether to include the server-icon.png in the server pack. - * @param includeProperties Whether to include the server.properties in the server pack. - * @param includeZip Whether to create a zip-archive of the server pack, excluding the - * Minecraft server JAR according to Mojang's TOS and EULA. - * @param javaArgs Java arguments to write the start-scripts with. - * @param serverPackSuffix Suffix to append to name of the server pack to be generated. - * @param serverIconPath The path to the custom server-icon.png to be used in the server - * pack. - * @param serverPropertiesPath The path to the custom server.properties to be used in the server - * pack. - * @param scriptSettings Custom settings for start script creation. `KEY`s are the - * placeholder, `VALUE`s are the values with which the - * placeholders are to be replaced. - * @author Griefed - */ - abstract fun printConfigurationModel( - modpackDirectory: String, - clientsideMods: List<String>, - inclusions: List<InclusionSpecification>, - minecraftVer: String, - modloader: String, - modloaderVersion: String, - includeIcon: Boolean, - includeProperties: Boolean, - includeZip: Boolean, - javaArgs: String, - serverPackSuffix: String, - serverIconPath: String, - serverPropertiesPath: String, - scriptSettings: HashMap<String, String> - ) - - /** - * Acquire a list of directories in the base-directory of a ZIP-file. - * - * @param zipFile The ZIP-archive to get the list of files from. - * @return All directories in the base-directory of the ZIP-file. - * @author Griefed - */ - abstract fun getDirectoriesInModpackZipBaseDirectory(zipFile: File): List<String> - - /** - * **`manifest.json`** - * - * Update the given ConfigurationModel with values gathered from the downloaded CurseForge - * modpack. A manifest.json-file is usually created when a modpack is exported through launchers - * like Overwolf's CurseForge or GDLauncher. - * - * @param packConfig An instance containing a configuration for a modpack from which to - * create a server pack. - * @param manifest The CurseForge manifest.json-file of the modpack to read. - * @author Griefed - */ - abstract fun updateConfigModelFromCurseManifest(packConfig: PackConfig, manifest: F) - - /** - * Acquire the modpacks name from the JSON previously acquired and stored in the - * ConfigurationModel. - * - * @param packConfig The ConfigurationModel containing the JsonNode from which to acquire - * the modpacks name. - * @param childNodes The child nodes, in order, which contain the requested packname. - * @return The new name of the modpack. - * @author Griefed - */ - abstract fun updatePackName(packConfig: PackConfig, vararg childNodes: String): String? - - /** - * **`minecraftinstance.json`** - * - * Update the given ConfigurationModel with values gathered from the minecraftinstance.json of - * the modpack. A minecraftinstance.json is usually created by Overwolf's CurseForge launcher. - * - * @param packConfig An instance containing a configuration for a modpack from which to - * create a server pack. - * @param minecraftInstance The minecraftinstance.json-file of the modpack to read. - * @author Griefed - */ - abstract fun updateConfigModelFromMinecraftInstance(packConfig: PackConfig, minecraftInstance: F) - - /** - * **`modrinth.index.json`** - * - * Update the given ConfigurationModel with values gathered from a Modrinth `modrinth.index.json`-manifest. - * - * @param packConfig The model to update. - * @param manifest The manifest file. - * @author Griefed - */ - abstract fun updateConfigModelFromModrinthManifest(packConfig: PackConfig, manifest: F) - - /** - * **`instance.json`** - * - * Update the given ConfigurationModel with values gathered from a ATLauncher or XMCL manifest. - * - * @param packConfig The model to update. - * @param manifest The manifest file. - * @author Griefed - */ - abstract fun updateConfigModelFromInstance(packConfig: PackConfig, manifest: F) - - /** - * **`config.json`** - * - * Update the given ConfigurationModel with values gathered from the modpacks config.json. A - * config.json is usually created by GDLauncher. - * - * @param packConfig An instance containing a configuration for a modpack from which to - * create a server pack. - * @param config The config.json-file of the modpack to read. - * @author Griefed - */ - abstract fun updateConfigModelFromConfigJson(packConfig: PackConfig, config: F) - - /** - * **`mmc-pack.json`** - * - * - * Update the given ConfigurationModel with values gathered from the modpacks mmc-pack.json. A - * mmc-pack.json is usually created by the MultiMC launcher. - * - * @param packConfig An instance containing a configuration for a modpack from which to - * create a server pack. - * @param mmcPack The config.json-file of the modpack to read. - * @author Griefed - */ - abstract fun updateConfigModelFromMMCPack(packConfig: PackConfig, mmcPack: F) - - /** - * **`instance.cfg`** - * - * Acquire the name of the modpack/instance of a MultiMC modpack from the modpacks - * instance.cfg, which is usually created by the MultiMC launcher. - * - * @param instanceCfg The config.json-file of the modpack to read. - * @return The instance name. - * @author Griefed - */ - abstract fun updateDestinationFromInstanceCfg(instanceCfg: F): String - - /** - * Ensures the modloader is normalized to first letter upper case and rest lower case. Basically - * allows the user to input Forge or Fabric in any combination of upper- and lowercase and - * ServerPackCreator will still be able to work with the users input. - * - * @param modloader Modloader String-representation to normalize. - * @return A normalized String of the specified modloader. - * @author Griefed - */ - fun getModLoaderCase(modloader: String) = when { - modloader.lowercase().matches(forge) || modloader.lowercase().contains("forge") && - !(modloader.lowercase().matches(neoForge) || modloader.lowercase().contains("NeoForge"))-> { - "Forge" - } - modloader.lowercase().matches(fabric) || modloader.lowercase().contains("fabric") -> { - "Fabric" - } - modloader.lowercase().matches(quilt) || modloader.lowercase().contains("quilt") -> { - "Quilt" - } - modloader.lowercase().matches(legacyFabric) || modloader.lowercase().contains("legacyfabric") -> { - "LegacyFabric" - } - modloader.lowercase().matches(neoForge) || modloader.lowercase().contains("NeoForge") -> { - "NeoForge" - } - else -> { - log.warn { "No suitable modloader found. Defaulting to Forge." } - "Forge" - } - } - - /** - * Check the passed directory for existence and whether it is a directory, rather than a file. - * - * @param modpackDir The modpack directory. - * @param configCheck Collection of encountered errors, if any, for convenient result-checks. - * @return `true` if the directory exists. - * @author Griefed - */ - abstract fun checkModpackDir( - modpackDir: String, - configCheck: ConfigCheck, - printLog: Boolean - ): ConfigCheck - - /** - * Acquire a list of all files and directories in a ZIP-file. - * - * @param zipFile The ZIP-archive to get the list of files from. - * @return All files and directories in the ZIP-file. - * @author Griefed - */ - abstract fun getAllFilesAndDirectoriesInModpackZip(zipFile: File): List<String> - - /** - * Acquire a list of all directories in a ZIP-file. The resulting list excludes files. - * - * @param zipFile The ZIP-archive to get the list of files from. - * @return All directories in the ZIP-file. - * @author Griefed - */ - abstract fun getDirectoriesInModpackZip(zipFile: File): List<String> - - /** - * Acquire a list of all files in a ZIP-file. The resulting list excludes directories. - * - * @param zipFile The ZIP-archive to get the list of files from. - * @return All files in the ZIP-file. - * @author Griefed - */ - abstract fun getFilesInModpackZip(zipFile: File): List<String> -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt deleted file mode 100644 index 12c5fcf22e4df0791639e9146dfb0ea8eeec1ed6..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.File - -/** - * Check any given [PackConfig] for errors and, if so desired, add them to a passed - * list of errors, so you may display them in a GUI, CLI or website. The most important method is - * [checkConfiguration] and all of its variants which will check - * your passed configuration model for errors, indicating whether it is safe to use for further - * operations. Running your model through the checks also ensures that the default script settings - * are present and set according to your pack's environment. - * - * @author Griefed - */ -expect class ConfigurationHandler { - fun checkConfiguration(configFile: File, packConfig: PackConfig = PackConfig(), configCheck: ConfigCheck = ConfigCheck(), quietCheck: Boolean = false): ConfigCheck - fun checkConfiguration(packConfig: PackConfig = PackConfig(), configCheck: ConfigCheck = ConfigCheck(), quietCheck: Boolean = false): ConfigCheck - fun isDir(packConfig: PackConfig, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck - fun isZip(packConfig: PackConfig, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck - fun checkModloaderVersion(modloader: String, modloaderVersion: String, minecraftVersion: String, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck - fun checkInclusions(inclusions: MutableList<InclusionSpecification>, modpackDir: String, configCheck: ConfigCheck = ConfigCheck(), printLog: Boolean = true): ConfigCheck - fun checkZipArchive(pathToZip: String, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck - fun checkManifests(destination: String, packConfig: PackConfig, configCheck: ConfigCheck = ConfigCheck()): String? - fun checkModpackDir(modpackDir: String, configCheck: ConfigCheck = ConfigCheck(), printLog: Boolean = true): ConfigCheck - fun checkModloader(modloader: String,configCheck: ConfigCheck = ConfigCheck()): ConfigCheck - - fun checkIconAndProperties(iconOrPropertiesPath: String = ""): Boolean - - fun ensureScriptSettingsDefaults(packConfig: PackConfig) - fun sanitizeLinks(packConfig: PackConfig) - fun unzipDestination(destination: String): String - fun suggestInclusions(modpackDir: String): ArrayList<InclusionSpecification> - fun checkServerPacksForIncrement(source: String, destination: String): String - fun printConfigurationModel( - modpackDirectory: String, - clientsideMods: List<String>, - inclusions: List<InclusionSpecification>, - minecraftVer: String, - modloader: String, - modloaderVersion: String, - includeIcon: Boolean, - includeProperties: Boolean, - includeZip: Boolean, - javaArgs: String, - serverPackSuffix: String, - serverIconPath: String, - serverPropertiesPath: String, - scriptSettings: HashMap<String, String> - ) - - fun getDirectoriesInModpackZipBaseDirectory(zipFile: File): List<String> - fun updateConfigModelFromCurseManifest(packConfig: PackConfig, manifest: File) - fun updatePackName(packConfig: PackConfig, vararg childNodes: String): String? - fun updateConfigModelFromMinecraftInstance(packConfig: PackConfig, minecraftInstance: File) - fun updateConfigModelFromModrinthManifest(packConfig: PackConfig, manifest: File) - fun updateConfigModelFromInstance(packConfig: PackConfig, manifest: File) - fun updateConfigModelFromConfigJson(packConfig: PackConfig, config: File) - fun updateConfigModelFromMMCPack(packConfig: PackConfig, mmcPack: File) - fun updateDestinationFromInstanceCfg(instanceCfg: File): String - fun getAllFilesAndDirectoriesInModpackZip(zipFile: File): List<String> - fun getDirectoriesInModpackZip(zipFile: File): List<String> - fun getFilesInModpackZip(zipFile: File): List<String> -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt deleted file mode 100644 index 92cb1a065a6a4f236cd82d3aa0e98a9cf65b70c8..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -/** - * A FileInclusionSpecification is at minimum a source-declaration from which files and directories will be included - * in the server pack to be generated. - * - * Optionally, the following values can be specified: - * * Destination - * * Inclusion-filter (regex) - * * Exclusion-filter (regex) - * - * * When a destination is specified, then every file and directory acquired from the source will be copied to the - * specified destination in the server pack, whereas otherwise the source would be copied to a destination in the server - * pack matching the name of the source. - * * Inclusion filters help to further limit the files and directories to be included from the specified source. Any file - * and directory matching this filter will be included. - * * Exclusion filters help to further limit the files and directories to be included from the specified source. Any file - * and directory matching this filter will NOT be included. - * - * @author Griefed - */ -expect class InclusionSpecification( - source: String, - destination: String? = null, - inclusionFilter: String? = null, - exclusionFilter: String? = null -) { - fun hasInclusionFilter(): Boolean - fun hasExclusionFilter(): Boolean - fun hasDestination(): Boolean - fun isGlobalFilter(): Boolean - fun asHashMap(): HashMap<String,String> - var source: String - var destination: String? - var inclusionFilter: String? - var exclusionFilter: String? -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Pack.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Pack.kt deleted file mode 100644 index 2824b571633e015792e258f99e0bf447d63df402..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/Pack.kt +++ /dev/null @@ -1,136 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.CommentedConfig - -/** - * A server pack configuration from which to generate a server pack. - * - * @author Griefed - */ -@Suppress("MemberVisibilityCanBePrivate") -abstract class Pack<F, J, out P> { - protected val forge = "^forge$".toRegex() - protected val neoForge = "^neoforge$".toRegex() - protected val fabric = "^fabric$".toRegex() - protected val quilt = "^quilt$".toRegex() - protected val legacyFabric = "^legacyfabric$".toRegex() - protected val whitespace = "^\\s+$".toRegex() - - val clientMods: ArrayList<String> = ArrayList(1000) - val modsWhitelist: ArrayList<String> = ArrayList(1000) - val inclusions: ArrayList<InclusionSpecification> = ArrayList(100) - val scriptSettings = HashMap<String, String>(100) - val pluginsConfigs = HashMap<String, ArrayList<CommentedConfig>>(20) - var modpackDir = "" - var minecraftVersion = "" - var modloaderVersion = "" - var javaArgs = "" - var serverPackSuffix = "" - var serverIconPath = "" - var serverPropertiesPath = "" - var modloader = "" - set(newModLoader) { - if (newModLoader.lowercase().matches(forge)) { - field = "Forge" - } else if (newModLoader.lowercase().matches(neoForge)) { - field = "NeoForge" - } else if (newModLoader.lowercase().matches(fabric)) { - field = "Fabric" - } else if (newModLoader.lowercase().matches(quilt)) { - field = "Quilt" - } else if (newModLoader.lowercase().matches(legacyFabric)) { - field = "LegacyFabric" - } - } - var isServerIconInclusionDesired = true - var isServerPropertiesInclusionDesired = true - var isZipCreationDesired = true - var modpackJson: J? = null - var configVersion: String? = null - - open var projectName: String? = null - open var fileName: String? = null - open var fileDiskName: String? = null - - /** - * Save this configuration. - * - * @param destination The file to store the configuration in. - * @return The configuration for further operations. - * @author Griefed - */ - abstract fun save(destination: F, apiProperties: ApiProperties): P - - fun setPluginsConfigs(pluginConfigs: HashMap<String, ArrayList<CommentedConfig>>) { - this.pluginsConfigs.clear() - this.pluginsConfigs.putAll(pluginConfigs) - } - - fun getPluginConfigs(pluginId: String): ArrayList<CommentedConfig> { - if (!pluginsConfigs.containsKey(pluginId)) { - pluginsConfigs[pluginId] = java.util.ArrayList(100) - } - return pluginsConfigs[pluginId]!! - } - - fun setClientMods(newClientMods: MutableList<String>) { - clientMods.clear() - newClientMods.removeIf { entry: String -> entry.isBlank() || entry.matches(whitespace) } - clientMods.addAll(newClientMods) - } - - fun setModsWhitelist(newModsWhitelist: MutableList<String>) { - modsWhitelist.clear() - newModsWhitelist.removeIf { entry: String -> entry.isBlank() || entry.matches(whitespace) } - modsWhitelist.addAll(newModsWhitelist) - } - - fun setInclusions(newCopyDirs: ArrayList<InclusionSpecification>) { - inclusions.clear() - inclusions.addAll(newCopyDirs) - } - - fun setScriptSettings(settings: HashMap<String, String>) { - scriptSettings.clear() - scriptSettings.putAll(settings) - } - - override fun toString(): String { - return "Pack(" + - " clientMods=$clientMods," + - " whiteList=$modsWhitelist," + - " copyDirs=$inclusions," + - " scriptSettings=$scriptSettings," + - " pluginsConfigs=$pluginsConfigs," + - " modpackDir='$modpackDir'," + - " minecraftVersion='$minecraftVersion'," + - " modloaderVersion='$modloaderVersion'," + - " javaArgs='$javaArgs'," + - " serverPackSuffix='$serverPackSuffix'," + - " serverIconPath='$serverIconPath'," + - " serverPropertiesPath='$serverPropertiesPath'," + - " modloader='$modloader'," + - " isServerIconInclusionDesired=$isServerIconInclusionDesired," + - " isServerPropertiesInclusionDesired=$isServerPropertiesInclusionDesired," + - " isZipCreationDesired=$isZipCreationDesired)" - } -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt deleted file mode 100644 index 358c6a781694be15178df190d497f87d0264fa06..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.File - -/** - * A PackConfig contains the settings required to create a server pack. - * A configuration model usually consists of: - * - * * Modpack directory - * * Minecraft version - * * Modloader - * * Modloader version - * * Java args for the start scripts - * * Files and directories to copy to the server pack - * * Whether to pre-install the modloader server - * * Whether to include a server-icon - * * Whether to include a server.properties - * * Whether to create a ZIP-archive - * - * @author Griefed - */ -expect open class PackConfig { - - val clientMods: ArrayList<String> - val modsWhitelist: ArrayList<String> - val inclusions: ArrayList<InclusionSpecification> - val scriptSettings: HashMap<String, String> - val pluginsConfigs: HashMap<String, ArrayList<CommentedConfig>> - var modpackDir: String - var minecraftVersion: String - var modloaderVersion: String - var javaArgs: String - var serverPackSuffix: String - var serverIconPath: String - var serverPropertiesPath: String - var modloader: String - var isServerIconInclusionDesired: Boolean - var isServerPropertiesInclusionDesired: Boolean - - fun getPluginConfigs(pluginId: String): ArrayList<CommentedConfig> - fun save(destination: File, apiProperties: ApiProperties): PackConfig - - /** - * Construct a new configuration model with custom values. - * - * @param clientMods List of clientside mods to exclude from the server pack. - * @param whitelist List of mods to include if present, regardless whether a match was found through [clientMods] - * @param copyDirs List of directories and/or files to include in the server pack. - * @param modpackDir The path to the modpack. - * @param minecraftVersion The Minecraft version the modpack uses. - * @param modLoader The modloader the modpack uses. Either `Forge`, `Fabric` or `Quilt`. - * @param modLoaderVersion The modloader version the modpack uses. - * @param javaArgs JVM flags to create the start scripts with. - * @param serverPackSuffix Suffix to create the server pack with. - * @param serverIconPath Path to the icon to use in the server pack. - * @param serverPropertiesPath Path to the server.properties to create the server pack with. - * @param includeServerIcon Whether to include the server-icon.png in the server pack. - * @param includeServerProperties Whether to include the server.properties in the server pack. - * @param includeZipCreation Whether to create a ZIP-archive of the server pack. - * @param scriptSettings Map containing key-value pairs to be used in start script creation. - * @param pluginsConfigs Configuration for any and all plugins used by this configuration. - * @author Griefed - */ - constructor( - clientMods: List<String>, - whitelist: List<String>, - copyDirs: List<InclusionSpecification>, - modpackDir: String, - minecraftVersion: String, - modLoader: String, - modLoaderVersion: String, - javaArgs: String, - serverPackSuffix: String, - serverIconPath: String, - serverPropertiesPath: String, - includeServerIcon: Boolean, - includeServerProperties: Boolean, - includeZipCreation: Boolean, - scriptSettings: HashMap<String, String>, - pluginsConfigs: HashMap<String, ArrayList<CommentedConfig>> - ) - - constructor() -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPack.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPack.kt deleted file mode 100644 index 9b54a57a7c0f9eb322be44015cbbe00afa3373f4..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPack.kt +++ /dev/null @@ -1,514 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.common.escapePath -import mu.KotlinLogging -import java.io.File - -/** - * Base-class for the [de.griefed.serverpackcreator.api.ServerPackHandler] to ensure we have the most important methods - * for generating a server pack from a given configuration. - * - * @author Griefed - */ -abstract class ServerPack<F, TS, TF> { - protected val log = KotlinLogging.logger {} - protected val modFileEndings = listOf("jar", "disabled") - protected val ending = "^\\.[0-9a-zA-Z]+$".toRegex() - protected val variables = """ - ### - # Remember: - # Escape \ and : in your Java path on Windows with another \ - # Example: - # From: C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\bin\java.exe - # To: C\:\\Program Files\\Eclipse Adoptium\\jdk-17.0.9.9-hotspot\\bin\\java.exe - # More on escape characters at https://en.wikipedia.org/wiki/Escape_character - ### - MINECRAFT_VERSION=SPC_MINECRAFT_VERSION_SPC - MODLOADER=SPC_MODLOADER_SPC - MODLOADER_VERSION=SPC_MODLOADER_VERSION_SPC - LEGACYFABRIC_INSTALLER_VERSION=SPC_LEGACYFABRIC_INSTALLER_VERSION_SPC - FABRIC_INSTALLER_VERSION=SPC_FABRIC_INSTALLER_VERSION_SPC - QUILT_INSTALLER_VERSION=SPC_QUILT_INSTALLER_VERSION_SPC - MINECRAFT_SERVER_URL=SPC_MINECRAFT_SERVER_URL_SPC - NEOFORGE_INSTALLER_URL=SPC_NEOFORGE_INSTALLER_URL_SPC - JAVA_ARGS="SPC_JAVA_ARGS_SPC" - JAVA="SPC_JAVA_SPC" - WAIT_FOR_USER_INPUT=SPC_WAIT_FOR_USER_INPUT_SPC - """.trimIndent() - - /** - * Acquire the destination directory in which the server pack will be generated. The directory in - * which the server pack will be created has all its spaces replaces with underscores, so - * `Survive Create Prosper 4 - 5.0.1` would become `Survive_Create_Prosper_4_-_5.0.1 ` - * Even though it is the year 2022, spaces in paths can and do still cause trouble. Such as for - * Powershell scripts. Powershell throws a complete fit if the path contains spaces....so, we - * remove them. Better safe than sorry. - * - * @param packConfig Model containing the modpack directory of the modpack from which the - * server pack will be generated. - * @return The complete path to the directory in which the server pack will be generated. - * @author Griefed - */ - abstract fun getServerPackDestination(packConfig: Pack<*, *, *>): String - - /** - * Create a server pack from a given instance of [PackConfig]. - * - * @param packConfig An instance of [PackConfig] which contains the - * configuration of the modpack from which the server pack is to be - * created. - * @return `true` if the server pack was successfully generated. - * @author Griefed - */ - abstract fun run(packConfig: PackConfig): Boolean - - /** - * Deletes all files, directories and ZIP-archives of previously generated server packs to ensure - * newly generated server pack is as clean as possible. This will completely empty the server pack - * directory, so use with caution! - * - * @param deleteZip Whether to delete the server pack ZIP-archive. - * @param destination The destination at which to clean up in. - * @author Griefed - */ - abstract fun cleanupEnvironment(deleteZip: Boolean, destination: String) - - /** - * Copies all specified directories and mods, excluding clientside-only mods, from the modpack - * directory into the server pack directory. If a `source/file;destination/file` - * -combination is provided, the specified source-file is copied to the specified - * destination-file. One of the reasons as to why it is recommended to run a given - * ConfigurationModel through the ConfigurationHandler first, is because the ConfigurationHandler - * will resolve links to their actual files first before then correcting the given - * ConfigurationModel. - * - * @param packConfig ConfigurationModel containing the modpack directory, list of - * directories and files to copy, list of clientside-only mods to - * exclude, the Minecraft version used by the modpack and server pack, - * and the modloader used by the modpack and server pack. - * @author Griefed - */ - fun copyFiles(packConfig: Pack<*, *, *>, overwrite: Boolean = true) = copyFiles( - packConfig.modpackDir, - packConfig.inclusions, - packConfig.clientMods, - packConfig.modsWhitelist, - packConfig.minecraftVersion, - getServerPackDestination(packConfig), - packConfig.modloader, - overwrite - ) - - /** - * Download and provide the improved Fabric Server Launcher, if it is available for the given - * Minecraft and Fabric version. - * - * @param packConfig ConfigurationModel containing the Minecraft and Fabric version for - * which to acquire the improved Fabric Server Launcher. - * @author Griefed - */ - fun provideImprovedFabricServerLauncher(packConfig: Pack<*, *, *>) = getImprovedFabricLauncher( - packConfig.minecraftVersion, packConfig.modloaderVersion, getServerPackDestination(packConfig) - ) - - /** - * Copies the server-icon.png into server pack. The sever-icon is automatically scaled to a - * resolution of 64x64 pixels. - * - * @param packConfig Containing the modpack directory to acquire the destination of the - * server pack and the path to the server icon to copy. - * @author Griefed - */ - fun copyIcon(packConfig: Pack<*, *, *>) = copyIcon(getServerPackDestination(packConfig), packConfig.serverIconPath) - - /** - * Copies the server.properties into server pack. - * - * @param packConfig Containing the modpack directory to acquire the destination of the - * server pack and the path to the server properties to copy. - * @author Griefed - */ - fun copyProperties(packConfig: Pack<*, *, *>) = - copyProperties(getServerPackDestination(packConfig), packConfig.serverPropertiesPath) - - /** - * Create start-scripts for the generated server pack using the templates the user has defined for - * their instance of ServerPackCreator in the property `de.griefed.serverpackcreator.serverpack.script.template`. - * - * @param packConfig Configuration model containing modpack specific values. keys to be - * replaced with their respective values in the start scripts, as well - * as the modpack directory from which the destination of the server - * pack is acquired. - * @param isLocal Whether the start scripts should be created for a locally usable - * server pack. Use `false` if the start scripts should be created - * for a server pack about to be zipped. - * @author Griefed - */ - fun createStartScripts(packConfig: Pack<*, *, *>, isLocal: Boolean) = - createStartScripts(packConfig.scriptSettings, getServerPackDestination(packConfig), isLocal) - - /** - * Creates a ZIP-archive of the server pack previously generated. Depending on the property - * `de.griefed.serverpackcreator.serverpack.zip.exclude.enabled`, files will be excluded. To customize - * the files which will be excluded, see the property `de.griefed.serverpackcreator.serverpack.zip.exclude` - * - * @param packConfig Contains the Minecraft version used by the modpack and server pack, - * whether the modloader server was installed, the modpack directory to - * acquire the destination of the server pack, the modloader used by the - * modpack and server pack and the modloader version. - * @author Griefed - */ - fun zipBuilder(packConfig: Pack<*, *, *>) = zipBuilder( - packConfig.minecraftVersion, - getServerPackDestination(packConfig), - packConfig.modloader, - packConfig.modloaderVersion - ) - - /** - * Copies all specified directories and mods, excluding clientside-only mods, from the modpack - * directory into the server pack directory. If a `source/file;destination/file` - * -combination is provided, the specified source-file is copied to the specified - * destination-file. One of the reasons as to why it is recommended to run a given - * ConfigurationModel through the ConfigurationHandler first, is because the ConfigurationHandler - * will resolve links to their actual files first before then correcting the given - * ConfigurationModel. - * - * @param modpackDir Files and directories are copied into the server_pack directory inside - * the modpack directory. - * @param inclusions All directories and files therein to copy to the server pack. - * @param clientMods List of clientside-only mods to exclude from the server pack. - * @param minecraftVersion The Minecraft version the modpack uses. - * @param destination The destination where the files should be copied to. - * @param modloader The modloader used for mod sideness detection. - * @author Griefed - */ - abstract fun copyFiles( - modpackDir: String, - inclusions: ArrayList<InclusionSpecification>, - clientMods: List<String>, - whitelist: List<String>, - minecraftVersion: String, - destination: String, - modloader: String, - overwrite: Boolean - ) - - /** - * Download and provide the improved Fabric Server Launcher, if it is available for the given - * Minecraft and Fabric version. - * - * @param minecraftVersion The Minecraft version the modpack uses and the Fabric Server Launcher - * should be downloaded for. - * @param fabricVersion The modloader version the modpack uses and the Fabric Server Launcher - * should be downloaded for. - * @param destination The destination of the server pack. - * @author Griefed - */ - abstract fun getImprovedFabricLauncher( - minecraftVersion: String, fabricVersion: String, destination: String - ) - - /** - * Copies the server-icon.png into server pack. The sever-icon is automatically scaled to a - * resolution of 64x64 pixels. - * - * @param destination The destination where the icon should be copied to. - * @param pathToServerIcon The path to the custom server-icon. - * @author Griefed - */ - abstract fun copyIcon(destination: String, pathToServerIcon: String) - - /** - * Copies the server.properties into server pack. - * - * @param destination The destination where the properties should be copied to. - * @param pathToServerProperties The path to the custom server.properties. - * @author Griefed - */ - abstract fun copyProperties(destination: String, pathToServerProperties: String) - - /** - * Create start-scripts for the generated server pack using the templates the user has defined for - * their instance of ServerPackCreator in the property `de.griefed.serverpackcreator.serverpack.script.template`. - * - * @param scriptSettings Key-value pairs to replace in the script. A given key in the script is - * replaced with its value. - * @param destination The destination where the scripts should be created in. - * @param isLocal Whether the start scripts should be created for a locally usable server - * pack. Use `false` if the start scripts should be created for a - * server pack about to be zipped. - * @author Griefed - */ - abstract fun createStartScripts( - scriptSettings: HashMap<String, String>, destination: String, isLocal: Boolean - ) - - /** - * Creates a ZIP-archive of specified directory. Depending on the property `de.griefed.serverpackcreator.serverpack.zip.exclude.enabled`, - * files will be excluded. To customize the files which will be excluded, the property `de.griefed.serverpackcreator.serverpack.zip.exclude` - * must be configured accordingly. The created ZIP-archive will be stored alongside the specified - * destination, with `_server_pack.zip` appended to its name. - * - * @param minecraftVersion Determines the name of the Minecraft server JAR to exclude - * from the ZIP-archive if the modloader is Forge. - * @param destination The destination where the ZIP-archive should be created in. - * @param modloader The modloader the modpack and server pack use. - * @param modloaderVersion The modloader version the modpack and server pack use. - * @author Griefed - */ - abstract fun zipBuilder( - minecraftVersion: String, - destination: String, - modloader: String, - modloaderVersion: String - ) - - /** - * Generates a list of all mods to include in the server pack. If the user specified - * clientside-mods to exclude, and/or if the automatic exclusion of clientside-only mods is - * active, they will be excluded, too. - * - * @param modsDir The mods-directory of the modpack of which to generate a list of - * all its contents. - * @param userSpecifiedClientMods A list of all clientside-only mods. - * @param userSpecifiedWhitelist A list of mods to include regardless if a match was found in [userSpecifiedClientMods]. - * @param minecraftVersion The Minecraft version the modpack uses. When the modloader is - * Forge, this determines whether Annotations or Tomls are - * scanned. - * @param modloader The modloader the modpack uses. - * @return A list of all mods to include in the server pack. - * @author Griefed - */ - abstract fun getModsToInclude( - modsDir: String, - userSpecifiedClientMods: List<String>, - userSpecifiedModsWhitelist: List<String>, - minecraftVersion: String, - modloader: String - ): List<F> - - /** - * Check whether the installer for the given combination of Minecraft version, modloader and - * modloader version is available/reachable. - * - * @param mcVersion The Minecraft version. - * @param modloader The modloader. - * @param modloaderVersion The modloader version. - * @return `true` if the installer can be downloaded. - * @author Griefed - */ - abstract fun serverDownloadable( - mcVersion: String, modloader: String, modloaderVersion: String - ): Boolean - - /** - * Deletes all files, directories and ZIP-archives of previously generated server packs to ensure - * newly generated server pack is as clean as possible. This will completely empty the server pack - * directory, so use with caution! - * - * @param deleteZip Whether to delete the server pack ZIP-archive. - * @param packConfig ConfigurationModel containing the modpack directory from which the - * destination of the server pack is acquired. - * @author Griefed - */ - fun cleanupEnvironment(deleteZip: Boolean, packConfig: Pack<*, *, *>) = - cleanupEnvironment(deleteZip, getServerPackDestination(packConfig)) - - /** - * Generates a list of all mods to include in the server pack. If the user specified - * clientside-mods to exclude, and/or if the automatic exclusion of clientside-only mods is - * active, they will be excluded, too. - * - * @param packConfig The configurationModel containing the modpack directory, list of - * clientside-only mods to exclude, Minecraft version used by the - * modpack and server pack and the modloader used by the modpack and - * server pack. - * @return A list of all mods to include in the server pack. - * @author Griefed - */ - fun getModsToInclude(packConfig: Pack<*, *, *>) = getModsToInclude( - "${packConfig.modpackDir}${File.separator}mods", - packConfig.clientMods, - packConfig.modsWhitelist, - packConfig.minecraftVersion, - packConfig.modloader - ) - - /** - * Gather a list of all files from an explicit source;destination-combination. If the source is a - * file, a singular [ServerPackFile] is returned. If the source is a directory, then all - * files in said directory are returned. - * - * @param source source-file/directory - * @param destination destination-file/directory - * @param modpackDir The modpack-directory. - * @param serverPackDestination The destination, normally the server pack-directory. - * @return List of [ServerPackFile]. - * @author Griefed - */ - abstract fun getExplicitFiles( - source: String, destination: String, modpackDir: String, serverPackDestination: String - ): MutableList<ServerPackFile> - - /** - * Recursively acquire all files and directories inside the given save-directory as a list of - * [ServerPackFile]. - * - * @param clientDir Target directory in the server pack. Usually the name of the world. - * @param directory The save-directory. - * @param destination The destination of the server pack. - * @return List of [ServerPackFile] which will be included in the server pack. - * @author Griefed - */ - abstract fun getSaveFiles( - clientDir: String, directory: String, destination: String - ): List<ServerPackFile> - - /** - * Recursively acquire all files and directories inside the given directory as a list of - * [ServerPackFile]. - * - * @param source The source-directory. - * @param destination The server pack-directory. - * @return List of files and folders of the server pack. - * @author Griefed - */ - abstract fun getDirectoryFiles( - source: String, destination: String - ): List<ServerPackFile> - - /** - * Check whether the given file or directory should be excluded from the server pack. - * - * @param modpackDir The directory where the modpack resides in. Used to filter out any - * unwanted directories using the property `de.griefed.serverpackcreator.configuration.directories.shouldexclude`. - * @param fileToCheckFor The file or directory to check whether it should be excluded from the - * server pack. - * @param exclusions Files or directories determined by ServerPackCreator to be excluded from - * the server pack - * @return `true` if the file or directory was determined to be excluded from the server - * pack. - * @author Griefed - */ - abstract fun excludeFileOrDirectory(modpackDir: String, fileToCheckFor: F, exclusions: List<Regex>): Boolean - - /** - * Cleans up the server_pack directory by deleting left-over files from modloader installations - * and version checking. - * - * @param destination The destination where we should clean up in. - * @author Griefed - */ - abstract fun postInstallCleanup(destination: String) - - /** - * Exclude every automatically discovered clientside-only mod from the list of mods in the - * modpack. - * - * @param autodiscoveredClientMods Automatically discovered clientside-only mods in the modpack. - * @param modsInModpack All mods in the modpack. - * @author Griefed - */ - abstract fun excludeMods(autodiscoveredClientMods: List<F>, modsInModpack: TF) - - /** - * Exclude user-specified mods from the server pack. - * - * @param userSpecifiedExclusions User-specified clientside-only mods to exclude from the server - * pack. - * @param modsInModpack Every mod ending with `jar` or `disabled` in the - * modpack. - * @author Griefed - */ - abstract fun excludeUserSpecifiedMod(userSpecifiedExclusions: List<String>, userSpecifiedModsWhitelist: List<String>, modsInModpack: TF) - - /** - * Walk through the specified directory and add a [ServerPackFile] for every file/folder - * which matches the given regex. - * - * @param source The source-directory to walk through and perform regex-matches in. - * @param destination The destination-directory where a matched file should be copied to, - * usually the server pack directory. - * @param regex Regex with which to perform matches against files in the - * source-directory. - * @param serverPackFiles List of files to copy to the server pack to which any matched file will - * be added to. - * @author Griefed - */ - abstract fun regexWalk(source: F, destination: String, regex: Regex, serverPackFiles: MutableList<ServerPackFile>) - - /** - * Go through the mods in the modpack and exclude any of the user-specified clientside-only mods - * according to the filter method set in the serverpackcreator.properties. For available filters, - * see [ExclusionFilter]. - * - * @param userSpecifiedExclusion The client mod to check whether it needs to be excluded. - * @param modsInModpack All mods in the modpack. - * - * @author Griefed - */ - abstract fun exclude(userSpecifiedExclusion: String, userSpecifiedModsWhitelist: List<String>, modsInModpack: TF) - - /** - * Cleans up the server_pack directory by deleting left-over files from modloader installations - * and version checking. - * - * @param packConfig Containing the Minecraft version used by the modpack and server pack, - * the modloader version used by the modpack and server pack and the - * modpack directory to acquire the destination of the server pack. - * @author Griefed - */ - fun cleanUpServerPack(packConfig: Pack<*, *, *>) = postInstallCleanup(getServerPackDestination(packConfig)) - - /** - * Delete files and folders from previous installations to prevent errors during server installation due to already - * existing files. - * @param destination The folder in which to perform the cleanup operations. - * - * @author Griefed - */ - abstract fun preInstallationCleanup(destination: String) - - /** - * Replace placeholders for script settings in the given [content] with their respective values, both provided via the - * HashMap [scriptSettings]. - * - * @param isLocal Whether the start scripts should be created for a locally usable server pack. Use false if the - * start scripts should be created for a server pack about to be zipped - * - * @author Griefed - */ - fun replacePlaceholders(isLocal: Boolean, content: String, scriptSettings: HashMap<String, String>): String { - var result = content - for ((key, value) in scriptSettings) { - result = if (isLocal && key == "SPC_JAVA_SPC") { - result.replace(key, value.escapePath()) - } else if (!isLocal && key == "SPC_JAVA_SPC") { - result.replace(key, "java") - } else { - result.replace(key, value) - } - } - return result - } -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt deleted file mode 100644 index ba1c894ba1da38dc407d36789dee1d0e801a741b..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -/** - * A ServerPackFile represents a source-destination-combination of two files/directories. The - * source is the file/directory, usually in the modpack, whilst the destination is the file to - * which the source is supposed to be copied to in the server pack. - * - * @author Griefed - */ -expect class ServerPackFile { - - /** - * Copy the file to the server pack. - * - * @author Griefed - */ - fun copy(overwrite: Boolean = true) -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt deleted file mode 100644 index 4ca83b83220366c0f2a7b539b902b216a620f873..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.modscanning.ModScanner -import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.versionmeta.VersionMeta - -/** - * Everything revolving around creating a server pack. The intended workflow is to create a [PackConfig] and run - * it through any of the available [ConfigurationHandler.checkConfiguration]-variants, and then call [run] with the - * previously checked configuration model. You may run with an unchecked configuration model, but no guarantees or - * promises, yes not even support, is given for running a model without checking it first. - * - * This class also gives you access to the methods which are responsible for creating the server pack, in case you want - * to do things manually. - * - * If you want to execute extensions, see - * * [ApiPlugins.runPreGenExtensions]}, - * * [ApiPlugins.runPreZipExtensions]} and - * * [ApiPlugins.runPostGenExtensions]. - * - * @param apiProperties Base settings of ServerPackCreator needed for server pack generation, such as access to the - * directories, script templates and so on. - * @param versionMeta Meta for modloader and version specific checks and information gathering, such as modloader - * installer downloads. - * @param utilities Common utilities used across ServerPackCreator. - * @param apiPlugins Any addons which a user may want to execute during the generation of a server pack. - * @param modScanner In case a user enabled automatic sideness detection, this will exclude clientside-only mods - * from a server pack. - * - * @author Griefed - */ -expect class ServerPackHandler( - apiProperties: ApiProperties, - versionMeta: VersionMeta, - utilities: Utilities, - apiPlugins: ApiPlugins, - modScanner: ModScanner -) \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt deleted file mode 100644 index c9e8b263f4149016f981120bd1e5a4e9643b0dac..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("UnusedReceiverParameter") - -package de.griefed.serverpackcreator.api.modscanning - -/** - * `fabric.mod.json`-based scanning of Fabric-Minecraft mods. - * - * @author Griefed - */ -expect class FabricScanner - -val FabricScanner.dependencyExclusions: Regex - get() = "(fabric|fabricloader|java|minecraft)".toRegex() \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt deleted file mode 100644 index 316a08447bae714386ba650685db4bf4578a824c..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("UnusedReceiverParameter") - -package de.griefed.serverpackcreator.api.modscanning - -/** - * `fml-cache-annotation.json`-based scanning of Forge-Minecraft mods of older versions. - * - * @author Griefed - */ -expect class ForgeAnnotationScanner - -val ForgeAnnotationScanner.dependencyCheck: Regex - get() = "(before:.*|after:.*|required-after:.*|)".toRegex() -val ForgeAnnotationScanner.dependencyReplace: Regex - get() = "(@.*|\\[.*)".toRegex() \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt deleted file mode 100644 index 7617602c76a9808edcb929841554a7daffc14cf1..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("UnusedReceiverParameter") - -package de.griefed.serverpackcreator.api.modscanning - -/** - * `mods.toml`-based scanning of Fabric-Minecraft mods for Minecraft 1.16.5 and newer. - * - * @author Griefed - */ -expect open class ForgeTomlScanner { - open val modsToml: String -} - -val ForgeTomlScanner.forgeMinecraft: Regex - get() = "^(forge|minecraft)$".toRegex() -val ForgeTomlScanner.bothServer: Regex - get() = "^(BOTH|SERVER)$".toRegex() \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt deleted file mode 100644 index 900ccf41894a98c5e220ae19f03e8aa0105c8950..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.modscanning - -/** - * Easy-access class for scanning of mods inside a modpack. This class itself does not do much, - * other than bringing the different mod-scanners to one place for ease-of-use. - * - * @param forgeAnnotationScanner For scanning `fml-cache-annotation.json` - * @param fabricScanner For scanning `fabric.mod.json` - * @param quiltScanner For scanning `quilt.mod.json` - * @param forgeTomlScanner For scanning `mods.toml` - * - * @author Griefed - */ -expect class ModScanner( - forgeAnnotationScanner: ForgeAnnotationScanner, - fabricScanner: FabricScanner, - quiltScanner: QuiltScanner, - forgeTomlScanner: ForgeTomlScanner, - neoForgeTomlScanner: NeoForgeTomlScanner -) { - val forgeAnnotationScanner: ForgeAnnotationScanner - val fabricScanner: FabricScanner - val quiltScanner: QuiltScanner - val forgeTomlScanner: ForgeTomlScanner - val neoForgeTomlScanner: NeoForgeTomlScanner -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt deleted file mode 100644 index e22d9f9a9cd24cb745f9f8931f0701cdea3d1804..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt +++ /dev/null @@ -1,7 +0,0 @@ -package de.griefed.serverpackcreator.api.modscanning - -import de.griefed.serverpackcreator.api.utilities.TomlParser - -expect class NeoForgeTomlScanner(tomlParser: TomlParser) : ForgeTomlScanner { - override val modsToml: String -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt deleted file mode 100644 index a49001b8104709ad6a4d1a8601f20ace6ea0191d..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("UnusedReceiverParameter") - -package de.griefed.serverpackcreator.api.modscanning - -/** - * `quilt.mod.json`-based scanning of Fabric-Minecraft mods. - * - * @author Griefed - */ -expect class QuiltScanner - -val QuiltScanner.dependencyExclusions: Regex - get() = "(quilt_loader|quilt_base|quilted_fabric_api|java|minecraft)".toRegex() \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionPoint.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionPoint.kt deleted file mode 100644 index 6292ab44438b43193668211f62c9bb0c371b5c69..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionPoint.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.plugins - -/** - * The extension point interface should provide an entry point from which to expand plugins from. See the implementation - * in the JVM backend for an example with the pf4j-library. - * - * @author Griefed - */ -expect interface ExtensionPoint \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt deleted file mode 100644 index 163e922528369aab41b0e572246f2f8be1901c0c..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.plugins.swinggui - -import de.griefed.serverpackcreator.api.ApiProperties -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.versionmeta.VersionMeta - -/** - * Configuration panel for a given plugins configuration in the context of a server pack configuration. An - * extension config panel should provide configuration options relevant to one server pack and one server pack only. - * Every server pack configuration will receive/store/load one config for your plugin's panel. - * - * @author Griefed - */ -expect abstract class ExtensionConfigPanel protected constructor( - versionMeta: VersionMeta, - apiProperties: ApiProperties, - utilities: Utilities, - serverPackConfigTab: ServerPackConfigTab, - pluginConfig: Optional<CommentedConfig>, - extensionName: String, - pluginID: String -) { - - val serverPackExtensionConfig: ArrayList<CommentedConfig> - - /** - * Retrieve this extensions server pack specific configuration. When no configuration with configs - * for this extension has been loaded yet, the returned list is empty. Fill it with life! - * - * @return Config list to be used in subsequent server pack generation runs, by various other - * extensions. - * @author Griefed - */ - abstract fun serverPackExtensionConfig(): ArrayList<CommentedConfig> - - /** - * Pass the extension configuration to the configuration panel, so it can then, in turn, load the - * available configurations and make them editable, if so desired. - * - * @param serverPackExtensionConfig The list of extension configurations to pass to the - * configuration panel. - * @author Griefed - */ - abstract fun setServerPackExtensionConfig( - serverPackExtensionConfig: ArrayList<CommentedConfig> - ) - - /** - * Clear the interface, or in other words, reset this extensions config panel UI. If your Config - * Panel Extensions has no elements you wish to reset, then simply overwrite this method with an - * empty method body. - * - * The `clear()`-method is called when the owning `TabCreateServerPack.clearInterface()`-method is called. - */ - abstract fun clear() -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt deleted file mode 100644 index 4a26f5a7c94c0800e97447cef6295da497fe255e..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.plugins.swinggui - -/** - * An extension tab is a Java Swing component which adds another, plugin specific, tab to ServerPackCreators GUI. Said tab - * should provide the user with the ability to configure plugin-global settings, to be applied to every server pack - * generation run. - * - * @author Griefed - */ -expect abstract class ExtensionTab \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt deleted file mode 100644 index e76cfd89470c01ca31c352453033bc2c3638f51a..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.plugins.swinggui - -import de.griefed.serverpackcreator.api.ApiProperties -import de.griefed.serverpackcreator.api.plugins.ExtensionInformation -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Icon -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.versionmeta.VersionMeta - -/** - * Extension point for plugins which add additional tabs to the ServerPackCreator GUI. - * - * @author Griefed - */ -@Suppress("unused") -expect interface TabExtension : ExtensionInformation { - /** - * @param versionMeta Instance of [VersionMeta] so you can work with available Minecraft, Forge, Fabric, - * LegacyFabric and Quilt versions. - * @param apiProperties Instance of [ApiProperties] The current configuration of ServerPackCreator, - * like the default list of clientside-only mods, the server pack directory etc. - * @param utilities Instance of [Utilities] commonly used across ServerPackCreator. - * @param pluginConfig Plugin specific configuration conveniently provided by ServerPackCreator. This is - * the global configuration of the plugin which provides the ConfigPanelExtension to ServerPackCreator. - * @param configFile The config-file corresponding to the ID of the plugin, wrapped in an Optional. - * @return Component to add to the ServerPackCreator GUI as a tab. - * @author Griefed - */ - fun getTab( - versionMeta: VersionMeta, - apiProperties: ApiProperties, - utilities: Utilities, - pluginConfig: Optional<CommentedConfig>, - configFile: Optional<File> - ): ExtensionTab - - /** - * Get the [Icon] for this tab to display to the ServerPackCreator GUI. - * - * @return Icon to be used by the added tab. - * @author Griefed - */ - val icon: Icon? - - /** - * Get the title of this tab to display in the ServerPackCreator GUI. - * - * @return The title of this plugin's tabbed pane. - * @author Griefed - */ - val title: String - - /** - * Get the tooltip for this tab to display in the ServerPackCreator GUI. - * - * @return The tooltip of this plugin's tabbed pane. - * @author Griefed - */ - val tooltip: String - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/CommentedConfig.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/CommentedConfig.kt deleted file mode 100644 index eab68ae25ead5087238c39f0bf5b64d351e34a4c..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/CommentedConfig.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities - -/** - * A modifiable config that supports comments. - * @author Griefed - */ -expect interface CommentedConfig \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/File.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/File.kt deleted file mode 100644 index ae8ed9e44628b30fb66d3c59c3a14bc138b1edc9..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/File.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("unused") - -package de.griefed.serverpackcreator.api.utilities - -/** - * Class giving access to several things like: - * - path - * - absolute path - * - parent-directory - * - whether an instance is a file or directory - * - separator / path separator depending on the filesystem - * - constructor accepting a parent and the actual file - * - constructor accepting the full path of the file - * - constructor accepting the relative path to the file in relation to the current working directory - * - name of the file - * - check read and write access - * - whether the file exists - * - deletion - * - recursive deletion if the file is a directory - * - list contents of the file if it is a directory - * - create a directory - * - rename - * - move - * - copy - * - copy recursively - * - filesize - * - directory size - * - * See the File-class from Java for reference. - * - * @author Griefed - */ -expect class File \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Icon.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Icon.kt deleted file mode 100644 index c9e92fcdbc34bafa7eb34105ef6ae5476e02607c..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Icon.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities - -/** - * Fixed size picture for displaying and decorating components. - * - * This class should all you to create images from files and resources, as well as scaling said images and saving them - * to disk. - * - * See javax.swing.Icon and javax.swing.ImageIcon for reference - * - * @author Griefed - */ -expect interface Icon \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Optional.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Optional.kt deleted file mode 100644 index 77e135ac51f104686116671fff578cc0ba1eec25..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/Optional.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("unused") - -package de.griefed.serverpackcreator.api.utilities - -/** - * Container object containing a value which may or may not be null, which allows for checking said value for null-ness, - * retrieval of said value if it is not null, checking if a value is present. - * - * See java.util.Optional for reference. - * - * @author Griefed - */ -expect class Optional<T> \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/TomlParser.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/TomlParser.kt deleted file mode 100644 index 01e58fae0000a3f4c1a91f803081f0e57ccdc4db..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/TomlParser.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities - -/** - * A configurable parser of TOML configurations. - * @author Griefed - */ -expect class TomlParser \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/URL.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/URL.kt deleted file mode 100644 index 80bf0c2b1a11e3ab6ae33871897c45eedf39dcb4..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/URL.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities - -/** - * Uniform Resource Locator for files, resources, web-addresses. - * - * See java.net.URL for reference. - * - * @author Griefed - */ -expect class URL \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt deleted file mode 100644 index 62cdf69b98a717b066b1f1e322178bf4cc03c35a..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt +++ /dev/null @@ -1,214 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -import de.griefed.serverpackcreator.api.utilities.File - -/** - * Utility-class revolving around various file-interactions. - * - * @author Griefed - */ -expect class FileUtilities { - /** - * Move a file from source to destination, and replace the destination file if it exists. - * - * @param sourceFile The source file. - * @param destinationFile The destination file to be replaced by the source file. - * @return Returns true if the file was successfully replaced. - * @author Griefed - */ - fun replaceFile(sourceFile: File, destinationFile: File): Boolean - - /** - * Unzips the downloaded modpack ZIP-archive to the specified directory. - * - * @param zipFile The path to the ZIP-archive which we want to unzip. - * @param destinationDirectory The directory into which the ZIP-archive will be unzipped into. - * @author Griefed - */ - fun unzipArchive(zipFile: String, destinationDirectory: String) - - /** - * Check the given file for its type, whether it is a regular file, a Windows link or a UNIX - * symlink. - * - * @param file The file to check - * @return The type of the given file. Either [FileType.FILE], [FileType.LINK] or - * [FileType.SYMLINK] - * @author Griefed - */ - fun checkFileType(file: String): FileType - - /** - * Check the given file for its type, whether it is a regular file, a Windows link or a UNIX - * symlink. - * - * @param file The file to check - * @return The type of the given file. Either [FileType.FILE], [FileType.LINK] or - * [FileType.SYMLINK] - * @author Griefed - */ - fun checkFileType(file: File): FileType - - /** - * Check if the given file is a UNIX symlink or Windows lnk. - * - * @param file The file to check. - * @return `true` if the given file is a UNIX symlink or Windows lnk. - * @author Griefed - */ - fun isLink(file: File): Boolean - - /** - * Resolve a given link/symlink to its source. - * - * @param link The link you want to resolve. - * @return Path to the source of the link. If the specified file is not a link, the path to the - * passed file is returned. - * @author Griefed - */ - fun resolveLink(link: File): String - - /** - * Check the given file or directory for read-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if read-permissions are set. - * @author Griefed - */ - fun isReadPermissionSet(fileOrDirectory: String): Boolean - - /** - * Check the given file or directory for read-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if read-permissions are set. - * @author Griefed - */ - fun isReadPermissionSet(fileOrDirectory: File): Boolean - - /** - * Check the given file or directory for write-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if write-permissions are set. - * @author Griefed - */ - fun isWritePermissionSet(fileOrDirectory: String): Boolean - - /** - * Check the given file or directory for write-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if write-permissions are set. - * @author Griefed - */ - fun isWritePermissionSet(fileOrDirectory: File): Boolean - - /** - * Open the specified folder in the file explorer. - * - * @param folder The folder to open. - * @author Griefed - */ - fun openFolder(folder: String) - - /** - * Open the specified folder in the file explorer. - * - * @param folder The folder to open. - * @author Griefed - */ - fun openFolder(folder: File) - - /** - * Open the specified file in an editor. - * - * @param fileToOpen The file to open. - * @author Griefed - */ - fun openFile(fileToOpen: String) - - /** - * Open the specified file in an editor. - * - * @param fileToOpen The file to open. - * @author Griefed - */ - fun openFile(fileToOpen: File) -} - -/** - * Try and delete this file or directory quietly. Deleting something quietly means that - * * No guarantee is made whether the file or directory is successfully deleted - * * No exceptions are thrown if an error occurs - * * No information is carried outside should an exception occur, meaning you have no information about why the deletion, if it failed - * - * @author Griefed - */ -expect fun File.deleteQuietly(): Boolean - -/** - * Acquire the size of this file or directory in bytes. If this file-object denotes a directory, then the size of all - * files in the directory will be checked and the sum of them returned. - * - * @return The filesize of this file, or sum of sizes of all files in this directory. - * @author Griefed - */ -expect fun File.size(): Double - -/** - * Walk this directory and return all file-objects which match any of the regular expressions in the provided list. - * - * @param filters List of regular expressions to use for filtering. - * @param direction The direction in which to walk the directory. Default is [FileWalkDirection.TOP_DOWN]. - * @return All files inside this directory which matched the given filters. - * @author Griefed - */ -expect fun File.regexWalk( - filters: List<Regex>, - direction: FileWalkDirection = FileWalkDirection.TOP_DOWN -): MutableList<File> - -/** - * Walk this directory and return all file-objects which match the specified filter-type using the passed list of filters. - * - * @param filters List of Strings to use for filtering - * @param filterType Whether to filter by [FilterType.CONTAINS] (default), [FilterType.ENDS_WITH] or [FilterType.STARTS_WITH]. - * @param direction The direction in which to walk the directory. Default is [FileWalkDirection.TOP_DOWN]. - * @return All files inside this directory which matched the given filters. - * @author Griefed - */ -expect fun File.filteredWalk( - filters: List<String>, - filterType: FilterType = FilterType.CONTAINS, - direction: FileWalkDirection = FileWalkDirection.TOP_DOWN, - recursive: Boolean = true -): MutableList<File> - -/** - * All parent directories are created, but not the file itself. - * - * @param create Whether the file or directory should be created. - * @param directory Whether a directory or file should be created - * @author Griefed - */ -expect fun File.createDirectories(create: Boolean = false, directory: Boolean = false) \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilitiesExtensions.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilitiesExtensions.kt deleted file mode 100644 index 8531fc87931a86d77ff7b12a6ace4976fe8c8958..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilitiesExtensions.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -@file:Suppress("unused") - -package de.griefed.serverpackcreator.api.utilities.common - -import de.griefed.serverpackcreator.api.utilities.File - -/** - * Check the given file or directory for read- and write-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if both read- and write-permissions are set. - * @author Griefed - */ -fun FileUtilities.isReadWritePermissionSet(fileOrDirectory: String) = - isReadPermissionSet(fileOrDirectory) && isWritePermissionSet(fileOrDirectory) - -/** - * Check the given file or directory for read- and write-permission. - * - * @param fileOrDirectory File or directory. - * @return `true` if both read- and write-permissions are set. - * @author Griefed - */ -fun FileUtilities.isReadWritePermissionSet(fileOrDirectory: File) = - isReadPermissionSet(fileOrDirectory) && isWritePermissionSet(fileOrDirectory) \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt deleted file mode 100644 index e68a04a1444cb913a9b1875717774dd05df44929..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -/** - * Some utilities used across ServerPackCreator, revolving around interacting with JAR-files. - * - * @author Griefed - */ -expect class JarUtilities \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt deleted file mode 100644 index a7709eebafc4d3c637351d6a9a8bc9d095d6f5d6..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -/** - * JSON-based utility methods for acquiring and working with JSON from files and objects. - * - * @author Griefed - */ -expect class JsonUtilities diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt deleted file mode 100644 index 11f56179f63f5ea59b8bd21b6e32cde276ad49b8..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -/** - * Utility-class revolving around the system we are running on. - * - * @author Griefed - */ -expect class SystemUtilities { - fun acquireJavaPathFromSystem(): String -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt deleted file mode 100644 index 19303fd598f9feb927679887886cb01c57a01c70..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -/** - * Access to any and all utility-classes we may have. - * - * @author Griefed - */ -expect class Utilities { - val booleanUtilities: BooleanUtilities - val fileUtilities: FileUtilities - val jarUtilities: JarUtilities - val listUtilities: ListUtilities - val stringUtilities: StringUtilities - val systemUtilities: SystemUtilities - val webUtilities: WebUtilities - val jsonUtilities: JsonUtilities - val xmlUtilities: XmlUtilities -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt deleted file mode 100644 index a0fa41f67496f6edcb7151b0a10dd2a9e0396718..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt +++ /dev/null @@ -1,133 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.URL - -/** - * Utility-class revolving around interactions with web-resources. - * - * @author Griefed - */ -expect class WebUtilities { - /** - * Download the file from the specified URL to the specified destination, replacing the file if it - * already exists. The destination should end in a valid filename. Any directories up to the - * specified file will be created. - * - * @param fileDestination The file to store the web-resource in. Examples: - * * /tmp/some_folder/foo.bar - * * C:/temp/some_folder/bar.foo - * @param downloadURL The URL to the file you want to download. - * @return Boolean. Returns true if the file could be found on the hosts' filesystem. - * @author Griefed - */ - fun downloadAndReplaceFile(fileDestination: File, downloadURL: URL): Boolean - - /** - * Download the file from the specified URL to the specified destination. The destination should - * end in a valid filename. Any directories up to the specified file will be created. - * - * @param file The destination where the file should be stored. Must include the filename as well. Examples: - * * /tmp/some_folder/foo.bar - * * C:/temp/some_folder/bar.foo - * @param downloadURL The URL to the file you want to download. - * @return true if the file was created. - * @author Griefed - */ - fun downloadFile(file: File, downloadURL: URL): Boolean - - /** - * Open the given url in a browser. - * - * @param url The URI to the website you want to open. - * @author Griefed - */ - fun openLinkInBrowser(url: URL) - - /** - * Checks the filesize of the given file whether it is smaller or bigger than 10 MB. - * - * @param fileToCheck The file or directory to check. - * @return Boolean. True if the file is smaller, false if the file is bigger than 10 MB. - * @author Griefed - */ - fun hasteBinPreChecks(fileToCheck: File): Boolean - - /** - * Create a HasteBin post from a given text file. The text file provided is read into a string and - * then passed onto [Haste zneix](https://haste.zneix.eu) which creates a HasteBin post - * out of the passed String and returns the URL to the newly created post. - * - * Created with the help of [kaimu-ken's hastebin.java (MIT License)](https://github.com/kaimu-kun/hastebin.java) - * and edited to use HasteBin fork [zneix/haste-server](https://github.com/zneix/haste-server). My fork of kaimu-kun's - * hastebin.java is available at [Griefed/hastebin.java](https://github.com/Griefed/hastebin.java). - * - * @param textFile The file which will be read into a String of which then to create a HasteBin - * post of. - * @return String. Returns a String containing the URL to the newly created HasteBin post. - * @author [kaimu-kun/hastebin.java](https://github.com/kaimu-kun) - * @author Griefed - */ - fun createHasteBinFromFile(textFile: File): String - - /** - * Get the response of a call to a URL as a string. - * - * @param url The URL you want to get the response from - * @return The response. - */ - fun getResponseAsString(url: URL): String - - /** - * Get the response-code of a call to a URL as an integer. - * - * @param url The URL you want to get the response from - * @return The response. - */ - fun getResponseCode(url: URL): Int - - /** - * Check the availability of the host of the given URL and whether the URL gives a status code of - * 200. Only when both the host is available and the URL returns a status code of 200 does this - * method return `true`. - * - * @param url The URL of which to check for host-availability. - * @return `true` if, and only if, the host is available and the URL returns the status code 200. - */ - fun isReachable(url: URL): Boolean - - /** - * Create a HasteBin post from a given string. The text provided passed onto [Haste zneix](https://haste.zneix.eu) - * which creates a HasteBin post out of the passed String and returns the URL to the newly created post. - * - * Created with the help of [kaimu-ken's hastebin.java (MIT License)](https://github.com/kaimu-kun/hastebin.java) - * and edited to use HasteBin fork [zneix/haste-server](https://github.com/zneix/haste-server). My fork of kaimu-kun's - * hastebin.java is available at [Griefed/hastebin.java](https://github.com/Griefed/hastebin.java). - * - * @param text The file which will be read into a String of which then to create a HasteBin - * post of. - * @return String. Returns a String containing the URL to the newly created HasteBin post. - * @author [kaimu-kun/hastebin.java](https://github.com/kaimu-kun) - * @author Griefed - */ - fun createHasteBinFromString(text: String): String -} diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt deleted file mode 100644 index dd91741447c56ca0d3c32c58d7542648438736da..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities.common - -/** - * Commonly used XML utilities. - * - * @author Griefed - */ -expect class XmlUtilities \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt deleted file mode 100644 index 1609175e5d64058ff31e470f70788efaf3cdc551..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta - -import de.griefed.serverpackcreator.api.utilities.URL -import de.griefed.serverpackcreator.api.versionmeta.fabric.FabricMeta -import de.griefed.serverpackcreator.api.versionmeta.forge.ForgeMeta -import de.griefed.serverpackcreator.api.versionmeta.legacyfabric.LegacyFabricMeta -import de.griefed.serverpackcreator.api.versionmeta.minecraft.MinecraftMeta -import de.griefed.serverpackcreator.api.versionmeta.neoforge.NeoForgeMeta -import de.griefed.serverpackcreator.api.versionmeta.quilt.QuiltMeta - -/** - * VersionMeta containing available versions and important details for Minecraft, Fabric and Forge. - * - * @author Griefed - */ -expect class VersionMeta { - @Suppress("MemberVisibilityCanBePrivate") - val legacyFabricUrlGame: URL - - @Suppress("MemberVisibilityCanBePrivate") - val legacyFabricUrlLoader: URL - - @Suppress("MemberVisibilityCanBePrivate") - val legacyfabricUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val minecraftUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val forgeUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val oldNeoForgeUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val newNeoForgeUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val fabricUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val fabricUrlIntermediariesManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val fabricUrlInstallerManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val quiltUrlManifest: URL - - @Suppress("MemberVisibilityCanBePrivate") - val quiltUrlInstallerManifest: URL - - /** - * The MinecraftMeta instance for working with Minecraft versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val minecraft: MinecraftMeta - - /** - * The QuiltMeta-instance for working with Fabric versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val fabric: FabricMeta - - /** - * The ForgeMeta-instance for working with Forge versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val forge: ForgeMeta - - /** - * The NeoForgeMeta-instance for working with NeoForge versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val neoForge: NeoForgeMeta - - /** - * The QuiltMeta-instance for working with Quilt versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val quilt: QuiltMeta - - /** - * The LegacyFabric-instance for working with Legacy Fabric versions and information about them. - */ - @Suppress("MemberVisibilityCanBePrivate") - val legacyFabric: LegacyFabricMeta -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt deleted file mode 100644 index 5d6af4e41c7eeaa93e96a78778ffe6c428b8a5a1..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta.fabric - -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.URL -import de.griefed.serverpackcreator.api.versionmeta.Meta - -/** - * Fabric meta containing information about available Quilt versions and installers. - * - * @author Griefed - */ -@Suppress("unused") -expect class FabricMeta : Meta { - override fun latestLoader(): String - override fun releaseLoader(): String - override fun latestInstaller(): String - override fun releaseInstaller(): String - override fun loaderVersionsListAscending(): MutableList<String> - override fun loaderVersionsListDescending(): List<String> - override fun loaderVersionsArrayAscending(): Array<String> - override fun loaderVersionsArrayDescending(): Array<String> - override fun installerVersionsListAscending(): MutableList<String> - override fun installerVersionsListDescending(): List<String> - override fun installerVersionsArrayAscending(): Array<String> - override fun installerVersionsArrayDescending(): Array<String> - override fun latestInstallerUrl(): URL - override fun releaseInstallerUrl(): URL - override fun installerFor(version: String): Optional<File> - - /** - * Download the improved Fabric launcher and store it in the launcher-cache directory. - * @author Griefed - */ - fun launcherFor(minecraftVersion: String, fabricVersion: String): Optional<File> - override fun isInstallerUrlAvailable(version: String): Boolean - override fun getInstallerUrl(version: String): Optional<URL> - override fun isVersionValid(version: String): Boolean - override fun isMinecraftSupported(minecraftVersion: String): Boolean - - /** - * Get the [URL] to the Fabric launcher for the specified Minecraft and Fabric version. - * - * @param minecraftVersion Minecraft version. - * @param fabricVersion Fabric version. - * @return URL to the Fabric launcher for the specified Minecraft and Fabric version. - * @author Griefed - */ - fun improvedLauncherUrl(minecraftVersion: String, fabricVersion: String): URL - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt deleted file mode 100644 index a9e8c187d52195e099fa2c9d26542b29365bc973..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta.forge - -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.URL -import de.griefed.serverpackcreator.api.utilities.common.Utilities - -/** - * Forge meta containing information about available Forge releases. - * - * @param forgeManifest The manifest from which to acquire version information. - * @param utilities Commonly used utilities across ServerPackCreator. - * - * @author Griefed - */ -@Suppress("unused") -expect class ForgeMeta( - forgeManifest: File, - utilities: Utilities, - installerCacheDirectory: File -) { - /** - * Check whether the given Minecraft and Forge versions are valid/supported/available. - * - * @param minecraftVersion Minecraft version. - * @param forgeVersion Forge version. - * @return `true` if the given Minecraft and Forge versions are valid/supported/available. - * @author Griefed - */ - fun isForgeAndMinecraftCombinationValid( - minecraftVersion: String, - forgeVersion: String - ): Boolean - - /** - * Check whether a given Minecraft version is valid/supported/available. - * - * @param minecraftVersion Minecraft version. - * @return `true` if the given Minecraft version is valid/supported/available. - * @author Griefed - */ - fun isMinecraftVersionSupported(minecraftVersion: String): Boolean - - /** - * Check whether a given Forge version is valid/supported/available. - * - * @param forgeVersion Forge version. - * @return `true` if the given Forge version is valid/supported/available. - * @author Griefed - */ - fun isForgeVersionValid(forgeVersion: String): Boolean - - /** - * Check whether Forge is available for a given Forge- and Minecraft version. - * - * @param minecraftVersion Minecraft version. - * @param forgeVersion Forge version. - * @return `true` if Forge is available for the given Forge- and Minecraft version. - * @author Griefed - */ - fun isForgeInstanceAvailable(minecraftVersion: String, forgeVersion: String): Boolean - - /** - * Check whether Forge is available for a given Forge version - * - * @param forgeVersion Forge version. - * @return `true` if Forge is available for the given Forge version. - * @author Griefed - */ - fun isForgeInstanceAvailable(forgeVersion: String): Boolean - - /** - * Latest Forge version for a given Minecraft version, wrapped in [Optional] - * - * @param minecraftVersion Minecraft version. - * @return Latest Forge version for the given Minecraft version, wrapped in an [Optional] - * @author Griefed - */ - fun newestForgeVersion(minecraftVersion: String): Optional<String> - - /** - * Oldest Forge version for a given Minecraft version, wrapped in [Optional] - * - * @param minecraftVersion Minecraft version. - * @return Oldest Forge version for the given Minecraft version, wrapped in [Optional] - * @author Griefed - */ - fun oldestForgeVersion(minecraftVersion: String): Optional<String> - - /** - * Get the list of available Forge versions, in ascending order. - * - * @return List of available Forge versions. - * @author Griefed - */ - fun forgeVersionsAscending(): MutableList<String> - - /** - * Get the list of available Forge versions, in descending order. - * - * @return List of available Forge versions. - * @author Griefed - */ - fun forgeVersionsDescending(): List<String> - - /** - * Get the array of available Forge versions, in ascending order. - * - * @return Array of available Forge versions. - * @author Griefed - */ - fun forgeVersionsAscendingArray(): Array<String> - - /** - * Get the array of available Forge versions, in descending order. - * - * @return Array of available Forge versions. - * @author Griefed - */ - fun forgeVersionsDescendingArray(): Array<String> - - /** - * Get a list of available Forge version for a given Minecraft version in ascending order. - * - * @param minecraftVersion Minecraft version. - * @return List of available Forge versions for the given Minecraft version in ascending order. - * @author Griefed - */ - fun supportedForgeVersionsAscending(minecraftVersion: String): Optional<List<String>> - - /** - * Get a list of available Forge version for a given Minecraft version in descending order. - * - * @param minecraftVersion Minecraft version. - * @return List of available Forge versions for the given Minecraft version in descending order. - * @author Griefed - */ - fun supportedForgeVersionsDescending(minecraftVersion: String): Optional<List<String>> - - /** - * Get an array of available Forge version for a given Minecraft version, in ascending order, - * wrapped in an [Optional]. - * - * @param minecraftVersion Minecraft version. - * @return Array of available Forge versions for the given Minecraft version, in ascending order, - * wrapped in an [Optional] - * @author Griefed - */ - fun supportedForgeVersionsAscendingArray(minecraftVersion: String): Optional<Array<String>> - - /** - * Get an array of available Forge version for a given Minecraft version, in descending order, - * wrapped in an [Optional]. - * - * @param minecraftVersion Minecraft version. - * @return Array of available Forge versions for the given Minecraft version, in descending order, - * wrapped in an [Optional] - * @author Griefed - */ - fun supportedForgeVersionsDescendingArray(minecraftVersion: String): Optional<Array<String>> - - /** - * Get the Minecraft version for a given Forge version, wrapped in an [Optional]. - * - * @param forgeVersion Forge version. - * @return Minecraft version for the given Forge version, wrapped in an [Optional]. - * @author Griefed - */ - fun minecraftVersion(forgeVersion: String): Optional<String> - - /** - * Get the list of Forge supported Minecraft versions, in ascending order. - * - * @return List of Forge supported Minecraft versions, in ascending order. - * @author Griefed - */ - fun supportedMinecraftVersionsAscending(): MutableList<String> - - /** - * Get the list of Forge supported Minecraft versions, in descending order. - * - * @return List of Forge supported Minecraft versions, in descending order. - * @author Griefed - */ - fun supportedMinecraftVersionsDescending(): List<String> - - /** - * Get the array of Forge supported Minecraft versions, in ascending order. - * - * @return Array of Forge supported Minecraft versions, in ascending order. - * @author Griefed - */ - fun supportedMinecraftVersionsAscendingArray(): Array<String> - - /** - * Get the array of Forge supported Minecraft versions, in descending order. - * - * @return Array of Forge supported Minecraft versions, in descending order. - * @author Griefed - */ - fun supportedMinecraftVersionsDescendingArray(): Array<String> - - /** - * Get the Forge server installer URL for a given Forge version, wrapped in an [Optional]. - * - * @param forgeVersion Forge version. - * @return Forge server installer URL for the given Forge version, wrapped in an [Optional]. - * @author Griefed - */ - fun installerUrl(forgeVersion: String): Optional<URL> - - /** - * Installer file for the specified [forgeVersion] and [minecraftVersion] version, wrapped in an [Optional], so you - * can check whether it is available first. - * @author Griefed - */ - fun installerFor(forgeVersion: String, minecraftVersion: String): Optional<File> - - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt deleted file mode 100644 index f6e2b08638f7a9aae4b5e5ad505d087a8b0c7bbf..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta.legacyfabric - -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.versionmeta.Meta - -/** - * LegacyFabric meta providing game, loader and installer version information. - * - * @param gameVersionsManifest Game version manifest. - * @param loaderVersionsManifest Loader version manifest. - * @param installerVersionsManifest Installer version manifest. - * @param utilities Commonly used utilities across ServerPackCreator. - * @param installerCacheDirectory The cache-directory for all installers. - * - * @author Griefed - */ -@Suppress("unused") -expect class LegacyFabricMeta( - gameVersionsManifest: File, - loaderVersionsManifest: File, - installerVersionsManifest: File, - utilities: Utilities, - installerCacheDirectory: File -) : Meta { - override fun latestLoader(): String - override fun releaseLoader(): String - override fun latestInstaller(): String - override fun releaseInstaller(): String - override fun loaderVersionsListAscending(): MutableList<String> - override fun loaderVersionsListDescending(): MutableList<String> - override fun loaderVersionsArrayAscending(): Array<String> - override fun loaderVersionsArrayDescending(): Array<String> - override fun installerVersionsListAscending(): MutableList<String> - override fun installerVersionsListDescending(): MutableList<String> - override fun installerVersionsArrayAscending(): Array<String> - override fun installerVersionsArrayDescending(): Array<String> - override fun installerFor(version: String): Optional<File> - override fun isInstallerUrlAvailable(version: String): Boolean - override fun isVersionValid(version: String): Boolean - override fun isMinecraftSupported(minecraftVersion: String): Boolean - - /** - * All Legacy Fabric supported Minecraft versions. - * - * @return All Legacy Fabric supported Minecraft versions. - * @author Griefed - */ - fun supportedMinecraftVersions(): MutableList<String> - - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt deleted file mode 100644 index b4c054b6cc9fba57238e17a16220a7525b39b524..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta.minecraft - -/** - * Minecraft meta containing information about available client- and server releases. - * - * @author Griefed - */ -expect class MinecraftMeta { - /** - * Check whether a client is available for the specified Minecraft-version. - * - * @param minecraftVersion The Minecraft-version. - * @return `true` if a client is available. - * @author Griefed - */ - fun isMinecraftVersionAvailable(minecraftVersion: String): Boolean - - /** - * Get the array of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] in - * descending order. - * - * @return Array of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] versions in - * descending order. - * @author Griefed - */ - fun releaseVersionsArrayDescending(): Array<String> - - /** - * Get the list of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] in - * descending order. - * - * @return List of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] versions in - * descending order. - * @author Griefed - */ - fun releaseVersionsDescending(): List<String> - - /** - * Get the array of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] in - * ascending order. - * - * @return Array of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] versions in - * ascending order. - * @author Griefed - */ - fun releaseVersionsArrayAscending(): Array<String> - - /** - * Get the list of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] in - * ascending order. - * - * @return List of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] versions in ascending - * order. - * @author Griefed - */ - fun releaseVersionsAscending(): List<String> - - /** - * Get the array of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in - * descending order. - * - * @return Array of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] versions in - * descending order. - * @author Griefed - */ - fun snapshotVersionsArrayDescending(): Array<String> - - /** - * Get the list of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in - * descending order. - * - * @return List of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] versions in - * descending order. - * @author Griefed - */ - fun snapshotVersionsDescending(): List<String> - - /** - * Get the array of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in - * ascending order. - * - * @return Array of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] versions in - * ascending order. - * @author Griefed - */ - fun snapshotVersionsArrayAscending(): Array<String> - - /** - * Get the list of available Minecraft version of the [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in - * ascending order. - * - * @return List of all available Minecraft [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] versions in - * ascending order. - * @author Griefed - */ - fun snapshotVersionsAscending(): List<String> - - /** - * Get an array of all available Minecraft versions of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] and - * [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in descending order. - * - * @return All available Minecraft versions in descending order. - * @author Griefed - */ - fun allVersionsArrayDescending(): Array<String> - - /** - * Get a list of all available Minecraft versions of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] and - * [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in descending order. - * - * @return All available Minecraft versions in descending order. - * @author Griefed - */ - @Suppress("MemberVisibilityCanBePrivate") - fun allVersionsDescending(): List<String> - - /** - * Get an array of all available Minecraft versions of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] and - * [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in ascending order. - * - * @return All available Minecraft versions in ascending order. - * @author Griefed - */ - @Suppress("unused") - fun allVersionsArrayAscending(): Array<String> - - /** - * Get a list of all available Minecraft versions of the [de.griefed.serverpackcreator.api.versionmeta.Type.RELEASE] and - * [de.griefed.serverpackcreator.api.versionmeta.Type.SNAPSHOT] in ascending order. - * - * @return All available Minecraft versions in ascending order. - * @author Griefed - */ - @Suppress("MemberVisibilityCanBePrivate") - fun allVersionsAscending(): List<String> - - /** - * Check whether a server is available for the specified Minecraft-version. - * - * @param minecraftVersion The Minecraft-version. - * @return `true` if a server is available. - * @author Griefed - */ - fun isServerAvailable(minecraftVersion: String): Boolean - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt deleted file mode 100644 index c02407c652e1457ee8e8ed52df8af8740056cfa0..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt +++ /dev/null @@ -1,221 +0,0 @@ -package de.griefed.serverpackcreator.api.versionmeta.neoforge - -import de.griefed.serverpackcreator.api.utilities.common.Utilities -import java.io.File -import java.net.URL -import java.util.* - -/** - * Forge meta containing information about available Forge releases. - * - * @param neoForgeManifest The manifest from which to acquire version information. - * @param utilities Commonly used utilities across ServerPackCreator. - * - * @author Griefed - */ -@Suppress("unused") -expect class NeoForgeMeta( - oldNeoForgeManifest: File, - newNeoForgeManifest: File, - utilities: Utilities, - installerCacheDirectory: File -) { - /** - * Check whether the given Minecraft and Forge versions are valid/supported/available. - * - * @param minecraftVersion Minecraft version. - * @param neoForgeVersion Forge version. - * @return `true` if the given Minecraft and Forge versions are valid/supported/available. - * @author Griefed - */ - fun isNeoForgeAndMinecraftCombinationValid( - minecraftVersion: String, - neoForgeVersion: String - ): Boolean - - /** - * Check whether a given Minecraft version is valid/supported/available. - * - * @param minecraftVersion Minecraft version. - * @return `true` if the given Minecraft version is valid/supported/available. - * @author Griefed - */ - fun isMinecraftVersionSupported(minecraftVersion: String): Boolean - - /** - * Check whether a given Forge version is valid/supported/available. - * - * @param neoForgeVersion Forge version. - * @return `true` if the given Forge version is valid/supported/available. - * @author Griefed - */ - fun isNeoForgeVersionValid(neoForgeVersion: String): Boolean - - /** - * Check whether Forge is available for a given Forge- and Minecraft version. - * - * @param minecraftVersion Minecraft version. - * @param neoForgeVersion Forge version. - * @return `true` if Forge is available for the given Forge- and Minecraft version. - * @author Griefed - */ - fun isNeoForgeInstanceAvailable(minecraftVersion: String, neoForgeVersion: String): Boolean - - /** - * Check whether Forge is available for a given Forge version - * - * @param neoForgeVersion Forge version. - * @return `true` if Forge is available for the given Forge version. - * @author Griefed - */ - fun isNeoForgeInstanceAvailable(neoForgeVersion: String): Boolean - - /** - * Latest Forge version for a given Minecraft version, wrapped in [Optional] - * - * @param minecraftVersion Minecraft version. - * @return Latest Forge version for the given Minecraft version, wrapped in an [Optional] - * @author Griefed - */ - fun newestNeoForgeVersion(minecraftVersion: String): Optional<String> - - /** - * Oldest Forge version for a given Minecraft version, wrapped in [Optional] - * - * @param minecraftVersion Minecraft version. - * @return Oldest Forge version for the given Minecraft version, wrapped in [Optional] - * @author Griefed - */ - fun oldestNeoForgeVersion(minecraftVersion: String): Optional<String> - - /** - * Get the list of available Forge versions, in ascending order. - * - * @return List of available Forge versions. - * @author Griefed - */ - fun neoForgeVersionsAscending(): MutableList<String> - - /** - * Get the list of available Forge versions, in descending order. - * - * @return List of available Forge versions. - * @author Griefed - */ - fun neoForgeVersionsDescending(): List<String> - - /** - * Get the array of available Forge versions, in ascending order. - * - * @return Array of available Forge versions. - * @author Griefed - */ - fun neoForgeVersionsAscendingArray(): Array<String> - - /** - * Get the array of available Forge versions, in descending order. - * - * @return Array of available Forge versions. - * @author Griefed - */ - fun neoForgeVersionsDescendingArray(): Array<String> - - /** - * Get a list of available Forge version for a given Minecraft version in ascending order. - * - * @param minecraftVersion Minecraft version. - * @return List of available Forge versions for the given Minecraft version in ascending order. - * @author Griefed - */ - fun supportedNeoForgeVersionsAscending(minecraftVersion: String): Optional<List<String>> - - /** - * Get a list of available Forge version for a given Minecraft version in descending order. - * - * @param minecraftVersion Minecraft version. - * @return List of available Forge versions for the given Minecraft version in descending order. - * @author Griefed - */ - fun supportedNeoForgeVersionsDescending(minecraftVersion: String): Optional<List<String>> - - /** - * Get an array of available Forge version for a given Minecraft version, in ascending order, - * wrapped in an [Optional]. - * - * @param minecraftVersion Minecraft version. - * @return Array of available Forge versions for the given Minecraft version, in ascending order, - * wrapped in an [Optional] - * @author Griefed - */ - fun supportedNeoForgeVersionsAscendingArray(minecraftVersion: String): Optional<Array<String>> - - /** - * Get an array of available Forge version for a given Minecraft version, in descending order, - * wrapped in an [Optional]. - * - * @param minecraftVersion Minecraft version. - * @return Array of available Forge versions for the given Minecraft version, in descending order, - * wrapped in an [Optional] - * @author Griefed - */ - fun supportedNeoForgeVersionsDescendingArray(minecraftVersion: String): Optional<Array<String>> - - /** - * Get the Minecraft version for a given Forge version, wrapped in an [Optional]. - * - * @param neoForgeVersion Forge version. - * @return Minecraft version for the given Forge version, wrapped in an [Optional]. - * @author Griefed - */ - fun minecraftVersion(neoForgeVersion: String): Optional<String> - - /** - * Get the list of Forge supported Minecraft versions, in ascending order. - * - * @return List of Forge supported Minecraft versions, in ascending order. - * @author Griefed - */ - fun supportedMinecraftVersionsAscending(): MutableList<String> - - /** - * Get the list of Forge supported Minecraft versions, in descending order. - * - * @return List of Forge supported Minecraft versions, in descending order. - * @author Griefed - */ - fun supportedMinecraftVersionsDescending(): List<String> - - /** - * Get the array of Forge supported Minecraft versions, in ascending order. - * - * @return Array of Forge supported Minecraft versions, in ascending order. - * @author Griefed - */ - fun supportedMinecraftVersionsAscendingArray(): Array<String> - - /** - * Get the array of Forge supported Minecraft versions, in descending order. - * - * @return Array of Forge supported Minecraft versions, in descending order. - * @author Griefed - */ - fun supportedMinecraftVersionsDescendingArray(): Array<String> - - /** - * Get the Forge server installer URL for a given Forge version, wrapped in an [Optional]. - * - * @param neoForgeVersion Forge version. - * @return Forge server installer URL for the given Forge version, wrapped in an [Optional]. - * @author Griefed - */ - fun installerUrl(neoForgeVersion: String): Optional<URL> - - /** - * Installer file for the specified [neoForgeVersion] and [minecraftVersion] version, wrapped in an [Optional], so you - * can check whether it is available first. - * @author Griefed - */ - fun installerFor(neoForgeVersion: String, minecraftVersion: String): Optional<File> - - -} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt b/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt deleted file mode 100644 index 5e63384d3f2a35d84af84d0bfed2e08dd64e9c97..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.versionmeta.quilt - -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Optional -import de.griefed.serverpackcreator.api.utilities.URL -import de.griefed.serverpackcreator.api.versionmeta.Meta - -/** - * Quilt meta containing information about available Quilt versions and installers. - * - * @author Griefed - */ -expect class QuiltMeta : Meta { - override fun latestLoader(): String - override fun releaseLoader(): String - override fun latestInstaller(): String - override fun releaseInstaller(): String - override fun loaderVersionsListAscending(): MutableList<String> - override fun loaderVersionsListDescending(): List<String> - override fun loaderVersionsArrayAscending(): Array<String> - override fun loaderVersionsArrayDescending(): Array<String> - override fun installerVersionsListAscending(): MutableList<String> - override fun installerVersionsListDescending(): List<String> - override fun installerVersionsArrayAscending(): Array<String> - override fun installerVersionsArrayDescending(): Array<String> - override fun latestInstallerUrl(): URL - override fun releaseInstallerUrl(): URL - override fun installerFor(version: String): Optional<File> - override fun isInstallerUrlAvailable(version: String): Boolean - override fun getInstallerUrl(version: String): Optional<URL> - override fun isVersionValid(version: String): Boolean - override fun isMinecraftSupported(minecraftVersion: String): Boolean -} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/LoggingConfig.kt b/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/LoggingConfig.kt deleted file mode 100644 index 854e6239b148eb15112d178b2c8006af667efe48..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/LoggingConfig.kt +++ /dev/null @@ -1,237 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api - -import de.griefed.serverpackcreator.api.utilities.common.JarInformation -import de.griefed.serverpackcreator.api.utilities.common.JarUtilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories -import de.griefed.serverpackcreator.api.utilities.common.readText -import org.apache.logging.log4j.core.LoggerContext -import org.apache.logging.log4j.core.config.Configuration -import org.apache.logging.log4j.core.config.ConfigurationFactory -import org.apache.logging.log4j.core.config.ConfigurationSource -import org.apache.logging.log4j.core.config.Order -import org.apache.logging.log4j.core.config.plugins.Plugin -import org.apache.logging.log4j.core.config.xml.XmlConfiguration -import java.io.File -import java.io.IOException -import java.util.* - -/** - * Custom logging configuration setup to prevent incorrect log-directories when executing - * ServerPackCreator from CLI from a completely other directory. Or possibly when using symlinks, - * too. This class prevents the logs being written to the `logs`-directory inside the - * directory from which SPC is being run from. - * - * @author Griefed - */ -@Suppress("unused") -@Plugin(name = "ServerPackCreatorConfigFactory", category = "ConfigurationFactory") -@Order(50) -class LoggingConfig : ConfigurationFactory() { - private val suffixes = arrayOf(".xml") - private val log4jXml: File - - /** - * Check possible home-directories for a viable `serverpackcreator.properties` and check - * whether the `de.griefed.serverpackcreator.home`-property is available. If it is, then use - * said directory to create the log4j config if it does not already exist, with the path to the - * logs-directory being set within the aforementioned home-directory. - * - * @author Griefed - */ - init { - System.setProperty("log4j2.formatMsgNoLookups", "true") - val serverPackCreatorProperties = "serverpackcreator.properties" - val jarInformation = JarInformation(this.javaClass, JarUtilities()) - var isDevVersion = false - val logDirPath: String - val props = Properties() - val userHome = System.getProperty("user.home") - var log4j: String - - val jarFolderFile = File(jarInformation.jarFolder.absoluteFile, serverPackCreatorProperties).absoluteFile - val serverPackCreatorHomeDir = File(userHome, "ServerPackCreator").absoluteFile - val homeDirFile = File(serverPackCreatorHomeDir,serverPackCreatorProperties).absoluteFile - val relativeDirFile = File(serverPackCreatorProperties).absoluteFile - val overrideProperties = File(jarInformation.jarFolder.absoluteFile, "overrides.properties") - - // Load the properties file from the classpath, providing default values. - try { - this.javaClass.getResourceAsStream("/$serverPackCreatorProperties").use { - props.load(it) - } - println("Loaded properties from classpath.") - } catch (ex: Exception) { - println("Couldn't read properties from classpath.") - ex.printStackTrace() - } - - // If our properties-file exists in SPCs home directory, load it. - loadFile(jarFolderFile, props) - // If our properties-file exists in the users home dir ServerPackCreator-dir, load it. - loadFile(homeDirFile, props) - // If our properties-file in the directory from which the user is executing SPC exists, load it. - loadFile(relativeDirFile, props) - // If an overrides-file exists, load it - loadFile(overrideProperties,props) - - val home = if (props.containsKey("de.griefed.serverpackcreator.home")) { - File(props.getProperty("de.griefed.serverpackcreator.home")) - } else { - if (jarInformation.jarPath.toFile().isDirectory) { - // Dev environment - isDevVersion = true - File("").absoluteFile - } else { - File(userHome, "ServerPackCreator") - } - } - home.createDirectories(create = true, directory = true) - - logDirPath = File(home, "logs").absolutePath - log4jXml = File(home, "log4j2.xml") - - val oldLogs = "<Property name=\"log-path\">logs</Property>" - val newLogs = "<Property name=\"log-path\">$logDirPath</Property>" - if (!log4jXml.isFile) { - try { - this.javaClass.getResourceAsStream("/log4j2.xml").use { - log4j = it?.readText().toString() - log4j = log4j.replace(oldLogs, newLogs) - if (isDevVersion) { - log4j = log4j.replace( - "<Property name=\"log-level-spc\">INFO</Property>", - "<Property name=\"log-level-spc\">DEBUG</Property>" - ) - } - log4jXml.writeText(log4j) - } - } catch (ex: IOException) { - println("Error reading/writing log4j2.xml.") - ex.printStackTrace() - } - } - } - - override fun getSupportedTypes() = suffixes - - /** - * Load the [propertiesFile] into the provided [props] - * - * @author Griefed - */ - private fun loadFile(propertiesFile: File, props: Properties) { - if (!propertiesFile.isFile) { - println("Properties-file does not exist: ${propertiesFile.absolutePath}.") - return - } - try { - propertiesFile.inputStream().use { - props.load(it) - } - println("Loaded properties from $propertiesFile.") - } catch (ex: Exception) { - println("Couldn't read properties from ${propertiesFile.absolutePath}.") - ex.printStackTrace() - } - } - - - /** - * Depending on whether this is the first run of ServerPackCreator on a users machine, the default - * log4j2 configuration may be present at different locations. The default one is the config - * inside the home-directory of SPC, of which we will try to set up our logging with. If said file - * fails for whatever reason, we will try to use a config inside the directory from which SPC was - * executed. Should that fail, too, the config from the classpath is used, to ensure we always - * have default configs available. Should that fail, too, though, log4j is set up with its own - * default settings. - * - * @param loggerContext logger context passed from log4j itself - * @param source configuration source passed from log4j itself. Attempts to overwrite it - * are made, but if all else fails it is used to set up logging with log4j's - * default config. - * @return Custom configuration with proper logs-directory set. - * @author Griefed - */ - override fun getConfiguration(loggerContext: LoggerContext, source: ConfigurationSource): Configuration { - val config = File(File("").absolutePath, "log4j2.xml") - val configSource: ConfigurationSource - if (log4jXml.isFile) { - try { - return getXmlConfig(log4jXml, loggerContext) - } catch (ex: IOException) { - println("Couldn't parse $log4jXml.") - ex.printStackTrace() - } - } else if (config.isFile) { - try { - return getXmlConfig(config, loggerContext) - } catch (ex: IOException) { - println("Couldn't parse $config.") - ex.printStackTrace() - } - } - try { - configSource = ConfigurationSource(this.javaClass.getResourceAsStream("/log4j2.xml")!!) - return CustomXmlConfiguration(loggerContext, configSource) - } catch (ex: IOException) { - println("Couldn't parse resource log4j2.xml.") - ex.printStackTrace() - } - return CustomXmlConfiguration(loggerContext, source) - } - - private fun getXmlConfig(sourceFile: File, loggerContext: LoggerContext): CustomXmlConfiguration { - val configSource: ConfigurationSource - val stream = sourceFile.inputStream() - configSource = ConfigurationSource(stream, sourceFile) - val custom = CustomXmlConfiguration(loggerContext, configSource) - stream.close() - return custom - } - - /** - * Custom XmlConfiguration to pass our custom log4j2.xml config to log4j. - * - * Set up the XML configuration with the passed context and config source. For the config source - * being used, [LoggingConfig.getConfiguration] where - * multiple attempts at creating a new CustomXmlConfiguration using our own log4j2.xml are made - * before the default log4j setup is used. - * - * @param loggerContext logger context passed from log4j itself - * @param configSource configuration source passed from - * [LoggingConfig.getConfiguration]. - * @author Griefed - */ - @Suppress("RedundantOverride") - inner class CustomXmlConfiguration(loggerContext: LoggerContext?, configSource: ConfigurationSource?) : - XmlConfiguration(loggerContext, configSource) { - - /** - * For now, all this does is call the [XmlConfiguration.doConfigure]-method to set up the - * configuration with the passed source from the constructor. Custom values and settings can be - * set here in the future, should a need arise to do so. - * - * @author Griefed - */ - override fun doConfigure() = super.doConfigure() - } -} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt b/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt deleted file mode 100644 index 504f05395ed88ba7a4b6be814b7ee06f6989b436..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt +++ /dev/null @@ -1,8 +0,0 @@ -package de.griefed.serverpackcreator.api.modscanning - -import de.griefed.serverpackcreator.api.utilities.TomlParser - -actual class NeoForgeTomlScanner actual constructor(private val tomlParser: TomlParser): ForgeTomlScanner(tomlParser) { - actual override val modsToml: String - get() = "META-INF/neoforge.mods.toml" -} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/TypeAliases.kt b/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/TypeAliases.kt deleted file mode 100644 index 8e5d02db2763ad212a4d7b7384abf36abb051178..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/TypeAliases.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.plugins - -/** - * Type alias to link the [ExtensionPoint] to [org.pf4j.ExtensionPoint] - */ -actual typealias ExtensionPoint = org.pf4j.ExtensionPoint \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/TypeAliases.kt b/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/TypeAliases.kt deleted file mode 100644 index 2e7e1af6c69c3772d041bc71e28d95d3b28fd6df..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/TypeAliases.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2024 Griefed. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.api.utilities - -/** - * Type alias to link [Optional] to [java.util.Optional] - */ -actual typealias Optional<T> = java.util.Optional<T> - -/** - * Type alias to link [CommentedConfig] to [com.electronwill.nightconfig.core.CommentedConfig] - */ -actual typealias CommentedConfig = com.electronwill.nightconfig.core.CommentedConfig - -/** - * Type alias to link [TomlParser] to [com.electronwill.nightconfig.toml.TomlParser] - */ -actual typealias TomlParser = com.electronwill.nightconfig.toml.TomlParser - -/** - * Type alias to link [File] to [java.io.File] - */ -actual typealias File = java.io.File - -/** - * Type alias to link [URL] to [java.net.URL] - */ -actual typealias URL = java.net.URL - -/** - * Type alias to link [Icon] to [javax.swing.Icon] - */ -actual typealias Icon = javax.swing.Icon - diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/minecraft-manifest.json b/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/minecraft-manifest.json deleted file mode 100644 index 70abe2191076fa3e7a28abbfbe6cba6e159e82b3..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/minecraft-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"latest": {"release": "1.20.4", "snapshot": "24w07a"}, "versions": [{"id": "24w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/60823331a5b8805ac1fcca472f8069aa7bbddd1c/24w07a.json", "time": "2024-02-14T12:59:20+00:00", "releaseTime": "2024-02-14T12:51:01+00:00"}, {"id": "24w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b8c3bb16137c554bb111d45380ee91605a2f0ac5/24w06a.json", "time": "2024-02-14T10:23:40+00:00", "releaseTime": "2024-02-07T14:47:18+00:00"}, {"id": "24w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/24d017bb669cb0d6369d6098276fa9f426f684c5/24w05b.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2024-02-01T12:55:14+00:00"}, {"id": "24w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5478297366d5746bb57a2b0776bac4caea39867e/24w05a.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2024-01-31T13:05:26+00:00"}, {"id": "24w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b0efc87eb2583d5cf5148caec5e6c9340030c84d/24w04a.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2024-01-24T13:42:45+00:00"}, {"id": "24w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/be9a1e98195b0ebf5b9fec52955753a89b701c4c/24w03b.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2024-01-18T12:42:37+00:00"}, {"id": "24w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/812c3cba4eb343e16512a8cd4b79bcd1eea750a6/24w03a.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2024-01-17T13:19:20+00:00"}, {"id": "23w51b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6b9c7f971601b13ca667631501ffff7020a08442/23w51b.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-12-18T15:39:14+00:00"}, {"id": "23w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4cb476a0df1607790df423895abd200d89472eaa/23w51a.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-12-18T13:36:46+00:00"}, {"id": "1.20.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/487afa9d48c57e0b2137367c6596e0cf4f9fc64e/1.20.4.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-12-07T12:56:20+00:00"}, {"id": "1.20.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e4beca2b0898b0e9b2b86923a08d502767cf2490/1.20.4-rc1.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-12-06T14:38:01+00:00"}, {"id": "1.20.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/6562181dd0ea1933ed682b2abf72dbd85a89529f/1.20.3.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-12-04T12:10:32+00:00"}, {"id": "1.20.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d67d84cb1bb95d9f8ec8f912dcbc58388891831d/1.20.3-rc1.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-11-30T13:41:45+00:00"}, {"id": "1.20.3-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bd3027bb1888bc2cdf2a2d255b028fb97de58754/1.20.3-pre4.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-11-28T13:47:32+00:00"}, {"id": "1.20.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a2bee72f1bece23638c48d99f0c6fdffa3e6284f/1.20.3-pre3.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-11-27T14:24:36+00:00"}, {"id": "1.20.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/776abfcc0e9a3773f2fcd222ef7eccc76a83c1bd/1.20.3-pre2.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-11-22T12:21:26+00:00"}, {"id": "1.20.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ef23636271b496c488b55eadea6e0dde54d9080e/1.20.3-pre1.json", "time": "2024-02-14T12:27:44+00:00", "releaseTime": "2023-11-20T15:40:14+00:00"}, {"id": "23w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c922efe1be32467ff57cabdca5cdccbf01435222/23w46a.json", "time": "2024-02-14T06:27:29+00:00", "releaseTime": "2023-11-16T14:11:33+00:00"}, {"id": "23w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/257bbc3202cb5154eebffe00a18587307346348b/23w45a.json", "time": "2024-02-14T06:27:29+00:00", "releaseTime": "2023-11-08T13:59:58+00:00"}, {"id": "23w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/954d2a95402aa9510de5c5f3c56a83ce02b39252/23w44a.json", "time": "2024-02-14T06:26:59+00:00", "releaseTime": "2023-11-01T12:30:52+00:00"}, {"id": "23w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/add25040c55bf8b1a3065b95aec30005b765bfbc/23w43b.json", "time": "2024-02-14T06:26:59+00:00", "releaseTime": "2023-10-26T13:46:16+00:00"}, {"id": "23w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bc758929df7bca5d86a3e9b8439a4052f1a43938/23w43a.json", "time": "2024-02-14T06:26:59+00:00", "releaseTime": "2023-10-25T13:34:37+00:00"}, {"id": "23w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a06e6d7e64d62dafb93f808f3d21f0ecc076643b/23w42a.json", "time": "2024-02-14T06:31:22+00:00", "releaseTime": "2023-10-18T11:37:28+00:00"}, {"id": "23w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7c645769579a5d0d9d1c987452e1a2f98c576a29/23w41a.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-10-11T12:32:46+00:00"}, {"id": "23w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/156bb700ce83ef46d2d33c45dc3028e1bc192556/23w40a.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-10-04T12:48:53+00:00"}, {"id": "1.20.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/ec0f1b6571c89eb5c924d680a6ccc58af4e567f1/1.20.2.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-20T09:02:57+00:00"}, {"id": "1.20.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/39dbfc7a415d20dd91bc9b464c8fd6c170d9b5d9/1.20.2-rc2.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-18T12:34:57+00:00"}, {"id": "1.20.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/62a2827bc2466c974378a8e428c55c724c16a501/1.20.2-rc1.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-15T13:10:30+00:00"}, {"id": "1.20.2-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d29b574032d79d416a1e1e39ad88431896ae3d8c/1.20.2-pre4.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-13T15:06:51+00:00"}, {"id": "1.20.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c3fa259f4d7b177701407c9e3370c14bec28a8e2/1.20.2-pre3.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-12T12:15:08+00:00"}, {"id": "1.20.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/51ed27dbc56aaeff0bf826e35a8485cd9d4c1fb8/1.20.2-pre2.json", "time": "2024-02-14T06:30:52+00:00", "releaseTime": "2023-09-07T12:42:32+00:00"}, {"id": "1.20.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5d0c5c636147fef96c08d2ced4c6c232b4303421/1.20.2-pre1.json", "time": "2024-02-14T06:30:23+00:00", "releaseTime": "2023-09-05T12:06:20+00:00"}, {"id": "23w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4423cde4f0b4ad71673c9041a44ec3ca305e83d8/23w35a.json", "time": "2024-02-14T06:30:23+00:00", "releaseTime": "2023-08-30T11:24:35+00:00"}, {"id": "23w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/048a2878f7c48bcb7cc922fa4c065b3a7196cb71/23w33a.json", "time": "2024-02-14T06:30:23+00:00", "releaseTime": "2023-08-17T11:39:08+00:00"}, {"id": "23w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/55a07fee161227d0c36b7afa4a84b0addbc3b835/23w32a.json", "time": "2024-02-14T06:30:23+00:00", "releaseTime": "2023-08-09T12:14:25+00:00"}, {"id": "23w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fc3f2995e46d99c842a8ce15cddc458043dc7c8a/23w31a.json", "time": "2024-02-14T06:29:53+00:00", "releaseTime": "2023-08-01T10:03:13+00:00"}, {"id": "1.20.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4fdbfecb16fd5ed3952919eeb6ff4883d9ad77cd/1.20.1.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-06-12T13:25:51+00:00"}, {"id": "1.20.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/88af588cae7dbbf63d01d817cf88308e93f3281b/1.20.1-rc1.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-06-09T14:15:49+00:00"}, {"id": "1.20", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/900d9aeaac64088cb6e65713bda7570d8e3e5a41/1.20.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-06-02T08:36:17+00:00"}, {"id": "1.20-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/147b63e6058bfac2e1e7c56fc1c6bfa9c887a1e5/1.20-rc1.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-31T12:33:33+00:00"}, {"id": "1.20-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d5bea37318677a7f57c3689c1a829726e6cd94ee/1.20-pre7.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-29T13:44:34+00:00"}, {"id": "1.20-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/afbe83d99c4b46f71a3b55eadd13ee819ca27007/1.20-pre6.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-25T12:22:00+00:00"}, {"id": "1.20-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/423dbeecb640a6699e835c460b9f2738324f4a94/1.20-pre5.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-23T12:22:52+00:00"}, {"id": "1.20-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bb869ba0d4435a26a469631b3d45954c5236780b/1.20-pre4.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-19T13:13:45+00:00"}, {"id": "1.20-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f7ae5f3347e24c170359a53a84ddaa19d4edcbfd/1.20-pre3.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-19T11:39:46+00:00"}, {"id": "1.20-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b3636cdb4e02060d2fdfb69ffff06f81f439083/1.20-pre2.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-16T11:34:54+00:00"}, {"id": "1.20-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1080aa81195afc2e81ac84f737d1cdb2eadd120f/1.20-pre1.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-10T12:19:34+00:00"}, {"id": "23w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bb96df333a46cb541a1224592e4fe5b20a4afed6/23w18a.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-05-03T11:29:26+00:00"}, {"id": "23w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5c8dc28a77a3895fa810e564f9d06122e774f84b/23w17a.json", "time": "2024-02-14T06:29:24+00:00", "releaseTime": "2023-04-26T12:09:48+00:00"}, {"id": "23w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/43cc67a4968b49fe6b58f18521ad08fdc412b832/23w16a.json", "time": "2024-02-14T06:28:55+00:00", "releaseTime": "2023-04-20T11:55:19+00:00"}, {"id": "23w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a9a53e5abfec16b42f40a9940782ea344ea8c2a6/23w14a.json", "time": "2024-02-14T06:28:55+00:00", "releaseTime": "2023-04-05T12:05:17+00:00"}, {"id": "23w13a_or_b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8dda30a6a7b40d8c23eeea936cf9f4397d6754e2/23w13a_or_b.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-04-01T12:52:18+00:00"}, {"id": "23w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/563c045969f7b51f9b7f5ff32a262bdb4cace4ef/23w13a.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-29T13:54:16+00:00"}, {"id": "23w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9e40321a2ae83fb6e57bf7c4c2ba2ce173e568cd/23w12a.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-22T13:28:42+00:00"}, {"id": "1.19.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/94aa32edf820b5b42c208c7b0a5a72fb6863cb27/1.19.4.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-14T12:56:18+00:00"}, {"id": "1.19.4-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c7e823612ba124d36b8668625cbd76f9880d386b/1.19.4-rc3.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-13T10:03:11+00:00"}, {"id": "1.19.4-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1cb5bb21bdbb4870ee1b03198c44bbbb3f862735/1.19.4-rc2.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-10T12:42:54+00:00"}, {"id": "1.19.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b89d4f2241fa8b61f6f26e369c5afeeef245d1bc/1.19.4-rc1.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-09T14:35:50+00:00"}, {"id": "1.19.4-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6ecc95cb84a4a0e244b7ee642d23f1bff25ad915/1.19.4-pre4.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-08T13:08:22+00:00"}, {"id": "1.19.4-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e1c07ab8d32abc8b8683dee3a6efb951aabfecca/1.19.4-pre3.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-03-01T14:11:05+00:00"}, {"id": "1.19.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d5602df64866b1ed8aef6e328aa7f82200c35a24/1.19.4-pre2.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-02-27T13:38:53+00:00"}, {"id": "1.19.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6a4be9b4f5cefa904c029e556749a39d1e4c6354/1.19.4-pre1.json", "time": "2024-02-14T06:28:26+00:00", "releaseTime": "2023-02-22T16:00:34+00:00"}, {"id": "23w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9ee00143e9282cb1a3ac3531527b224ed42cd046/23w07a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2023-02-15T14:32:29+00:00"}, {"id": "23w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5a06a6f7dabdacc032135e1acad6314350087a60/23w06a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2023-02-08T15:00:04+00:00"}, {"id": "23w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/12f243215c907bdff76944a3b124a21a6cabc4e1/23w05a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2023-02-01T14:20:33+00:00"}, {"id": "23w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/99ef64d2dd255d63b77ac46fe90351b5f31ab2e2/23w04a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2023-01-24T15:19:06+00:00"}, {"id": "23w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fed6c5f1d6a2f2f60fcb6d0795ef793ba85a8f24/23w03a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2023-01-18T13:10:31+00:00"}, {"id": "1.19.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/79f0c52c94491ad0e74f40c5796acbd9e66ac6f0/1.19.3.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-12-07T08:17:18+00:00"}, {"id": "1.19.3-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d4e0bf72580438a39cd00c5cf5a9c783d2250db3/1.19.3-rc3.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-12-06T10:24:01+00:00"}, {"id": "1.19.3-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ff5583b739f7db47b09708707c3b34fdc5cd09af/1.19.3-rc2.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-12-05T13:21:34+00:00"}, {"id": "1.19.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9ebf5ed646cabc1e61db0aaccc1c3d2f031ad8af/1.19.3-rc1.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-12-01T13:45:18+00:00"}, {"id": "1.19.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8871b908ed37c611cd8989d010ddf456500036e9/1.19.3-pre3.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-11-29T14:28:08+00:00"}, {"id": "1.19.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d876a03a49811d8b4076773a2c18b71c8498bd4f/1.19.3-pre2.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-11-23T16:12:25+00:00"}, {"id": "1.19.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b3d37c6a23a348ebcfce459128fd40a334e5d57/1.19.3-pre1.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-11-22T13:59:37+00:00"}, {"id": "22w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72c3489f2fec559b406cd4f02af38d6a3cce1411/22w46a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-11-16T13:32:50+00:00"}, {"id": "22w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7b99f8aa69c8ad2b95caee660f39e527a8283718/22w45a.json", "time": "2024-02-14T06:27:57+00:00", "releaseTime": "2022-11-09T14:30:16+00:00"}, {"id": "22w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7d7d539e8431eaf94eee88061f096436d53ee37d/22w44a.json", "time": "2024-02-14T06:26:29+00:00", "releaseTime": "2022-11-02T13:15:43+00:00"}, {"id": "22w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/445cb9a4eea11c0cccbd531373b04a070c98ced4/22w43a.json", "time": "2024-02-14T06:26:29+00:00", "releaseTime": "2022-10-26T11:55:59+00:00"}, {"id": "22w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/52ccc019eb718de161e4ebf996099e0951910af7/22w42a.json", "time": "2024-02-14T06:26:29+00:00", "releaseTime": "2022-10-19T09:34:22+00:00"}, {"id": "1.19.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/ed548106acf3ac7e8205a6ee8fd2710facfa164f/1.19.2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-05T11:57:05+00:00"}, {"id": "1.19.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ebecfcfa284240daa29737c84eb98a2d2e1a33c2/1.19.2-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-04T15:19:44+00:00"}, {"id": "1.19.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8549c05d26a79c0fb5701ba66d200465daa5f18/1.19.2-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-04T10:07:26+00:00"}, {"id": "1.19.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/39d5e8925d37490c6f2abb2e02b8c6f1b35719df/1.19.1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-27T09:25:33+00:00"}, {"id": "1.19.1-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8762a93dc173c7a8e68d70ac5517b37e2c5f969f/1.19.1-rc3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-26T15:34:35+00:00"}, {"id": "1.19.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/be8528e20ead28832f20e4278f45519d1e28022a/1.19.1-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-21T16:25:50+00:00"}, {"id": "1.19.1-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0d36b2776f02dc9d864f0f931b6c052435f7918/1.19.1-pre6.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-20T15:49:31+00:00"}, {"id": "1.19.1-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e832137d90ae9915e1b1a22537f30feb0178ce0/1.19.1-pre5.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-15T11:51:44+00:00"}, {"id": "1.19.1-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b2cebb78f1c95d5d886e2c30e8cf913f574ecd3f/1.19.1-pre4.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-08T11:41:59+00:00"}, {"id": "1.19.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/05935ad004751df834add5d8111bea341f388849/1.19.1-pre3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-06T14:50:46+00:00"}, {"id": "1.19.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c2e4db17880bd4dad87cb2cd87d4b5f5d159a6e/1.19.1-pre2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-30T15:57:20+00:00"}, {"id": "1.19.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc09b172bbef8c24a69c4c6711e96051464204ad/1.19.1-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-23T16:32:41+00:00"}, {"id": "1.19.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b684045dca48e65dbf5ec5f09070d9382731d0ab/1.19.1-pre1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-21T17:13:59+00:00"}, {"id": "22w24a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1a490c090ec1affab43deba00929558c73dd1e23/22w24a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-15T16:21:49+00:00"}, {"id": "1.19", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/14bbfb25fb1c1c798e3c9b9482b081a78d1f3a9d/1.19.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-07T09:42:18+00:00"}, {"id": "1.19-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ae2b88a016be92e5838afa6232005b41e2935622/1.19-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-03T11:47:25+00:00"}, {"id": "1.19-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f216ace4c19321071a80e7c6dd51efe402032e94/1.19-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-02T12:12:52+00:00"}, {"id": "1.19-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/800c849fe1e8694e8023920e01174e3d2f73065b/1.19-pre5.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-01T10:56:23+00:00"}, {"id": "1.19-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/11edfa21e200734858abdd466aeead7754cc68e2/1.19-pre4.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-30T14:43:01+00:00"}, {"id": "1.19-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bf1ebc7ae0dbef7b92307a11eb0cbbfeaa3359e2/1.19-pre3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-25T09:56:47+00:00"}, {"id": "1.19-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5dbf076b98594a81069a3d574d985f8e3a701990/1.19-pre2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-23T14:54:00+00:00"}, {"id": "1.19-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/277c1456e8de294125887c0937ad39f9d286f7e6/1.19-pre1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-18T13:51:54+00:00"}, {"id": "22w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b823251598bcefadad774283db6979e40044e229/22w19a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-12T15:36:11+00:00"}, {"id": "22w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1de25e62031021df204de79c264822898c937447/22w18a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-04T14:41:35+00:00"}, {"id": "22w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4df4e4831fafbaa4d41895f448a0596d779425f3/22w17a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-27T15:54:15+00:00"}, {"id": "22w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f6f22cde08f4603aa90aec80a9c5b60b93a09b15/22w16b.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-20T17:25:32+00:00"}, {"id": "22w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a39b0f1591257664a1296b8e95a0689c1cbdad73/22w16a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-20T14:37:07+00:00"}, {"id": "22w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2ed4589fdbc1d58a6d60e2b6809ac956d0a7cf34/22w15a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-13T15:41:17+00:00"}, {"id": "22w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/36abf1492f25e5bb7187307fefc91470cd40817d/22w14a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-06T13:37:12+00:00"}, {"id": "22w13oneblockatatime", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d70cef49b7606e8c37e49abad4ff542e2ce21d09/22w13oneblockatatime.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-01T11:56:58+00:00"}, {"id": "22w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bd1e0454545c498d20d25e4d1bc8fd4ddeeb06fe/22w13a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-31T14:53:25+00:00"}, {"id": "22w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/24998bd342996995e1a2007111056906f465a867/22w12a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-24T16:15:02+00:00"}, {"id": "22w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4f1500bb4141a58c8692224e1157c986c6a00075/22w11a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-16T15:55:38+00:00"}, {"id": "1.18.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/334b33fcba3c9be4b7514624c965256535bd7eba/1.18.2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-28T10:42:45+00:00"}, {"id": "1.18.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a88f2199e697f43c06d7051186762cd514f5f629/1.18.2-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-25T13:25:40+00:00"}, {"id": "1.18.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c93d7580baf1b292763fa14a379516ffe5822967/1.18.2-pre3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-23T15:23:12+00:00"}, {"id": "1.18.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/46e96658399bf2e1487d88181bd75689978491f8/1.18.2-pre2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-21T15:26:19+00:00"}, {"id": "1.18.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59bd690c22c69ace39595d3b14bf85a01bb54f35/1.18.2-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-18T16:00:32+00:00"}, {"id": "22w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/83d4e38c96c37a840fed51747e98d45d82115405/22w07a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-16T16:13:58+00:00"}, {"id": "22w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f46697f288f553f7a21a42291b85d708924128e8/22w06a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-09T16:47:48+00:00"}, {"id": "22w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bebb4be7c06e5b311e08a46212328c0d1dee1e60/22w05a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-02T16:08:39+00:00"}, {"id": "22w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b19476adc780897c3ea2805bc90ff91f694093bd/22w03a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-01-19T16:04:59+00:00"}, {"id": "1.18.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7ff864e988a2c29907154d5f9701e87e5d5e554a/1.18.1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-10T08:23:00+00:00"}, {"id": "1.18.1-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/027ff0f43a3589b3ea16771ec11d052fc0fdf45e/1.18.1-rc3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-10T03:36:38+00:00"}, {"id": "1.18.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0e114a6a9e1f246dea4c8835e8046b3d8ce575e3/1.18.1-rc2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-08T12:29:36+00:00"}, {"id": "1.18.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f24188f9c0759be5c844acae8b47fb582c75e7e/1.18.1-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-07T15:52:47+00:00"}, {"id": "1.18.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/01cb59a31c5af10b73ce11d04df73b469e5e8664/1.18.1-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-03T13:45:38+00:00"}, {"id": "1.18", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7367ea8b7cad7c7830192441bb2846be0d2ceeac/1.18.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-30T09:16:29+00:00"}, {"id": "1.18-rc4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/489269e1139f4c9ce6af64e9e80ac094accd3515/1.18-rc4.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-29T13:43:42+00:00"}, {"id": "1.18-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0cea86833bdfb8de6d85f2b87b4dda2081f3fc3c/1.18-rc3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-26T15:51:56+00:00"}, {"id": "1.18-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1cd29ca38d308f1375529c2c52c7819a21bb6410/1.18-rc2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-26T10:02:04+00:00"}, {"id": "1.18-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92779f7a433c8b65d2fe52dca236a0b99a877964/1.18-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-25T14:28:49+00:00"}, {"id": "1.18-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/befe1636010c86b29a0b3b74d9614eaca4679185/1.18-pre8.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-24T14:57:32+00:00"}, {"id": "1.18-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14c6eee2ef0b2ec4dd66d21a45288df9ea445853/1.18-pre7.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-23T16:37:41+00:00"}, {"id": "1.18-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/881f1e388c66a0a27f1e39759d594aba7fc827cc/1.18-pre6.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-22T17:09:05+00:00"}, {"id": "1.18-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c7297b2645db73c3548d9c7bcec9d1f1daf9a3d/1.18-pre5.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-19T15:47:09+00:00"}, {"id": "1.18-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2604a38227d2943e072fb6d1e1885cf71659a620/1.18-pre4.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-17T18:07:56+00:00"}, {"id": "1.18-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6bd8b415c9df47ba64474f10ce777e34d31462de/1.18-pre3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-17T16:04:25+00:00"}, {"id": "1.18-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f7bc077f4bae337c5d783a77246cdfc019f5a85e/1.18-pre2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-16T17:04:48+00:00"}, {"id": "1.18-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bad40b99d4019c10ef43641ff11dfecd5fd0a2e0/1.18-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-11T16:14:06+00:00"}, {"id": "21w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0a663bcbd3c43ced8e0e4889e82b79e48d2c42c/21w44a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-03T16:14:34+00:00"}, {"id": "21w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/87fce70da2c59051a18e3d792f35839f7a799f82/21w43a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-27T14:38:55+00:00"}, {"id": "21w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3ce8fdf60e69bfb0944e479ada4cf6b60dcc3995/21w42a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-20T12:41:25+00:00"}, {"id": "21w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f05122bd9496b5277cfb24312c1a7a70510cc84a/21w41a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-13T15:23:23+00:00"}, {"id": "21w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a6a012bab1380ce87f9fc4a20212fd7031ac93a4/21w40a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-07T11:17:50+00:00"}, {"id": "21w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/008cea9c2128244b9f1ffa3b9512db1e60558390/21w39a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-29T16:27:05+00:00"}, {"id": "21w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/893da3cf2aaf60457e4805994f8d526305685e77/21w38a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-23T14:36:06+00:00"}, {"id": "21w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fd90ab042d60935a123a579ec03efc422f06e4bb/21w37a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-15T16:04:30+00:00"}, {"id": "1.17.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e0e7ab5ed6f55bbd874ef95be3c9356d67e64b57/1.17.1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-06T12:01:34+00:00"}, {"id": "1.17.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4224a23efdcd362508457bda732b502d3d8bfbaf/1.17.1-rc2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-05T12:58:01+00:00"}, {"id": "1.17.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/27d7a88469c5a59420d7b060f2a253802164185f/1.17.1-rc1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-01T15:23:37+00:00"}, {"id": "1.17.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/30637bf484bc2e530db468c42e6d2695bb806420/1.17.1-pre3.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-30T15:43:16+00:00"}, {"id": "1.17.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/95f076c3f748ab83f44bc4c80b0039626b67806e/1.17.1-pre2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-29T15:14:12+00:00"}, {"id": "1.17.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/609fa7a9bb0d1c3855111e1d511d4ba2a398a524/1.17.1-pre1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-18T12:24:40+00:00"}, {"id": "1.17", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/0d9ace8a2ecfd1f4c782786f4b985a499240ff12/1.17.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-08T11:00:40+00:00"}, {"id": "1.17-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/45b8f00ecc9ca265c80da0d8ad9a6710f088bc21/1.17-rc2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-07T11:46:28+00:00"}, {"id": "1.17-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ed41604ce5637dfc62e062e1ce809817d54aa46d/1.17-rc1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-04T13:24:48+00:00"}, {"id": "1.17-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/29bd60294ee8387f7ca7d9c1abd835484f71bbfc/1.17-pre5.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-03T17:01:28+00:00"}, {"id": "1.17-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9c91afc7b8e9bab61facd2423bd75b375df0fc2e/1.17-pre4.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-02T16:15:43+00:00"}, {"id": "1.17-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/de4dd57535bea923731008c1f29562211740aba6/1.17-pre3.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-01T15:43:46+00:00"}, {"id": "1.17-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/76f54994dc32298f0743e2a9031ad1bba04cf753/1.17-pre2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-31T15:54:05+00:00"}, {"id": "1.17-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba419fd73cb07512bd2ca090f179e84333f9804c/1.17-pre1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-27T09:39:21+00:00"}, {"id": "21w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6757e49a93f18fe7b8d522f83b62d47629da37ab/21w20a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-19T15:22:02+00:00"}, {"id": "21w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a43adfb683de80b158a5c6899f34f3a041dc578/21w19a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-12T11:19:15+00:00"}, {"id": "21w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b3266f58ade03b19896163c7cfb40cf815aa8e28/21w18a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-05T15:24:35+00:00"}, {"id": "21w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2af27c4d5412f4476b43882052b5cb510cbc0984/21w17a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-28T13:54:05+00:00"}, {"id": "21w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f083b566dd515b5706ead9522c42b187b3f2f2f6/21w16a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-21T16:41:14+00:00"}, {"id": "21w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce5b993772ae22cc5f518e72b93744954945f755/21w15a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-14T13:41:34+00:00"}, {"id": "21w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7a67f727cc7847efc3753de26a32d051348b5fba/21w14a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-07T14:04:09+00:00"}, {"id": "21w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c20df75b956c2eb982a9028ceff965e1aae40345/21w13a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-31T16:17:46+00:00"}, {"id": "21w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c0d562d6db031a67b9569c0765c8ef68434e0ee2/21w11a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-17T15:05:50+00:00"}, {"id": "21w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d4982f2015d40e966beeae097307e33e2f26fa57/21w10a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-10T15:24:38+00:00"}, {"id": "21w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7dbd5a6f2eaa20726235a2b40f955004339b7af/21w08b.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-25T11:46:34+00:00"}, {"id": "21w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bc80c3181bbeebd6e0cab46fc445b76b6c9dadb1/21w08a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-24T14:38:51+00:00"}, {"id": "21w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/96476dbdb5d6689b3f1a47c025f1b7ad3630bd95/21w07a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-17T16:35:40+00:00"}, {"id": "21w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/446e380daf0fa4a9d42d5fcfa8984f8a9500e063/21w06a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-10T17:13:54+00:00"}, {"id": "21w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e957c6d798c266d5978835fcf8f74f7af96153e/21w05b.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-04T15:09:29+00:00"}, {"id": "21w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f28b435faf0610838bb6ddf6ace922ea27b89de9/21w05a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-03T15:56:54+00:00"}, {"id": "21w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4b7bb5c32164c0497717ab7ec5dc3016de6dfdc0/21w03a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-01-20T14:56:29+00:00"}, {"id": "1.16.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fba9f7833e858a1257d810d21a3a9e3c967f9077/1.16.5.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2021-01-14T16:05:32+00:00"}, {"id": "1.16.5-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79b63085fb7b4805877ee719f6518ab3c87b3833/1.16.5-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2021-01-13T15:58:55+00:00"}, {"id": "20w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08f2e16bc1ab7f7bdeaa95f2762ff05c7407100d/20w51a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-12-16T16:27:57+00:00"}, {"id": "20w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba1eaa1e4396bd42eb1ef2a0897fcf0043551f6f/20w49a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-12-02T16:47:20+00:00"}, {"id": "20w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cbbe53da94d1368c5e2fd8309f0e7b1645957516/20w48a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-25T15:42:24+00:00"}, {"id": "20w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d1d7a38b0d650c51473ba04019176b575fd6f34b/20w46a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-11T15:30:32+00:00"}, {"id": "20w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/913ae8af6dcc8b308fb58da1ee3b58e3a83f5f28/20w45a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-04T16:42:00+00:00"}, {"id": "1.16.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/596ad61fda7612d9edf8881cf81869276bdb7f82/1.16.4.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-29T15:49:37+00:00"}, {"id": "1.16.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ef95b0f319cb282802a4cc38e57e79d4fafc9567/1.16.4-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-27T16:31:08+00:00"}, {"id": "1.16.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5af340937921b990c1b7da8bdac9d04fad7c3c95/1.16.4-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-22T15:32:17+00:00"}, {"id": "1.16.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b48239bf7935185c788e07d9c2d83d788ce3f27b/1.16.4-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-13T14:36:07+00:00"}, {"id": "1.16.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/6485dd131ef68c968041a9f6fd73094b027e42e1/1.16.3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-09-10T13:42:37+00:00"}, {"id": "1.16.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5ba5cfa865db9020ddab97df365ea8821d3eb454/1.16.3-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-09-07T12:34:06+00:00"}, {"id": "1.16.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/998d9ef5770d05c20d760dc16cf85151f35009f2/1.16.2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-11T10:13:46+00:00"}, {"id": "1.16.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/278e49a115bce14e99b5fa9420103652692c9f6b/1.16.2-rc2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-10T11:43:36+00:00"}, {"id": "1.16.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/541ad2a92d12e6d36fb6c2b29b5d69ae4b97ab23/1.16.2-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-07T14:35:39+00:00"}, {"id": "1.16.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3df6469e9cc759a1ac0a8f6690289922d547f97b/1.16.2-pre3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-06T16:44:52+00:00"}, {"id": "1.16.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7768698c025d559928042452df9d79910e7818eb/1.16.2-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-05T15:30:50+00:00"}, {"id": "1.16.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9709f88b92c9078c3d0a95dae3a225dc8cd70a34/1.16.2-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-29T13:19:05+00:00"}, {"id": "20w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3de2ee50c31ebcd4b1fa9577e2550a6020710df5/20w30a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-22T15:05:15+00:00"}, {"id": "20w29a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d869c8cda528228a47b80dde5cc9ea138f514a99/20w29a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-15T14:13:47+00:00"}, {"id": "20w28a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/33142315373d1ed7289fa6e5b8b2de6980147de8/20w28a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-08T15:10:40+00:00"}, {"id": "20w27a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e442b0f37792b83bf46e9ae0258f45faff33a7cf/20w27a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-01T15:07:35+00:00"}, {"id": "1.16.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/54fa3af57d041d2771e66d390197b2c0288e697c/1.16.1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-24T10:31:40+00:00"}, {"id": "1.16", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e9d21d375f9c961f0e9731d4e463306d76e77c48/1.16.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-23T16:20:52+00:00"}, {"id": "1.16-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49d94686688119e1d85d8c7ebc690b0f6d71ebd8/1.16-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-18T12:49:28+00:00"}, {"id": "1.16-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d85ab25ae33462045ba050774cf9cbb978afebca/1.16-pre8.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-17T14:45:23+00:00"}, {"id": "1.16-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec4dc4530869505923e1ebf6fc80ea08eda831e1/1.16-pre7.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-16T15:31:35+00:00"}, {"id": "1.16-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c1ed3dcbbf22fe0a17eb05b3f1f1445f25508d6/1.16-pre6.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-15T16:57:57+00:00"}, {"id": "1.16-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e41cdd44896fcfd96db07aecf89a58bbc89d6c6f/1.16-pre5.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-12T14:33:59+00:00"}, {"id": "1.16-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/68b121aae24c9f217378ac64e7e27e1a4ca6c6e0/1.16-pre4.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-11T15:45:55+00:00"}, {"id": "1.16-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72e9981dd7fb9bc1e775a04aa844ef79192bfebc/1.16-pre3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-10T14:57:43+00:00"}, {"id": "1.16-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81ae4d3c6cabf02af6c67abd87c6b9c9501bdf26/1.16-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-05T10:47:59+00:00"}, {"id": "1.16-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bcfd0eeee263ea7779c23ba7d55034607ba4b00e/1.16-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-04T18:17:51+00:00"}, {"id": "20w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0bbbe0674789a5b2b11705bb868a446bfd660fd/20w22a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-29T11:25:02+00:00"}, {"id": "20w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d95fdd82e0fa506eb4099f3e948c378124a2baf/20w21a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-20T12:07:18+00:00"}, {"id": "20w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2ac29186d5062224ff326d868fe78bea79360ad1/20w20b.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-14T08:16:26+00:00"}, {"id": "20w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4e5118f80f061490e54d843216780dabdaaf59fd/20w20a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-13T15:11:43+00:00"}, {"id": "20w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/be653aac3f8e6cfc2bc40cc9be764f0a4ba46121/20w19a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-06T16:23:24+00:00"}, {"id": "20w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c7978f8d1b6735bb0b6d813f3aed0363bf1bd8d/20w18a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-29T15:16:34+00:00"}, {"id": "20w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/98807b36f1ee047d5e4e2744d94b28d9e5c1b7cd/20w17a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-22T13:47:50+00:00"}, {"id": "20w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9ca086c9195b437c08f9f0c38d25dc1955d91870/20w16a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-15T14:13:01+00:00"}, {"id": "20w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bbf16435ce4c151d3908b442987c162e6f7cf8c5/20w15a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-08T12:29:24+00:00"}, {"id": "20w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e548dbfeb7cb9aa76888b7308112c1a03cf0cc0/20w14a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-02T14:28:06+00:00"}, {"id": "20w14infinite", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73eb2a736f0a7349fb5f73e685f847826e5321fd/20w14infinite.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-01T12:47:08+00:00"}, {"id": "20w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/430033af05f29add54241c55be62bbde6b640cd5/20w13b.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-26T13:00:34+00:00"}, {"id": "20w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e7daff8b5d319aca184bfa818f073663ada22d7/20w13a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-25T17:05:33+00:00"}, {"id": "20w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79a74e0bfd167b1d09713accb7c2fe6cd1c5dd8c/20w12a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-18T16:42:06+00:00"}, {"id": "20w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ac08e450ea036741d61bcb7e5ea09e5db2e945d7/20w11a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-11T16:28:27+00:00"}, {"id": "20w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/781dbf396510e90e3ec6c845d60e05719a3c8853/20w10a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-04T16:21:41+00:00"}, {"id": "20w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/191f7a06170d42a2aed63c2a8adf4aaae4799892/20w09a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-26T16:43:08+00:00"}, {"id": "20w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/77545f4f812d127fd032e36413901b85215662d9/20w08a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-19T13:30:09+00:00"}, {"id": "20w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49b9a7a4d3ae78d74dcba384e2aea08cb58fbe37/20w07a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-14T13:20:49+00:00"}, {"id": "20w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59a5d77dce749c868f7338c5d6241312a9dc2f1a/20w06a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-05T16:05:22+00:00"}, {"id": "1.15.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e9d0adb8f642abe422909ede50f651b2b58a3573/1.15.2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-17T10:03:52+00:00"}, {"id": "1.15.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2b1688e3a06c0427a99cd0042554ed40eb4fafa4/1.15.2-pre2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-16T12:35:57+00:00"}, {"id": "1.15.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7f37c8d4695dff2a9f553952e9c97a49ee471ca/1.15.2-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-14T16:19:31+00:00"}, {"id": "1.15.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/18c3063de87ae126b4e017121219ba802be0755b/1.15.1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-16T10:29:47+00:00"}, {"id": "1.15.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b5aee0865f805a44ecdbed04c964352e86534f2/1.15.1-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-12T14:02:30+00:00"}, {"id": "1.15", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/833322370ab320e77717097082effe1d124d48bd/1.15.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-09T13:13:38+00:00"}, {"id": "1.15-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e60f500bb19e44c0e632e02da12807ff2fe92e49/1.15-pre7.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-09T12:14:11+00:00"}, {"id": "1.15-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6da29669f5a9cd8ddf8ee92888125a23eb09b877/1.15-pre6.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-06T12:04:30+00:00"}, {"id": "1.15-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e842a4e2c50234213a19931ac8a462de3021467/1.15-pre5.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-05T13:20:00+00:00"}, {"id": "1.15-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b4ca2162a7a098e4e4f7dce619666d0aa6f3e2fc/1.15-pre4.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-03T12:24:24+00:00"}, {"id": "1.15-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1f31491b1ea5e89427393ab3ca6aefb5e0e9c34a/1.15-pre3.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-28T17:17:50+00:00"}, {"id": "1.15-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/62c8b621f2be16d47fa2f05f8f6380a696cfeda3/1.15-pre2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-25T18:09:38+00:00"}, {"id": "1.15-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/66e8035a07e8d2610491003ebf7c51a9c4b0ed67/1.15-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-21T17:01:17+00:00"}, {"id": "19w46b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/18f4384dd05ad7711714742e5c22947a3828d6a2/19w46b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-14T13:29:24+00:00"}, {"id": "19w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/91bef07ec9143752f2ce038434f60f08e6f10089/19w46a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-13T16:37:46+00:00"}, {"id": "19w45b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce9a87180664cce2eaa96518f6dae923943efe4c/19w45b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-08T12:42:44+00:00"}, {"id": "19w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e459f7878fde73117da2cb89cbaaa6d649b1a39/19w45a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-07T16:19:20+00:00"}, {"id": "19w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/652ec7dc926df9b0c7a7f7d00e9cfe34b3b82470/19w44a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-30T15:31:44+00:00"}, {"id": "19w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c7d6f4ba7786e252c79a73a13106eb077e622a3/19w42a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-16T15:30:39+00:00"}, {"id": "19w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a73a6135db91f13d7399fc9d438c24a7a80fb819/19w41a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-09T15:21:35+00:00"}, {"id": "19w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c2b4b675af813d9e8e43767991539a1770b93e6b/19w40a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-02T13:40:26+00:00"}, {"id": "19w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14180226c4e65289831b3f28fc75aebf8e114deb/19w39a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-27T10:13:33+00:00"}, {"id": "19w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72fea837ad3bf55eaf4a1163109afba0d1f9976c/19w38b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-18T14:59:13+00:00"}, {"id": "19w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e43b0e8f8944107fafb785cb50e2994c4be1676f/19w38a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-18T10:03:22+00:00"}, {"id": "19w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8a986a197d87f45205a5650018708c7f9d9056ad/19w37a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-11T11:46:44+00:00"}, {"id": "19w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/90bc200686ed385ca3ccae265393d28a8d3191fe/19w36a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-04T11:19:34+00:00"}, {"id": "19w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/39e153ff4f57f533069cf24441f9fa0a23b6d223/19w35a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-08-28T15:01:44+00:00"}, {"id": "19w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79310fef2c7bb69085e9459568152049f706e52d/19w34a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-08-22T12:06:21+00:00"}, {"id": "1.14.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/be146d5f66a3627ed0a87c234c4d8dde8ab35098/1.14.4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-19T09:25:47+00:00"}, {"id": "1.14.4-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9fa32d63671ca8ad48ffc01f478bb5528a9780bb/1.14.4-pre7.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-18T11:32:36+00:00"}, {"id": "1.14.4-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fc516c11532c5dd97de371786969d0103df1aff9/1.14.4-pre6.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-15T12:39:49+00:00"}, {"id": "1.14.4-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6561296e73e1cbc2371cda68e0f045191d413ea3/1.14.4-pre5.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-11T10:52:33+00:00"}, {"id": "1.14.4-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a08857ff791232848fb4f361c05bfc3096cf02b3/1.14.4-pre4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-10T12:53:29+00:00"}, {"id": "1.14.4-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1304801a59f94205cf234f809f2ddaf78e2b64a8/1.14.4-pre3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-08T11:21:42+00:00"}, {"id": "1.14.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/33921eca48b26430ff698ce196645d166529f270/1.14.4-pre2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-04T14:41:05+00:00"}, {"id": "1.14.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/22fef20b2c50855f8702a06a836dc4f31412436a/1.14.4-pre1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-03T13:01:01+00:00"}, {"id": "1.14.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e21618620e02be5a14543d1d17ffdba941d09aa8/1.14.3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-24T12:52:52+00:00"}, {"id": "1.14.3-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e197ff501e791295140b7b6b02ca5f476075f634/1.14.3-pre4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-19T11:44:29+00:00"}, {"id": "1.14.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cee4ea21267c4f62171f5cf19bf5b3322424be33/1.14.3-pre3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-14T08:03:33+00:00"}, {"id": "1.14.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f4a376be79a51403d9cd0c1dbec1a25a2994dc85/1.14.3-pre2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-07T09:11:29+00:00"}, {"id": "1.14.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6345b47eb7abe7b74870ff11dbd03e282e1b0112/1.14.3-pre1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-03T14:34:20+00:00"}, {"id": "1.14.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/83299b3bf3139ebd9ae5547b3144dcf68d4cb1fd/1.14.2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-27T11:48:25+00:00"}, {"id": "1.14.2 Pre-Release 4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/75bf72d8e4b38cf5f729637efc116697edec4334/1.14.2%20Pre-Release%204.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-27T07:21:11+00:00"}, {"id": "1.14.2 Pre-Release 3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a0126da466f90d6e52eb3e27332f7f7070f4be8/1.14.2%20Pre-Release%203.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-22T13:12:51+00:00"}, {"id": "1.14.2 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dee854f57cac0fc9f1b96b96254a67829dd103ae/1.14.2%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-17T12:21:03+00:00"}, {"id": "1.14.2 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0525ae4750d18d6c3cf9edee1f510333919c6003/1.14.2%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-16T15:40:25+00:00"}, {"id": "1.14.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/183e49ba0fabb5ef8a304f8f5907fa887f40c466/1.14.1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-13T11:10:12+00:00"}, {"id": "1.14.1 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1d0ccfff5f8d13d3ecaddbc481a9a4815e312e4e/1.14.1%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-09T14:01:04+00:00"}, {"id": "1.14.1 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/656e98e9c5a418b4747b0e5892fd301963b0bcc7/1.14.1%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-07T14:44:42+00:00"}, {"id": "1.14", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/0fd01dd81eaa451d3130b1cf025a10f129585b10/1.14.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-23T14:52:44+00:00"}, {"id": "1.14 Pre-Release 5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/157959b1daeda81293854032102eef36e76af108/1.14%20Pre-Release%205.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-18T11:05:19+00:00"}, {"id": "1.14 Pre-Release 4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/93ca7217fa9027019328b1b8f9b2e8f82436622d/1.14%20Pre-Release%204.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-17T15:31:12+00:00"}, {"id": "1.14 Pre-Release 3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/af8a6b1a9d8d44e080451553060a602e1214a7bb/1.14%20Pre-Release%203.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-16T13:57:10+00:00"}, {"id": "1.14 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fcbaaa318bf47cecb0c37da7a37903e4bcf24e90/1.14%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-12T11:38:53+00:00"}, {"id": "1.14 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/76dd36e6b4fb2db5e474dd3b44cd96f3f498433d/1.14%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-10T14:24:16+00:00"}, {"id": "19w14b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/eac7bd3b9b9a8beed783fda4920b76b792120861/19w14b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-05T10:33:58+00:00"}, {"id": "19w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3f547c294bf6f82e76120f760d5574d6b3eb88bc/19w14a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-03T13:45:00+00:00"}, {"id": "3D Shareware v1.34", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5b59564acaa4cc153b6f934e566226642ed978ab/3D%20Shareware%20v1.34.json", "time": "2023-06-07T12:27:21+00:00", "releaseTime": "2019-04-01T11:18:08+00:00"}, {"id": "19w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fd82b31c5890e7f118c7ffa9122a0f6b29c87936/19w13b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-29T16:53:22+00:00"}, {"id": "19w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b6b6aa23cbbce46b65e36d0c1bccd4f18438118a/19w13a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-27T15:15:31+00:00"}, {"id": "19w12b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2b7c619474e2a5c19e43494199d47cafba395abf/19w12b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-21T15:20:01+00:00"}, {"id": "19w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/91e9bb4b6af34b07c6a89c95696b988b8156702b/19w12a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-20T16:47:34+00:00"}, {"id": "19w11b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/065fec1702d92598089ad37f9e64b2e52ca30114/19w11b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-14T14:26:23+00:00"}, {"id": "19w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec8d1b45727e11cec93a813cc8b66bd48a6a3bad/19w11a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-13T13:59:29+00:00"}, {"id": "19w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fe35acc600f18d6247ec9e4228c53447e695f8a3/19w09a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-27T14:44:30+00:00"}, {"id": "19w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8d59acdc1b78c6d4a690c2906bcb0a875f119652/19w08b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-21T13:38:09+00:00"}, {"id": "19w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b21d6ece2b83e7ec488a4536dbe9f9228b744b34/19w08a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-20T14:56:58+00:00"}, {"id": "19w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0be11f1e510a44d0042ad471a72371e7633c9777/19w07a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-13T16:12:08+00:00"}, {"id": "19w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/384c37467913bcd11a0d7f8d8b9ec81c7058f1de/19w06a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-06T16:24:13+00:00"}, {"id": "19w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/87712b3fed60308203939e9ac846470f4b9672d3/19w05a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-30T15:16:49+00:00"}, {"id": "19w04b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aaf60b4748fbfa2b08c90c6abb1762fb92cac367/19w04b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-25T12:20:15+00:00"}, {"id": "19w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4eeb1dae750f4152927fe51c5065ca7aa3d53e3e/19w04a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-24T15:31:52+00:00"}, {"id": "19w03c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e7a922f060cc4441841e4722b0a6bab631492c1e/19w03c.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-18T11:27:13+00:00"}, {"id": "19w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a600b0a22f97147e59cd6060b362086ac84cb13e/19w03b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-17T16:43:27+00:00"}, {"id": "19w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e10947fbb39e5d58fb42000348be423e8c0cad64/19w03a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-16T16:45:02+00:00"}, {"id": "19w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5b51ed792b91ce4d281666c64c49084a134ac11d/19w02a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-09T15:52:07+00:00"}, {"id": "18w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/307a38d1f592a92fcff056165ef05323cb499bfc/18w50a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-12-12T14:58:13+00:00"}, {"id": "18w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e37cc7f1f8c8d9cde81b7754fda64954578170a/18w49a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-12-05T12:24:30+00:00"}, {"id": "18w48b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cece9e08337e073961bd7802672050718bf07d0d/18w48b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-30T10:37:31+00:00"}, {"id": "18w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fff0948616360b5545f236e5900af4c7c6da5d86/18w48a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-29T13:11:38+00:00"}, {"id": "18w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9d60a4e4f408db78e5f7797e8996d87e555674d8/18w47b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-23T10:46:41+00:00"}, {"id": "18w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b9345c8f73a33095fba323ebd4c4784796cf4436/18w47a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-21T15:45:22+00:00"}, {"id": "18w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b24c105bfb11d85b4f8cb946c89f762cf099aa2/18w46a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-15T13:43:14+00:00"}, {"id": "18w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8a857bfb02953d2578458402792e3b416d25f9f/18w45a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-07T14:40:06+00:00"}, {"id": "18w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7bee20111c1cd50fb0e26b689ea648ff84989ae6/18w44a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-31T15:29:16+00:00"}, {"id": "18w43c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/509730930d8dcd19bd3c6db819d33eb00d272ef4/18w43c.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-26T08:40:46+00:00"}, {"id": "18w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba1edcdba89ea57137c04952e4c7755926263a76/18w43b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-24T15:02:30+00:00"}, {"id": "18w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07adde0060f5cbdb01b90ebc03cde154aacebcb/18w43a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-24T10:52:16+00:00"}, {"id": "1.13.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fa3ddc22146c46bfeb0e9d322c6f83b937e25005/1.13.2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-22T11:41:07+00:00"}, {"id": "1.13.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7b915c9ca867e916dcbacecdfe19cff3cd94cab8/1.13.2-pre2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-18T14:46:12+00:00"}, {"id": "1.13.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28eb641c164c2ae0879358f884f42f7e2393c366/1.13.2-pre1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-16T13:40:58+00:00"}, {"id": "1.13.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/f37fe6f0912ddb7ac3e7d5201a73d56ce170a57f/1.13.1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-22T14:03:42+00:00"}, {"id": "1.13.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f82e1057225a7c9dfe3c75b45924a6bfa4aaeafa/1.13.1-pre2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-20T13:52:09+00:00"}, {"id": "1.13.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73f5439743e168a8270b538061832f22625369c9/1.13.1-pre1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-16T13:08:44+00:00"}, {"id": "18w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/495ee0c97c88cf15b6614dd68bc70994413f8e5f/18w33a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-15T14:28:56+00:00"}, {"id": "18w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fa7c2eaa0539d16d3e3887ac16ecd19f25757505/18w32a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-08T13:16:57+00:00"}, {"id": "18w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5f20fbe733b3db3758045626e9ffff050029daf6/18w31a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-01T12:54:44+00:00"}, {"id": "18w30b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81891c454a12e9bf4a262002d5c89320bb4ae153/18w30b.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-07-26T16:06:57+00:00"}, {"id": "18w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3e9adc4f817f01b8f92e00cb19e2d604473a83d3/18w30a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-07-25T14:29:31+00:00"}, {"id": "1.13", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c24c2fd37c8ca2e1c18721e2c77caf4d24c87f92/1.13.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-18T15:11:46+00:00"}, {"id": "1.13-pre10", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0d4e1471e49b9657226ffb8684ed6da72bb5068e/1.13-pre10.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-17T14:48:06+00:00"}, {"id": "1.13-pre9", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/43f426cd0895c936110629532c6db46717b2d827/1.13-pre9.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-16T14:17:42+00:00"}, {"id": "1.13-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28369586c81d7db81d6aea81a6464d2bb1765da8/1.13-pre8.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-13T11:45:00+00:00"}, {"id": "1.13-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/44314cf050787819e3c4b440f736a8c5e18ff862/1.13-pre7.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-10T14:21:42+00:00"}, {"id": "1.13-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e5288f29d1cd7b894ed99610828e713c3ba65ac/1.13-pre6.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-04T12:36:00+00:00"}, {"id": "1.13-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f0500efb357283322169d38fd52d24e195d56e05/1.13-pre5.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-28T13:58:53+00:00"}, {"id": "1.13-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5722f90decabdc54cf498d5c2e27e3a094c14018/1.13-pre4.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-26T13:00:55+00:00"}, {"id": "1.13-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/26564723c707a7eadfc07db2962295934c846296/1.13-pre3.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-21T12:57:11+00:00"}, {"id": "1.13-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/657c4cf0ac64074dbc4d97de063275aba31c9bc0/1.13-pre2.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-15T09:20:00+00:00"}, {"id": "1.13-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28db6a1653a70fc1ac1b352e63f542d21397f59d/1.13-pre1.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-04T15:17:34+00:00"}, {"id": "18w22c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b16aeae7fd19224ec48c0e0937321faae2d241ff/18w22c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-31T13:53:15+00:00"}, {"id": "18w22b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e22c333dbaff27f1dfb068aee0a343d7bc3544c/18w22b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-30T13:48:58+00:00"}, {"id": "18w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/587dd0b2f3ac3ffd96b2a3451434d1b23b351066/18w22a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-29T13:23:55+00:00"}, {"id": "18w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aaae28bb5baa12bf5c7ca8c7f3cc8c558a39c038/18w21b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-25T10:09:09+00:00"}, {"id": "18w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92a0cd0254365df7df5e7ad7974ad15285020b32/18w21a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-23T13:11:49+00:00"}, {"id": "18w20c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a9d4d7cd84c112e644f134cc0cbeb0b2efe1d9e5/18w20c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-17T14:06:56+00:00"}, {"id": "18w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/566f11647d85194f292d2300fa550631bf75510a/18w20b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-16T14:35:35+00:00"}, {"id": "18w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a287a82f4f84e9529f8d387f3f23c680d262cf6a/18w20a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-15T14:02:25+00:00"}, {"id": "18w19b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/48a0d019a8ce73d2e492f029e64c9e2791b49339/18w19b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-09T10:00:51+00:00"}, {"id": "18w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/56cac74df46a43a6385708beafeed1df79590eb2/18w19a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-08T13:05:19+00:00"}, {"id": "18w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5fcd79de4734a0b058aab67607e44b1a09464290/18w16a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-19T14:46:35+00:00"}, {"id": "18w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c9fe2e1e80b8a5078af2c30cd6b764ca508beaa0/18w15a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-11T14:54:22+00:00"}, {"id": "18w14b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b4dc5007c1306f5823cfcefd4dbb1e944c8439e/18w14b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-05T14:44:02+00:00"}, {"id": "18w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c976a8bb4510edcdcaafca651aae6b49df731bc9/18w14a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-04T14:36:14+00:00"}, {"id": "18w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07fefcabe464b19876597340187732ffd59be5f/18w11a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-13T15:10:59+00:00"}, {"id": "18w10d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/282418aaec344de75724caaf9b2def18e892b213/18w10d.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-09T15:19:12+00:00"}, {"id": "18w10c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ab5cfc50c9e95c44d744a9501808621278aec8df/18w10c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-08T15:29:23+00:00"}, {"id": "18w10b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/316ed74ddf2fa0ae65adb2a170ed5aacdada4d51/18w10b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-07T15:56:01+00:00"}, {"id": "18w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fac132e97632d4beff518e7f3f8224c07f9239de/18w10a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-06T15:54:24+00:00"}, {"id": "18w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fecf14145dffb1c28922b3c16f14e2972779b1e8/18w09a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-01T14:15:10+00:00"}, {"id": "18w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3563f3093515369cb24ba5c2d1db610a62e88379/18w08b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-22T15:44:49+00:00"}, {"id": "18w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc7c9d4df688697de0b2f13dc46749e55cbd00ef/18w08a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-21T14:59:00+00:00"}, {"id": "18w07c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c286a5129959684ce6c416f9a150560d6db263af/18w07c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-16T13:23:32+00:00"}, {"id": "18w07b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dea62b145246671ae46ed157e6ef2cd2de485a1e/18w07b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-15T14:28:42+00:00"}, {"id": "18w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/211e0152bce6081564fc9c40603463c04f89d835/18w07a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-14T17:34:13+00:00"}, {"id": "18w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a19117df869fb45cdd7a3692a3a01aab3979253f/18w06a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-09T12:09:55+00:00"}, {"id": "18w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a33a7a4c76821853a7a578920d7d784b91e9581d/18w05a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-31T13:32:09+00:00"}, {"id": "18w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3321f5a7180f93f885b2546368a88a928e11a70a/18w03b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-17T15:09:14+00:00"}, {"id": "18w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a5e5d97e17af55625c66fa993b105fb774c2d967/18w03a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-17T14:25:24+00:00"}, {"id": "18w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b9bdc1df5d704f0de0a1f2c6b8a721618371213/18w02a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-10T11:54:55+00:00"}, {"id": "18w01a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/58589469cc95d98a7cb18823f9dfdd7f14c9d023/18w01a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2018-01-03T13:29:30+00:00"}, {"id": "17w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/63a9166163a505dfb457a236e3e5d0f2ae983c2f/17w50a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-11T15:28:08+00:00"}, {"id": "17w49b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f0a11dbf1fd65a650310359ccd9c3c36f481688/17w49b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-07T15:29:54+00:00"}, {"id": "17w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9fba986bf446a39962189fb76b4236ea81e2f5f8/17w49a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-06T14:24:30+00:00"}, {"id": "17w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3b07a3dbdf52535bf05c377cbeb4e4308c6dfd42/17w48a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-27T15:36:33+00:00"}, {"id": "17w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/687c352e333feb8e36ac38e1a3cad8aa1a45affc/17w47b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-23T15:30:12+00:00"}, {"id": "17w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4f2089e0b8a7c209e811fe2ff86c4f9ab5b7bceb/17w47a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-22T12:40:05+00:00"}, {"id": "17w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a073800fa0f758a0570696446cd16df88ffc65f6/17w46a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-15T15:21:55+00:00"}, {"id": "17w45b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ad4e836a7bc594aebc70fae5cfda50b2ca410abd/17w45b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-10T10:07:02+00:00"}, {"id": "17w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b9fbd5f68cb9e4d0326d20afeb248595e4a278b8/17w45a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-08T15:48:00+00:00"}, {"id": "17w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6ceca710ad234e4db4c75c8fb9418878f2a8abf7/17w43b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-10-26T13:36:22+00:00"}, {"id": "17w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/50714e6fa84ca0bd804d3fa2f8419bbc08298e76/17w43a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-10-25T14:43:50+00:00"}, {"id": "1.12.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/832d95b9f40699d4961394dcf6cf549e65f15dc5/1.12.2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-18T08:39:46+00:00"}, {"id": "1.12.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1eff7a3a362a1005f202da0d3b7112b00c6259e7/1.12.2-pre2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-15T08:21:17+00:00"}, {"id": "1.12.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/360cab493afe35971fca74d75fbd6b43c41aa797/1.12.2-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-13T13:33:31+00:00"}, {"id": "1.12.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5b3e7d137ea360e1d418f0cf68de160acf93fbff/1.12.1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-03T12:40:39+00:00"}, {"id": "1.12.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/36781397c4c05b1ee74276afd9247f9dc33ce692/1.12.1-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-02T10:53:55+00:00"}, {"id": "17w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d500ab4e0838c53f4f7ffc5300521df0be9b9853/17w31a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-01T09:41:23+00:00"}, {"id": "1.12", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/da76e0a25ffccf2765f9e86ce61c063e44b2183b/1.12.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-06-02T13:50:27+00:00"}, {"id": "1.12-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92c171fe6fcf3c16ba95f03307618bcac5e3d947/1.12-pre7.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-31T10:56:41+00:00"}, {"id": "1.12-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b1ba9c1c184e57e1bb970cdf4caa35ece8fb4eac/1.12-pre6.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-29T11:45:12+00:00"}, {"id": "1.12-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5dab6422cd2471a7a1b26435c912679cf66c58a/1.12-pre5.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-19T07:43:28+00:00"}, {"id": "1.12-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e05acd26ca220bb6399f396c0be0893bc74808d/1.12-pre4.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-18T12:28:16+00:00"}, {"id": "1.12-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/47d8cbd470539006d9825de3a890f07e342e4168/1.12-pre3.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-17T14:09:18+00:00"}, {"id": "1.12-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5d014cb12b9aecd84a8d08a7f70bdac55ded1f26/1.12-pre2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-11T12:11:12+00:00"}, {"id": "1.12-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/80d68dc92cdf2557aada495061e93c2ce4f5ca08/1.12-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-10T11:37:17+00:00"}, {"id": "17w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/69a0095dd897d6ef87fd449328215d4f3d71c78d/17w18b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-04T13:40:22+00:00"}, {"id": "17w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/659b3c3b8578d45d265b58a0f1e428c044183ab2/17w18a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-03T14:50:23+00:00"}, {"id": "17w17b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8cd9ea793f3ee4608edf4fac8efad1b68fbceb65/17w17b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-27T13:24:23+00:00"}, {"id": "17w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9599f29c91fc8f57a77f7a79f4676a09e2ca1fe4/17w17a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-26T13:48:23+00:00"}, {"id": "17w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/38e2d76bea9091f1ed89e9f9c5b4630fcec103d9/17w16b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-21T12:02:59+00:00"}, {"id": "17w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b0369bcb956a4853bcc094ffe0020964061a1379/17w16a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-20T13:58:35+00:00"}, {"id": "17w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/84285c1ad87efc7f59ef75ca4e35ddf57c7193ae/17w15a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-12T09:30:50+00:00"}, {"id": "17w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d56c3a0ac83f263ab173de90dd6f044523a5274/17w14a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-05T13:58:01+00:00"}, {"id": "17w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b06914e45949d4d0167e339daea5217dc2f1f3c4/17w13b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-03-31T11:06:35+00:00"}, {"id": "17w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5d31a532de28fd250af810ed468a6bd70f3de54/17w13a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-03-30T09:32:19+00:00"}, {"id": "17w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a2a4b51368580cf7abc22d99d360eab2d4f2fec4/17w06a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2017-02-08T13:16:29+00:00"}, {"id": "1.11.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fa3f6d94a9fad648ff97d18fd710997261a421e8/1.11.2.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-21T09:29:12+00:00"}, {"id": "1.11.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b244f9fc1721a2ac90b6e12220f5e40246d2c84d/1.11.1.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-20T14:05:34+00:00"}, {"id": "16w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d4db7d96831cec8c3ad090110dfffae8f6f52aec/16w50a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-15T14:38:52+00:00"}, {"id": "1.11", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/935062464617c9904d20045065515cfd3f1b76d2/1.11.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-14T14:34:40+00:00"}, {"id": "1.11-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7bdd264a5a18799413f665a808de94451af68cb7/1.11-pre1.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-08T13:42:50+00:00"}, {"id": "16w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a75c5e9b85de3c7f89e1acbe02702dd4515df5eb/16w44a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-03T14:17:11+00:00"}, {"id": "16w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ecdc354d9d658e08c5371a7ce961e4aa35849913/16w43a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-27T09:00:51+00:00"}, {"id": "16w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a133f828ccd3261131132a504729e3106f17f071/16w42a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-19T11:17:47+00:00"}, {"id": "16w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/802bb9d6882c23e6f47e844c09d97914f1e90491/16w41a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-13T14:28:35+00:00"}, {"id": "16w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5c9e009d6875b2b54c231fb81cea4670b7950d5/16w40a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-06T13:57:59+00:00"}, {"id": "16w39c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/636990dd6311f6cadddf50c1e4c0a51f8fcdaf2d/16w39c.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-30T14:11:48+00:00"}, {"id": "16w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e4aac42badba700c6b8364ee5ebdc6a3b09073ca/16w39b.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-29T14:39:39+00:00"}, {"id": "16w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a550f22fab3e847433aa3289c6bedbca49057527/16w39a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-28T13:32:06+00:00"}, {"id": "16w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/687018ed85a2784dc63695af097daa280c9a8093/16w38a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-20T12:40:49+00:00"}, {"id": "16w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b49e747382603492f3ca5617a661f39c0c4e4e77/16w36a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-08T14:55:10+00:00"}, {"id": "16w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1ea0cec35ba30ccf2359303a8fbfd643179f0bcf/16w35a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-01T13:13:38+00:00"}, {"id": "16w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9fde68c65264789e91e61ce3d5db783fd537d2c/16w33a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-08-17T12:48:57+00:00"}, {"id": "16w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5e6026e390a7fde3928682740425d49a44d7786/16w32b.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-08-11T14:34:29+00:00"}, {"id": "16w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/66d012257108f502883cee77b2ecd7cc40aa6ebc/16w32a.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-08-10T12:30:10+00:00"}, {"id": "1.10.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/819460dcabf1a2e41b0cf65d342b18ad8dc12281/1.10.2.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-23T09:17:32+00:00"}, {"id": "1.10.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9c23be6c5a48ab7dc7698586b5d7177fff4b441a/1.10.1.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-22T10:13:22+00:00"}, {"id": "1.10", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/a827abf9c022a08ed9c4c7807a8c1b7f2f05deca/1.10.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-08T13:06:18+00:00"}, {"id": "1.10-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/16ae6b8daf0522d443a64b79b04fae94077027f0/1.10-pre2.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-07T14:56:34+00:00"}, {"id": "1.10-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0ac1b4475692d7e7d457bf16ad6dfac040e9f265/1.10-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-06-02T14:45:16+00:00"}, {"id": "16w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49b8423070619688f106e5fa6f4fd9176fc54a93/16w21b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-26T12:47:22+00:00"}, {"id": "16w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/325467ff1dae5a0ef55427a0a7a81c9c7e65ceea/16w21a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-25T13:12:09+00:00"}, {"id": "16w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9286a8e316080ccf271051a014abc7d886469979/16w20a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-18T12:45:14+00:00"}, {"id": "1.9.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b1a314ce2b67b3639bd6407ddcd549ce236de6f6/1.9.4.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-10T10:17:16+00:00"}, {"id": "1.9.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4d37195227760207d397224c509ded4b0c68ea37/1.9.3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-10T08:33:35+00:00"}, {"id": "1.9.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bd10c446533e8059a6bb0018525e1bce31572bb9/1.9.3-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-03T09:28:11+00:00"}, {"id": "1.9.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e179d52f490ab24205b495cb6554f172077db374/1.9.3-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-27T13:33:20+00:00"}, {"id": "1.9.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/75c4b0e87d82f8972f9513797915ab8624c60177/1.9.3-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-21T12:41:42+00:00"}, {"id": "16w15b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0d4cf718d11fc50923c10d331be462c11836beb7/16w15b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-13T13:56:41+00:00"}, {"id": "16w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/13ae720e4e324deb0f7a7dbbdfb37c330d3adcf2/16w15a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-11T14:38:28+00:00"}, {"id": "16w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c748934ad99af11076a95658af606686bdcbce7d/16w14a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-07T12:47:51+00:00"}, {"id": "1.RV-Pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/23761c1cc8b5c7c72f6604e1e7322a056a6af2f8/1.RV-Pre1.json", "time": "2023-06-07T12:36:15+00:00", "releaseTime": "2016-03-31T16:18:53+00:00"}, {"id": "1.9.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9623ca73a57c6d183a28513c894c2337cfe65995/1.9.2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-30T15:23:55+00:00"}, {"id": "1.9.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fdca0cf4bdab9959fce30413202a00a1bce35be5/1.9.1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-30T13:43:07+00:00"}, {"id": "1.9.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2fa68c071c9cc440e792d70f3b2c2e02e016d657/1.9.1-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-11T09:20:36+00:00"}, {"id": "1.9.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8da8881815e3d53da86adbdc051f836d0c4e2b93/1.9.1-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-10T15:06:03+00:00"}, {"id": "1.9.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e7ecc95790b3bac41c4c59e9c7186c8b35e3bb3/1.9.1-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-09T16:27:29+00:00"}, {"id": "1.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9178828493e41a24452841039710f05728c466d6/1.9.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-29T13:49:54+00:00"}, {"id": "1.9-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/47874af37fe9a921ed0386321445be1dd5754976/1.9-pre4.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-26T15:21:11+00:00"}, {"id": "1.9-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b34824eb8099df04af6542722d571ab20381b416/1.9-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-24T15:52:36+00:00"}, {"id": "1.9-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/99775b58e157766cb7c4058b244a1a2b357b0889/1.9-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-18T17:41:00+00:00"}, {"id": "1.9-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/06ae803d5a838a287548f6414b8ede0ebcefe64b/1.9-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-17T15:23:19+00:00"}, {"id": "16w07b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7abe006dec5beaffac1eb5fcddf86731f6eb97d/16w07b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-16T15:22:39+00:00"}, {"id": "16w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73a10d7e61011af19d4c00565bc4faeaae693c7b/16w07a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-15T15:48:46+00:00"}, {"id": "16w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/86dfa5200058cdb6f96cd2648ec86ddd04bbaf41/16w06a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-10T15:06:41+00:00"}, {"id": "16w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f89c22833e743a144e56aaed3e238c142148d9b2/16w05b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-04T15:28:02+00:00"}, {"id": "16w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/848849c124e368f87bca8a990cbdc9043f678366/16w05a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-03T15:48:38+00:00"}, {"id": "16w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec6cfa675974817435326b87987a512c5af7fbdf/16w04a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-28T15:37:24+00:00"}, {"id": "16w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d254f6fc2e3abb57e016feb6734bfa6ff38802eb/16w03a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-20T14:29:24+00:00"}, {"id": "16w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1ba834734412a1d7532e85844a32ec2ba18c1580/16w02a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-13T15:15:16+00:00"}, {"id": "15w51b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/40b2a92fcabe632c1239c615188f802a36b3854d/15w51b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-17T15:30:41+00:00"}, {"id": "15w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a120a6cce86982907628a84aca21cfc6b9064463/15w51a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-17T14:02:37+00:00"}, {"id": "15w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8356a6a93d89e3cc95328b4ee6bbd0697e0de200/15w50a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-09T15:35:57+00:00"}, {"id": "15w49b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8472901afe69ddbe599112d9fc656d3adcd1d5c/15w49b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-03T15:23:22+00:00"}, {"id": "1.8.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/d546f1707a3f2b7d034eece5ea2e311eda875787/1.8.9.json", "time": "2021-12-15T15:44:12+00:00", "releaseTime": "2015-12-03T09:24:39+00:00"}, {"id": "15w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4b2fbb35b426fbd63932801bd5f198229dfd0f62/15w49a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-02T15:09:37+00:00"}, {"id": "15w47c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e61f29ace59ae1d4d1cb1473b673b225115dc8a/15w47c.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-20T12:46:56+00:00"}, {"id": "15w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dd2a6ff3fd726a25ea42b020764a0f1c4e935849/15w47b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-19T14:48:03+00:00"}, {"id": "15w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3bab1680f0ec6330a832457f466654c03d799a0e/15w47a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-18T15:53:41+00:00"}, {"id": "15w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b40019e05283d502aab6bcf40fa498e333cb08c/15w46a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-12T12:11:47+00:00"}, {"id": "15w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c581934b794e798ce74736fd3e802128a44aa698/15w45a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-05T13:04:07+00:00"}, {"id": "15w44b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/17c7995e26759d671cb4ba41485b7ddf05bc2aba/15w44b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-30T11:23:17+00:00"}, {"id": "15w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dfce16ddf5118c95bb981ae7d84448ad3a60fc73/15w44a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-28T15:09:36+00:00"}, {"id": "15w43c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9a348e6e81aadc6fb563f1586149424af39d5268/15w43c.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-23T15:35:55+00:00"}, {"id": "15w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2a40420c0409f6f8fc24efe2c904e03715b22623/15w43b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-22T14:11:58+00:00"}, {"id": "15w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4aaabcbd0079e99840294002ebed569801729483/15w43a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-21T15:28:52+00:00"}, {"id": "15w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7b18842c1dbbe945d991851ffaff49ecd7efbb91/15w42a.json", "time": "2021-12-15T15:45:57+00:00", "releaseTime": "2015-10-14T13:25:14+00:00"}, {"id": "15w41b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/27ab9716cf332d457be085a808eb170fe1a1ff2c/15w41b.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-10-07T14:07:26+00:00"}, {"id": "15w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/38026b4c0301e3441d8e0d5b367392d3212dc51d/15w41a.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-10-07T13:19:53+00:00"}, {"id": "15w40b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a00ee3d8eb0c1cb38d928f5efb4a473768fa5286/15w40b.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-09-30T14:13:54+00:00"}, {"id": "15w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5c9662f1674f7f0e55e82a77109ad88a6bc9df7/15w40a.json", "time": "2021-12-15T15:45:55+00:00", "releaseTime": "2015-09-30T13:13:54+00:00"}, {"id": "15w39c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1/15w39c.json", "time": "2021-12-15T15:45:55+00:00", "releaseTime": "2015-09-23T13:13:54+00:00"}, {"id": "15w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/909aa3af2988edc58b1e9c66f906a883d9a34815/15w39b.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-21T15:09:52+00:00"}, {"id": "15w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7f914aa1098b8b35e20e9c021b57378d0a8fcc6c/15w39a.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-21T13:16:32+00:00"}, {"id": "15w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/222a234de865b9147cad4e3b2545d8af93c35065/15w38b.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-17T14:22:31+00:00"}, {"id": "15w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b4dcb4c07599a5e5571d9d71570641086e821e4/15w38a.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-16T14:22:31+00:00"}, {"id": "15w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9459c8c56ba4577b69cc12a9034769f0d20fb3dc/15w37a.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-10T14:22:31+00:00"}, {"id": "15w36d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9/15w36d.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-04T14:22:31+00:00"}, {"id": "15w36c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b1a04bae902de441013791777aa0461d446bd2c7/15w36c.json", "time": "2021-12-15T15:45:52+00:00", "releaseTime": "2015-09-02T16:07:22+00:00"}, {"id": "15w36b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2268159e9ce438054660ac86d55db3ddfed1e20b/15w36b.json", "time": "2021-12-15T15:45:52+00:00", "releaseTime": "2015-09-02T15:36:25+00:00"}, {"id": "15w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c185b19d54c00e43f85c610858909c40f9163708/15w36a.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-09-02T14:46:40+00:00"}, {"id": "15w35e", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1fade4fe9d2587106ac3fa14775f9126d3198103/15w35e.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-08-28T18:14:02+00:00"}, {"id": "15w35d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752/15w35d.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-08-28T16:25:35+00:00"}, {"id": "15w35c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/362bda12d03da60b8481c79f4779bba7a2602c89/15w35c.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-28T11:21:00+00:00"}, {"id": "15w35b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fda82bd0b305eba9607742b9314a41a54f0a9952/15w35b.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-24T15:39:18+00:00"}, {"id": "15w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/801ae2c7be9b3e558a7aef6c766bddb74d4be66a/15w35a.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-24T14:19:31+00:00"}, {"id": "15w34d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3c0d347369147a3951163679127a5bf8e78be5a2/15w34d.json", "time": "2021-12-15T15:45:49+00:00", "releaseTime": "2015-08-21T15:27:55+00:00"}, {"id": "15w34c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/44d6774de6881154fd5f9ac6154dee5f202eb121/15w34c.json", "time": "2021-12-15T15:45:49+00:00", "releaseTime": "2015-08-21T12:45:20+00:00"}, {"id": "15w34b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3bec850cf623d63b26caf462b0be177bc9954a0a/15w34b.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-20T14:00:03+00:00"}, {"id": "15w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b8fdc5838196c33646a68610ed7586678a53b085/15w34a.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-19T12:56:01+00:00"}, {"id": "15w33c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c602ac43b9f2c23b4c39999a6368bbccd31852ca/15w33c.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-14T13:10:46+00:00"}, {"id": "15w33b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c108562e1ee548ba05439441e97fdcb0b01d1194/15w33b.json", "time": "2021-12-15T15:45:47+00:00", "releaseTime": "2015-08-12T15:29:11+00:00"}, {"id": "15w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e5b7e666fd697aef925f539d3983d03ed5d4457e/15w33a.json", "time": "2021-12-15T15:45:47+00:00", "releaseTime": "2015-08-12T14:05:07+00:00"}, {"id": "15w32c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2bf1e36bc4099bba503063ec507b7600ca088e4c/15w32c.json", "time": "2021-12-15T15:45:46+00:00", "releaseTime": "2015-08-07T14:08:17+00:00"}, {"id": "15w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59db82d67a0a1c6b6a31d22cd050ff6c43f1611b/15w32b.json", "time": "2021-12-15T15:45:46+00:00", "releaseTime": "2015-08-06T13:51:47+00:00"}, {"id": "15w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4e80b2295bdb531e64326c4d3fbf93e8d330c5e7/15w32a.json", "time": "2021-12-15T15:45:45+00:00", "releaseTime": "2015-08-05T12:22:42+00:00"}, {"id": "15w31c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1345a9c6d2442415e5980c12fd7bd838072dbd90/15w31c.json", "time": "2021-12-15T15:45:44+00:00", "releaseTime": "2015-07-31T13:45:08+00:00"}, {"id": "15w31b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c9c8d4b706ebb7a057bb91ac69d84ea060b8d174/15w31b.json", "time": "2021-12-15T15:45:44+00:00", "releaseTime": "2015-07-30T13:38:32+00:00"}, {"id": "15w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c9ad2064a55148bef3da7d98dde8d9ff50596ea/15w31a.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2015-07-29T13:24:33+00:00"}, {"id": "1.8.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/690172f1227e1c1d2fa8fceadd0f578f7851a69e/1.8.8.json", "time": "2021-12-15T15:44:12+00:00", "releaseTime": "2015-07-27T10:31:28+00:00"}, {"id": "1.8.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7152f102903cd3ce7514d84c8ac98efecac30839/1.8.7.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-06-05T10:10:44+00:00"}, {"id": "1.8.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/acccbb056a3e8f3086c4614974fb3a894317853a/1.8.6.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-05-25T10:31:19+00:00"}, {"id": "1.8.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/16da5f5be7478f3602c25182a90f2057ba2f60d8/1.8.5.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-05-22T11:15:28+00:00"}, {"id": "1.8.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/043b84efde9fc25d849e979329c03101ac9b7795/1.8.4.json", "time": "2021-12-15T15:44:10+00:00", "releaseTime": "2015-04-17T11:37:50+00:00"}, {"id": "15w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9349d236c0f4b8760f75621b3eaad538055c759/15w14a.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2015-04-01T07:08:00+00:00"}, {"id": "1.8.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4/1.8.3.json", "time": "2021-12-15T15:44:10+00:00", "releaseTime": "2015-02-20T14:00:09+00:00"}, {"id": "1.8.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/1e35829856a71261f5a7b2b3a83012c7434b2203/1.8.2.json", "time": "2021-12-15T15:44:09+00:00", "releaseTime": "2015-02-19T15:47:29+00:00"}, {"id": "1.8.2-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07a07da8ffe68a0929710c72346073a02a94933/1.8.2-pre7.json", "time": "2021-12-15T15:45:10+00:00", "releaseTime": "2015-02-16T13:01:35+00:00"}, {"id": "1.8.2-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/07ae1d9b67d36399e239a2ff46d43a1f96ef141a/1.8.2-pre6.json", "time": "2021-12-15T15:45:10+00:00", "releaseTime": "2015-01-30T11:58:24+00:00"}, {"id": "1.8.2-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08e7827173655705e938233cf148f955b4f67901/1.8.2-pre5.json", "time": "2021-12-15T15:45:09+00:00", "releaseTime": "2015-01-26T15:03:24+00:00"}, {"id": "1.8.2-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/db4c583ec25447f7418fc8e458798905a1282b88/1.8.2-pre4.json", "time": "2021-12-15T15:45:09+00:00", "releaseTime": "2015-01-16T14:19:59+00:00"}, {"id": "1.8.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d371e2f8c3b04b44c76ae908a1e6f800895aa80/1.8.2-pre3.json", "time": "2021-12-15T15:45:08+00:00", "releaseTime": "2015-01-15T16:44:33+00:00"}, {"id": "1.8.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/50c6a27cbbd2df6adff74aaea9953a00c6ce38e3/1.8.2-pre2.json", "time": "2021-12-15T15:45:08+00:00", "releaseTime": "2015-01-15T15:07:31+00:00"}, {"id": "1.8.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79c984156100e076c37316d6d6377ced3daaf379/1.8.2-pre1.json", "time": "2021-12-15T15:45:07+00:00", "releaseTime": "2014-12-18T11:29:41+00:00"}, {"id": "1.8.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/62f9f77f67fd7d6c92cfae57cecd445be14ccd4e/1.8.1.json", "time": "2021-12-15T15:44:09+00:00", "releaseTime": "2014-11-24T14:13:31+00:00"}, {"id": "1.8.1-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4460bbf278fef1312f03c1483599c31149fe85a7/1.8.1-pre5.json", "time": "2021-12-15T15:45:07+00:00", "releaseTime": "2014-11-19T14:30:48+00:00"}, {"id": "1.8.1-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9024ad2831e3fc4450977aafe7bb3d07ff0d542/1.8.1-pre4.json", "time": "2021-12-15T15:45:06+00:00", "releaseTime": "2014-11-06T14:10:50+00:00"}, {"id": "1.8.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c2f5fb57bf63012594b3dc34a80a8d888ec017ac/1.8.1-pre3.json", "time": "2021-12-15T15:45:06+00:00", "releaseTime": "2014-10-23T12:59:42+00:00"}, {"id": "1.8.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e77dedf93135552e1aaaebcec4c8d154d4dea04/1.8.1-pre2.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-10-16T14:19:27+00:00"}, {"id": "1.8.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f470d54d32f9e1d1a02e4e84e33b2407325ab62d/1.8.1-pre1.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-10-15T13:25:11+00:00"}, {"id": "1.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9eb165eef46294062d8698c8a78e8ac914949e7a/1.8.json", "time": "2021-12-15T15:44:13+00:00", "releaseTime": "2014-09-02T08:24:35+00:00"}, {"id": "1.8-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7fd3abc53ee1f813f5b574c8dc758fd694b6abd3/1.8-pre3.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-08-28T09:40:54+00:00"}, {"id": "1.8-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2c6bf8e3d17565117bbb5e188544439518d3ad95/1.8-pre2.json", "time": "2021-12-15T15:45:04+00:00", "releaseTime": "2014-08-25T14:52:18+00:00"}, {"id": "1.8-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/00ddc59925abc10e08047c94657e3365b1e031d6/1.8-pre1.json", "time": "2021-12-15T15:45:04+00:00", "releaseTime": "2014-08-21T13:56:26+00:00"}, {"id": "14w34d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e314c5316fc189a9883f5a786a6b9daffcff8e84/14w34d.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2014-08-20T12:46:59+00:00"}, {"id": "14w34c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a82b66557f41c05f41477481e39be5d5ceec3c62/14w34c.json", "time": "2021-12-15T15:45:42+00:00", "releaseTime": "2014-08-19T15:31:24+00:00"}, {"id": "14w34b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f24d3b4a363411fec20a36c2bd92a62b628be003/14w34b.json", "time": "2021-12-15T15:45:42+00:00", "releaseTime": "2014-08-18T15:14:28+00:00"}, {"id": "14w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc020c20f2d7a79dee3f601317a8a7cb191c0538/14w34a.json", "time": "2021-12-15T15:45:41+00:00", "releaseTime": "2014-08-18T14:14:11+00:00"}, {"id": "14w33c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/de314d5c6f011057f764e546a212731d40736c1f/14w33c.json", "time": "2021-12-15T15:45:41+00:00", "releaseTime": "2014-08-15T18:00:26+00:00"}, {"id": "14w33b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dec4943bf73d83402d455243f83c8c550e36f7b5/14w33b.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-15T16:23:51+00:00"}, {"id": "14w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a1a938359171774c96e06f54bc0c12352a9d7992/14w33a.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-13T15:08:14+00:00"}, {"id": "14w32d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/414e33e7d03d873966c199d959426da08aa5aebc/14w32d.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-08T15:13:41+00:00"}, {"id": "14w32c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3dfa2c82cd06c89735ac0c9b05151b4994efab19/14w32c.json", "time": "2021-12-15T15:45:39+00:00", "releaseTime": "2014-08-08T14:11:20+00:00"}, {"id": "14w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6230265cc1f324689cb5fbb7df21235ca0013e70/14w32b.json", "time": "2021-12-15T15:45:39+00:00", "releaseTime": "2014-08-07T14:45:17+00:00"}, {"id": "14w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3af16f96e7800a8f0c31500a873b008c00036c84/14w32a.json", "time": "2021-12-15T15:45:38+00:00", "releaseTime": "2014-08-06T14:01:16+00:00"}, {"id": "14w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1243fe2c047064613e42a2c0e7ce0018fdf94035/14w31a.json", "time": "2021-12-15T15:45:38+00:00", "releaseTime": "2014-07-30T15:38:05+00:00"}, {"id": "14w30c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6327714a7712f723bb74492e2f5fcbb92b8b12a9/14w30c.json", "time": "2021-12-15T15:45:37+00:00", "releaseTime": "2014-07-24T14:39:09+00:00"}, {"id": "14w30b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dddd3cf12b88f179baa286a9bb51f4c3902c3780/14w30b.json", "time": "2021-12-15T15:45:37+00:00", "releaseTime": "2014-07-23T15:03:03+00:00"}, {"id": "14w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f73b4bad130911c1ef16066aeb740574f20f90f7/14w30a.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-23T13:15:42+00:00"}, {"id": "14w29b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/02a4803aa427d29f9db910d22b263686d0135fcc/14w29b.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-16T17:27:40+00:00"}, {"id": "14w29a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5219707e16e90d57fbba55f635b68e4725d72b8f/14w29a.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-16T15:18:17+00:00"}, {"id": "14w28b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c18437b0194fb2af464b5fe0cb67ed0eeafb44e8/14w28b.json", "time": "2021-12-15T15:45:35+00:00", "releaseTime": "2014-07-10T14:28:48+00:00"}, {"id": "14w28a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6d6b755e76453633e464ed09f82b0979a414d8e4/14w28a.json", "time": "2021-12-15T15:45:35+00:00", "releaseTime": "2014-07-09T15:42:36+00:00"}, {"id": "14w27b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08f1ed6374fb9d87e34fe81ab50d19d01e3055dc/14w27b.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-07-02T18:34:56+00:00"}, {"id": "14w27a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c0e594ad64eac1b322e4724b92292daad80951eb/14w27a.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-07-02T16:07:20+00:00"}, {"id": "14w26c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2fe002bebd830ccb5328329ed7efb7e9fb555519/14w26c.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-06-26T15:05:03+00:00"}, {"id": "14w26b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/288aa1d9c5840c8d0f75ee682bc8a0a1564babfb/14w26b.json", "time": "2021-12-15T15:45:33+00:00", "releaseTime": "2014-06-25T15:08:39+00:00"}, {"id": "14w26a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f/14w26a.json", "time": "2021-12-15T15:45:33+00:00", "releaseTime": "2014-06-25T13:59:27+00:00"}, {"id": "14w25b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d8b348b5a412e809748f35f694fe5dc395a83b3a/14w25b.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-06-19T12:29:48+00:00"}, {"id": "14w25a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0091b9fe0f95dc765e187840ff41235638ce22d6/14w25a.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-06-18T15:52:28+00:00"}, {"id": "14w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5791a666929e783ba360e98247ff744b5ac3520/14w21b.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-05-22T15:17:55+00:00"}, {"id": "14w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8c912b97cf684f4339571b27592e85b7ec84a19/14w21a.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-22T14:44:33+00:00"}, {"id": "14w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b4b682e67ff47a689cf3ff0b405eeec5758dfa9a/14w20b.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-15T16:47:21+00:00"}, {"id": "14w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/674e75f032a5473ad91531dfbfa7b8cb42f55f71/14w20a.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-15T14:01:20+00:00"}, {"id": "1.7.10", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/ed5d8789ed29872ea2ef1c348302b0c55e3f3468/1.7.10.json", "time": "2021-12-15T15:44:05+00:00", "releaseTime": "2014-05-14T17:29:23+00:00"}, {"id": "1.7.10-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f2a4a03329bb07d70d4837b6893c435f97deed25/1.7.10-pre4.json", "time": "2021-12-15T15:45:02+00:00", "releaseTime": "2014-05-14T16:29:23+00:00"}, {"id": "1.7.10-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/94578a1fc1db7cb804a9be044008e54367f4905e/1.7.10-pre3.json", "time": "2021-12-15T15:45:01+00:00", "releaseTime": "2014-05-14T15:29:23+00:00"}, {"id": "1.7.10-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954/1.7.10-pre2.json", "time": "2021-12-15T15:45:01+00:00", "releaseTime": "2014-05-14T14:29:23+00:00"}, {"id": "1.7.10-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a526665974dfa717f79f15529ae294d0a6074fc5/1.7.10-pre1.json", "time": "2021-12-15T15:45:00+00:00", "releaseTime": "2014-05-14T13:29:23+00:00"}, {"id": "14w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ffcc6382a2d12310c42cc1b654ea8d88117cf105/14w19a.json", "time": "2021-12-15T15:45:30+00:00", "releaseTime": "2014-05-08T14:24:19+00:00"}, {"id": "14w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0aa29d5bc6915b347505a194260bd51bc8bf2960/14w18b.json", "time": "2021-12-15T15:45:30+00:00", "releaseTime": "2014-05-02T11:38:17+00:00"}, {"id": "14w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c64cc4d300948e2d8e5fb05e394b69edc680027e/14w18a.json", "time": "2021-12-15T15:45:29+00:00", "releaseTime": "2014-04-30T10:25:35+00:00"}, {"id": "14w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2d857ecd809f15008f4718dc3b11ef5b60548ce4/14w17a.json", "time": "2021-12-15T15:45:29+00:00", "releaseTime": "2014-04-24T15:44:49+00:00"}, {"id": "14w11b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/022ade13058d98289f1625857462994a6ec40110/14w11b.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-04-14T14:36:19+00:00"}, {"id": "1.7.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5579bc9e25a9bb5e3187a2570693a0c6658edce4/1.7.9.json", "time": "2021-12-15T15:44:08+00:00", "releaseTime": "2014-04-14T13:29:23+00:00"}, {"id": "1.7.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/03d8e2e1c192d48ffc406cb7a483861cf26dfe25/1.7.8.json", "time": "2021-12-15T15:44:08+00:00", "releaseTime": "2014-04-09T07:58:16+00:00"}, {"id": "1.7.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/47e228263557da73d0e2be803e5d83e5b246ae75/1.7.7.json", "time": "2021-12-15T15:44:07+00:00", "releaseTime": "2014-04-09T07:52:16+00:00"}, {"id": "1.7.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b6dd3e6496ad415f0c57867dea1f97710d5f184c/1.7.6.json", "time": "2021-12-15T15:44:07+00:00", "releaseTime": "2014-04-09T07:52:06+00:00"}, {"id": "14w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ed3b597f26c1140b31d4c7421054e83398270e19/14w11a.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-03-13T14:02:50+00:00"}, {"id": "1.7.6-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/977e8f92b306b2d798a7b69858f48fbe06dbb302/1.7.6-pre2.json", "time": "2021-12-15T15:45:03+00:00", "releaseTime": "2014-03-08T11:00:01+00:00"}, {"id": "1.7.6-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/39e402b6972475126fa9e8a883915a9ce5d7722a/1.7.6-pre1.json", "time": "2021-12-15T15:45:02+00:00", "releaseTime": "2014-03-08T11:00:00+00:00"}, {"id": "14w10c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/312e632fcac49d7c1dca6a7fa58824eace01d91d/14w10c.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-03-07T13:49:55+00:00"}, {"id": "14w10b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/90e924daa64f7908e69d4c7c4451599d2592f9d3/14w10b.json", "time": "2021-12-15T15:45:27+00:00", "releaseTime": "2014-03-06T16:25:39+00:00"}, {"id": "14w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/643d852decb88d011fab20df4cb14ed100362f0f/14w10a.json", "time": "2021-12-15T15:45:27+00:00", "releaseTime": "2014-03-06T14:23:04+00:00"}, {"id": "14w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c04557fe5dcfe1c2e302265b677549384008c14/14w08a.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-26T17:00:00+00:00"}, {"id": "1.7.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4afb628501a6a206b80a47ab4f29ea6b98caac90/1.7.5.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2014-02-26T09:22:17+00:00"}, {"id": "14w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/23dbadcc03150f2e3447d528f7f546ba8fd62246/14w07a.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-14T11:05:07+00:00"}, {"id": "14w06b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2c381742bc9cadc33fbc0a823b4fb734aad78533/14w06b.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-06T17:30:42+00:00"}, {"id": "14w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a59d77f95afc36421554f9fee3a930d6cca9209d/14w06a.json", "time": "2021-12-15T15:45:25+00:00", "releaseTime": "2014-02-06T14:30:17+00:00"}, {"id": "14w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff/14w05b.json", "time": "2021-12-15T15:45:25+00:00", "releaseTime": "2014-01-31T14:05:50+00:00"}, {"id": "14w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f/14w05a.json", "time": "2021-12-15T15:45:24+00:00", "releaseTime": "2014-01-30T15:32:41+00:00"}, {"id": "14w04b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/62524cf35e56e365a5dff36353fb77a38ff35269/14w04b.json", "time": "2021-12-15T15:45:24+00:00", "releaseTime": "2014-01-24T15:48:46+00:00"}, {"id": "14w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/41307eaf3c2bf6b526986d8bb2fd698099298a2f/14w04a.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-23T15:26:13+00:00"}, {"id": "14w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2/14w03b.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-16T16:36:19+00:00"}, {"id": "14w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73f7ed186402ac8927ce415507cfa70b6aa5483f/14w03a.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-16T14:45:13+00:00"}, {"id": "14w02c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e7c40fe6754d5912ebc119a53e752c9024130e3f/14w02c.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-10T15:42:36+00:00"}, {"id": "14w02b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/25f758976bfd97d533af7e38680db8983d2cf82d/14w02b.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-09T15:45:55+00:00"}, {"id": "14w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1348f531ae51631ea0ee1e467348440c5f93dcc2/14w02a.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-09T14:44:41+00:00"}, {"id": "1.7.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5db9d89cb6b89573384f324aa585b4c99525b37a/1.7.4.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2013-12-09T12:28:10+00:00"}, {"id": "1.7.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/cd133f90b7e339c50b3cdce64188a51469c6a128/1.7.3.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2013-12-06T13:55:34+00:00"}, {"id": "13w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/82cf56aabfbca3a1f1d13b4404050d9877b5a67e/13w49a.json", "time": "2021-12-15T15:45:21+00:00", "releaseTime": "2013-12-05T14:34:41+00:00"}, {"id": "13w48b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/55543db98b2df3a986c99d8cdc8278a70493eb4a/13w48b.json", "time": "2021-12-15T15:45:21+00:00", "releaseTime": "2013-11-26T18:36:08+00:00"}, {"id": "13w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/329f28adfb5ba0d6d81ceae27209e1eb97c4ef88/13w48a.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-25T16:53:39+00:00"}, {"id": "13w47e", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81b30470c108a201cfb2dfd548dc0a52afa20a0a/13w47e.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-22T15:16:38+00:00"}, {"id": "13w47d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ccf62018b2e8aa9628dab2353ed85a4239368f63/13w47d.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-22T13:51:15+00:00"}, {"id": "13w47c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ca7616ffa259c99e2350f010555eba54e54b4dd0/13w47c.json", "time": "2021-12-15T15:45:19+00:00", "releaseTime": "2013-11-21T17:10:33+00:00"}, {"id": "13w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ac1dc3c3a7d33aa47e97c7b3d419510696f57cde/13w47b.json", "time": "2021-12-15T15:45:19+00:00", "releaseTime": "2013-11-21T16:57:41+00:00"}, {"id": "13w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9bb727f63e3af146df7cbd47a6a3332d31550855/13w47a.json", "time": "2021-12-15T15:45:18+00:00", "releaseTime": "2013-11-21T15:59:58+00:00"}, {"id": "1.7.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c2e8ecbf355760a74c93d7210767fa043d53f27c/1.7.2.json", "time": "2021-12-15T15:44:05+00:00", "releaseTime": "2013-10-25T13:00:00+00:00"}, {"id": "1.7.1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/744a42505862bea0bdd5da55ff06e09536f36d66/1.7.1.json", "time": "2021-12-15T15:45:00+00:00", "releaseTime": "2013-10-23T12:01:07+00:00"}, {"id": "1.7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16/1.7.json", "time": "2021-12-15T15:45:03+00:00", "releaseTime": "2013-10-22T15:04:05+00:00"}, {"id": "13w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7c2d81bf137c9e1a84576241767de08909c29fd/13w43a.json", "time": "2021-12-15T15:45:18+00:00", "releaseTime": "2013-10-21T16:34:47+00:00"}, {"id": "13w42b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce863b81986e6acce2983be040d2071711f6403c/13w42b.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-18T16:34:08+00:00"}, {"id": "13w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8cef2eee33892b62b3a28559246c750c3487dd8f/13w42a.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-17T18:33:05+00:00"}, {"id": "13w41b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/015456cd8b5c68d0076536d4e867111cd36b541a/13w41b.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-11T15:09:17+00:00"}, {"id": "13w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/43622c17e011441b8b63b0a27d79887c2f7516aa/13w41a.json", "time": "2021-12-15T15:45:16+00:00", "releaseTime": "2013-10-10T14:21:43+00:00"}, {"id": "13w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160/13w39b.json", "time": "2021-12-13T14:56:26+00:00", "releaseTime": "2013-09-27T12:15:58+00:00"}, {"id": "13w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/61b88e8c311ed6a647ebf13d9934c6a1e3a94a75/13w39a.json", "time": "2021-12-13T14:56:26+00:00", "releaseTime": "2013-09-26T15:11:19+00:00"}, {"id": "13w38c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a9e87e0699f19fea280878f5deb744c5d5d3ccb1/13w38c.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-20T15:11:34+00:00"}, {"id": "13w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6f426be1993b140ab5d10459c91eb1f542d58c82/13w38b.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-20T13:45:40+00:00"}, {"id": "13w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4/13w38a.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-19T16:34:21+00:00"}, {"id": "1.6.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b71bae449192fbbe1582ff32fb3765edf0b9b0a8/1.6.4.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-09-19T15:52:37+00:00"}, {"id": "13w37b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b8d28154ee056af6af3c8c37815418fe0e9f34f8/13w37b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-13T10:54:41+00:00"}, {"id": "1.6.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/903d6ba1bc87c301d88fa418f8b33446201c7d4e/1.6.3.json", "time": "2019-06-28T07:07:47+00:00", "releaseTime": "2013-09-13T10:54:41+00:00"}, {"id": "13w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f33c613a4bb81ef5f56be03a8f578208ada382a/13w37a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-12T14:23:14+00:00"}, {"id": "13w36b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a538e23057a596fc8c7e04d8a7738d866467f51/13w36b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-06T12:31:58+00:00"}, {"id": "13w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b/13w36a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-05T13:05:40+00:00"}, {"id": "1.6.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c0729761bf65dc58138ce508645dba1442fa78b8/1.6.2.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-07-05T13:09:02+00:00"}, {"id": "1.6.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7fd8e0c76f62813eb0465e31bb74b160c01472d6/1.6.1.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-06-28T14:48:41+00:00"}, {"id": "1.6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/20116297638f7c70cd046e25a6ac90fee4cae61a/1.6.json", "time": "2019-06-28T07:07:47+00:00", "releaseTime": "2013-06-25T13:08:56+00:00"}, {"id": "13w26a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b349702aef5e3adaebec30c79338300423943930/13w26a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-24T16:06:06+00:00"}, {"id": "13w25c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/934788bc580ef0a19725ee5bd31f02a0b866e0bf/13w25c.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-20T15:23:37+00:00"}, {"id": "13w25b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b7870ddd0d0b38779479ad782d65ad80e688cf7/13w25b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-18T15:13:27+00:00"}, {"id": "13w25a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/65c0e5fff89b477ac6f8ddb336f0e718d525d311/13w25a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-17T14:08:06+00:00"}, {"id": "13w24b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e1294b52803771cfb06767c4c40dced70475cb25/13w24b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-14T12:19:13+00:00"}, {"id": "13w24a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/74666ab85cc5539f08aec638eabd63a552ed4125/13w24a.json", "time": "2019-06-28T07:08:07+00:00", "releaseTime": "2013-06-13T15:32:23+00:00"}, {"id": "13w23b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f17829f3e412b9b727437ec9f8433bdfc6c7b9a7/13w23b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-06-08T00:32:01+00:00"}, {"id": "13w23a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8234057ec006c5bb62a28ca4f6787323968438e6/13w23a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-06-07T16:04:20+00:00"}, {"id": "13w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/597a15f27cc0913a77ff7e1e9c62c3affc627fe8/13w22a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-30T14:38:40+00:00"}, {"id": "13w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/98f66e115fbab6dcd05f2e5e0a23dd78c0a5e7a3/13w21b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-27T08:50:42+00:00"}, {"id": "13w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aebfb9b82f0712de3e6ef78bc2cafe5dcb742130/13w21a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-23T15:38:28+00:00"}, {"id": "13w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8bb131515d6b483baa76f1b42ea5a1018d11bb22/13w19a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-10T14:48:02+00:00"}, {"id": "13w18c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/93738bf22f33d9ba5e2980bec849b097a5050c8f/13w18c.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-03T09:19:35+00:00"}, {"id": "13w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2cab9aae9eef3558d6abe8ac2708ea19322a1594/13w18b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-02T17:12:25+00:00"}, {"id": "13w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79bef69b5542046e705a57784cc63574748effe2/13w18a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-02T15:45:59+00:00"}, {"id": "13w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d21e61b16b0e446b5062e8ee72c9d0ff3bfbd155/13w17a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-25T15:50:00+00:00"}, {"id": "1.5.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/924a2dcd8bdc31f8e9d36229811c298b3537bbc7/1.5.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-25T15:45:00+00:00"}, {"id": "13w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5f4e1c860d1c79d346f3e4574615ca1fd9da01ed/13w16b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-23T21:51:22+00:00"}, {"id": "13w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c355e2ee0495dfcc8ec9806955c8d2993179b40c/13w16a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-21T12:49:30+00:00"}, {"id": "1.5.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/3c514114d9c2a3ea78f72c4f9fb4eeb56747135a/1.5.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-03-20T10:00:00+00:00"}, {"id": "1.5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bb882e3d97bee9c5b5e486da04b85f977e770150/1.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-03-06T22:00:00+00:00"}, {"id": "1.4.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7aa8e9aeacf4e1076bfd81c096f78de9b883ebe6/1.4.7.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-27T22:00:00+00:00"}, {"id": "1.4.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/d64a902a48a6a618f9a0a82c183be454e7a1f23b/1.4.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-19T22:00:00+00:00"}, {"id": "1.4.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/09832797138da79745ade734da775f44c254066b/1.4.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-19T22:00:00+00:00"}, {"id": "1.4.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/f7de827181036b09444abb6b64c1fcc663b8e98e/1.4.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-13T22:00:00+00:00"}, {"id": "1.4.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3ab416ac64dac1a6123402a8aabd8ef3caeef087/1.4.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-30T22:00:00+00:00"}, {"id": "1.4.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/2fd77aa19aba2860bbf4c1fd9f84f232703dd287/1.4.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-24T22:00:00+00:00"}, {"id": "1.4.1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14c3ba517b5baabdfc61b60eb49d9aa7da012906/1.4.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-22T22:00:00+00:00"}, {"id": "1.4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d979a4671611bf8704c0a2a0cf09964ca25eefd7/1.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-18T22:00:00+00:00"}, {"id": "1.3.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/598eedd6f67db4aefbae6ed119029e3d7373ecf5/1.3.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-08-15T22:00:00+00:00"}, {"id": "1.3.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/637aa8466c4dac462b88682caaf753290f37798f/1.3.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-07-31T22:00:00+00:00"}, {"id": "1.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b384219c6d4879e56b92eea01a0d986e20d55dea/1.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-07-25T22:00:00+00:00"}, {"id": "1.2.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5158765caf1ca14958cb6c45d52c8e09ed9b046c/1.2.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-29T22:00:00+00:00"}, {"id": "1.2.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/69a67fcf11ed1298c6b43a00d64461908a318749/1.2.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-21T22:00:00+00:00"}, {"id": "1.2.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/2f7eaec33e3017a413c677eefa59df2e5919e536/1.2.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-01T22:00:00+00:00"}, {"id": "1.2.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4e2e449ba0b8b5da7055f0decea1a3257b282f17/1.2.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-02-29T22:00:01+00:00"}, {"id": "1.2.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/1a45c035ebb969dbac4e0c39582e974ad7f74a9e/1.2.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-02-29T22:00:00+00:00"}, {"id": "1.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c0cb9368dbdbb1e8dbcb9363a28d8da74cf6fc5e/1.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-01-11T22:00:00+00:00"}, {"id": "1.0", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/75062586b830dd5160f13f1c9130eb365e01f1b9/1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-11-17T22:00:00+00:00"}, {"id": "b1.8.1", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/440e3b845c3991492a3d0c5f0ccfda78ab90d9b6/b1.8.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-09-18T22:00:00+00:00"}, {"id": "b1.8", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e5b20b1a15daa60effefd86da94b118086214e8b/b1.8.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-09-14T22:00:00+00:00"}, {"id": "b1.7.3", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/44f6969326bd45aa00dcd3c4ca3a7c05ebb24c04/b1.7.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-07-07T22:00:00+00:00"}, {"id": "b1.7.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/00f5aff7cbf6ce109ecf2c8e1a5dc1bcbadb5680/b1.7.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-06-30T22:00:00+00:00"}, {"id": "b1.7", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/f3a725f9f27e90f2a2622ad82c182c1a1178572f/b1.7.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-06-29T22:00:00+00:00"}, {"id": "b1.6.6", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/16cb1aa6f7c9c3953fa2f53abd8f57558efd3e71/b1.6.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-30T22:00:00+00:00"}, {"id": "b1.6.5", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/eae37053bb49092ce93d40e762f4c3a573ee2880/b1.6.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-27T22:00:00+00:00"}, {"id": "b1.6.4", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/ac98b5e9e44038f3a311736111c16fc30006e1fd/b1.6.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:04+00:00"}, {"id": "b1.6.3", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/87785f4386cd308defcc876fb6d62bf3681be6bc/b1.6.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:03+00:00"}, {"id": "b1.6.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/23f8e2f1634d1db8875521d8e0d3fb5340623fd2/b1.6.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:02+00:00"}, {"id": "b1.6.1", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/1958ecd7b20c5a2849b4e1e7a9921891e49178da/b1.6.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:01+00:00"}, {"id": "b1.6", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/7442961ad4f23c60787ab2a3c97a5037c40a92f2/b1.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:00+00:00"}, {"id": "b1.5_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/0f0b24408e6ca445e9c4a3ea2a676f71f96f5d35/b1.5_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-19T22:00:00+00:00"}, {"id": "b1.5", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/3fa704bd73444368f04351d6d4add8a3eead9b4e/b1.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-18T22:00:00+00:00"}, {"id": "b1.4_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/d47fcb0e4d9b7169fbb26c0bce56ed2082c3bb1d/b1.4_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-04T22:00:00+00:00"}, {"id": "b1.4", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/2cf34d1caca87b68ee104e348480e38f45eb7621/b1.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-03-30T22:00:00+00:00"}, {"id": "b1.3_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/a0e0a27d8f7d4c23b6441e473a3e44b45a958284/b1.3_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-02-22T22:00:00+00:00"}, {"id": "b1.3b", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/16ffb877701f7b41c6f27fb09def7a8e5d667df1/b1.3b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-02-21T22:00:00+00:00"}, {"id": "b1.2_02", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/5352763f0a944e7940e718fd66aae03bc57dc2ef/b1.2_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-20T22:00:00+00:00"}, {"id": "b1.2_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/0fea71dc8c4199581753d8ecb3ae69039a302340/b1.2_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-13T22:00:00+00:00"}, {"id": "b1.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/67bcdada56d272e4508ecb8e35827ffa4a4c18d1/b1.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-12T22:00:00+00:00"}, {"id": "b1.1_02", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/01042e0ecdd894894ebc6f45300ae306010c154f/b1.1_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-21T22:00:01+00:00"}, {"id": "b1.1_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/1bab185d888a549a3fcb4e528557caa3e7884290/b1.1_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-21T22:00:00+00:00"}, {"id": "b1.0.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e0a317286013bdd8e6de6da5e709422af61597d8/b1.0.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-20T22:00:00+00:00"}, {"id": "b1.0_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/d3eec813918ee87826f7bca65dd1558b33841798/b1.0_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-19T22:00:01+00:00"}, {"id": "b1.0", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e5348beaf3d3c366c522b1c70044f8b7be168b02/b1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-19T22:00:00+00:00"}, {"id": "a1.2.6", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/1c888e4d8aed380db25aeb3835f5918297bb5e3a/a1.2.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-02T22:00:00+00:00"}, {"id": "a1.2.5", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a925f00e3f7f1bde95240152bef4d15f36971394/a1.2.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-30T22:00:00+00:00"}, {"id": "a1.2.4_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/64d6a749cb24ddd8a27546f9555ac7c2853c5943/a1.2.4_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-29T22:00:00+00:00"}, {"id": "a1.2.3_04", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/59c7719b82023e5b71e334a69d3c13137014a2bc/a1.2.3_04.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-25T22:00:00+00:00"}, {"id": "a1.2.3_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b22eadebb4bfb63cdc42e9811da8fd2234eaaa6e/a1.2.3_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-24T22:00:00+00:00"}, {"id": "a1.2.3_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/da7b740e70324be7e189c65f1f834f0a30c0588f/a1.2.3_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-23T22:00:01+00:00"}, {"id": "a1.2.3", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/6c059b7bdb14b29c8d5cca2b250472962fe3b0b1/a1.2.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-23T22:00:00+00:00"}, {"id": "a1.2.2b", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/2aba3e114e0a7190ea3dff1553787d5044e1c420/a1.2.2b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-09T22:00:01+00:00"}, {"id": "a1.2.2a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/03cde2f4856b59adab177ab10673b6d951bfd7c8/a1.2.2a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-09T22:00:00+00:00"}, {"id": "a1.2.1_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/f20e3a7757a92e1d429dcf45fa545cc84a9699da/a1.2.1_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-04T22:00:01+00:00"}, {"id": "a1.2.1", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/05773451d61d92c0e8fa73cdb2e4c0fd23c4e1d4/a1.2.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-04T22:00:00+00:00"}, {"id": "a1.2.0_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/57ff567f186230b303af60241fbce283dad44bb2/a1.2.0_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-03T22:00:00+00:00"}, {"id": "a1.2.0_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/bed2a50ed2f9ce6a920394916ea66ce41b09b166/a1.2.0_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-10-30T22:00:00+00:00"}, {"id": "a1.2.0", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/abc94a77d94b94042d01476ee0c2e4b8c4eb08e1/a1.2.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-10-29T22:00:00+00:00"}, {"id": "a1.1.2_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/8730e3503e352fc03cca8a6c6ee614a17d66d8c6/a1.1.2_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-22T22:00:00+00:00"}, {"id": "a1.1.2", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b515b79ecaba79a0b5a4a5a03bf2b077f6c53334/a1.1.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-19T22:00:00+00:00"}, {"id": "a1.1.0", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/6054271bd0a275ed3030be97b6e9f81977abdf5d/a1.1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-12T22:00:00+00:00"}, {"id": "a1.0.17_04", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/fc2b6231e945558df29b6ed12522758860c511ab/a1.0.17_04.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-22T22:00:00+00:00"}, {"id": "a1.0.17_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a261074f38c555d9770ba7f1a4cae9351af19d73/a1.0.17_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-19T22:00:00+00:00"}, {"id": "a1.0.16", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/205ed38d0d1e135b467702a746e64ed2623b4679/a1.0.16.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-11T22:00:00+00:00"}, {"id": "a1.0.15", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/05a0fdef0a0d62273290eb1c145ad10501941f75/a1.0.15.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-03T22:00:00+00:00"}, {"id": "a1.0.14", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/5af21fa2467997914940beb39279f0d545a48335/a1.0.14.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-29T22:00:00+00:00"}, {"id": "a1.0.11", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b98235f44e6422741df02c781cf0016fce1c4a84/a1.0.11.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-22T22:00:00+00:00"}, {"id": "a1.0.5_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/4adaca651189d96ea9d7aa031038ab7b7d3fd807/a1.0.5_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-12T22:00:00+00:00"}, {"id": "a1.0.4", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/16c818f17af9e8560589f9e3cae57f0931011c25/a1.0.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-08T22:00:00+00:00"}, {"id": "inf-20100618", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/51a5c512af384d3d2a79a3efb93f7d4b9a1c6ec2/inf-20100618.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-06-15T22:00:00+00:00"}, {"id": "c0.30_01c", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/9392d3f635770ac4dfd3f8c9444f319b00b08945/c0.30_01c.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-12-21T22:00:00+00:00"}, {"id": "c0.0.13a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/5ef11c52e02c27f40924ea0c323efee716de568d/c0.0.13a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-30T22:00:00+00:00"}, {"id": "c0.0.13a_03", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/21122dee2365147033ef6214702098cf7b2549bd/c0.0.13a_03.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-21T22:00:00+00:00"}, {"id": "c0.0.11a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/2339fd5639204675b9f18dff6055dae83fc91c7e/c0.0.11a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-16T22:00:00+00:00"}, {"id": "rd-161348", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/f22a3882d124ef4468f6eb50b12836c53286e18a/rd-161348.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-16T11:48:00+00:00"}, {"id": "rd-160052", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/0cac2ceab812568826c6e5aeb4cf980397550479/rd-160052.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-15T22:52:00+00:00"}, {"id": "rd-20090515", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a3165080e2b0bf20519eac5f55ee841f3491e277/rd-20090515.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-14T22:00:00+00:00"}, {"id": "rd-132328", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/4ec49ff663f96e78a5cf0d9538adb9d1358fc485/rd-132328.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-13T21:28:00+00:00"}, {"id": "rd-132211", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/d090f5d3766a28425316473d9ab6c37234d48b02/rd-132211.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-13T20:11:00+00:00"}]} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/resources/log4j2.component.properties b/serverpackcreator-api/src/jvmMain/resources/log4j2.component.properties deleted file mode 100644 index 13bdbb813ced1a5ecf275096e41d0c538219b867..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmMain/resources/log4j2.component.properties +++ /dev/null @@ -1,3 +0,0 @@ -log4j.configurationFile=log4j2.xml -log4j.formatMsgNoLookups=true -log4j.configurationFactory=de.griefed.serverpackcreator.api.LoggingConfig \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt b/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt deleted file mode 100644 index b849ca05537cbef0b04b554da75bef206c7a8d09..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt +++ /dev/null @@ -1,229 +0,0 @@ -package de.griefed.serverpackcreator.api.modscanning - -import de.griefed.serverpackcreator.api.ApiWrapper -import de.griefed.serverpackcreator.api.utilities.common.FilterType -import de.griefed.serverpackcreator.api.utilities.common.filteredWalk -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Test -import java.io.File - -class ModScannerTest internal constructor() { - private var modScanner: ModScanner = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).modScanner - - @Suppress("SpellCheckingInspection") - @Test - fun tomlTest() { - val files: Collection<File> = - File("src/jvmTest/resources/forge_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) - - val excluded: List<File> = modScanner.forgeTomlScanner.scan(files).toList() - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/aaaaa.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/bbbbb.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/ccccc.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/ddddd.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/fffff.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/ggggg.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/hhhhh.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/iiiii.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/jjjjj.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/kkkkk.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/lllll.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/nnnnn.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/ppppp.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/qqqqq.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/rrrrr.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/testmod.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/uuuuu.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/vvvvv.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/wwwww.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/xxxxx.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/yyyyy.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_tests/mods/zzzzz.jar")) - ) - } - - @Suppress("SpellCheckingInspection") - @Test - fun fabricTest() { - val files: Collection<File> = - File("src/jvmTest/resources/fabric_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) - - val excluded: List<File> = modScanner.fabricScanner.scan(files).toList() - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/aaaaa.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/bbbbb.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/ccccc.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/ddddd.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/eeeee.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/fffff.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/ggggg.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/hhhhh.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/iiiii.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/jjjjj.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/kkkkk.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/lllll.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/mmmmm.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/nnnnn.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/ooooo.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/ppppp.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/qqqqq.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/fabric_tests/mods/testmod.jar")) - ) - } - - @Suppress("SpellCheckingInspection") - @Test - fun quiltTest() { - val files: Collection<File> = - File("src/jvmTest/resources/quilt_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) - - val excluded: List<File> = modScanner.quiltScanner.scan(files).toList() - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/quilt_tests/mods/aaaaa.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/quilt_tests/mods/bbbbb.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/quilt_tests/mods/testmod.jar")) - ) - } - - @Suppress("SpellCheckingInspection") - @Test - fun annotationTest() { - val files: Collection<File> = - File("src/jvmTest/resources/forge_old/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) - - val excluded: List<File> = modScanner.forgeAnnotationScanner.scan(files).toList() - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/aaaaa.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/bbbbb.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/ccccc.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/ddddd.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/eeeee.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/fffff.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/ggggg.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/hhhhh.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/iiiii.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/jjjjj.jar")) - ) - Assertions.assertTrue( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/kkkkk.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/lllll.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/mmmmm.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/nnnnn.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/ooooo.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/ppppp.jar")) - ) - Assertions.assertFalse( - excluded.contains(File("src/jvmTest/resources/forge_old/mods/qqqqq.jar")) - ) - } -} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/fabric_tests/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/forge_tests/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/forge_tests/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/log4j2.component.properties b/serverpackcreator-api/src/jvmTest/resources/log4j2.component.properties deleted file mode 100644 index 13bdbb813ced1a5ecf275096e41d0c538219b867..0000000000000000000000000000000000000000 --- a/serverpackcreator-api/src/jvmTest/resources/log4j2.component.properties +++ /dev/null @@ -1,3 +0,0 @@ -log4j.configurationFile=log4j2.xml -log4j.formatMsgNoLookups=true -log4j.configurationFactory=de.griefed.serverpackcreator.api.LoggingConfig \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/aaaaa.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/aaaaa.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/bbbbb.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/bbbbb.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ccccc.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ccccc.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/fffff.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/fffff.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ggggg.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ggggg.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/hhhhh.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/hhhhh.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/iiiii.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/iiiii.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/jjjjj.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/jjjjj.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/kkkkk.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/kkkkk.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/lllll.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/lllll.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/nnnnn.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/nnnnn.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ppppp.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/ppppp.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/qqqqq.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/qqqqq.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/rrrrr.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/rrrrr.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/uuuuu.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/uuuuu.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/vvvvv.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/vvvvv.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/wwwww.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/wwwww.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/xxxxx.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/xxxxx.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/yyyyy.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/yyyyy.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/zzzzz.jar b/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/zzzzz.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/quilt_tests/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/server_pack.zip b/serverpackcreator-api/src/jvmTest/resources/testresources/server_pack.zip deleted file mode 100644 index b0a87033147c241515000c18100a994959789701..0000000000000000000000000000000000000000 Binary files a/serverpackcreator-api/src/jvmTest/resources/testresources/server_pack.zip and /dev/null differ diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/server_pack/mods/testmod.jar b/serverpackcreator-api/src/jvmTest/resources/testresources/server_pack/mods/testmod.jar deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/serverpackcreator-api/src/commonMain/i18n/Translations_en_GB.properties b/serverpackcreator-api/src/main/i18n/Translations_en_GB.properties similarity index 99% rename from serverpackcreator-api/src/commonMain/i18n/Translations_en_GB.properties rename to serverpackcreator-api/src/main/i18n/Translations_en_GB.properties index 76d00940bf8f84221ad6968f755a4eeb21765df9..7a9d87461db108a4f0875314d59686cef9460628 100644 --- a/serverpackcreator-api/src/commonMain/i18n/Translations_en_GB.properties +++ b/serverpackcreator-api/src/main/i18n/Translations_en_GB.properties @@ -566,6 +566,7 @@ configuration.title.error=This configuration has errors! configuration.title.warning=Unsaved changes! configuration.log.error.checkconfig.start=Couldn't parse config file. Consider checking your config file and fixing empty values. If the value needs to be an empty string, leave its value to "". configuration.log.error.checkmodpackdir=Modpack directory not specified. Please specify an existing directory. +configuration.log.error.modpack.overrides=Modpack contains directory \"overrides\". Modpacks must be installed through a client such as CurseForge, GDLauncher, MultiMC etc. Full modpacks shouldn't contain the overrides directory anymore. configuration.log.error.serverpack.suffix=Suffix contains illegal characters. configuration.log.error.checkcopydirs.empty=No directories or files specified for copying. This would result in an empty serverpack. configuration.log.error.checkcopydirs.notfound=Copy-file or copy-directory {0} does not exist. Please specify existing directories or files. diff --git a/serverpackcreator-api/src/commonMain/i18n/Translations_pt_BR.properties b/serverpackcreator-api/src/main/i18n/Translations_pt_BR.properties similarity index 99% rename from serverpackcreator-api/src/commonMain/i18n/Translations_pt_BR.properties rename to serverpackcreator-api/src/main/i18n/Translations_pt_BR.properties index 9eb13b7490c0c331e3860120385a907bf4de67fd..ec6c524cedff728f349b3a0d84db8fc910e94dac 100644 --- a/serverpackcreator-api/src/commonMain/i18n/Translations_pt_BR.properties +++ b/serverpackcreator-api/src/main/i18n/Translations_pt_BR.properties @@ -566,6 +566,7 @@ configuration.title.error=Esta configura configuration.title.warning=Mudanças não salvas! configuration.log.error.checkconfig.start=Não foi possível analisar o arquivo de configuração. Considere verificar seu arquivo de configuração e corrigir valores vazios. Se o valor precisar ser uma string vazia, deixe o valor como "". configuration.log.error.checkmodpackdir=Diretório do modpack não especificado. Por favor, especifique um diretório existente. +configuration.log.error.modpack.overrides= configuration.log.error.serverpack.suffix=O sufixo contém caracteres inválidos. configuration.log.error.checkcopydirs.empty=Nenhum diretório ou arquivo especificado para cópia. Isso resultaria em um servidor vazio. configuration.log.error.checkcopydirs.notfound=Arquivo ou diretório de cópia {0} não existe. Por favor, especifique diretórios ou arquivos existentes. diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt similarity index 97% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt index 36d14003ead707c4763ddf95ecfcf1e3face80ba..5c66143539948b93643895bbb425f8dbe7216a14 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiPlugins.kt @@ -58,13 +58,13 @@ import javax.swing.JTabbedPane * @author Griefed */ @Suppress("unused", "MemberVisibilityCanBePrivate") -actual class ApiPlugins( +class ApiPlugins( tomlParser: TomlParser, private val apiProperties: ApiProperties, private val versionMeta: VersionMeta, private val utilities: Utilities ) : JarPluginManager(apiProperties.pluginsDirectory.toPath()) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val pluginsLog = logger("PluginsLogger") private val pluginConfigs: HashMap<String, CommentedConfig> = HashMap<String, CommentedConfig>(100) private val pluginConfigFiles = HashMap<String, File>(100) @@ -227,7 +227,7 @@ actual class ApiPlugins( * @return The global plugin configuration, wrapped in an Optional. * @author Griefed */ - actual fun getPluginConfig(pluginId: String) = Optional.ofNullable<CommentedConfig>(pluginConfigs[pluginId]) + fun getPluginConfig(pluginId: String) = Optional.ofNullable<CommentedConfig>(pluginConfigs[pluginId]) /** * Get and return any configuration for the extension about to be run. If none is available, the @@ -294,7 +294,7 @@ actual class ApiPlugins( * at. * @author Griefed */ - actual fun runPreGenExtensions(packConfig: PackConfig, destination: String) { + fun runPreGenExtensions(packConfig: PackConfig, destination: String) { for (plugin in getPlugins()) { log.info("Executing PreGenExtension extensions.") pluginsLog.info("Executing PreGenExtension extensions.") @@ -333,7 +333,7 @@ actual class ApiPlugins( * at. * @author Griefed */ - actual fun runPreZipExtensions(packConfig: PackConfig, destination: String) { + fun runPreZipExtensions(packConfig: PackConfig, destination: String) { for (plugin in getPlugins()) { log.info("Executing PreZipExtension extensions.") pluginsLog.info("Executing PreZipExtension extensions.") @@ -372,7 +372,7 @@ actual class ApiPlugins( * at. * @author Griefed */ - actual fun runPostGenExtensions(packConfig: PackConfig, destination: String) { + fun runPostGenExtensions(packConfig: PackConfig, destination: String) { for (plugin in getPlugins()) { log.info("Executing PostGenExtension extensions.") pluginsLog.info("Executing PostGenExtension extensions.") @@ -490,9 +490,9 @@ actual class ApiPlugins( * errored. * @author Griefed */ - actual fun runConfigCheckExtensions( + fun runConfigCheckExtensions( packConfig: PackConfig, - configCheck: ConfigCheck + configCheck: ConfigCheck = ConfigCheck() ): ConfigCheck { for (plugin in getPlugins()) { log.info("Executing ConfigCheckExtensions extensions.") @@ -537,5 +537,5 @@ actual class ApiPlugins( * @return The config-file corresponding to the ID of the plugin, wrapped in an Optional. * @author Griefed */ - actual fun getPluginConfigFile(pluginId: String) = Optional.ofNullable(pluginConfigFiles[pluginId]) + fun getPluginConfigFile(pluginId: String) = Optional.ofNullable(pluginConfigFiles[pluginId]) } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt similarity index 91% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt index 1d86e1a29057dff19d6d4e3a86d33e8b0cbf58b0..73a04c519b5339dd823fbaeb8a3b5a5d394157b0 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiProperties.kt @@ -24,6 +24,14 @@ import de.comahe.i18n4k.config.I18n4kConfigDefault import de.comahe.i18n4k.i18n4k import de.comahe.i18n4k.toTag import de.griefed.serverpackcreator.api.utilities.common.* +import org.apache.logging.log4j.core.Core +import org.apache.logging.log4j.core.LoggerContext +import org.apache.logging.log4j.core.config.Configuration +import org.apache.logging.log4j.core.config.ConfigurationFactory +import org.apache.logging.log4j.core.config.ConfigurationSource +import org.apache.logging.log4j.core.config.Order +import org.apache.logging.log4j.core.config.plugins.Plugin +import org.apache.logging.log4j.core.config.xml.XmlConfiguration import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.io.BufferedReader import java.io.File @@ -31,7 +39,6 @@ import java.io.IOException import java.io.InputStreamReader import java.net.URI import java.util.* -import java.util.prefs.Preferences /** * Base settings of ServerPackCreator, such as working directories, default list of clientside-only @@ -48,20 +55,20 @@ import java.util.prefs.Preferences * @author Griefed */ @Suppress("unused") -actual class ApiProperties( - private val fileUtilities: FileUtilities, - private val systemUtilities: SystemUtilities, - private val listUtilities: ListUtilities, - jarUtilities: JarUtilities, +@Plugin(name = "ServerPackCreatorConfigFactory", category = Core.CATEGORY_NAME) +@Order(50) +class ApiProperties( + private val fileUtilities: FileUtilities = FileUtilities(), + private val systemUtilities: SystemUtilities = SystemUtilities(), + private val listUtilities: ListUtilities = ListUtilities(), + jarUtilities: JarUtilities = JarUtilities(), propertiesFile: File = File("serverpackcreator.properties") -) { - private val log = cachedLoggerOf(javaClass) +) : ConfigurationFactory() { + private val log by lazy { cachedLoggerOf(this.javaClass) } private val internalProps = Properties() - private val userPreferences = Preferences.userRoot().node("ServerPackCreator") private val serverPackCreatorProperties = "serverpackcreator.properties" - private val jarInformation: JarInformation = JarInformation(javaClass, jarUtilities) - private val jarFolderProperties: File = - File(jarInformation.jarFolder.absoluteFile, serverPackCreatorProperties).absoluteFile + private val jarInformation: JarInformation = JarInformation(this.javaClass, jarUtilities) + private val jarFolderProperties: File = File(jarInformation.jarFolder.absoluteFile, serverPackCreatorProperties) private val pVersionCheckPreRelease = "de.griefed.serverpackcreator.versioncheck.prerelease" private val pLanguage = @@ -138,12 +145,15 @@ actual class ApiProperties( "spring.datasource.username" private val pSpringDatasourcePassword = "spring.datasource.password" + private val suffixes = arrayOf(".xml") - val home: File = if (System.getProperty("user.home").isNotEmpty()) { - File(System.getProperty("user.home")) - } else { - jarInformation.jarFolder.absoluteFile - } + /** + * Default home-directory for ServerPackCreator. The directory containing the + * ServerPackCreator JAR. + * + * @author Griefed + */ + val home: File = jarInformation.jarFolder.absoluteFile private var fallbackModsWhitelist = TreeSet( listOf( @@ -594,7 +604,7 @@ actual class ApiProperties( " -Dusing.aikars.flags=https://mcflags.emc.gs" + " -Daikars.new.flags=true" val fallbackUpdateURL = - "https://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties" + "https://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties" val fallbackExclusionFilter = ExclusionFilter.START val fallbackOverwriteEnabled = true val fallbackJavaScriptAutoupdateEnabled = true @@ -752,12 +762,6 @@ actual class ApiProperties( "4" } - init { - i18n4k = i18n4kConfig - i18n4kConfig.defaultLocale = Locale("en_GB") - loadProperties(propertiesFile, false) - } - /** * Only the first call to this property will return true if this is the first time ServerPackCreator is being run * on a given host. Any subsequent call will return false. Handle with care! @@ -766,11 +770,6 @@ actual class ApiProperties( */ val firstRun: Boolean - init { - firstRun = getBoolProperty("de.griefed.serverpackcreator.firstrun", true) - setBoolProperty("de.griefed.serverpackcreator.firstrun", false) - } - /** * Directories to include in a server pack. */ @@ -1327,16 +1326,6 @@ actual class ApiProperties( return "jdbc:postgresql://localhost:5432/serverpackcreator" } - /** - * Default home-directory for ServerPackCreator. If there's no user-home, then the directory containing the - * ServerPackCreator JAR will be used as the home-directory for ServerPackCreator. - * - * @author Griefed - */ - fun defaultHomeDirectory(): File { - return File(home, "ServerPackCreator").absoluteFile - } - /** * ServerPackCreators home directory, in which all important files and folders are stored in. * @@ -1347,25 +1336,29 @@ actual class ApiProperties( * [serverPacksDirectory], which can be configured independently of ServerPackCreators * home-directory. */ - var homeDirectory: File = File(home, "ServerPackCreator").absoluteFile + var homeDirectory: File = home.absoluteFile get() { - val prop = internalProps.getProperty(pHomeDirectory) - field = if (internalProps.containsKey(pHomeDirectory) && File(prop).absoluteFile.isDirectory) { - File(prop).absoluteFile - } else if (jarInformation.jarPath.toFile().isDirectory) { + val customHome = if (internalProps.containsKey(pHomeDirectory)) { + internalProps.getProperty(pHomeDirectory) + } else { + "" + } + field = if (customHome.isNotBlank()) { + File(customHome).absoluteFile + } else if (jarInformation.jarPath.toFile().isDirectory || devBuild) { // Dev environment File("").absoluteFile } else { - File(home, "ServerPackCreator").absoluteFile + home.absoluteFile } if (!field.isDirectory) { - field.createDirectories(create = true, directory = true) + field.create(create = true, directory = true) } + internalProps.setProperty(pHomeDirectory, field.absolutePath) return field } set(value) { internalProps.setProperty(pHomeDirectory, value.absolutePath) - userPreferences.put(pHomeDirectory, value.absolutePath) field = value.absoluteFile log.info("Home directory set to: $field") log.warn("Restart ServerPackCreator for this change to take full effect.") @@ -1383,6 +1376,16 @@ actual class ApiProperties( } private set + /** + * Overrides which, well, override, any property which may be set in the regular [serverPackCreatorPropertiesFile]. + */ + var overridesPropertiesFile: File = File(homeDirectory,"overrides.properties") + get() { + field = File(homeDirectory,"overrides.properties") + return field + } + private set + /** * Default configuration-file for a server pack generation inside ServerPackCreators * home-directory. @@ -1479,8 +1482,13 @@ actual class ApiProperties( @Suppress("MemberVisibilityCanBePrivate") var tomcatLogsDirectory: File = logsDirectory get() { - val default = File(homeDirectory, "logs").absolutePath - val dir = internalProps.getProperty(pTomcatLogsDirectory, default) + val default = logsDirectory.absolutePath + val prop = internalProps.getProperty(pTomcatLogsDirectory, default) + val dir = if (File(prop).canWrite()) { + internalProps.getProperty(pTomcatLogsDirectory, default) + } else { + default + } field = File(dir).absoluteFile return field } @@ -1912,15 +1920,19 @@ actual class ApiProperties( } } - private fun loadOverrides(): Properties { + private fun loadOverrides() { val tempProps = Properties() - val overrides = File(homeDirectory, "overrides.properties") - if (overrides.isFile) { - File(homeDirectory, "overrides.properties").inputStream().use { + if (overridesPropertiesFile.isFile) { + overridesPropertiesFile.inputStream().use { tempProps.load(it) } } - return tempProps + for ((key,value) in tempProps) { + log.warn("Overriding:") + log.warn(" $key") + log.warn(" $value") + } + internalProps.putAll(tempProps) } /** @@ -1966,24 +1978,14 @@ actual class ApiProperties( // Load the specified properties-file. loadFile(propertiesFile, props) - // Load all values from the overrides-properties - for (key in userPreferences.keys()) { - props[key] = userPreferences[key, null] - } - internalProps.putAll(props) internalProps.setProperty(pTomcatBaseDirectory, homeDirectory.absolutePath) if (internalProps.getProperty(pLanguage) != "en_GB") { changeLocale(Locale(internalProps.getProperty(pLanguage))) } - val overrides = loadOverrides() - for ((key, value) in overrides) { - log.warn("Overriding:") - log.warn(" $key") - log.warn(" $value") - } - internalProps.putAll(overrides) + // Load all values from the overrides-properties + loadOverrides() if (updateFallback()) { log.info("Fallback lists updated.") @@ -2231,17 +2233,6 @@ actual class ApiProperties( } } - /** - * Write the overrides-properties which, as the name implies, will override any other property loaded previously during [loadProperties]. - * CAUTION: Depending on the type of installation, the overrides.properties will reside inside a directory which - * requires root/admin-privileges to write in. The directory in which this file will be created in is [getJarFolder]. - * - * @author Griefed - */ - fun saveOverrides() { - userPreferences.sync() - } - /** * Removes unwanted properties. Called during the save-operation, to ensure that legacy-properties are removed. * @@ -2509,23 +2500,6 @@ actual class ApiProperties( */ fun oldVersion(): String = internalProps.getProperty(pOldVersion, "") - init { - serverFilesDirectory.createDirectories(create = true, directory = true) - propertiesDirectory.createDirectories(create = true, directory = true) - iconsDirectory.createDirectories(create = true, directory = true) - configsDirectory.createDirectories(create = true, directory = true) - workDirectory.createDirectories(create = true, directory = true) - tempDirectory.createDirectories(create = true, directory = true) - modpacksDirectory.createDirectories(create = true, directory = true) - serverPacksDirectory.createDirectories(create = true, directory = true) - pluginsDirectory.createDirectories(create = true, directory = true) - pluginsConfigsDirectory.createDirectories(create = true, directory = true) - manifestsDirectory.createDirectories(create = true, directory = true) - minecraftServerManifestsDirectory.createDirectories(create = true, directory = true) - installerCacheDirectory.createDirectories(create = true, directory = true) - printSettings() - } - @Suppress("MemberVisibilityCanBePrivate") fun printSettings() { log.info("============================== PROPERTIES ==============================") @@ -2564,18 +2538,142 @@ actual class ApiProperties( log.info("============================== PROPERTIES ==============================") } + val installLocationXml: File = File(home,"log4j2.xml") + val log4jXml: File + init { - System.setProperty("user.dir", homeDirectory.absolutePath) + i18n4k = i18n4kConfig + i18n4kConfig.defaultLocale = Locale("en_GB") + loadProperties(propertiesFile, false) + log4jXml = File(homeDirectory, "log4j2.xml") + try { + var log4j: String + val oldLogs = "<Property name=\"log-path\">logs</Property>" + val newLogs = "<Property name=\"log-path\">${logsDirectory.absolutePath}</Property>" + this.javaClass.getResourceAsStream("/log4j2.xml").use { + log4j = it?.readText().toString() + log4j = log4j.replace(oldLogs, newLogs) + if (devBuild || preRelease) { + log4j = log4j.replace( + "<Property name=\"log-level-spc\">INFO</Property>", + "<Property name=\"log-level-spc\">DEBUG</Property>" + ) + } + log4jXml.writeText(log4j) + } + } catch (ex: IOException) { + println("Error reading/writing log4j2.xml.") + ex.printStackTrace() + } + firstRun = getBoolProperty("de.griefed.serverpackcreator.firstrun", true) + setBoolProperty("de.griefed.serverpackcreator.firstrun", false) + logsDirectory.create(create = true, directory = true) + serverFilesDirectory.create(create = true, directory = true) + propertiesDirectory.create(create = true, directory = true) + iconsDirectory.create(create = true, directory = true) + configsDirectory.create(create = true, directory = true) + workDirectory.create(create = true, directory = true) + tempDirectory.create(create = true, directory = true) + modpacksDirectory.create(create = true, directory = true) + serverPacksDirectory.create(create = true, directory = true) + pluginsDirectory.create(create = true, directory = true) + pluginsConfigsDirectory.create(create = true, directory = true) + manifestsDirectory.create(create = true, directory = true) + minecraftServerManifestsDirectory.create(create = true, directory = true) + installerCacheDirectory.create(create = true, directory = true) + printSettings() saveProperties(File(homeDirectory, serverPackCreatorProperties).absoluteFile) } - actual companion object { + companion object { /** * @author Griefed */ @JvmStatic - actual fun getSeparator(): String { + fun getSeparator(): String { return File.separator } } + + override fun getSupportedTypes(): Array<String> = suffixes + + /** + * Depending on whether this is the first run of ServerPackCreator on a users machine, the default + * log4j2 configuration may be present at different locations. The default one is the config + * inside the home-directory of SPC, of which we will try to set up our logging with. If said file + * fails for whatever reason, we will try to use a config inside the directory from which SPC was + * executed. Should that fail, too, the config from the classpath is used, to ensure we always + * have default configs available. Should that fail, too, though, log4j is set up with its own + * default settings. + * + * @param loggerContext logger context passed from log4j itself + * @param source configuration source passed from log4j itself. Attempts to overwrite it + * are made, but if all else fails it is used to set up logging with log4j's + * default config. + * @return Custom configuration with proper logs-directory set. + * @author Griefed + */ + override fun getConfiguration(loggerContext: LoggerContext, source: ConfigurationSource): Configuration { + val configSource: ConfigurationSource + if (log4jXml.isFile) { + try { + return getXmlConfig(log4jXml, loggerContext) + } catch (ex: IOException) { + println("Couldn't parse $log4jXml.") + ex.printStackTrace() + } + } else if (installLocationXml.isFile) { + try { + return getXmlConfig(installLocationXml, loggerContext) + } catch (ex: IOException) { + println("Couldn't parse $installLocationXml.") + ex.printStackTrace() + } + } + try { + configSource = ConfigurationSource(this.javaClass.getResourceAsStream("/log4j2.xml")!!) + return CustomXMLConfiguration(loggerContext, configSource) + } catch (ex: IOException) { + println("Couldn't parse resource log4j2.xml.") + ex.printStackTrace() + } + return CustomXMLConfiguration(loggerContext, source) + } + + private fun getXmlConfig(sourceFile: File, loggerContext: LoggerContext): CustomXMLConfiguration { + val configSource: ConfigurationSource + val stream = sourceFile.inputStream() + configSource = ConfigurationSource(stream, sourceFile) + val custom = CustomXMLConfiguration(loggerContext, configSource) + stream.close() + return custom + } + + /** + * Custom XmlConfiguration to pass our custom log4j2.xml config to log4j. + * + * Set up the XML configuration with the passed context and config source. For the config source + * being used, [ApiProperties.getConfiguration] where + * multiple attempts at creating a new private val log by lazy { cachedLoggerOf(this.javaClass) } using our own log4j2.xml are made + * before the default log4j setup is used. + * + * @param loggerContext logger context passed from log4j itself + * @param configSource configuration source passed from + * [ApiProperties.getConfiguration]. + * @author Griefed + */ + inner class CustomXMLConfiguration(loggerContext: LoggerContext?, configSource: ConfigurationSource?) : + XmlConfiguration(loggerContext, configSource) { + + /** + * For now, all this does is call the [XmlConfiguration.doConfigure]-method to set up the + * configuration with the passed source from the constructor. Custom values and settings can be + * set here in the future, should a need arise to do so. + * + * @author Griefed + */ + override fun doConfigure() { + super.doConfigure() + } + } } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt similarity index 77% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt index 115834f7279ad6016bd382e0c236a9de222f7446..436c74c469c7dd12d75a064da2324bf6220f16fb 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ApiWrapper.kt @@ -26,6 +26,7 @@ import com.fasterxml.jackson.databind.ObjectMapper import de.griefed.serverpackcreator.api.modscanning.* import de.griefed.serverpackcreator.api.utilities.common.* import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.xml.sax.SAXException import java.io.File import java.io.IOException @@ -41,11 +42,14 @@ import javax.xml.parsers.ParserConfigurationException * @param runSetup Whether to run the file-setup during API inizialization. * @author Griefed */ -actual class ApiWrapper private constructor( +class ApiWrapper private constructor( val properties: File = File("serverpackcreator.properties"), runSetup: Boolean = true -) : Api<File>() { - +) { + val versionsRegex = ".*(alpha|beta|dev).*".toRegex() + val xmlJsonRegex = ".*\\.(xml|json)".toRegex() + var setupWasRun: Boolean = false + private val log by lazy { cachedLoggerOf(this.javaClass) } /** * This instances settings used across ServerPackCreator, such as the working-directories, files * and other settings. @@ -54,10 +58,35 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val apiProperties: ApiProperties by lazy { + val apiProperties: ApiProperties by lazy { ApiProperties(fileUtilities, systemUtilities, listUtilities, jarUtilities, properties) } + /** + * This instances common boolean utilities used across ServerPackCreator. + * + * @return Common boolean utilities used across ServerPackCreator. + * @author Griefed + */ + val booleanUtilities: BooleanUtilities = BooleanUtilities() + + /** + * This instances common String utilities used across ServerPackCreator. + * + * @return Common String utilities used across ServerPackCreator. + * @author Griefed + */ + val stringUtilities: StringUtilities = StringUtilities() + + + /** + * This instances common list utilities used across ServerPackCreator. + * + * @return Common list utilities used across ServerPackCreator. + * @author Griefed + */ + val listUtilities: ListUtilities = ListUtilities() + /** * This instances common file utilities used across ServerPackCreator. * @@ -65,7 +94,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val fileUtilities: FileUtilities = FileUtilities() + val fileUtilities: FileUtilities = FileUtilities() /** * This instances common JAR-utilities used across ServerPackCreator. @@ -74,7 +103,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val jarUtilities: JarUtilities = JarUtilities() + val jarUtilities: JarUtilities = JarUtilities() /** * This instances common system utilities used across ServerPackCreator. @@ -83,7 +112,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val systemUtilities: SystemUtilities = SystemUtilities() + val systemUtilities: SystemUtilities = SystemUtilities() /** * This instances JSON-ObjectMapper used across ServerPackCreator with which this instance was @@ -110,7 +139,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val jsonUtilities: JsonUtilities = JsonUtilities(objectMapper) + val jsonUtilities: JsonUtilities = JsonUtilities(objectMapper) /** * This instances common web utilities used across ServerPackCreator. @@ -119,7 +148,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val webUtilities: WebUtilities by lazy { + val webUtilities: WebUtilities by lazy { WebUtilities(apiProperties) } @@ -139,7 +168,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val xmlUtilities: XmlUtilities = XmlUtilities(documentBuilderFactory) + val xmlUtilities: XmlUtilities = XmlUtilities(documentBuilderFactory) /** * This instances collection of common utilities used across ServerPackCreator. @@ -148,7 +177,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val utilities: Utilities by lazy { + val utilities: Utilities by lazy { Utilities( booleanUtilities, fileUtilities, @@ -174,7 +203,7 @@ actual class ApiWrapper private constructor( */ @get:Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @get:Synchronized - actual val versionMeta: VersionMeta by lazy { + val versionMeta: VersionMeta by lazy { VersionMeta( apiProperties.minecraftVersionManifest, apiProperties.forgeVersionManifest, @@ -209,7 +238,7 @@ actual class ApiWrapper private constructor( */ @get:Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @get:Synchronized - actual val configurationHandler: ConfigurationHandler by lazy { + val configurationHandler: ConfigurationHandler by lazy { ConfigurationHandler(versionMeta, apiProperties, utilities, apiPlugins) } @@ -229,7 +258,7 @@ actual class ApiWrapper private constructor( */ @get:Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @get:Synchronized - actual val apiPlugins: ApiPlugins by lazy { + val apiPlugins: ApiPlugins by lazy { ApiPlugins(tomlParser, apiProperties, versionMeta, utilities) } @@ -246,7 +275,7 @@ actual class ApiWrapper private constructor( */ @get:Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @get:Synchronized - actual val serverPackHandler: ServerPackHandler by lazy { + val serverPackHandler: ServerPackHandler by lazy { ServerPackHandler(apiProperties, versionMeta, utilities, apiPlugins, modScanner) } @@ -259,7 +288,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val modScanner: ModScanner by lazy { + val modScanner: ModScanner by lazy { ModScanner(forgeAnnotationScanner, fabricScanner, quiltScanner, forgeTomlScanner, neoForgeTomlScanner) } @@ -272,7 +301,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val forgeAnnotationScanner: ForgeAnnotationScanner by lazy { + val forgeAnnotationScanner: ForgeAnnotationScanner by lazy { ForgeAnnotationScanner(objectMapper, utilities) } @@ -283,7 +312,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val fabricScanner: FabricScanner by lazy { + val fabricScanner: FabricScanner by lazy { FabricScanner(objectMapper, utilities) } @@ -294,7 +323,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val quiltScanner: QuiltScanner by lazy { + val quiltScanner: QuiltScanner by lazy { QuiltScanner(objectMapper, utilities) } @@ -306,7 +335,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val tomlParser: TomlParser = TomlParser() + val tomlParser: TomlParser = TomlParser() /** * This instances toml scanner to determine the sideness of Forge mods for Minecraft 1.13.x and @@ -315,8 +344,7 @@ actual class ApiWrapper private constructor( * @return Scanner to determine the sideness of Forge mods for Minecraft 1.13.x and newer. * @author Griefed */ - @get:Synchronized - actual val forgeTomlScanner: ForgeTomlScanner = ForgeTomlScanner(tomlParser) + val forgeTomlScanner: ForgeTomlScanner = ForgeTomlScanner(tomlParser) /** * This instances toml scanner to determine the sideness of NeoForge mods for Minecraft 1.20.5 and @@ -326,7 +354,7 @@ actual class ApiWrapper private constructor( * @author Griefed */ @get:Synchronized - actual val neoForgeTomlScanner: NeoForgeTomlScanner = NeoForgeTomlScanner(tomlParser) + val neoForgeTomlScanner: NeoForgeTomlScanner = NeoForgeTomlScanner(tomlParser) init { if (runSetup) { @@ -364,9 +392,14 @@ actual class ApiWrapper private constructor( } } + /** + * Convenience method to set up ServerPackCreator. + * + * @author Griefed + */ @Synchronized @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) - override fun setup(force: Boolean): ApiWrapper { + fun setup(force: Boolean = false): ApiWrapper { if (force) { setupWasRun = false } @@ -379,7 +412,42 @@ actual class ApiWrapper private constructor( return this } - override fun stageOne() { + /** + * Stage one of starting ServerPackCreator. + * + * Creates and prepares the environment for ServerPackCreator to run by creating required + * directories and copying required files from the JAR-file to the filesystem. Some of these files + * can and should be edited by a given user, others however, not. + * + * * Checks the read- and write-permissions of ServerPackCreators base-directory. + * * Copies the `README.md` from the JAR to the home-directory. + * * Copies the `HELP.md` from the JAR to the home-directory. + * * Copies the `CHANGELOG.md` from the JAR to the home-directory. + * * Copies the `LICENSE` from the JAR to the home-directory. + * * Copies the fallback version-manifests to the manifests. + * * Creates default directories: + * + * * server_files + * * work + * * temp + * * work/modpacks + * * server-packs (depending on the users settings, this may be anywhere on the users system) + * * plugins + * * plugins/config + * + * * Example `disabled.txt`-file in plugins/disabled.txt. + * * Creates the default `server.properties` if it doesn't exist. + * * Creates the default `server-icon.png` if it doesn't exist. + * * Creates the default PowerShell and Shell script templates or overwrites them if they already exist. + * * Determines whether this instance of ServerPackCreator was updated from a previous version. + * + * If an update was detected, and migrations are available for any of the steps of the update, they are executed, + * thus ensuring users are safe to update their instances. Writes ServerPackCreator and system information to the + * console and logs, important for error reporting and debugging. + * + * @author Griefed + */ + fun stageOne() { utilities.jarUtilities.copyFileFromJar( "README.md", true, this.javaClass, apiProperties.homeDirectory.absoluteFile.toString() ) @@ -468,29 +536,62 @@ actual class ApiWrapper private constructor( log.info("Include this information when reporting an issue on GitHub.") } + /** + * Initialize [de.griefed.serverpackcreator.api.versionmeta.VersionMeta], [ConfigurationHandler]. + * + * @author Griefed + */ @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) - override fun stageTwo() { + fun stageTwo() { versionMeta configurationHandler } + /** + * Initialize [ApiPlugins], [de.griefed.serverpackcreator.api.modscanning.ModScanner] (consisting of [TomlParser], + * [de.griefed.serverpackcreator.api.modscanning.ForgeAnnotationScanner], + * [de.griefed.serverpackcreator.api.modscanning.FabricScanner], + * [de.griefed.serverpackcreator.api.modscanning.ForgeTomlScanner], + * [de.griefed.serverpackcreator.api.modscanning.QuiltScanner]), + * [ServerPackHandler]. + * + * @author Griefed + */ @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) - override fun stageThree() { + fun stageThree() { apiPlugins forgeAnnotationScanner + forgeTomlScanner + neoForgeTomlScanner fabricScanner quiltScanner modScanner serverPackHandler } - override fun checkServerFilesFile(fileToCheckFor: File) = utilities.jarUtilities.copyFileFromJar( + /** + * Check whether the specified server-files file exists and create it if it doesn't. + * + * @param fileToCheckFor The file which is to be checked for whether it exists and if it doesn't, + * should be created. + * @return `true` if the file was generated. + * @author Griefed + */ + fun checkServerFilesFile(fileToCheckFor: File) = utilities.jarUtilities.copyFileFromJar( "de/griefed/resources/server_files/${fileToCheckFor.name}", File(apiProperties.serverFilesDirectory, fileToCheckFor.name), this.javaClass ) - override fun overwriteServerFilesFile(fileToOverwrite: File) { + /** + * Overwrite the specified server-files file, even when it exists. Used to ensure files like the + * default script templates are always up-to-date. + * + * @param fileToOverwrite The file which is to be overwritten. If it exists. it is first deleted, + * then extracted from our JAR-file. + * @author Griefed + */ + fun overwriteServerFilesFile(fileToOverwrite: File) { File(apiProperties.serverFilesDirectory, fileToOverwrite.name).deleteQuietly() checkServerFilesFile(fileToOverwrite) } diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ConfigCheck.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ConfigCheck.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ConfigCheck.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ConfigCheck.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt similarity index 63% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt index e392c34ac41572041cd3b05616c27fa1c78b6401..dbc02f5770241d6232891043951d317177c51946 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandler.kt @@ -21,12 +21,13 @@ package de.griefed.serverpackcreator.api import Translations import com.fasterxml.jackson.databind.JsonNode -import de.griefed.serverpackcreator.api.utilities.File import de.griefed.serverpackcreator.api.utilities.common.InvalidFileTypeException import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.utilities.common.isNotValidZipFile import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import mu.KotlinLogging import net.lingala.zip4j.ZipFile +import java.io.File import java.io.IOException import java.net.URI import java.nio.file.* @@ -49,15 +50,41 @@ import java.util.regex.PatternSyntaxException * * @author Griefed */ -actual class ConfigurationHandler( +class ConfigurationHandler( private val versionMeta: VersionMeta, private val apiProperties: ApiProperties, private val utilities: Utilities, private val apiPlugins: ApiPlugins -) : Configuration<File, Path>() { +) { private val zipRegex = "\\.[Zz][Ii][Pp]".toRegex() - - actual override fun checkConfiguration(configFile: File, packConfig: PackConfig, configCheck: ConfigCheck, quietCheck: Boolean): ConfigCheck { + protected val log by lazy { KotlinLogging.logger {} } + protected val forge = "^forge$".toRegex() + protected val neoForge = "^neoforge$".toRegex() + protected val fabric = "^fabric$".toRegex() + protected val quilt = "^quilt$".toRegex() + protected val legacyFabric = "^legacyfabric$".toRegex() + protected val whitespace = "^\\s+$".toRegex() + protected val previous = ".*_\\d".toRegex() + protected val zipCheck = "^\\w+[/\\\\]$".toRegex() + + /** + * Check the passed configuration-file. If any check returns `true` then the server pack + * will not be created. In order to find out which check failed, the user has to check their + * serverpackcreator.log in the logs-directory. + * + * @param configFile The configuration file to check. Must either be an existing file to + * load a configuration from or null if you want to use the passed + * configuration model. + * @param packConfig Instance of a configuration of a modpack. Can be used to further + * display or use any information within, as it may be changed or + * otherwise altered by this method. + * @param configCheck Contains all encountered errors during the check of the passed configuration. + * @param quietCheck Whether the configuration should be printed to the console and logs. + * Pass false to quietly check the configuration. + * @return `false` if the configuration has passed all tests. + * @author Griefed + */ + fun checkConfiguration(configFile: File, packConfig: PackConfig = PackConfig(), configCheck: ConfigCheck = ConfigCheck(), quietCheck: Boolean = false): ConfigCheck { try { val fileConf = PackConfig(utilities, configFile) packConfig.setClientMods(fileConf.clientMods) @@ -88,7 +115,24 @@ actual class ConfigurationHandler( } } - actual override fun checkConfiguration(packConfig: PackConfig, configCheck: ConfigCheck, quietCheck: Boolean): ConfigCheck { + /** + * Check the passed [packConfig]. If any check returns `true` then the server + * pack will not be created. In order to find out which check failed, the user has to check their + * serverpackcreator.log in the logs-directory. + * + * The passed [packConfig] can be used to further display or use any information within, as it may be changed or otherwise + * altered by this method. + * + * @param packConfig Instance of a configuration of a modpack. Can be used to further + * display or use any information within, as it may be changed or + * otherwise altered by this method. + * @param configCheck Contains all encountered errors during the check of the passed configuration. + * @param quietCheck Whether the configuration should be printed to the console and logs. + * Pass false to quietly check the configuration. + * @return `false` if all checks are passed. + * @author Griefed + */ + fun checkConfiguration(packConfig: PackConfig, configCheck: ConfigCheck = ConfigCheck(), quietCheck: Boolean = false): ConfigCheck { sanitizeLinks(packConfig) log.info("Checking configuration...") if (packConfig.clientMods.isEmpty()) { @@ -126,6 +170,7 @@ actual class ConfigurationHandler( if (modpack.isDirectory) { isDir(packConfig, configCheck) } else if (modpack.isFile && modpack.name.endsWith("zip")) { + packConfig.source = ModpackSource.ZIP try { isZip(packConfig, configCheck) } catch (ex: IOException) { @@ -155,6 +200,8 @@ actual class ConfigurationHandler( log.error("There's something wrong with your Minecraft version setting.") } + checkForProjectInformation(packConfig) + apiPlugins.runConfigCheckExtensions(packConfig, configCheck) if (quietCheck) { @@ -170,7 +217,53 @@ actual class ConfigurationHandler( return configCheck } - actual override fun checkModloader(modloader: String, configCheck: ConfigCheck): ConfigCheck { + /** + * Check for minecraftinstance.json and profile.json and if either is present, try to obtain the project- and + * fileIDs as well as the modpack distribution-platform (Modrinth or CurseForge). + * + * @author Griefed + */ + fun checkForProjectInformation(packConfig: PackConfig) { + val modpackDirectory = File(packConfig.modpackDir) + if (!modpackDirectory.isDirectory) { + log.info("Modpack is not a directory. Skipping project information gathering.") + return + } + val instance = File(modpackDirectory, "minecraftinstance.json") + val profile = File(modpackDirectory, "profile.json") + var projectID: String? = null + var versionID: String? = null + var source: ModpackSource = packConfig.source + + try { + if (instance.isFile) { + projectID = utilities.jsonUtilities.getJson(instance).get("projectID").asText() + versionID = utilities.jsonUtilities.getJson(instance).get("fileID").asText() + source = ModpackSource.CURSEFORGE + } else if (profile.isFile) { + projectID = utilities.jsonUtilities.getJson(profile).get("metadata").get("linked_data").get("project_id").asText() + versionID = utilities.jsonUtilities.getJson(profile).get("metadata").get("linked_data").get("version_id").asText() + source = ModpackSource.MODRINTH + } + } catch (ex: NullPointerException) { + log.error("Could not retrieve project and/or file IDs.", ex) + } + + if (projectID != null && versionID != null && source != packConfig.source) { + packConfig.projectID = projectID + packConfig.versionID = versionID + packConfig.source = source + } + } + + /** + * Checks whether either Forge or Fabric were specified as the modloader. + * + * @param modloader Check as case-insensitive for Forge or Fabric. + * @return `true` if the specified modloader is either Forge or Fabric. False if neither. + * @author Griefed + */ + fun checkModloader(modloader: String, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck { if (!modloader.lowercase().matches(forge) && !modloader.lowercase().matches(neoForge) && !modloader.lowercase().matches(fabric) @@ -183,7 +276,15 @@ actual class ConfigurationHandler( return configCheck } - actual override fun sanitizeLinks(packConfig: PackConfig) { + /** + * Sanitize any and all links in a given instance of [PackConfig] modpack-directory, + * server-icon path, server-properties path, Java path and copy-directories entries. + * + * @param packConfig Instance of [PackConfig] in which to sanitize links to + * their respective destinations. + * @author Griefed + */ + fun sanitizeLinks(packConfig: PackConfig) { log.info("Checking configuration for links...") if (packConfig.modpackDir.isNotEmpty() && utilities.fileUtilities.isLink(packConfig.modpackDir)) { try { @@ -242,13 +343,36 @@ actual class ConfigurationHandler( } } - actual override fun checkIconAndProperties(iconOrPropertiesPath: String) = if (iconOrPropertiesPath.isEmpty()) { + /** + * Checks the passed String whether it is an existing file. If the passed String is empty, then + * ServerPackCreator will treat it as the user being fine with the default files and return the + * corresponding boolean. + * + * @param iconOrPropertiesPath The path to the custom server-icon.png or server.properties file to + * check. + * @return `true` if the file exists or an empty String was passed, false if a file was + * specified, but the file was not found. + * @author Griefed + */ + fun checkIconAndProperties(iconOrPropertiesPath: String) = if (iconOrPropertiesPath.isEmpty()) { true } else { File(iconOrPropertiesPath).isFile } - actual override fun isDir(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck { + /** + * If the in the configuration specified modpack dir is an existing directory, checks are made for + * valid configuration of: directories to copy to server pack, if includeServerInstallation is + * `true` path to Java executable/binary, Minecraft version, modloader and modloader + * version. + * + * @param packConfig An instance of [PackConfig] which contains the + * configuration of the modpack. + * @param configCheck Contains all encountered errors during the check of the passed configuration. + * @return `true` if an error is found during configuration check. + * @author Griefed + */ + fun isDir(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck { if (checkInclusions(packConfig.inclusions, packConfig.modpackDir, configCheck).inclusionsChecksPassed) { log.debug("copyDirs setting check passed.") } else { @@ -258,8 +382,20 @@ actual class ConfigurationHandler( return configCheck } + /** + * Checks the specified ZIP-archive for validity. In order for a modpack ZIP-archive to be + * considered valid, it needs to contain the `mods` and `config` folders at minimum. + * If any of `manifest.json`, `minecraftinstance.json` or `config.json` are + * available, gather as much information from them as possible. + * + * @param packConfig Instance of [PackConfig] with a server pack + * configuration. + * @param configCheck Collection of encountered errors, if any, for convenient result-checks. + * @return `false` when no errors were encountered. + * @author Griefed + */ @Throws(IOException::class) - actual override fun isZip(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck { + fun isZip(packConfig: PackConfig, configCheck: ConfigCheck): ConfigCheck { // modpackDir points at a ZIP-file. Get the path to the would be modpack directory. val name = File(packConfig.modpackDir).name val cleaned = name.replace(zipRegex, "") @@ -314,8 +450,20 @@ actual class ConfigurationHandler( return configCheck } - actual override fun checkModloaderVersion( - modloader: String, modloaderVersion: String, minecraftVersion: String, configCheck: ConfigCheck + /** + * Check the given Minecraft and modloader versions for the specified modloader. + * + * @param modloader The passed modloader which determines whether the check for Forge or + * Fabric is called. + * @param modloaderVersion The version of the modloader which is checked against the corresponding + * modloader's manifest. + * @param minecraftVersion The version of Minecraft used for checking the Forge version. + * @return `true` if the specified modloader version was found in the corresponding + * manifest. + * @author Griefed + */ + fun checkModloaderVersion( + modloader: String, modloaderVersion: String, minecraftVersion: String, configCheck: ConfigCheck = ConfigCheck() ): ConfigCheck { when (modloader) { "Forge" -> if (!versionMeta.forge.isForgeAndMinecraftCombinationValid(minecraftVersion, modloaderVersion)) { @@ -369,7 +517,69 @@ actual class ConfigurationHandler( return configCheck } - actual override fun ensureScriptSettingsDefaults(packConfig: PackConfig) { + /** + * Convenience method which passes the important fields from an instance of + * [PackConfig] to + * [.printConfigurationModel] + * + * @param packConfig Instance of [PackConfig] to print to console and logs. + * @author Griefed + */ + fun printConfigurationModel(packConfig: PackConfig) = printConfigurationModel( + packConfig.modpackDir, + packConfig.clientMods, + packConfig.inclusions, + packConfig.minecraftVersion, + packConfig.modloader, + packConfig.modloaderVersion, + packConfig.isServerIconInclusionDesired, + packConfig.isServerPropertiesInclusionDesired, + packConfig.isZipCreationDesired, + packConfig.javaArgs, + packConfig.serverPackSuffix, + packConfig.serverIconPath, + packConfig.serverPropertiesPath, + packConfig.scriptSettings + ) + + /** + * Print all encountered errors to logs. + * + * @param encounteredErrors A list of all errors which were encountered during a configuration + * check. + * @author Griefed + */ + fun printEncounteredErrors(encounteredErrors: List<String>) { + log.error("Encountered ${encounteredErrors.size} errors during the configuration check.") + var encounteredErrorNumber: Int + for (i in encounteredErrors.indices) { + encounteredErrorNumber = i + 1 + log.error("Error $encounteredErrorNumber: ${encounteredErrors[i]}") + } + } + + /** + * Update the script settings and ensure the default keys, with values gathered from the passed + * [PackConfig], are present: + * + * + * 1. `SPC_SERVERPACKCREATOR_VERSION_SPC` : `ServerPackCreator version with which the scripts were created` + * 1. `SPC_MINECRAFT_VERSION_SPC` : `Minecraft version of the modpack` + * 1. `SPC_MINECRAFT_SERVER_URL_SPC` : `Download-URL to the Minecraft server + ` * + * 1. `SPC_MODLOADER_SPC` : `The modloader of the modpack` + * 1. `SPC_MODLOADER_VERSION_SPC` : `The modloader version of the modpack + ` * + * 1. `SPC_JAVA_ARGS_SPC` : `The JVM args to be used to run the server` + * 1. `SPC_JAVA_SPC` : `Path to the java installation to be used to run the server` + * 1. `SPC_FABRIC_INSTALLER_VERSION_SPC` : `Most recent version of the Fabric installer at the time of creating the scripts` + * 1. `SPC_QUILT_INSTALLER_VERSION_SPC` : `Most recent version of the Quilt installer at the time of creating the scripts` + * + * + * @param packConfig Model in which to ensure the default key-value pairs are present. + * @author Griefed + */ + fun ensureScriptSettingsDefaults(packConfig: PackConfig) { val server = versionMeta.minecraft.getServer(packConfig.minecraftVersion) if (!server.isPresent || !server.get().url().isPresent) { packConfig.scriptSettings["SPC_MINECRAFT_SERVER_URL_SPC"] = "" @@ -397,11 +607,27 @@ actual class ConfigurationHandler( } - actual override fun checkInclusions( + /** + * Checks whether the passed list of directories which are supposed to be in the modpack directory + * is empty, or whether all directories in the list exist in the modpack directory. If the user + * specified a `source/file;destination/file`-combination, it is checked whether the + * specified source-file exists on the host. + * + * @param inclusions Directories, or `source/file;destination/file`-combinations, to + * check for existence. + * `source/file;destination/file`-combinations must be absolute + * paths to the source-file. + * @param modpackDir Path to the modpack directory in which to check for existence of the + * passed list of directories. + * @return `true` if every directory was found in the modpack directory. If any single one + * was not found, false is returned. + * @author Griefed + */ + fun checkInclusions( inclusions: MutableList<InclusionSpecification>, modpackDir: String, - configCheck: ConfigCheck, - printLog: Boolean + configCheck: ConfigCheck = ConfigCheck(), + printLog: Boolean = true ): ConfigCheck { val hasLazy = inclusions.any { entry -> entry.source == "lazy_mode" } if (inclusions.isEmpty()) { @@ -473,7 +699,14 @@ actual class ConfigurationHandler( return configCheck } - actual override fun checkZipArchive(pathToZip: String, configCheck: ConfigCheck): ConfigCheck { + /** + * Check a given ZIP-archives contents. If the ZIP-archive only contains one directory, or if it + * contains neither the mods nor the config directories, consider it invalid. + * + * @param pathToZip Path to the ZIP-file to check. + * @author Griefed + */ + fun checkZipArchive(pathToZip: String, configCheck: ConfigCheck = ConfigCheck()): ConfigCheck { try { ZipFile(Paths.get(pathToZip).toFile()).use { if (it.isNotValidZipFile()) { @@ -521,7 +754,15 @@ actual class ConfigurationHandler( return configCheck } - actual override fun unzipDestination(destination: String): String { + /** + * Update the destination to which the ZIP-archive will the extracted to, based on whether a + * directory of the same name already exists. + * + * @param destination The destination to where the ZIP-archive was about to be extracted to. + * @return The destination where the ZIP-archive will be extracted to. + * @author Griefed + */ + fun unzipDestination(destination: String): String { var dest = destination if (File(dest).isDirectory || File("${dest}_0").isDirectory) { var incrementation = 0 @@ -535,7 +776,18 @@ actual class ConfigurationHandler( return File(dest).path } - actual override fun suggestInclusions(modpackDir: String): ArrayList<InclusionSpecification> { + /** + * Creates a list of suggested directories to include in server pack which is later on written to + * a new configuration file. The list of directories to include in the server pack which is + * generated by this method excludes well know directories which would not be needed by a server + * pack. If you have suggestions to this list, open a feature request issue on [GitHub](https://github.com/Griefed/ServerPackCreator/issues/new/choose) + * + * @param modpackDir The directory for which to gather a list of directories to copy to the server + * pack. + * @return Directories inside the modpack, excluding well known client-side only directories. + * @author Griefed + */ + fun suggestInclusions(modpackDir: String): ArrayList<InclusionSpecification> { // This log is meant to be read by the user, therefore we allow translation. log.info("Preparing a list of directories to include in server pack...") var doNotInclude: String @@ -565,7 +817,18 @@ actual class ConfigurationHandler( return dirsInModpack } - actual override fun checkManifests(destination: String, packConfig: PackConfig, configCheck: ConfigCheck): String? { + /** + * Check whether various manifests from various launchers exist and use them to update our + * ConfigurationModel and pack name. + * + * @param destination The destination in which the manifests are. + * @param packConfig The ConfigurationModel to update. + * @param configCheck Collection of encountered errors, if any, for convenient result-checks. + * @return The name of the modpack currently being checked. `null` if the name could not be + * acquired. + * @author Griefed + */ + fun checkManifests(destination: String, packConfig: PackConfig, configCheck: ConfigCheck = ConfigCheck()): String? { var packName: String? = null val manifestJson = File(destination, "manifest.json") val minecraftInstanceJson = File(destination, "minecraftinstance.json") @@ -589,7 +852,7 @@ actual class ConfigurationHandler( instanceJson.exists() -> { // Check instance.json usually created by ATLauncher try { - updateConfigModelFromInstance(packConfig, File(destination, "instance.json")) + updateConfigModelFromATLauncherInstance(packConfig, File(destination, "instance.json")) packName = updatePackName(packConfig, "launcher", "name") } catch (ex: IOException) { log.error("Error parsing config.json from ZIP-file.", ex) @@ -649,7 +912,18 @@ actual class ConfigurationHandler( return packName } - actual override fun checkServerPacksForIncrement(source: String, destination: String): String { + /** + * Check whether a server pack for the given destination already exists and get an incrementor + * based on whether one exists, how many, or none exist. Think if this as the incrementation + * Windows does when a file of the same name is copied. `foo.bar` becomes + * `foo (1).bar` etc. + * + * @param source The name of the modpack. + * @param destination The name of the server pack about to be generated. + * @return An incremented number, based on whether a server pack of the same name already exists. + * @author Griefed + */ + fun checkServerPacksForIncrement(source: String, destination: String): String { // Check whether a server pack for the new destination already exists. // If it does, we need to change it to avoid overwriting any existing files. val modPack = if (File(source).path.matches(previous)) { @@ -671,7 +945,39 @@ actual class ConfigurationHandler( return serverPack + incrementation } - actual override fun printConfigurationModel( + /** + * Prints all passed fields to the console and serverpackcreator.log. Used to show the user the + * configuration before ServerPackCreator starts the generation of the server pack or, if checks + * failed, to show the user their last configuration, so they can more easily identify problems + * with said configuration. + * + * Should a user report an issue on GitHub and include their logs (which I hope they do....), this would also help + * me help them. Logging is good. People should use more logging. + * + * @param modpackDirectory The used modpackDir field either from a configuration file or from + * configuration setup. + * @param clientsideMods List of clientside-only mods to exclude from the server pack... + * @param inclusions List of directories in the modpack which are to be included in the + * server pack. + * @param minecraftVer The Minecraft version the modpack uses. + * @param modloader The modloader the modpack uses. + * @param modloaderVersion The version of the modloader the modpack uses. + * @param includeIcon Whether to include the server-icon.png in the server pack. + * @param includeProperties Whether to include the server.properties in the server pack. + * @param includeZip Whether to create a zip-archive of the server pack, excluding the + * Minecraft server JAR according to Mojang's TOS and EULA. + * @param javaArgs Java arguments to write the start-scripts with. + * @param serverPackSuffix Suffix to append to name of the server pack to be generated. + * @param serverIconPath The path to the custom server-icon.png to be used in the server + * pack. + * @param serverPropertiesPath The path to the custom server.properties to be used in the server + * pack. + * @param scriptSettings Custom settings for start script creation. `KEY`s are the + * placeholder, `VALUE`s are the values with which the + * placeholders are to be replaced. + * @author Griefed + */ + fun printConfigurationModel( modpackDirectory: String, clientsideMods: List<String>, inclusions: List<InclusionSpecification>, @@ -724,6 +1030,13 @@ actual class ConfigurationHandler( } } + /** + * Acquire a list of directories in the base-directory of a ZIP-file. + * + * @param zipFile The ZIP-archive to get the list of files from. + * @return All directories in the base-directory of the ZIP-file. + * @author Griefed + */ @Throws( IllegalArgumentException::class, FileSystemAlreadyExistsException::class, @@ -731,7 +1044,7 @@ actual class ConfigurationHandler( IOException::class, SecurityException::class ) - actual override fun getDirectoriesInModpackZipBaseDirectory(zipFile: File): List<String> { + fun getDirectoriesInModpackZipBaseDirectory(zipFile: File): List<String> { val baseDirectories: TreeSet<String> = TreeSet() var headerBeginning: String ZipFile(zipFile).use { @@ -751,8 +1064,20 @@ actual class ConfigurationHandler( return baseDirectories.toList() } + /** + * **`manifest.json`** + * + * Update the given ConfigurationModel with values gathered from the downloaded CurseForge + * modpack. A manifest.json-file is usually created when a modpack is exported through launchers + * like Overwolf's CurseForge or GDLauncher. + * + * @param packConfig An instance containing a configuration for a modpack from which to + * create a server pack. + * @param manifest The CurseForge manifest.json-file of the modpack to read. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromCurseManifest(packConfig: PackConfig, manifest: File) { + fun updateConfigModelFromCurseManifest(packConfig: PackConfig, manifest: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(manifest) val minecraft = packConfig.modpackJson!!.get("minecraft") val modloaders = minecraft.get("modLoaders").get(0) @@ -763,7 +1088,17 @@ actual class ConfigurationHandler( packConfig.modloaderVersion = modloaderAndVersion[1] } - actual override fun updatePackName(packConfig: PackConfig, vararg childNodes: String) = try { + /** + * Acquire the modpacks name from the JSON previously acquired and stored in the + * ConfigurationModel. + * + * @param packConfig The ConfigurationModel containing the JsonNode from which to acquire + * the modpacks name. + * @param childNodes The child nodes, in order, which contain the requested packname. + * @return The new name of the modpack. + * @author Griefed + */ + fun updatePackName(packConfig: PackConfig, vararg childNodes: String) = try { val modpackDir = apiProperties.modpacksDirectory.toString() val packName = packConfig.modpackJson?.let { utilities.jsonUtilities.getNestedText( @@ -775,8 +1110,19 @@ actual class ConfigurationHandler( null } + /** + * **`minecraftinstance.json`** + * + * Update the given ConfigurationModel with values gathered from the minecraftinstance.json of + * the modpack. A minecraftinstance.json is usually created by Overwolf's CurseForge launcher. + * + * @param packConfig An instance containing a configuration for a modpack from which to + * create a server pack. + * @param minecraftInstance The minecraftinstance.json-file of the modpack to read. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromMinecraftInstance(packConfig: PackConfig, minecraftInstance: File) { + fun updateConfigModelFromMinecraftInstance(packConfig: PackConfig, minecraftInstance: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(minecraftInstance) val json = packConfig.modpackJson!! val base = json.get("baseModLoader") @@ -795,8 +1141,17 @@ actual class ConfigurationHandler( } } + /** + * **`modrinth.index.json`** + * + * Update the given ConfigurationModel with values gathered from a Modrinth `modrinth.index.json`-manifest. + * + * @param packConfig The model to update. + * @param manifest The manifest file. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromModrinthManifest(packConfig: PackConfig, manifest: File) { + fun updateConfigModelFromModrinthManifest(packConfig: PackConfig, manifest: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(manifest) val dependencies = packConfig.modpackJson!!.get("dependencies") packConfig.minecraftVersion = dependencies.get("minecraft").asText() @@ -822,44 +1177,26 @@ actual class ConfigurationHandler( } } + /** + * **`instance.json`** + * + * Update the given ConfigurationModel with values gathered from a ATLauncher manifest. + * + * @param packConfig The model to update. + * @param manifest The manifest file. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromInstance(packConfig: PackConfig, manifest: File) { + fun updateConfigModelFromATLauncherInstance(packConfig: PackConfig, manifest: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(manifest) val json = packConfig.modpackJson!! - val urlPath: Array<String> - val namePath: Array<String> - if (json.get("id") != null) { - //ATLauncher - packConfig.minecraftVersion = json.get("id").asText() - packConfig.modloader = json.get("launcher").get("loaderVersion").get("type").asText() - packConfig.modloaderVersion = json.get("launcher").get("loaderVersion").get("version").asText() - urlPath = arrayOf("launcher", "curseForgeProject", "logo", "thumbnailUrl") - namePath = arrayOf("launcher", "name") - } else { - //xmcl - val runtime = json.get("runtime") - packConfig.minecraftVersion = runtime.get("minecraft").asText() - urlPath = arrayOf("icon") - namePath = arrayOf("name") - when { - runtime.get("forge").asText().isNotBlank() -> { - packConfig.modloader = "Forge" - packConfig.modloaderVersion = runtime.get("forge").asText() - } - runtime.get("fabricLoader").asText().isNotBlank() -> { - packConfig.modloader = "Fabric" - packConfig.modloaderVersion = runtime.get("fabricLoader").asText() - } - runtime.get("quiltLoader").asText().isNotBlank() -> { - packConfig.modloader = "Quilt" - packConfig.modloaderVersion = runtime.get("quiltLoader").asText() - } - runtime.get("neoForged").asText().isNotBlank() -> { - packConfig.modloader = "NeoForge" - packConfig.modloaderVersion = runtime.get("neoForged").asText() - } - } - } + packConfig.minecraftVersion = json.get("id").asText() + val launcher = json.get("launcher") + val loaderVersion = launcher.get("loaderVersion") + packConfig.modloader = loaderVersion.get("type").asText() + packConfig.modloaderVersion = loaderVersion.get("version").asText() + val urlPath = arrayOf("launcher", "curseForgeProject", "logo", "thumbnailUrl") + val namePath = arrayOf("launcher", "name") try { getAndSetIcon(json, packConfig, urlPath, namePath) } catch (_: NullPointerException) { @@ -878,8 +1215,19 @@ actual class ConfigurationHandler( } } + /** + * **`config.json`** + * + * Update the given ConfigurationModel with values gathered from the modpacks config.json. A + * config.json is usually created by GDLauncher. + * + * @param packConfig An instance containing a configuration for a modpack from which to + * create a server pack. + * @param config The config.json-file of the modpack to read. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromConfigJson(packConfig: PackConfig, config: File) { + fun updateConfigModelFromConfigJson(packConfig: PackConfig, config: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(config) val loader = packConfig.modpackJson!!.get("loader") packConfig.modloader = getModLoaderCase(loader.get("loaderType").asText()) @@ -888,8 +1236,20 @@ actual class ConfigurationHandler( loader.get("loaderVersion").asText().replace(packConfig.minecraftVersion + "-", "") } + /** + * **`mmc-pack.json`** + * + * + * Update the given ConfigurationModel with values gathered from the modpacks mmc-pack.json. A + * mmc-pack.json is usually created by the MultiMC launcher. + * + * @param packConfig An instance containing a configuration for a modpack from which to + * create a server pack. + * @param mmcPack The config.json-file of the modpack to read. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateConfigModelFromMMCPack(packConfig: PackConfig, mmcPack: File) { + fun updateConfigModelFromMMCPack(packConfig: PackConfig, mmcPack: File) { packConfig.modpackJson = utilities.jsonUtilities.getJson(mmcPack) val components = packConfig.modpackJson!!.get("components") for (jsonNode in components) { @@ -914,8 +1274,18 @@ actual class ConfigurationHandler( } } + /** + * **`instance.cfg`** + * + * Acquire the name of the modpack/instance of a MultiMC modpack from the modpacks + * instance.cfg, which is usually created by the MultiMC launcher. + * + * @param instanceCfg The config.json-file of the modpack to read. + * @return The instance name. + * @author Griefed + */ @Throws(IOException::class) - actual override fun updateDestinationFromInstanceCfg(instanceCfg: File): String { + fun updateDestinationFromInstanceCfg(instanceCfg: File): String { var name: String instanceCfg.inputStream().use { val properties = Properties() @@ -925,25 +1295,79 @@ actual class ConfigurationHandler( return name } - actual override fun checkModpackDir( + /** + * Ensures the modloader is normalized to first letter upper case and rest lower case. Basically + * allows the user to input Forge or Fabric in any combination of upper- and lowercase and + * ServerPackCreator will still be able to work with the users input. + * + * @param modloader Modloader String-representation to normalize. + * @return A normalized String of the specified modloader. + * @author Griefed + */ + fun getModLoaderCase(modloader: String) = when { + modloader.lowercase().matches(forge) || modloader.lowercase().contains("forge") && + !(modloader.lowercase().matches(neoForge) || modloader.lowercase().contains("NeoForge"))-> { + "Forge" + } + modloader.lowercase().matches(fabric) || modloader.lowercase().contains("fabric") -> { + "Fabric" + } + modloader.lowercase().matches(quilt) || modloader.lowercase().contains("quilt") -> { + "Quilt" + } + modloader.lowercase().matches(legacyFabric) || modloader.lowercase().contains("legacyfabric") -> { + "LegacyFabric" + } + modloader.lowercase().matches(neoForge) || modloader.lowercase().contains("NeoForge") -> { + "NeoForge" + } + else -> { + log.warn { "No suitable modloader found. Defaulting to Forge." } + "Forge" + } + } + + /** + * Check the passed directory for existence and whether it is a directory, rather than a file. + * + * @param modpackDir The modpack directory. + * @param configCheck Collection of encountered errors, if any, for convenient result-checks. + * @return `true` if the directory exists. + * @author Griefed + */ + fun checkModpackDir( modpackDir: String, - configCheck: ConfigCheck, - printLog: Boolean + configCheck: ConfigCheck = ConfigCheck(), + printLog: Boolean = true ): ConfigCheck { + val modpack = File(modpackDir) if (modpackDir.isEmpty()) { if (printLog) { log.error("Modpack directory not specified. Please specify an existing directory.") } configCheck.modpackErrors.add(Translations.configuration_log_error_checkmodpackdir.toString()) - } else if (!File(modpackDir).exists()) { + } else if (!modpack.exists()) { if (printLog) { log.warn("Couldn't find directory $modpackDir.") } configCheck.modpackErrors.add(Translations.configuration_log_error_modpackdirectory(modpackDir)) + } else if (modpack.isDirectory){ + val files = modpack.listFiles { entry -> entry.isDirectory } + if (files.any { entry -> entry.name == "overrides" }) { + log.error("Modpack contains directory \"overrides\". Modpacks must be installed through a client such as CurseForge, GDLauncher, MultiMC etc. Full modpacks shouldn't contain the overrides directory anymore.") + configCheck.modpackErrors.add(Translations.configuration_log_error_modpack_overrides.toString()) + } } return configCheck } + /** + * Acquire a list of all files and directories in a ZIP-file. + * + * @param zipFile The ZIP-archive to get the list of files from. + * @return All files and directories in the ZIP-file. + * @author Griefed + */ @Throws( IllegalArgumentException::class, FileSystemAlreadyExistsException::class, @@ -951,7 +1375,7 @@ actual class ConfigurationHandler( IOException::class, SecurityException::class ) - actual override fun getAllFilesAndDirectoriesInModpackZip(zipFile: File): List<String> { + fun getAllFilesAndDirectoriesInModpackZip(zipFile: File): List<String> { val filesAndDirectories: MutableList<String> = ArrayList(100) try { filesAndDirectories.addAll(getDirectoriesInModpackZip(zipFile)) @@ -966,6 +1390,13 @@ actual class ConfigurationHandler( return filesAndDirectories } + /** + * Acquire a list of all directories in a ZIP-file. The resulting list excludes files. + * + * @param zipFile The ZIP-archive to get the list of files from. + * @return All directories in the ZIP-file. + * @author Griefed + */ @Throws( IllegalArgumentException::class, FileSystemAlreadyExistsException::class, @@ -973,7 +1404,7 @@ actual class ConfigurationHandler( IOException::class, SecurityException::class ) - actual override fun getDirectoriesInModpackZip(zipFile: java.io.File): List<String> { + fun getDirectoriesInModpackZip(zipFile: File): List<String> { val directories: MutableList<String> = ArrayList(100) ZipFile(zipFile).use { for (header in it.fileHeaders) { @@ -985,6 +1416,13 @@ actual class ConfigurationHandler( return directories } + /** + * Acquire a list of all files in a ZIP-file. The resulting list excludes directories. + * + * @param zipFile The ZIP-archive to get the list of files from. + * @return All files in the ZIP-file. + * @author Griefed + */ @Throws( IllegalArgumentException::class, FileSystemAlreadyExistsException::class, @@ -992,7 +1430,7 @@ actual class ConfigurationHandler( IOException::class, SecurityException::class ) - actual override fun getFilesInModpackZip(zipFile: java.io.File): List<String> { + fun getFilesInModpackZip(zipFile: File): List<String> { val files: MutableList<String> = ArrayList(100) ZipFile(zipFile).use { for (header in it.fileHeaders) { diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ExclusionFilter.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ExclusionFilter.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/ExclusionFilter.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ExclusionFilter.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt similarity index 84% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt index 3e264bdc336cde02414cbbd4d063c01b8abbb08d..0fff0137e5332afe1aa7fd1bc3b8955923e40be4 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/InclusionSpecification.kt @@ -38,30 +38,30 @@ package de.griefed.serverpackcreator.api * * @author Griefed */ -actual class InclusionSpecification actual constructor( - actual var source: String, - actual var destination: String?, - actual var inclusionFilter: String?, - actual var exclusionFilter: String? +class InclusionSpecification( + var source: String, + var destination: String? = null, + var inclusionFilter: String? = null, + var exclusionFilter: String? = null ) { - actual fun hasInclusionFilter(): Boolean { + fun hasInclusionFilter(): Boolean { return inclusionFilter != null && inclusionFilter!!.isNotBlank() } - actual fun hasExclusionFilter(): Boolean { + fun hasExclusionFilter(): Boolean { return exclusionFilter != null && exclusionFilter!!.isNotBlank() } - actual fun hasDestination(): Boolean { + fun hasDestination(): Boolean { return !destination.isNullOrBlank() } - actual fun isGlobalFilter(): Boolean { + fun isGlobalFilter(): Boolean { return (source.isBlank() && hasInclusionFilter()) || (source.isBlank() && hasExclusionFilter()) } - actual fun asHashMap(): HashMap<String,String> { + fun asHashMap(): HashMap<String,String> { val map = HashMap<String,String>() map["source"] = source map["destination"] = destination ?: "" diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackSource.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ModpackSource.kt similarity index 91% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackSource.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ModpackSource.kt index b472a1495ea79ad0d2a7f99122405685b1ec2867..51559cf1c11e41ea946468370575dd7160533cc4 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackSource.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ModpackSource.kt @@ -17,8 +17,8 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.modpack +package de.griefed.serverpackcreator.api enum class ModpackSource { - ZIP, MODRINTH + ZIP, MODRINTH, CURSEFORGE, DIRECTORY } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt similarity index 82% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt index 322784c0d93419300c789a1400ce235fc72c556d..fc256ba2c2700ca1c023094696dd31102ee88c53 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/PackConfig.kt @@ -183,8 +183,54 @@ private val scriptSettingsDefaultKeys = arrayOf( * * @author Griefed */ -actual open class PackConfig actual constructor() : Pack<File, JsonNode, PackConfig>() { - private val log = cachedLoggerOf(this.javaClass) +open class PackConfig() { + private val log by lazy { cachedLoggerOf(this.javaClass) } + + val forge = "^forge$".toRegex() + val neoForge = "^neoforge$".toRegex() + val fabric = "^fabric$".toRegex() + val quilt = "^quilt$".toRegex() + val legacyFabric = "^legacyfabric$".toRegex() + val whitespace = "^\\s+$".toRegex() + + val clientMods: ArrayList<String> = ArrayList(1000) + val modsWhitelist: ArrayList<String> = ArrayList(1000) + val inclusions: ArrayList<InclusionSpecification> = ArrayList(100) + val scriptSettings = HashMap<String, String>(100) + val pluginsConfigs = HashMap<String, ArrayList<CommentedConfig>>(20) + var modpackDir = "" + var minecraftVersion = "" + var modloaderVersion = "" + var javaArgs = "" + var serverPackSuffix = "" + var serverIconPath = "" + var serverPropertiesPath = "" + var modloader = "" + set(newModLoader) { + if (newModLoader.lowercase().matches(forge)) { + field = "Forge" + } else if (newModLoader.lowercase().matches(neoForge)) { + field = "NeoForge" + } else if (newModLoader.lowercase().matches(fabric)) { + field = "Fabric" + } else if (newModLoader.lowercase().matches(quilt)) { + field = "Quilt" + } else if (newModLoader.lowercase().matches(legacyFabric)) { + field = "LegacyFabric" + } + } + var isServerIconInclusionDesired = true + var isServerPropertiesInclusionDesired = true + var isZipCreationDesired = true + var modpackJson: JsonNode? = null + var configVersion: String? = null + + open var projectID: String? = null + open var versionID: String? = null + open var source: ModpackSource = ModpackSource.DIRECTORY + open var fileName: String? = null + open var fileDiskName: String? = null + /** * Construct a new configuration model with custom values. * @@ -206,7 +252,7 @@ actual open class PackConfig actual constructor() : Pack<File, JsonNode, PackCon * @param pluginsConfigs Configuration for any and all plugins used by this configuration. * @author Griefed */ - actual constructor( + constructor( clientMods: List<String>, whitelist: List<String>, copyDirs: List<InclusionSpecification>, @@ -366,7 +412,7 @@ actual open class PackConfig actual constructor() : Pack<File, JsonNode, PackCon } @Suppress("DuplicatedCode") - actual override fun save(destination: File, apiProperties: ApiProperties): PackConfig { + fun save(destination: File, apiProperties: ApiProperties): PackConfig { val conf = TomlFormat.instance().createConfig() conf.setComment(configVersionKey, configVersionComment) @@ -441,4 +487,58 @@ actual open class PackConfig actual constructor() : Pack<File, JsonNode, PackCon .write(conf, destination, WritingMode.REPLACE, StandardCharsets.UTF_8) return this } + + fun setPluginsConfigs(pluginConfigs: HashMap<String, ArrayList<CommentedConfig>>) { + this.pluginsConfigs.clear() + this.pluginsConfigs.putAll(pluginConfigs) + } + + fun getPluginConfigs(pluginId: String): ArrayList<CommentedConfig> { + if (!pluginsConfigs.containsKey(pluginId)) { + pluginsConfigs[pluginId] = java.util.ArrayList(100) + } + return pluginsConfigs[pluginId]!! + } + + fun setClientMods(newClientMods: MutableList<String>) { + clientMods.clear() + newClientMods.removeIf { entry: String -> entry.isBlank() || entry.matches(whitespace) } + clientMods.addAll(newClientMods) + } + + fun setModsWhitelist(newModsWhitelist: MutableList<String>) { + modsWhitelist.clear() + newModsWhitelist.removeIf { entry: String -> entry.isBlank() || entry.matches(whitespace) } + modsWhitelist.addAll(newModsWhitelist) + } + + fun setInclusions(newCopyDirs: ArrayList<InclusionSpecification>) { + inclusions.clear() + inclusions.addAll(newCopyDirs) + } + + fun setScriptSettings(settings: HashMap<String, String>) { + scriptSettings.clear() + scriptSettings.putAll(settings) + } + + override fun toString(): String { + return "Pack(" + + " clientMods=$clientMods," + + " whiteList=$modsWhitelist," + + " copyDirs=$inclusions," + + " scriptSettings=$scriptSettings," + + " pluginsConfigs=$pluginsConfigs," + + " modpackDir='$modpackDir'," + + " minecraftVersion='$minecraftVersion'," + + " modloaderVersion='$modloaderVersion'," + + " javaArgs='$javaArgs'," + + " serverPackSuffix='$serverPackSuffix'," + + " serverIconPath='$serverIconPath'," + + " serverPropertiesPath='$serverPropertiesPath'," + + " modloader='$modloader'," + + " isServerIconInclusionDesired=$isServerIconInclusionDesired," + + " isServerPropertiesInclusionDesired=$isServerPropertiesInclusionDesired," + + " isZipCreationDesired=$isZipCreationDesired)" + } } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt similarity index 97% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt index f3f950f2c9038b85de1dd272e21d851ba252f0b2..51b3b03b11675fdb8ecdca15ab819a4fe35cb2e3 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackFile.kt @@ -34,8 +34,8 @@ import java.nio.file.Path * @author Griefed */ @Suppress("MemberVisibilityCanBePrivate") -actual class ServerPackFile { - private val log = cachedLoggerOf(this.javaClass) +class ServerPackFile { + private val log by lazy { cachedLoggerOf(this.javaClass) } val sourceFile: File val sourcePath: Path val destinationFile: File @@ -92,7 +92,7 @@ actual class ServerPackFile { */ @Suppress("removal") @Throws(SecurityException::class, UnsupportedOperationException::class, IOException::class) - actual fun copy(overwrite: Boolean) { + fun copy(overwrite: Boolean = true) { try { sourceFile.copyTo(destinationFile, overwrite) log.debug("Successfully copied ServerPackFile") diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt similarity index 61% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt index f270b25a9d3c9e8ab98325affe91880d7e534758..f16475def724b256dd0c85a015ca96084a7663e5 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/ServerPackHandler.kt @@ -26,6 +26,7 @@ import de.griefed.serverpackcreator.api.versionmeta.VersionMeta import net.lingala.zip4j.ZipFile import net.lingala.zip4j.model.ExcludeFileFilter import net.lingala.zip4j.model.ZipParameters +import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.awt.Image import java.awt.image.BufferedImage import java.io.File @@ -75,21 +76,67 @@ import kotlin.io.path.absolute * * @author Griefed */ -actual class ServerPackHandler actual constructor( +class ServerPackHandler( private val apiProperties: ApiProperties, private val versionMeta: VersionMeta, private val utilities: Utilities, private val apiPlugins: ApiPlugins, private val modScanner: ModScanner -) : ServerPack<File, TreeSet<String>, TreeSet<File>>() { +) { - override fun getServerPackDestination(packConfig: Pack<*, *, *>): String { + val log by lazy { cachedLoggerOf(this.javaClass) } + val modFileEndings = listOf("jar", "disabled") + val ending = "^\\.[0-9a-zA-Z]+$".toRegex() + val variables = """ + ### + # Remember: + # Escape \ and : in your Java path on Windows with another \ + # Example: + # From: C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\bin\java.exe + # To: C\:\\Program Files\\Eclipse Adoptium\\jdk-17.0.9.9-hotspot\\bin\\java.exe + # More on escape characters at https://en.wikipedia.org/wiki/Escape_character + ### + MINECRAFT_VERSION=SPC_MINECRAFT_VERSION_SPC + MODLOADER=SPC_MODLOADER_SPC + MODLOADER_VERSION=SPC_MODLOADER_VERSION_SPC + LEGACYFABRIC_INSTALLER_VERSION=SPC_LEGACYFABRIC_INSTALLER_VERSION_SPC + FABRIC_INSTALLER_VERSION=SPC_FABRIC_INSTALLER_VERSION_SPC + QUILT_INSTALLER_VERSION=SPC_QUILT_INSTALLER_VERSION_SPC + MINECRAFT_SERVER_URL=SPC_MINECRAFT_SERVER_URL_SPC + JAVA_ARGS="SPC_JAVA_ARGS_SPC" + JAVA="SPC_JAVA_SPC" + WAIT_FOR_USER_INPUT=SPC_WAIT_FOR_USER_INPUT_SPC + """.trimIndent() + + /** + * Acquire the destination directory in which the server pack will be generated. The directory in + * which the server pack will be created has all its spaces replaces with underscores, so + * `Survive Create Prosper 4 - 5.0.1` would become `Survive_Create_Prosper_4_-_5.0.1 ` + * Even though it is the year 2022, spaces in paths can and do still cause trouble. Such as for + * Powershell scripts. Powershell throws a complete fit if the path contains spaces....so, we + * remove them. Better safe than sorry. + * + * @param packConfig Model containing the modpack directory of the modpack from which the + * server pack will be generated. + * @return The complete path to the directory in which the server pack will be generated. + * @author Griefed + */ + fun getServerPackDestination(packConfig: PackConfig): String { var serverPackToBe = File(packConfig.modpackDir).name + packConfig.serverPackSuffix serverPackToBe = utilities.stringUtilities.pathSecureText(serverPackToBe.replace(" ", "_")) - return File(apiProperties.serverPacksDirectory, serverPackToBe).path + return File(apiProperties.serverPacksDirectory, serverPackToBe).absolutePath } - override fun run(packConfig: PackConfig): Boolean { + /** + * Create a server pack from a given instance of [PackConfig]. + * + * @param packConfig An instance of [PackConfig] which contains the + * configuration of the modpack from which the server pack is to be + * created. + * @return `true` if the server pack was successfully generated. + * @author Griefed + */ + fun run(packConfig: PackConfig): Boolean { //TODO return server pack object with info about it as well as whether it was successful val destination = getServerPackDestination(packConfig) /* * Check whether the server pack for the specified modpack already exists and whether overwrite is disabled. @@ -97,7 +144,7 @@ actual class ServerPackHandler actual constructor( */ val generationStopWatch = SimpleStopWatch().start() try { - File(destination).createDirectories(create = true, directory = true) + File(destination).create(create = true, directory = true) } catch (ignored: IOException) { } @@ -168,7 +215,29 @@ actual class ServerPackHandler actual constructor( return true } - override fun cleanupEnvironment(deleteZip: Boolean, destination: String) { + /** + * Deletes all files, directories and ZIP-archives of previously generated server packs to ensure + * newly generated server pack is as clean as possible. This will completely empty the server pack + * directory, so use with caution! + * + * @param deleteZip Whether to delete the server pack ZIP-archive. + * @param packConfig ConfigurationModel containing the modpack directory from which the + * destination of the server pack is acquired. + * @author Griefed + */ + fun cleanupEnvironment(deleteZip: Boolean, packConfig: PackConfig) = + cleanupEnvironment(deleteZip, getServerPackDestination(packConfig)) + + /** + * Deletes all files, directories and ZIP-archives of previously generated server packs to ensure + * newly generated server pack is as clean as possible. This will completely empty the server pack + * directory, so use with caution! + * + * @param deleteZip Whether to delete the server pack ZIP-archive. + * @param destination The destination at which to clean up in. + * @author Griefed + */ + fun cleanupEnvironment(deleteZip: Boolean, destination: String) { log.info("Found old server pack at $destination. Cleaning up...") deleteExistingServerPack(destination) File(destination).deleteQuietly() @@ -185,7 +254,51 @@ actual class ServerPackHandler actual constructor( File(destination + "_server_pack.zip").deleteQuietly() } - override fun copyFiles( + /** + * Copies all specified directories and mods, excluding clientside-only mods, from the modpack + * directory into the server pack directory. If a `source/file;destination/file` + * -combination is provided, the specified source-file is copied to the specified + * destination-file. One of the reasons as to why it is recommended to run a given + * ConfigurationModel through the ConfigurationHandler first, is because the ConfigurationHandler + * will resolve links to their files first before then correcting the given + * ConfigurationModel. + * + * @param packConfig ConfigurationModel containing the modpack directory, list of + * directories and files to copy, list of clientside-only mods to + * exclude, the Minecraft version used by the modpack and server pack, + * and the modloader used by the modpack and server pack. + * @author Griefed + */ + fun copyFiles(packConfig: PackConfig, overwrite: Boolean = true) = copyFiles( + packConfig.modpackDir, + packConfig.inclusions, + packConfig.clientMods, + packConfig.modsWhitelist, + packConfig.minecraftVersion, + getServerPackDestination(packConfig), + packConfig.modloader, + overwrite + ) + + /** + * Copies all specified directories and mods, excluding clientside-only mods, from the modpack + * directory into the server pack directory. If a `source/file;destination/file` + * -combination is provided, the specified source-file is copied to the specified + * destination-file. One of the reasons as to why it is recommended to run a given + * ConfigurationModel through the ConfigurationHandler first, is because the ConfigurationHandler + * will resolve links to their files first before then correcting the given + * ConfigurationModel. + * + * @param modpackDir Files and directories are copied into the server_pack directory inside + * the modpack directory. + * @param inclusions All directories and files therein to copy to the server pack. + * @param clientMods List of clientside-only mods to exclude from the server pack. + * @param minecraftVersion The Minecraft version the modpack uses. + * @param destination The destination where the files should be copied to. + * @param modloader The modloader used for mod sideness detection. + * @author Griefed + */ + fun copyFiles( modpackDir: String, inclusions: ArrayList<InclusionSpecification>, clientMods: List<String>, @@ -199,7 +312,7 @@ actual class ServerPackHandler actual constructor( var acquired: List<ServerPackFile> val serverPackFiles: MutableList<ServerPackFile> = ArrayList(100000) try { - File(destination).createDirectories() + File(destination).create() } catch (ex: IOException) { log.error("Failed to create directory $destination") } @@ -249,6 +362,72 @@ actual class ServerPackHandler actual constructor( } } + /** + * Download and provide the improved Fabric Server Launcher, if it is available for the given + * Minecraft and Fabric version. + * + * @param packConfig ConfigurationModel containing the Minecraft and Fabric version for + * which to acquire the improved Fabric Server Launcher. + * @author Griefed + */ + fun provideImprovedFabricServerLauncher(packConfig: PackConfig) = getImprovedFabricLauncher( + packConfig.minecraftVersion, packConfig.modloaderVersion, getServerPackDestination(packConfig) + ) + + /** + * Copies the server-icon.png into server pack. The sever-icon is automatically scaled to a + * resolution of 64x64 pixels. + * + * @param packConfig Containing the modpack directory to acquire the destination of the + * server pack and the path to the server icon to copy. + * @author Griefed + */ + fun copyIcon(packConfig: PackConfig) = copyIcon(getServerPackDestination(packConfig), packConfig.serverIconPath) + + /** + * Copies the server.properties into server pack. + * + * @param packConfig Containing the modpack directory to acquire the destination of the + * server pack and the path to the server properties to copy. + * @author Griefed + */ + fun copyProperties(packConfig: PackConfig) = + copyProperties(getServerPackDestination(packConfig), packConfig.serverPropertiesPath) + + /** + * Create start-scripts for the generated server pack using the templates the user has defined for + * their instance of ServerPackCreator in the property `de.griefed.serverpackcreator.serverpack.script.template`. + * + * @param packConfig Configuration model containing modpack specific values. keys to be + * replaced with their respective values in the start scripts, as well + * as the modpack directory from which the destination of the server + * pack is acquired. + * @param isLocal Whether the start scripts should be created for a locally usable + * server pack. Use `false` if the start scripts should be created + * for a server pack about to be zipped. + * @author Griefed + */ + fun createStartScripts(packConfig: PackConfig, isLocal: Boolean) = + createStartScripts(packConfig.scriptSettings, getServerPackDestination(packConfig), isLocal) + + /** + * Creates a ZIP-archive of the server pack previously generated. Depending on the property + * `de.griefed.serverpackcreator.serverpack.zip.exclude.enabled`, files will be excluded. To customize + * the files which will be excluded, see the property `de.griefed.serverpackcreator.serverpack.zip.exclude` + * + * @param packConfig Contains the Minecraft version used by the modpack and server pack, + * whether the modloader server was installed, the modpack directory to + * acquire the destination of the server pack, the modloader used by the + * modpack and server pack and the modloader version. + * @author Griefed + */ + fun zipBuilder(packConfig: PackConfig) = zipBuilder( + packConfig.minecraftVersion, + getServerPackDestination(packConfig), + packConfig.modloader, + packConfig.modloaderVersion + ) + fun getServerFiles( inclusion: InclusionSpecification, modpackDir: String, @@ -308,7 +487,7 @@ actual class ServerPackHandler actual constructor( inclusion.source == "mods" -> { try { - serverDir.createDirectories() + serverDir.create() } catch (ignored: IOException) { } acquired = mutableListOf() @@ -380,7 +559,7 @@ actual class ServerPackHandler actual constructor( for (file in acquired) { if (file.sourceFile.absolutePath.replace(modpackDir + File.separator, "").matches(inclusionFilter)) { processed.add(file) - log.debug("{} matched Inclusion-Filter {}.", file, inclusionFilter) + log.debug("$file matched Inclusion-Filter $inclusionFilter.") } } } else { @@ -390,7 +569,7 @@ actual class ServerPackHandler actual constructor( processed.removeIf { file -> val source = file.sourceFile.absolutePath.replace(modpackDir + File.separator, "") return@removeIf if (source.matches(exclusionFilter)) { - log.debug("{} matched Inclusion-Filter {}.", file.sourceFile, exclusionFilter) + log.debug("${file.sourceFile} matched Inclusion-Filter $exclusionFilter.") true } else { false @@ -400,7 +579,18 @@ actual class ServerPackHandler actual constructor( return processed } - override fun getImprovedFabricLauncher(minecraftVersion: String, fabricVersion: String, destination: String) { + /** + * Download and provide the improved Fabric Server Launcher, if it is available for the given + * Minecraft and Fabric version. + * + * @param minecraftVersion The Minecraft version the modpack uses and the Fabric Server Launcher + * should be downloaded for. + * @param fabricVersion The modloader version the modpack uses and the Fabric Server Launcher + * should be downloaded for. + * @param destination The destination of the server pack. + * @author Griefed + */ + fun getImprovedFabricLauncher(minecraftVersion: String, fabricVersion: String, destination: String) { val fileDestination = File(destination, "fabric-server-launcher.jar") if (versionMeta.fabric.launcherFor(minecraftVersion, fabricVersion).isPresent) { versionMeta.fabric.launcherFor(minecraftVersion, fabricVersion).get().copyTo(fileDestination) @@ -419,7 +609,15 @@ actual class ServerPackHandler actual constructor( } } - override fun copyIcon(destination: String, pathToServerIcon: String) { + /** + * Copies the server-icon.png into server pack. The sever-icon is automatically scaled to a + * resolution of 64x64 pixels. + * + * @param destination The destination where the icon should be copied to. + * @param pathToServerIcon The path to the custom server-icon. + * @author Griefed + */ + fun copyIcon(destination: String, pathToServerIcon: String) { log.info("Copying server-icon.png...") val customIcon = File(destination, apiProperties.defaultServerIcon.name) if (File(pathToServerIcon).exists()) { @@ -454,7 +652,14 @@ actual class ServerPackHandler actual constructor( } } - override fun copyProperties(destination: String, pathToServerProperties: String) { + /** + * Copies the server.properties into server pack. + * + * @param destination The destination where the properties should be copied to. + * @param pathToServerProperties The path to the custom server.properties. + * @author Griefed + */ + fun copyProperties(destination: String, pathToServerProperties: String) { log.info("Copying server.properties...") val customProperties = File(destination, apiProperties.defaultServerProperties.name) if (File(pathToServerProperties).exists()) { @@ -467,7 +672,19 @@ actual class ServerPackHandler actual constructor( } } - override fun createStartScripts(scriptSettings: HashMap<String, String>, destination: String, isLocal: Boolean) { + /** + * Create start-scripts for the generated server pack using the templates the user has defined for + * their instance of ServerPackCreator in the property `de.griefed.serverpackcreator.serverpack.script.template`. + * + * @param scriptSettings Key-value pairs to replace in the script. A given key in the script is + * replaced with its value. + * @param destination The destination where the scripts should be created in. + * @param isLocal Whether the start scripts should be created for a locally usable server + * pack. Use `false` if the start scripts should be created for a + * server pack about to be zipped. + * @author Griefed + */ + fun createStartScripts(scriptSettings: HashMap<String, String>, destination: String, isLocal: Boolean) { for (template in apiProperties.scriptTemplates) { try { val fileEnding = template.toString().substring(template.toString().lastIndexOf(".") + 1) @@ -489,7 +706,20 @@ actual class ServerPackHandler actual constructor( } } - override fun zipBuilder( + /** + * Creates a ZIP-archive of specified directory. Depending on the property `de.griefed.serverpackcreator.serverpack.zip.exclude.enabled`, + * files will be excluded. To customize the files which will be excluded, the property `de.griefed.serverpackcreator.serverpack.zip.exclude` + * must be configured accordingly. The created ZIP-archive will be stored alongside the specified + * destination, with `_server_pack.zip` appended to its name. + * + * @param minecraftVersion Determines the name of the Minecraft server JAR to exclude + * from the ZIP-archive if the modloader is Forge. + * @param destination The destination where the ZIP-archive should be created in. + * @param modloader The modloader the modpack and server pack use. + * @param modloaderVersion The modloader version the modpack and server pack use. + * @author Griefed + */ + fun zipBuilder( minecraftVersion: String, destination: String, modloader: String, @@ -527,7 +757,14 @@ actual class ServerPackHandler actual constructor( log.info("Finished creation of zip archive.") } - override fun preInstallationCleanup(destination: String) { + /** + * Delete files and folders from previous installations to prevent errors during server installation due to already + * existing files. + * @param destination The folder in which to perform the cleanup operations. + * + * @author Griefed + */ + fun preInstallationCleanup(destination: String) { log.info("Pre server installation cleanup.") var fileToDelete: File for (file in apiProperties.preInstallCleanupFiles) { @@ -538,7 +775,19 @@ actual class ServerPackHandler actual constructor( } } - override fun getExplicitFiles( + /** + * Gather a list of all files from an explicit source;destination-combination. If the source is a + * file, a singular [ServerPackFile] is returned. If the source is a directory, then all + * files in said directory are returned. + * + * @param source source-file/directory + * @param destination destination-file/directory + * @param modpackDir The modpack-directory. + * @param serverPackDestination The destination, normally the server pack-directory. + * @return List of [ServerPackFile]. + * @author Griefed + */ + fun getExplicitFiles( source: String, destination: String, modpackDir: String, @@ -573,7 +822,17 @@ actual class ServerPackHandler actual constructor( return serverPackFiles } - override fun getSaveFiles(clientDir: String, directory: String, destination: String): List<ServerPackFile> { + /** + * Recursively acquire all files and directories inside the given save-directory as a list of + * [ServerPackFile]. + * + * @param clientDir Target directory in the server pack. Usually the name of the world. + * @param directory The save-directory. + * @param destination The destination of the server pack. + * @return List of [ServerPackFile] which will be included in the server pack. + * @author Griefed + */ + fun getSaveFiles(clientDir: String, directory: String, destination: String): List<ServerPackFile> { val serverPackFiles: MutableList<ServerPackFile> = ArrayList(2000) try { Files.walk(Paths.get(clientDir)).use { @@ -597,7 +856,43 @@ actual class ServerPackHandler actual constructor( return serverPackFiles } - override fun getModsToInclude( + /** + * Generates a list of all mods to include in the server pack. If the user specified + * clientside-mods to exclude, and/or if the automatic exclusion of clientside-only mods is + * active, they will be excluded, too. + * + * @param packConfig The configurationModel containing the modpack directory, list of + * clientside-only mods to exclude, Minecraft version used by the + * modpack and server pack and the modloader used by the modpack and + * server pack. + * @return A list of all mods to include in the server pack. + * @author Griefed + */ + fun getModsToInclude(packConfig: PackConfig) = getModsToInclude( + "${packConfig.modpackDir}${File.separator}mods", + packConfig.clientMods, + packConfig.modsWhitelist, + packConfig.minecraftVersion, + packConfig.modloader + ) + + /** + * Generates a list of all mods to include in the server pack. If the user specified + * clientside-mods to exclude, and/or if the automatic exclusion of clientside-only mods is + * active, they will be excluded, too. + * + * @param modsDir The mods-directory of the modpack of which to generate a list of + * all its contents. + * @param userSpecifiedClientMods A list of all clientside-only mods. + * @param userSpecifiedWhitelist A list of mods to include regardless if a match was found in [userSpecifiedClientMods]. + * @param minecraftVersion The Minecraft version the modpack uses. When the modloader is + * Forge, this determines whether Annotations or Tomls are + * scanned. + * @param modloader The modloader the modpack uses. + * @return A list of all mods to include in the server pack. + * @author Griefed + */ + fun getModsToInclude( modsDir: String, userSpecifiedClientMods: List<String>, userSpecifiedModsWhitelist: List<String>, @@ -612,7 +907,7 @@ actual class ServerPackHandler actual constructor( // Check whether scanning mods for sideness is activated. if (apiProperties.isAutoExcludingModsEnabled) { val scanningStopWatch = SimpleStopWatch().start() - when (modloader) { + when (modloader) { //TODO replace Modloader strings with ENUM "LegacyFabric", "Fabric" -> autodiscoveredClientMods.addAll(modScanner.fabricScanner.scan(filesInModsDir)) "Forge" -> if (minecraftVersion.split(".").dropLastWhile { it.isEmpty() } @@ -653,7 +948,16 @@ actual class ServerPackHandler actual constructor( return ArrayList(modsInModpack) } - override fun getDirectoryFiles(source: String, destination: String): List<ServerPackFile> { + /** + * Recursively acquire all files and directories inside the given directory as a list of + * [ServerPackFile]. + * + * @param source The source-directory. + * @param destination The server pack-directory. + * @return List of files and folders of the server pack. + * @author Griefed + */ + fun getDirectoryFiles(source: String, destination: String): List<ServerPackFile> { val serverPackFiles: MutableList<ServerPackFile> = ArrayList(100) try { Files.walk(Paths.get(source).absolute()).use { @@ -680,7 +984,20 @@ actual class ServerPackHandler actual constructor( return serverPackFiles } - override fun excludeFileOrDirectory(modpackDir: String, fileToCheckFor: File, exclusions: List<Regex>): Boolean { + /** + * Check whether the given file or directory should be excluded from the server pack. + * + * @param modpackDir The directory where the modpack resides in. Used to filter out any + * unwanted directories using the property `de.griefed.serverpackcreator.configuration.directories.shouldexclude`. + * @param fileToCheckFor The file or directory to check whether it should be excluded from the + * server pack. + * @param exclusions Files or directories determined by ServerPackCreator to be excluded from + * the server pack + * @return `true` if the file or directory was determined to be excluded from the server + * pack. + * @author Griefed + */ + fun excludeFileOrDirectory(modpackDir: String, fileToCheckFor: File, exclusions: List<Regex>): Boolean { val cleaned = fileToCheckFor.absolutePath.replace(File(modpackDir).absolutePath + File.separator, "") return exclusions.any { regex -> if (cleaned.matches(regex)) { @@ -692,7 +1009,17 @@ actual class ServerPackHandler actual constructor( } } - override fun serverDownloadable(mcVersion: String, modloader: String, modloaderVersion: String) = when (modloader) { + /** + * Check whether the installer for the given combination of Minecraft version, modloader and + * modloader version is available/reachable. + * + * @param mcVersion The Minecraft version. + * @param modloader The modloader. + * @param modloaderVersion The modloader version. + * @return `true` if the installer can be downloaded. + * @author Griefed + */ + fun serverDownloadable(mcVersion: String, modloader: String, modloaderVersion: String) = when (modloader) { "Fabric" -> utilities.webUtilities.isReachable(versionMeta.fabric.releaseInstallerUrl()) "Forge" -> { @@ -718,7 +1045,14 @@ actual class ServerPackHandler actual constructor( else -> false } - override fun postInstallCleanup(destination: String) { + /** + * Cleans up the server_pack directory by deleting left-over files from modloader installations + * and version checking. + * + * @param destination The destination where we should clean up in. + * @author Griefed + */ + fun postInstallCleanup(destination: String) { log.info("Cleanup after modloader server installation.") var fileToDelete: File for (file in apiProperties.postInstallCleanupFiles) { @@ -729,7 +1063,15 @@ actual class ServerPackHandler actual constructor( } } - override fun excludeMods(autodiscoveredClientMods: List<File>, modsInModpack: TreeSet<File>) { + /** + * Exclude every automatically discovered clientside-only mod from the list of mods in the + * modpack. + * + * @param autodiscoveredClientMods Automatically discovered clientside-only mods in the modpack. + * @param modsInModpack All mods in the modpack. + * @author Griefed + */ + fun excludeMods(autodiscoveredClientMods: List<File>, modsInModpack: TreeSet<File>) { if (autodiscoveredClientMods.isNotEmpty()) { log.info("Automatically detected mods: ${autodiscoveredClientMods.size}") for (discoveredMod in autodiscoveredClientMods) { @@ -747,7 +1089,16 @@ actual class ServerPackHandler actual constructor( } } - override fun excludeUserSpecifiedMod(userSpecifiedExclusions: List<String>, userSpecifiedModsWhitelist: List<String>, modsInModpack: TreeSet<File>) { + /** + * Exclude user-specified mods from the server pack. + * + * @param userSpecifiedExclusions User-specified clientside-only mods to exclude from the server + * pack. + * @param modsInModpack Every mod ending with `jar` or `disabled` in the + * modpack. + * @author Griefed + */ + fun excludeUserSpecifiedMod(userSpecifiedExclusions: List<String>, userSpecifiedModsWhitelist: List<String>, modsInModpack: TreeSet<File>) { if (userSpecifiedExclusions.isNotEmpty()) { log.info("Performing ${apiProperties.exclusionFilter}-type checks for user-specified clientside-only mod exclusion.") for (userSpecifiedExclusion in userSpecifiedExclusions) { @@ -758,7 +1109,20 @@ actual class ServerPackHandler actual constructor( } } - override fun regexWalk( + /** + * Walk through the specified directory and add a [ServerPackFile] for every file/folder + * which matches the given regex. + * + * @param source The source-directory to walk through and perform regex-matches in. + * @param destination The destination-directory where a matched file should be copied to, + * usually the server pack directory. + * @param regex Regex with which to perform matches against files in the + * source-directory. + * @param serverPackFiles List of files to copy to the server pack to which any matched file will + * be added to. + * @author Griefed + */ + fun regexWalk( source: File, destination: String, regex: Regex, serverPackFiles: MutableList<ServerPackFile> ) { var toMatch: String @@ -778,8 +1142,8 @@ actual class ServerPackHandler actual constructor( ) ) log.debug("Including through regex-match:") - log.debug(" SOURCE: {}", path) - log.debug(" DESTINATION: {}", add) + log.debug(" SOURCE: $path") + log.debug(" DESTINATION: $add") } } } @@ -788,7 +1152,28 @@ actual class ServerPackHandler actual constructor( } } - override fun exclude(userSpecifiedExclusion: String, userSpecifiedModsWhitelist: List<String>, modsInModpack: TreeSet<File>) { + /** + * Cleans up the server_pack directory by deleting left-over files from modloader installations + * and version checking. + * + * @param packConfig Containing the Minecraft version used by the modpack and server pack, + * the modloader version used by the modpack and server pack and the + * modpack directory to acquire the destination of the server pack. + * @author Griefed + */ + fun cleanUpServerPack(packConfig: PackConfig) = postInstallCleanup(getServerPackDestination(packConfig)) + + /** + * Go through the mods in the modpack and exclude any of the user-specified clientside-only mods + * according to the filter method set in the serverpackcreator.properties. For available filters, + * see [ExclusionFilter]. + * + * @param userSpecifiedExclusion The client mod to check whether it needs to be excluded. + * @param modsInModpack All mods in the modpack. + * + * @author Griefed + */ + fun exclude(userSpecifiedExclusion: String, userSpecifiedModsWhitelist: List<String>, modsInModpack: TreeSet<File>) { modsInModpack.removeIf { modToCheck -> val excluded: Boolean val modName = modToCheck.name @@ -809,4 +1194,27 @@ actual class ServerPackHandler actual constructor( excluded } } + + /** + * Replace placeholders for script settings in the given [content] with their respective values, both provided via the + * HashMap [scriptSettings]. + * + * @param isLocal Whether the start scripts should be created for a locally usable server pack. Use false if the + * start scripts should be created for a server pack about to be zipped + * + * @author Griefed + */ + fun replacePlaceholders(isLocal: Boolean, content: String, scriptSettings: HashMap<String, String>): String { + var result = content + for ((key, value) in scriptSettings) { + result = if (isLocal && key == "SPC_JAVA_SPC") { + result.replace(key, value.escapePath()) + } else if (!isLocal && key == "SPC_JAVA_SPC") { + result.replace(key, "java") + } else { + result.replace(key, value) + } + } + return result + } } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt similarity index 97% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt index b93ced85f13d799d31b79a7b04ce7f3c409e8638..32c6eaa65e2dbf8d00a5e55d6ad4d07999c73526 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/FabricScanner.kt @@ -34,11 +34,11 @@ import java.util.* * * @author Griefed */ -actual class FabricScanner( +class FabricScanner( private val objectMapper: ObjectMapper, private val utilities: Utilities ) : JsonBasedScanner(), Scanner<TreeSet<File>, Collection<File>> { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val jar = "jar" private val fabricModJson = "fabric.mod.json" private val id = "id" @@ -46,6 +46,9 @@ actual class FabricScanner( private val environment = "environment" private val depends = "depends" + val dependencyExclusions: Regex + get() = "(fabric|fabricloader|java|minecraft)".toRegex() + /** * Scan the `fabric.mod.json`-files in mod JAR-files of a given directory for their * sideness. diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt similarity index 98% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt index 7e165f52d97a6e72e4fc298ac24c04be62382e74..ff5cb46326892d2234e7e835c520fd8c5fbfaf85 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeAnnotationScanner.kt @@ -36,11 +36,11 @@ import java.util.* * * @author Griefed */ -actual class ForgeAnnotationScanner( +class ForgeAnnotationScanner( private val objectMapper: ObjectMapper, private val utilities: Utilities ) : JsonBasedScanner(), Scanner<TreeSet<File>, Collection<File>> { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val additionalDependencyRegex = "(@.*|\\[.*)".toRegex() private val caches = "META-INF/fml_cache_annotation.json" private val annotations = "annotations" @@ -51,6 +51,11 @@ actual class ForgeAnnotationScanner( private val clientSideOnly = "clientSideOnly" private val dependencies = "dependencies" + val dependencyCheck: Regex + get() = "(before:.*|after:.*|required-after:.*|)".toRegex() + val dependencyReplace: Regex + get() = "(@.*|\\[.*)".toRegex() + /** * Scan the `fml-cache-annotation.json`-files in mod JAR-files of a given directory for their sideness. * diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt similarity index 97% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt index f002be57fb531824efa6c9e7427234b2d1dcd726..d3021df7af24001fdad0e02377bd97af96604ae9 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ForgeTomlScanner.kt @@ -34,16 +34,22 @@ import java.util.jar.JarFile * @param tomlParser To parse .toml-files. * @Griefed */ -actual open class ForgeTomlScanner(private val tomlParser: TomlParser) : +open class ForgeTomlScanner(private val tomlParser: TomlParser) : Scanner<TreeSet<File>, Collection<File>> { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val mods = "mods" private val modId = "modId" - actual open val modsToml = "META-INF/mods.toml" private val dependencies = "dependencies" private val side = "side" private val both = "BOTH" + open val modsToml = "META-INF/mods.toml" + + val forgeMinecraft: Regex + get() = "^(forge|minecraft)$".toRegex() + val bothServer: Regex + get() = "^(BOTH|SERVER)$".toRegex() + /** * Scan the `mods.toml`-files in mod JAR-files of a given directory for their sideness. * diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt similarity index 98% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt index 66319755543e2dd0d8e564eb377a0f7223037030..503102921832aaf4b3b6c4ab9efdbafb7c86f567 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/JsonBasedScanner.kt @@ -34,7 +34,7 @@ import java.util.jar.JarFile * @author Griefed */ abstract class JsonBasedScanner { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } /** * Acquire a JsonNode from the specified file in the specified file. diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt similarity index 82% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt index 4186ddb6d737503137668baefaa1a34ac018cb8c..9468527565c3020ef20b32327422c427fdeb79cf 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScanner.kt @@ -30,10 +30,10 @@ package de.griefed.serverpackcreator.api.modscanning * * @author Griefed */ -actual class ModScanner actual constructor( - actual val forgeAnnotationScanner: ForgeAnnotationScanner, - actual val fabricScanner: FabricScanner, - actual val quiltScanner: QuiltScanner, - actual val forgeTomlScanner: ForgeTomlScanner, - actual val neoForgeTomlScanner: NeoForgeTomlScanner +class ModScanner( + val forgeAnnotationScanner: ForgeAnnotationScanner, + val fabricScanner: FabricScanner, + val quiltScanner: QuiltScanner, + val forgeTomlScanner: ForgeTomlScanner, + val neoForgeTomlScanner: NeoForgeTomlScanner ) \ No newline at end of file diff --git a/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt new file mode 100644 index 0000000000000000000000000000000000000000..75f4fbeb101d0755bb1959fdcac9b385e030d5ba --- /dev/null +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/NeoForgeTomlScanner.kt @@ -0,0 +1,8 @@ +package de.griefed.serverpackcreator.api.modscanning + +import com.electronwill.nightconfig.toml.TomlParser + +class NeoForgeTomlScanner(tomlParser: TomlParser): ForgeTomlScanner(tomlParser) { + override val modsToml: String + get() = "META-INF/neoforge.mods.toml" +} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt similarity index 88% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt index f46a4e5ce57c9c767a709e7fd789c799d4bf8fee..4e7683d5e2a963651091d3ceae43eae308c6299c 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/QuiltScanner.kt @@ -34,11 +34,11 @@ import java.util.* * * @author Griefed */ -actual class QuiltScanner( +class QuiltScanner( private val objectMapper: ObjectMapper, private val utilities: Utilities ) : JsonBasedScanner(), Scanner<TreeSet<File>, Collection<File>> { - private val logger = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val quiltModJson = "quilt.mod.json" private val quiltLoader = "quilt_loader" private val id = "id" @@ -48,6 +48,9 @@ actual class QuiltScanner( private val depends = "depends" private val jar = "jar" + val dependencyExclusions: Regex + get() = "(quilt_loader|quilt_base|quilted_fabric_api|java|minecraft)".toRegex() + /** * Scan the `quilt.mod.json`-files in mod JAR-files of a given directory for their sideness. * @@ -59,7 +62,7 @@ actual class QuiltScanner( * @author Griefed */ override fun scan(jarFiles: Collection<File>): TreeSet<File> { - logger.info("Scanning Quilt mods for sideness...") + log.info("Scanning Quilt mods for sideness...") val modDependencies = ArrayList<Pair<String, Pair<String, String>>>() val clientMods = TreeSet<String>() @@ -99,7 +102,7 @@ actual class QuiltScanner( try { if (utilities.jsonUtilities.nestedTextEqualsIgnoreCase(modJson, client, minecraft, environment)) { clientMods.add(modId) - logger.debug("Added clientMod: $modId") + log.debug("Added clientMod: $modId") } } catch (ignored: NullPointerException) { } @@ -112,28 +115,28 @@ actual class QuiltScanner( try { val dependencyId = utilities.jsonUtilities.getNestedText(dependency, id) if (!dependencyId.matches(dependencyExclusions) && modDependencies.add(Pair(dependencyId, Pair(mod.name, modId)))) { - logger.debug("Added dependency $dependencyId for $modId (${mod.name}).") + log.debug("Added dependency $dependencyId for $modId (${mod.name}).") } } catch (ex: NullPointerException) { - logger.debug("No dependencies for $modId (${mod.name}).") + log.debug("No dependencies for $modId (${mod.name}).") } } else { try { val dependencyText = dependency.asText() if (!dependencyText.matches(dependencyExclusions) && modDependencies.add(Pair(dependencyText, Pair(mod.name, modId)))) { - logger.debug("Added dependency ${dependency.asText()} for $modId (${mod.name}).") + log.debug("Added dependency ${dependency.asText()} for $modId (${mod.name}).") } } catch (ex: NullPointerException) { - logger.debug("No dependencies for $modId (${mod.name}).") + log.debug("No dependencies for $modId (${mod.name}).") } } } } catch (ignored: NullPointerException) { } } catch (ex: NullPointerException) { - logger.warn("Couldn't scan $mod as it contains no quilt.mod.json.") + log.warn("Couldn't scan $mod as it contains no quilt.mod.json.") } catch (ex: Exception) { - logger.error("Couldn't scan $mod", ex) + log.error("Couldn't scan $mod", ex) } } } diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/Scanner.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/Scanner.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/Scanner.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/Scanner.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ScanningException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ScanningException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/modscanning/ScanningException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/modscanning/ScanningException.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/BaseInformation.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/BaseInformation.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/BaseInformation.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/BaseInformation.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt similarity index 96% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt index 3406fc7debeb10d01f3fd6e1875d1eca6bf5ae43..1f0d7ce6e1120a442ed705ecb377fb3f0acd2d53 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/CustomPluginFactory.kt @@ -30,7 +30,7 @@ import org.pf4j.PluginWrapper * @author Griefed */ class CustomPluginFactory: DefaultPluginFactory() { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } override fun createInstance(pluginClass: Class<*>, pluginWrapper: PluginWrapper): Plugin? { val context = PluginContext(pluginWrapper.runtimeMode) try { diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionException.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt similarity index 97% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt index 32833fa68706b641f62256341c9ec71437758701..bfe4e953faa1e00dcb5155eff113c055b8d7b7ca 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ExtensionInformation.kt @@ -19,6 +19,8 @@ */ package de.griefed.serverpackcreator.api.plugins +import org.pf4j.ExtensionPoint + /** * Force every extension to provide its ID. * diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/PluginContext.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/PluginContext.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/PluginContext.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/PluginContext.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt similarity index 91% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt index 6aa1d5c0e5a8b0feaa1c69b57f96c24974d156ae..0153d96e06b6ec88bc46687bfd80d7eeceb1f5ae 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/ServerPackCreatorPlugin.kt @@ -49,7 +49,7 @@ import java.net.URI */ @Suppress("unused") abstract class ServerPackCreatorPlugin(val context: PluginContext) : Plugin(), BaseInformation { - private val pluginLog = cachedLoggerOf(this.javaClass) + private val logger by lazy { cachedLoggerOf(this.javaClass) } final override val name: String final override val description: String final override val author: String @@ -85,12 +85,12 @@ abstract class ServerPackCreatorPlugin(val context: PluginContext) : Plugin(), B @Throws(PluginRuntimeException::class) override fun start() { super.start() - log.info("Plugin-ID: $id") - log.info("Plugin-Name: $name") - log.info("Plugin-Description: $description") - log.info("Plugin-Author: $author") - log.info("Plugin-Version: $version") - log.info("Started: $name ($id)") + logger.info("Plugin-ID: $id") + logger.info("Plugin-Name: $name") + logger.info("Plugin-Description: $description") + logger.info("Plugin-Author: $author") + logger.info("Plugin-Version: $version") + logger.info("Started: $name ($id)") pluginsLog.info("Plugin-ID: $id") pluginsLog.info("Plugin-Name: $name") pluginsLog.info("Plugin-Description: $description") @@ -110,7 +110,7 @@ abstract class ServerPackCreatorPlugin(val context: PluginContext) : Plugin(), B @Throws(PluginRuntimeException::class) override fun stop() { super.stop() - log.info("Stopped: $name ($id)") + logger.info("Stopped: $name ($id)") pluginsLog.info("Stopped: $name ($id)") } } \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt similarity index 96% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt index 1b9650de15fce2d86c6c98e52406796ceb33b6f3..d10a8771c273bd00987c3f15e248697ea6013638 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/configurationhandler/ConfigCheckExtension.kt @@ -19,15 +19,15 @@ */ package de.griefed.serverpackcreator.api.plugins.configurationhandler +import com.electronwill.nightconfig.core.CommentedConfig import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.ConfigCheck import de.griefed.serverpackcreator.api.PackConfig import de.griefed.serverpackcreator.api.plugins.ExtensionException import de.griefed.serverpackcreator.api.plugins.ExtensionInformation -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.Optional import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import java.util.* /** * Extension point for configuration checks, so you can run your own checks on a given diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PostGenExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PostGenExtension.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PostGenExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PostGenExtension.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreGenExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreGenExtension.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreGenExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreGenExtension.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreZipExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreZipExtension.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreZipExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/PreZipExtension.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt similarity index 95% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt index b53418dad6854726a26a44655acef77480eacc7a..73aee3868d3946ee7274a0325886dce7042b9a03 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/serverpackhandler/ServerPackHandlerBase.kt @@ -20,14 +20,14 @@ package de.griefed.serverpackcreator.api.plugins.serverpackhandler +import com.electronwill.nightconfig.core.CommentedConfig import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.PackConfig import de.griefed.serverpackcreator.api.plugins.ExtensionException import de.griefed.serverpackcreator.api.plugins.ExtensionInformation -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.Optional import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import java.util.* /** * Base-interface from which every [de.griefed.serverpackcreator.api.ServerPackHandler]-extension interface starts from. diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt similarity index 96% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt index 0d5bb71e84cc02dd6714d6b263966208891a6a69..ec0680192bb9153341e44638a2048628a5d08285 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ConfigPanelExtension.kt @@ -19,12 +19,12 @@ */ package de.griefed.serverpackcreator.api.plugins.swinggui +import com.electronwill.nightconfig.core.CommentedConfig import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.plugins.ExtensionInformation -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.Optional import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import java.util.* /** * Extension point for plugins which add additional [javax.swing.JPanel]s in a given server pack tab, diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt similarity index 91% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt index 23fadff1f51ddb3a1c899fa92070db32ad320203..6f48748148075b0bcd6baceebb0224ae063bdff6 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionConfigPanel.kt @@ -25,6 +25,7 @@ import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.versionmeta.VersionMeta import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger +import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.util.* import javax.swing.JPanel @@ -46,7 +47,7 @@ import javax.swing.JPanel * @author Griefed */ @Suppress("unused") -actual abstract class ExtensionConfigPanel protected actual constructor( +abstract class ExtensionConfigPanel protected constructor( protected val versionMeta: VersionMeta, protected val apiProperties: ApiProperties, protected val utilities: Utilities, @@ -59,13 +60,13 @@ actual abstract class ExtensionConfigPanel protected actual constructor( val pluginID: String ) : JPanel() { @Suppress("MemberVisibilityCanBePrivate") - protected val log: Logger = LogManager.getLogger(this.javaClass) + protected val log by lazy { cachedLoggerOf(this.javaClass) } @Suppress("MemberVisibilityCanBePrivate") protected val pluginsLog: Logger = LogManager.getLogger("AddonsLogger") @Suppress("MemberVisibilityCanBePrivate") - actual val serverPackExtensionConfig: ArrayList<CommentedConfig> = ArrayList<CommentedConfig>(100) + val serverPackExtensionConfig: ArrayList<CommentedConfig> = ArrayList<CommentedConfig>(100) /** * Retrieve this extensions server pack specific configuration. When no configuration with configs @@ -75,7 +76,7 @@ actual abstract class ExtensionConfigPanel protected actual constructor( * extensions. * @author Griefed */ - actual abstract fun serverPackExtensionConfig(): ArrayList<CommentedConfig> + abstract fun serverPackExtensionConfig(): ArrayList<CommentedConfig> /** * Pass the extension configuration to the configuration panel, so it can then, in turn, load the @@ -85,7 +86,7 @@ actual abstract class ExtensionConfigPanel protected actual constructor( * configuration panel. * @author Griefed */ - actual abstract fun setServerPackExtensionConfig( + abstract fun setServerPackExtensionConfig( serverPackExtensionConfig: ArrayList<CommentedConfig> ) @@ -96,5 +97,5 @@ actual abstract class ExtensionConfigPanel protected actual constructor( * * The `clear()`-method is called when the owning `TabCreateServerPack.clearInterface()`-method is called. */ - actual abstract fun clear() + abstract fun clear() } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt similarity index 98% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt index 9ecefbb53694066f9e4157e6b80f06b0dc088168..d8880e12b74e95f96e203e73e23ef34384932c1b 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ExtensionTab.kt @@ -47,7 +47,7 @@ import javax.swing.SwingUtilities * @param configFile The config-file corresponding to the ID of the plugin, wrapped in an Optional. */ @Suppress("unused") -actual abstract class ExtensionTab protected constructor( +abstract class ExtensionTab protected constructor( protected val versionMeta: VersionMeta, protected val apiProperties: ApiProperties, protected val utilities: Utilities, diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt similarity index 98% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt index d4b90652fd6296c5a8f3738c860ede58742790a5..0b9e8b5bffe1d05f165dd4b28ed9c4322e47a14f 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/ServerPackConfigTab.kt @@ -21,7 +21,7 @@ package de.griefed.serverpackcreator.api.plugins.swinggui import de.griefed.serverpackcreator.api.InclusionSpecification import de.griefed.serverpackcreator.api.PackConfig -import de.griefed.serverpackcreator.api.utilities.File +import java.io.File /** * Force every server pack configuration tab to provide a certain set of methods. Said set of methods give plugins diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt similarity index 88% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt index bcc11a3797450b341ee9eb8edee6ee2b82b49259..33be00941cd9951bf69e5758599e28c79772d8b9 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/plugins/swinggui/TabExtension.kt @@ -19,14 +19,14 @@ */ package de.griefed.serverpackcreator.api.plugins.swinggui +import com.electronwill.nightconfig.core.CommentedConfig import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.plugins.ExtensionInformation -import de.griefed.serverpackcreator.api.utilities.CommentedConfig -import de.griefed.serverpackcreator.api.utilities.File -import de.griefed.serverpackcreator.api.utilities.Icon -import de.griefed.serverpackcreator.api.utilities.Optional import de.griefed.serverpackcreator.api.utilities.common.Utilities import de.griefed.serverpackcreator.api.versionmeta.VersionMeta +import java.io.File +import java.util.* +import javax.swing.Icon /** * Extension point for plugins which add additional [javax.swing.JPanel]s as additional tabs to the @@ -35,7 +35,7 @@ import de.griefed.serverpackcreator.api.versionmeta.VersionMeta * @author Griefed */ @Suppress("unused") -actual interface TabExtension : ExtensionInformation { +interface TabExtension : ExtensionInformation { /** * @param versionMeta Instance of [VersionMeta] so you can work with available Minecraft, Forge, Fabric, * LegacyFabric and Quilt versions. @@ -48,7 +48,7 @@ actual interface TabExtension : ExtensionInformation { * @return Component to add to the ServerPackCreator GUI as a tab. * @author Griefed */ - actual fun getTab( + fun getTab( versionMeta: VersionMeta, apiProperties: ApiProperties, utilities: Utilities, @@ -62,7 +62,7 @@ actual interface TabExtension : ExtensionInformation { * @return Icon to be used by the added tab. * @author Griefed */ - actual val icon: Icon? + val icon: Icon? /** * Get the title of this tab to display in the ServerPackCreator GUI. @@ -70,7 +70,7 @@ actual interface TabExtension : ExtensionInformation { * @return The title of this plugin's tabbed pane. * @author Griefed */ - actual val title: String + val title: String /** * Get the tooltip for this tab to display in the ServerPackCreator GUI. @@ -78,5 +78,5 @@ actual interface TabExtension : ExtensionInformation { * @return The tooltip of this plugin's tabbed pane. * @author Griefed */ - actual val tooltip: String + val tooltip: String } \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/ReticulatingSplines.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/ReticulatingSplines.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/ReticulatingSplines.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/ReticulatingSplines.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/SimpleStopWatch.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/SimpleStopWatch.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/SimpleStopWatch.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/SimpleStopWatch.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Affirm.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Affirm.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Affirm.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Affirm.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt similarity index 98% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt index 63777fbb9e9c6f554dafb3fe0d48f7e6a16cbf8e..93931799b670435664fd8268f3cab80e8798e038 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/BooleanUtilities.kt @@ -28,7 +28,7 @@ import mu.KotlinLogging */ @Suppress("unused", "KDocUnresolvedReference") class BooleanUtilities { - private val log = KotlinLogging.logger {} + private val log by lazy { KotlinLogging.logger {} } private val yYeEsS = "[Yy][Ee][Ss]".toRegex() private val yY = "[Yy]".toRegex() private val one = "1".toRegex() diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt similarity index 91% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt index 63a840f371af3cb78500458cd6aed9de61a5a821..2de6b0eb8d4ce24a7d3aac50d4d96547ff3ed4d5 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ClassUtilities.kt @@ -27,14 +27,8 @@ import java.net.URL import java.nio.file.Paths import java.util.* -/*private val jar = "^jar:(file:.*[.]jar)!/.*".toRegex() -private val jarJar = "^(file:.*[.]jar)!.*[.]jar".toRegex() -private val jarNested = "^jar:nested:(.*[.]jar)!/.*".toRegex() -private val jarJarNested = "^(file:.*[.]jar)!.*[.]jar".toRegex()*/ private val nested = ".*[.]jar!.*[.]jar".toRegex() private val tmpDir = System.getProperty("java.io.tmpdir") -/*private const val JAR_FILE = "jar:file:" -private const val JAR_NESTED = "jar:nested"*/ private const val JAR = "file:" /** diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt similarity index 99% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt index 72f2838a7c732b2780a2baba8183ad20f43c4d41..341c14f040b4fcda108b0eeb4dffbe8781230820 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Comparison.kt @@ -38,4 +38,4 @@ enum class Comparison { * Used to determine whether a given version is the same or newer. */ EQUAL_OR_NEW -} +} \ No newline at end of file diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileType.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileType.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileType.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileType.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt similarity index 88% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt index 17e88216bd02d6cc1cb61aa43b4916706fe0e72d..7c842b6321a163fd4d17638db19657ee72ac1d33 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FileUtilities.kt @@ -43,8 +43,8 @@ import kotlin.streams.asStream * * @author Griefed */ -actual class FileUtilities { - private val log = cachedLoggerOf(this.javaClass) +class FileUtilities { + private val log by lazy { cachedLoggerOf(this.javaClass) } private val windowsDrivers = "^[A-Za-z]:.*".toRegex() private val lnk = "lnk" @@ -58,7 +58,7 @@ actual class FileUtilities { * @author Griefed */ @Throws(IOException::class) - actual fun replaceFile(sourceFile: File, destinationFile: File): Boolean { + fun replaceFile(sourceFile: File, destinationFile: File): Boolean { if (sourceFile.exists()) { sourceFile.toPath().moveTo(destinationFile.toPath(), true) return true @@ -74,7 +74,7 @@ actual class FileUtilities { * @param destinationDirectory The directory into which the ZIP-archive will be unzipped into. * @author Griefed */ - actual fun unzipArchive(zipFile: String, destinationDirectory: String) { + fun unzipArchive(zipFile: String, destinationDirectory: String) { log.info("Extracting ZIP-file: $zipFile") try { ZipFile(zipFile).use { zip -> zip.extractAll(destinationDirectory) } @@ -92,7 +92,7 @@ actual class FileUtilities { * [FileType.SYMLINK] * @author Griefed */ - actual fun checkFileType(file: String): FileType { + fun checkFileType(file: String): FileType { return if (file.isEmpty()) { FileType.INVALID } else checkFileType(File(file)) @@ -107,7 +107,7 @@ actual class FileUtilities { * [FileType.SYMLINK] * @author Griefed */ - actual fun checkFileType(file: File): FileType { + fun checkFileType(file: File): FileType { @Suppress("RegExpRedundantEscape") return when { file.name.endsWith(lnk) -> { @@ -150,7 +150,7 @@ actual class FileUtilities { * @return `true` if the given file is a UNIX symlink or Windows lnk. * @author Griefed */ - actual fun isLink(file: File) = + fun isLink(file: File) = if (file.name.endsWith(lnk)) { true } else { @@ -186,7 +186,7 @@ actual class FileUtilities { * @author Griefed */ @Throws(IOException::class, InvalidFileTypeException::class) - actual fun resolveLink(link: File): String = + fun resolveLink(link: File): String = when (val type = checkFileType(link)) { FileType.LINK, FileType.SYMLINK -> { try { @@ -301,7 +301,7 @@ actual class FileUtilities { * @return `true` if read-permissions are set. * @author Griefed */ - actual fun isReadPermissionSet(fileOrDirectory: String) = isReadPermissionSet(Paths.get(fileOrDirectory)) + fun isReadPermissionSet(fileOrDirectory: String) = isReadPermissionSet(Paths.get(fileOrDirectory)) /** * Check the given file or directory for read-permission. @@ -310,7 +310,7 @@ actual class FileUtilities { * @return `true` if read-permissions are set. * @author Griefed */ - actual fun isReadPermissionSet(fileOrDirectory: File) = isReadPermissionSet(fileOrDirectory.toPath()) + fun isReadPermissionSet(fileOrDirectory: File) = isReadPermissionSet(fileOrDirectory.toPath()) /** * Check the given file or directory for write-permission. @@ -319,7 +319,7 @@ actual class FileUtilities { * @return `true` if write-permissions are set. * @author Griefed */ - actual fun isWritePermissionSet(fileOrDirectory: String) = isReadPermissionSet(Paths.get(fileOrDirectory)) + fun isWritePermissionSet(fileOrDirectory: String) = isReadPermissionSet(Paths.get(fileOrDirectory)) /** * Check the given file or directory for write-permission. @@ -328,7 +328,27 @@ actual class FileUtilities { * @return `true` if write-permissions are set. * @author Griefed */ - actual fun isWritePermissionSet(fileOrDirectory: File) = isReadPermissionSet(fileOrDirectory.toPath()) + fun isWritePermissionSet(fileOrDirectory: File) = isReadPermissionSet(fileOrDirectory.toPath()) + + /** + * Check the given file or directory for read- and write-permission. + * + * @param fileOrDirectory File or directory. + * @return `true` if both read- and write-permissions are set. + * @author Griefed + */ + fun isReadWritePermissionSet(fileOrDirectory: String) = + isReadPermissionSet(fileOrDirectory) && isWritePermissionSet(fileOrDirectory) + + /** + * Check the given file or directory for read- and write-permission. + * + * @param fileOrDirectory File or directory. + * @return `true` if both read- and write-permissions are set. + * @author Griefed + */ + fun isReadWritePermissionSet(fileOrDirectory: File) = + isReadPermissionSet(fileOrDirectory) && isWritePermissionSet(fileOrDirectory) /** * Open the specified folder in the file explorer. @@ -336,7 +356,7 @@ actual class FileUtilities { * @param folder The folder to open. * @author Griefed */ - actual fun openFolder(folder: String) = openFolder(File(folder)) + fun openFolder(folder: String) = openFolder(File(folder)) /** * Open the specified folder in the file explorer. @@ -344,7 +364,7 @@ actual class FileUtilities { * @param folder The folder to open. * @author Griefed */ - actual fun openFolder(folder: File) { + fun openFolder(folder: File) { if (GraphicsEnvironment.isHeadless()) { log.error("Graphics environment not supported.") } else { @@ -364,7 +384,7 @@ actual class FileUtilities { * @param fileToOpen The file to open. * @author Griefed */ - actual fun openFile(fileToOpen: String) = openFile(File(fileToOpen)) + fun openFile(fileToOpen: String) = openFile(File(fileToOpen)) /** * Open the specified file in an editor. @@ -372,7 +392,7 @@ actual class FileUtilities { * @param fileToOpen The file to open. * @author Griefed */ - actual fun openFile(fileToOpen: File) { + fun openFile(fileToOpen: File) { if (GraphicsEnvironment.isHeadless()) { log.error("Graphics environment not supported.") } else { @@ -407,7 +427,7 @@ actual class FileUtilities { * @return `true` if, and only if, the file or directory was deleted. * @author Griefed */ -actual fun File.deleteQuietly(): Boolean = +fun File.deleteQuietly(): Boolean = if (this.isFile) { try { this.delete() @@ -429,12 +449,12 @@ actual fun File.deleteQuietly(): Boolean = * @return The filesize of this file, or sum of sizes of all files in this directory. * @author Griefed */ -actual fun File.size(): Double { +fun File.size(): Double { if (this.isDirectory) { - val size = 0.0 + var size = 0.0 val entries = this.listFiles() ?: return size for (entry in entries) { - size.plus(entry.size()) + size = size.plus(entry.size()) } return size } else { @@ -450,7 +470,7 @@ actual fun File.size(): Double { * @return All files inside this directory which matched the given filters. * @author Griefed */ -actual fun File.regexWalk(filters: List<Regex>, direction: FileWalkDirection): MutableList<File> = +fun File.regexWalk(filters: List<Regex>, direction: FileWalkDirection): MutableList<File> = this.walk(direction).asStream().filter { filters.matchAll(it.name) }.toList() /** @@ -462,11 +482,11 @@ actual fun File.regexWalk(filters: List<Regex>, direction: FileWalkDirection): M * @return All files inside this directory which matched the given filters. * @author Griefed */ -actual fun File.filteredWalk( +fun File.filteredWalk( filters: List<String>, - filterType: FilterType, - direction: FileWalkDirection, - recursive: Boolean + filterType: FilterType = FilterType.CONTAINS, + direction: FileWalkDirection = FileWalkDirection.TOP_DOWN, + recursive: Boolean = true ): MutableList<File> = when (filterType) { FilterType.CONTAINS -> { @@ -503,10 +523,10 @@ actual fun File.filteredWalk( * [create] without [directory] will result in this file being created as a file. * * @param create Whether the file or directory should be created. If left to `false`, then [directory] won't have any effect. - * @param directory Whether a directory or file should be created. Requires [create] to be set to `true`. + * @param directory true to create a directory, false to create a file. Requires [create] to be true * @author Griefed */ -actual fun File.createDirectories(create: Boolean, directory: Boolean) { +fun File.create(create: Boolean = false, directory: Boolean = false) { absoluteFile.toPath().createParentDirectories() if (create) { if (directory) { diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FilterType.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FilterType.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/FilterType.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/FilterType.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InputStreamUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InputStreamUtilities.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InputStreamUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InputStreamUtilities.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidFileTypeException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidFileTypeException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidFileTypeException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidFileTypeException.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidLinkException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidLinkException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidLinkException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/InvalidLinkException.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarAccessException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarAccessException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarAccessException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarAccessException.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt similarity index 89% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt index 78f4326053600ca35b3cddaca787b9a84a3e149d..294a302943d16181e2403e725a4d7d969d09033f 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarInformation.kt @@ -46,7 +46,8 @@ class JarInformation(clazz: Class<*>, jarUtilities: JarUtilities = JarUtilities( * * @author Griefed */ - val jarFolder: File + var jarFolder: File + private set /** * The .exe or JAR-file of ServerPackCreator. @@ -107,10 +108,19 @@ class JarInformation(clazz: Class<*>, jarUtilities: JarUtilities = JarUtilities( sysInfo.putAll(jarUtilities.jarInformation(clazz)) jarPath = Paths.get(sysInfo["jarPath"]!!) jarFile = jarPath.toFile() - jarFolder = if (jarFile.isFile) { - jarFile.parentFile + jarFolder = if (jarPath.toString().contains("!")) { + val temp = File(jarPath.toString().substringBefore('!')) + if (temp.isDirectory) { + temp + } else { + temp.parentFile + } } else { - jarFile + if (jarFile.isDirectory) { + jarFile + } else { + jarFile.parentFile + } } jarFileName = sysInfo["jarName"].toString() javaVersion = sysInfo["javaVersion"].toString() diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt similarity index 97% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt index ded0deba7365959e6a975b05fa7ce2fa21ae2715..1e78ff4c5ced6884bce54a4acae409afb09b8c66 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JarUtilities.kt @@ -19,6 +19,7 @@ */ package de.griefed.serverpackcreator.api.utilities.common +import de.griefed.serverpackcreator.api.ApiWrapper import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.io.* import java.net.URISyntaxException @@ -34,8 +35,8 @@ import kotlin.io.path.toPath * @author Griefed */ @Suppress("unused") -actual class JarUtilities { - private val log = cachedLoggerOf(this.javaClass) +class JarUtilities { + private val log by lazy { cachedLoggerOf(this.javaClass) } /** * Copy a file from inside our JAR-file to the host filesystem. The file will create exactly as specified in the @@ -141,7 +142,7 @@ actual class JarUtilities { */ fun copyFileFromJar(fileToCopy: String, destinationFile: File, identifierClass: Class<*>) = if (!destinationFile.absoluteFile.exists()) { - destinationFile.createDirectories() + destinationFile.create() try { identifierClass.getResourceAsStream("/$fileToCopy").use { destinationFile.absoluteFile.outputStream().use { out -> it?.transferTo(out) } @@ -196,7 +197,7 @@ actual class JarUtilities { destinationDirectory: String, jarDirectoryPrefix: String, fileEnding: Regex, - tempDir: File = File(System.getProperty("java.io.tmpdir")) + tempDir: File = ApiWrapper.api().apiProperties.tempDirectory ) { val systemInformation: HashMap<String, String> = jarInformation(classToRetrieveHomeFor) val source = systemInformation["jarPath"]?.let { File(it) } @@ -267,7 +268,7 @@ actual class JarUtilities { log.error("Error walking source-directory.", ex) } try { - File(destination).createDirectories() + File(destination).create() } catch (ignored: FileAlreadyExistsException) { } catch (ex: IOException) { log.error("Error creating language directory.", ex) @@ -275,7 +276,7 @@ actual class JarUtilities { for (entry in filesFromJar) { if (!File(destination, entry).absoluteFile.exists()) { val extract = File(destination, entry).absoluteFile - extract.createDirectories() + extract.create() try { classToCopyFrom.getResourceAsStream("$source/$entry").use { extract.outputStream().use { out -> it?.transferTo(out) } @@ -330,7 +331,7 @@ actual class JarUtilities { ).absoluteFile log.debug("Destination: $destination") if (!destination.exists()) { - destination.createDirectories() + destination.create() try { jarToCopyFrom.getInputStream(entry).use { destination.outputStream().use { out -> it.transferTo(out) } diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonException.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonException.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt similarity index 99% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt index b7112a497310b45f6d10dfd5b3168702ed0a77c3..3c301000d13f3c02c5755d1fb48b7ce17bf6624f 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/JsonUtilities.kt @@ -36,7 +36,7 @@ import java.net.URL * @author Griefed */ @Suppress("unused") -actual class JsonUtilities( +class JsonUtilities( private val objectMapper: ObjectMapper = ObjectMapper() .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt similarity index 99% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt index 973fe457d06f58d65e8d210dafdb3b36e16c2f70..a6a5aedb205ae64b233db37cdba9646ad2115382 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ListUtilities.kt @@ -32,7 +32,7 @@ import kotlin.coroutines.CoroutineContext */ @Suppress("unused") class ListUtilities { - private val log = KotlinLogging.logger {} + private val log by lazy { KotlinLogging.logger {} } private val whitespace = "\\s+".toRegex() /** diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/RegexUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/RegexUtilities.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/RegexUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/RegexUtilities.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SemanticVersionComparator.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/SemanticVersionComparator.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SemanticVersionComparator.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/SemanticVersionComparator.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/StringUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/StringUtilities.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/StringUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/StringUtilities.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt similarity index 68% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt index 0e244cafe37e1352b0d22ead78bfb0d46a4b4ef7..b651d82fee227a014cb8a14f6c3692cb4fca4acf 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/SystemUtilities.kt @@ -28,15 +28,12 @@ import java.io.File * @author Griefed */ @Suppress("unused") -actual class SystemUtilities { - private val log = cachedLoggerOf(this.javaClass) - private val windowsDrives: List<String> = listOf( - "A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", "N:", - "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:" - ) - private val javaPathSuffix = "%s/bin/java" +class SystemUtilities { + private val log by lazy { cachedLoggerOf(this.javaClass) } + private val windowsDriveRegex = "^[A-Z]:\\\\.*".toRegex() + private val javaPathSuffix = "%s${File.separator}bin${File.separator}java" private val javaHome = System.getProperty("java.home") - private val pathPrefix = "/" + private val unixRoot = "/" private val exeSuffix = "%s.exe" /** @@ -45,18 +42,14 @@ actual class SystemUtilities { * @return String. The path to the systems default Java installation. * @author Griefed */ - actual fun acquireJavaPathFromSystem(): String { + fun acquireJavaPathFromSystem(): String { log.debug("Acquiring path to Java installation from system properties...") var javaPath = "Couldn't acquire JavaPath" if (File(javaHome).exists()) { javaPath = javaPathSuffix.format(javaHome) - if (!javaPath.startsWith(pathPrefix)) { - for (letter in windowsDrives) { - if (javaPath.startsWith(letter)) { - log.debug("We're running on Windows. Ensuring javaPath ends with .exe") - javaPath = exeSuffix.format(javaPath) - } - } + if (javaPath.matches(windowsDriveRegex)) { + log.debug("We're running on Windows. Ensuring javaPath ends with .exe") + javaPath = exeSuffix.format(javaPath) } } return javaPath diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt similarity index 88% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt index 870a5fc04f541fab58fc2ee03c89fb78831313c1..27b95eb353f3614086390f65ae8aeb77ca42c072 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/Utilities.kt @@ -29,16 +29,16 @@ import javax.xml.parsers.DocumentBuilderFactory * @author Griefed */ @Suppress("unused") -actual class Utilities { - actual val booleanUtilities: BooleanUtilities - actual val fileUtilities: FileUtilities - actual val jarUtilities: JarUtilities - actual val listUtilities: ListUtilities - actual val stringUtilities: StringUtilities - actual val systemUtilities: SystemUtilities - actual val webUtilities: WebUtilities - actual val jsonUtilities: JsonUtilities - actual val xmlUtilities: XmlUtilities +class Utilities { + val booleanUtilities: BooleanUtilities + val fileUtilities: FileUtilities + val jarUtilities: JarUtilities + val listUtilities: ListUtilities + val stringUtilities: StringUtilities + val systemUtilities: SystemUtilities + val webUtilities: WebUtilities + val jsonUtilities: JsonUtilities + val xmlUtilities: XmlUtilities /** * @param apiProperties API configuration of this instance. diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt similarity index 94% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt index b65156e7c540d9331a00bd7566918461e27d799d..4a04c6f5b800fbb236f12e092d013c1441ee47dd 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/WebUtilities.kt @@ -36,8 +36,8 @@ import javax.net.ssl.HttpsURLConnection * @author Griefed */ @Suppress("unused") -actual class WebUtilities(private val apiProperties: ApiProperties) { - private val log = cachedLoggerOf(this.javaClass) +class WebUtilities(private val apiProperties: ApiProperties) { + private val log by lazy { cachedLoggerOf(this.javaClass) } /** * Download the file from the specified URL to the specified destination, replacing the file if it @@ -51,7 +51,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @return Boolean. Returns true if the file could be found on the hosts' filesystem. * @author Griefed */ - actual fun downloadAndReplaceFile( + fun downloadAndReplaceFile( fileDestination: File, downloadURL: URL ): Boolean { @@ -70,11 +70,11 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @return true if the file was created. * @author Griefed */ - actual fun downloadFile( + fun downloadFile( file: File, downloadURL: URL ): Boolean { - file.createDirectories() + file.create() try { downloadURL.openStream().use { url -> Channels.newChannel(url).use { channel -> @@ -96,7 +96,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @param url The URI to the website you want to open. * @author Griefed */ - actual fun openLinkInBrowser(url: URL) { + fun openLinkInBrowser(url: URL) { try { openLinkInBrowser(url.toURI()) } catch (ex: URISyntaxException) { @@ -128,7 +128,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @return Boolean. True if the file is smaller, false if the file is bigger than 10 MB. * @author Griefed */ - actual fun hasteBinPreChecks(fileToCheck: File): Boolean { + fun hasteBinPreChecks(fileToCheck: File): Boolean { val fileSize = fileToCheck.size() try { return if (fileSize < 10000000.0 @@ -160,7 +160,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @author [kaimu-kun/hastebin.java](https://github.com/kaimu-kun) * @author Griefed */ - actual fun createHasteBinFromString(text: String): String { + fun createHasteBinFromString(text: String): String { val requestURL: String = apiProperties.hasteBinServerUrl var response: String? = null val url = URI(requestURL).toURL() @@ -228,7 +228,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @author [kaimu-kun/hastebin.java](https://github.com/kaimu-kun) * @author Griefed */ - actual fun createHasteBinFromFile(textFile: File): String { + fun createHasteBinFromFile(textFile: File): String { return createHasteBinFromString(textFile.readText()) } @@ -240,7 +240,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @throws IOException if the URL could not be called or a communication error occurred. */ @Throws(IOException::class) - actual fun getResponseAsString(url: URL): String { + fun getResponseAsString(url: URL): String { val `in` = BufferedReader(InputStreamReader(url.openConnection().getInputStream())) val response = StringBuilder() var currentLine: String? @@ -259,7 +259,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @throws IOException if the URL could not be called or a communication error occurred. */ @Throws(IOException::class) - actual fun getResponseCode(url: URL): Int { + fun getResponseCode(url: URL): Int { val connection = url.openConnection() as HttpURLConnection return connection.responseCode } @@ -272,7 +272,7 @@ actual class WebUtilities(private val apiProperties: ApiProperties) { * @param url The URL of which to check for host-availability. * @return `true` if, and only if, the host is available and the URL returns the status code 200. */ - actual fun isReachable(url: URL): Boolean { + fun isReachable(url: URL): Boolean { var available: Boolean var connection: HttpURLConnection? = null try { diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt similarity index 96% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt index b0d5b02be3bd3259c3eba5c0d978534798713a76..36dc3d6a5d86f5421b4458560fa6edd17ba71739 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/XmlUtilities.kt @@ -37,7 +37,7 @@ import javax.xml.parsers.ParserConfigurationException * @author Griefed */ @Suppress("unused") -actual class XmlUtilities(private val documentBuilderFactory: DocumentBuilderFactory = DocumentBuilderFactory.newInstance()) { +class XmlUtilities(private val documentBuilderFactory: DocumentBuilderFactory = DocumentBuilderFactory.newInstance()) { /** * Reads the file into a [Document] and [Document.normalize] it. diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ZipUtilities.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ZipUtilities.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/utilities/common/ZipUtilities.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/utilities/common/ZipUtilities.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/InvalidTypeException.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/InvalidTypeException.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/InvalidTypeException.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/InvalidTypeException.kt diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt similarity index 93% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt index d67c258156c5c35a88748ab1b064c7b34e83da11..85bc8fd40cfaa6e64279cb949ff23ece18ce463f 100644 --- a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/Meta.kt @@ -19,7 +19,9 @@ */ package de.griefed.serverpackcreator.api.versionmeta -import de.griefed.serverpackcreator.api.utilities.Optional +import java.io.File +import java.net.URL +import java.util.* /** * Provide default methods to access a given Metas versions. @@ -136,7 +138,7 @@ interface Meta { * @return URL to the latest installer. * @author Griefed */ - fun latestInstallerUrl(): de.griefed.serverpackcreator.api.utilities.URL + fun latestInstallerUrl(): URL /** * Get the URL to the release installer. @@ -144,7 +146,7 @@ interface Meta { * @return URL to the release installer. * @author Griefed */ - fun releaseInstallerUrl(): de.griefed.serverpackcreator.api.utilities.URL + fun releaseInstallerUrl(): URL /** * Installer file for the specified modloader version, wrapped in an [Optional], so you can check whether @@ -156,7 +158,7 @@ interface Meta { * * @author Griefed */ - fun installerFor(version: String): Optional<de.griefed.serverpackcreator.api.utilities.File> + fun installerFor(version: String): Optional<File> /** * Check whether a URL to an installer is available for the specified version. @@ -174,7 +176,7 @@ interface Meta { * @return The URL to the installer, wrapped in an Optional. * @author Griefed */ - fun getInstallerUrl(version: String): Optional<de.griefed.serverpackcreator.api.utilities.URL> + fun getInstallerUrl(version: String): Optional<URL> /** * Check whether the specified version is available/correct/valid. diff --git a/serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/Type.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/Type.kt similarity index 100% rename from serverpackcreator-api/src/commonMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/Type.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/Type.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt similarity index 95% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt index 11231feccb0b28cc886c1f53f716586a0039824e..36fe65205f0822c4c4cc003972317c80b0545348 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMeta.kt @@ -22,7 +22,7 @@ package de.griefed.serverpackcreator.api.versionmeta import com.fasterxml.jackson.databind.ObjectMapper import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.utilities.common.readText import de.griefed.serverpackcreator.api.versionmeta.fabric.FabricIntermediaries import de.griefed.serverpackcreator.api.versionmeta.fabric.FabricMeta @@ -63,7 +63,7 @@ import javax.xml.parsers.ParserConfigurationException * * @author Griefed */ -actual class VersionMeta( +class VersionMeta( private val minecraftManifest: File, private val forgeManifest: File, private val oldNeoForgeManifest: File, @@ -80,92 +80,92 @@ actual class VersionMeta( private val utilities: Utilities, apiProperties: ApiProperties ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val legacyFabricUrlBase = "https://meta.legacyfabric.net" @Suppress("MemberVisibilityCanBePrivate") - actual val legacyFabricUrlGame = + val legacyFabricUrlGame = URI("$legacyFabricUrlBase/v2/versions/game").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val legacyFabricUrlLoader = + val legacyFabricUrlLoader = URI("$legacyFabricUrlBase/v2/versions/loader").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val legacyfabricUrlManifest = + val legacyfabricUrlManifest = URI("https://maven.legacyfabric.net/net/legacyfabric/fabric-installer/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val minecraftUrlManifest = + val minecraftUrlManifest = URI("https://launchermeta.mojang.com/mc/game/version_manifest.json").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val forgeUrlManifest = + val forgeUrlManifest = URI("https://files.minecraftforge.net/net/minecraftforge/forge/maven-metadata.json").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val oldNeoForgeUrlManifest = + val oldNeoForgeUrlManifest = URI("https://maven.neoforged.net/releases/net/neoforged/forge/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val newNeoForgeUrlManifest = + val newNeoForgeUrlManifest = URI("https://maven.neoforged.net/releases/net/neoforged/neoforge/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val fabricUrlManifest = + val fabricUrlManifest = URI("https://maven.fabricmc.net/net/fabricmc/fabric-loader/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val fabricUrlIntermediariesManifest = + val fabricUrlIntermediariesManifest = URI("https://meta.fabricmc.net/v2/versions/intermediary").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val fabricUrlInstallerManifest = + val fabricUrlInstallerManifest = URI("https://maven.fabricmc.net/net/fabricmc/fabric-installer/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val quiltUrlManifest = + val quiltUrlManifest = URI("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-loader/maven-metadata.xml").toURL() @Suppress("MemberVisibilityCanBePrivate") - actual val quiltUrlInstallerManifest = + val quiltUrlInstallerManifest = URI("https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-installer/maven-metadata.xml").toURL() /** * The MinecraftMeta instance for working with Minecraft versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val minecraft: MinecraftMeta + val minecraft: MinecraftMeta /** * The QuiltMeta-instance for working with Fabric versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val fabric: FabricMeta + val fabric: FabricMeta /** * The ForgeMeta-instance for working with Forge versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val forge: ForgeMeta + val forge: ForgeMeta /** * The NeoForgeMeta-instance for working with NeoForge versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val neoForge: NeoForgeMeta + val neoForge: NeoForgeMeta /** * The QuiltMeta-instance for working with Quilt versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val quilt: QuiltMeta + val quilt: QuiltMeta /** * The LegacyFabric-instance for working with Legacy Fabric versions and information about them. */ @Suppress("MemberVisibilityCanBePrivate") - actual val legacyFabric: LegacyFabricMeta + val legacyFabric: LegacyFabricMeta @Suppress("MemberVisibilityCanBePrivate") val fabricIntermediaries: FabricIntermediaries @@ -414,7 +414,7 @@ actual class VersionMeta( manifestToRefresh: File, content: String ) { - manifestToRefresh.createDirectories() + manifestToRefresh.create() manifestToRefresh.writeText(content) } diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricArguments.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricArguments.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricArguments.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricArguments.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricDetails.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricDetails.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricDetails.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricDetails.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricInstaller.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricInstaller.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricInstaller.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricInstaller.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediaries.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediaries.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediaries.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediaries.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediary.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediary.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediary.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricIntermediary.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLibrary.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLibrary.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLibrary.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLibrary.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoader.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoader.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoader.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoader.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoaderDetails.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoaderDetails.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoaderDetails.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricLoaderDetails.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt similarity index 75% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt index de7f3b62dde6a0b2b7a2173b1a947940c642f724..5c5aa7a5aa64ff6707abc62b20b401d8d1a21f24 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/fabric/FabricMeta.kt @@ -21,7 +21,7 @@ package de.griefed.serverpackcreator.api.versionmeta.fabric import com.fasterxml.jackson.databind.ObjectMapper import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.versionmeta.Meta import org.xml.sax.SAXException import java.io.File @@ -43,7 +43,7 @@ import javax.xml.parsers.ParserConfigurationException * @author Griefed */ @Suppress("unused") -actual class FabricMeta( +class FabricMeta( fabricManifest: File, fabricInstallerManifest: File, private val fabricIntermediaries: FabricIntermediaries, @@ -58,8 +58,8 @@ actual class FabricMeta( private val launchersDirectory: File = File(installerDirectory, "launchers") init { - installerDirectory.createDirectories(create = true, directory = true) - launchersDirectory.createDirectories(create = true, directory = true) + installerDirectory.create(create = true, directory = true) + launchersDirectory.create(create = true, directory = true) } @Suppress("MemberVisibilityCanBePrivate") @@ -77,77 +77,77 @@ actual class FabricMeta( /** * @author Griefed */ - actual override fun latestLoader() = fabricLoader.latestLoaderVersion() + override fun latestLoader() = fabricLoader.latestLoaderVersion() /** * @author Griefed */ - actual override fun releaseLoader() = fabricLoader.releaseLoaderVersion() + override fun releaseLoader() = fabricLoader.releaseLoaderVersion() /** * @author Griefed */ - actual override fun latestInstaller() = fabricInstaller.latestInstallerVersion() + override fun latestInstaller() = fabricInstaller.latestInstallerVersion() /** * @author Griefed */ - actual override fun releaseInstaller() = fabricInstaller.releaseInstallerVersion() + override fun releaseInstaller() = fabricInstaller.releaseInstallerVersion() /** * @author Griefed */ - actual override fun loaderVersionsListAscending() = fabricLoader.loaders + override fun loaderVersionsListAscending() = fabricLoader.loaders /** * @author Griefed */ - actual override fun loaderVersionsListDescending() = fabricLoader.loaders.reversed() + override fun loaderVersionsListDescending() = fabricLoader.loaders.reversed() /** * @author Griefed */ - actual override fun loaderVersionsArrayAscending() = fabricLoader.loaders.toTypedArray() + override fun loaderVersionsArrayAscending() = fabricLoader.loaders.toTypedArray() /** * @author Griefed */ - actual override fun loaderVersionsArrayDescending() = fabricLoader.loaders.reversed().toTypedArray() + override fun loaderVersionsArrayDescending() = fabricLoader.loaders.reversed().toTypedArray() /** * @author Griefed */ - actual override fun installerVersionsListAscending() = fabricInstaller.installers + override fun installerVersionsListAscending() = fabricInstaller.installers /** * @author Griefed */ - actual override fun installerVersionsListDescending() = fabricInstaller.installers.reversed() + override fun installerVersionsListDescending() = fabricInstaller.installers.reversed() /** * @author Griefed */ - actual override fun installerVersionsArrayAscending() = fabricInstaller.installers.toTypedArray() + override fun installerVersionsArrayAscending() = fabricInstaller.installers.toTypedArray() /** * @author Griefed */ - actual override fun installerVersionsArrayDescending() = fabricInstaller.installers.reversed().toTypedArray() + override fun installerVersionsArrayDescending() = fabricInstaller.installers.reversed().toTypedArray() /** * @author Griefed */ - actual override fun latestInstallerUrl() = fabricInstaller.latestInstallerUrl() + override fun latestInstallerUrl() = fabricInstaller.latestInstallerUrl() /** * @author Griefed */ - actual override fun releaseInstallerUrl() = fabricInstaller.releaseInstallerUrl() + override fun releaseInstallerUrl() = fabricInstaller.releaseInstallerUrl() /** * @author Griefed */ - actual override fun installerFor(version: String) = + override fun installerFor(version: String) = if (isInstallerUrlAvailable(version)) { val destination = File(installerDirectory, "$version.jar") if (!destination.isFile) { @@ -169,7 +169,7 @@ actual class FabricMeta( * Download the improved Fabric launcher and store it in the launcher-cache directory. * @author Griefed */ - actual fun launcherFor(minecraftVersion: String, fabricVersion: String): Optional<File> { + fun launcherFor(minecraftVersion: String, fabricVersion: String): Optional<File> { val destination = File(launchersDirectory, "$minecraftVersion-$fabricVersion.jar") return if (!destination.isFile) { val url = fabricInstaller.improvedLauncherUrl(minecraftVersion, fabricVersion) @@ -187,24 +187,24 @@ actual class FabricMeta( /** * @author Griefed */ - actual override fun isInstallerUrlAvailable(version: String) = + override fun isInstallerUrlAvailable(version: String) = Optional.ofNullable(fabricInstaller.installerUrlMeta[version]).isPresent /** * @author Griefed */ - actual override fun getInstallerUrl(version: String) = + override fun getInstallerUrl(version: String) = Optional.ofNullable(fabricInstaller.installerUrlMeta[version]) /** * @author Griefed */ - actual override fun isVersionValid(version: String) = fabricLoader.loaders.contains(version) + override fun isVersionValid(version: String) = fabricLoader.loaders.contains(version) /** * @author Griefed */ - actual override fun isMinecraftSupported(minecraftVersion: String) = + override fun isMinecraftSupported(minecraftVersion: String) = fabricIntermediaries.getIntermediary(minecraftVersion).isPresent /** @@ -215,7 +215,7 @@ actual class FabricMeta( * @return URL to the Fabric launcher for the specified Minecraft and Fabric version. * @author Griefed */ - actual fun improvedLauncherUrl(minecraftVersion: String, fabricVersion: String) = + fun improvedLauncherUrl(minecraftVersion: String, fabricVersion: String) = fabricInstaller.improvedLauncherUrl(minecraftVersion, fabricVersion) /** diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeInstance.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeInstance.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeInstance.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeInstance.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt similarity index 98% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt index 00c0a4258cff7500ca09013cf30a5e1412ea24de..8a4732835a91411867c98b5d860bd3bf207de93f 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeLoader.kt @@ -41,7 +41,7 @@ internal class ForgeLoader( private val utilities: Utilities, private val minecraftMeta: MinecraftMeta ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } val minecraftVersions: MutableList<String> = ArrayList(100) val forgeVersions: MutableList<String> = ArrayList(100) diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt similarity index 87% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt index 45df2802558e041c868ef3865a14244db95b8db9..b6cc17b2feb97e427e66af521819c2cc32393a54 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/forge/ForgeMeta.kt @@ -20,7 +20,7 @@ package de.griefed.serverpackcreator.api.versionmeta.forge import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.versionmeta.minecraft.MinecraftMeta import java.io.File import java.io.IOException @@ -35,7 +35,7 @@ import java.util.* * @author Griefed */ @Suppress("unused") -actual class ForgeMeta actual constructor( +class ForgeMeta constructor( private val forgeManifest: File, private val utilities: Utilities, installerCacheDirectory: File @@ -44,7 +44,7 @@ actual class ForgeMeta actual constructor( private val installerDirectory: File = File(installerCacheDirectory, "forge") init { - installerDirectory.createDirectories(create = true, directory = true) + installerDirectory.create(create = true, directory = true) } /** @@ -82,7 +82,7 @@ actual class ForgeMeta actual constructor( * @return `true` if the given Minecraft and Forge versions are valid/supported/available. * @author Griefed */ - actual fun isForgeAndMinecraftCombinationValid(minecraftVersion: String, forgeVersion: String) = + fun isForgeAndMinecraftCombinationValid(minecraftVersion: String, forgeVersion: String) = isMinecraftVersionSupported(minecraftVersion) && isForgeVersionValid(forgeVersion) /** @@ -92,7 +92,7 @@ actual class ForgeMeta actual constructor( * @return `true` if the given Minecraft version is valid/supported/available. * @author Griefed */ - actual fun isMinecraftVersionSupported(minecraftVersion: String) = + fun isMinecraftVersionSupported(minecraftVersion: String) = Optional.ofNullable(forgeLoader!!.versionMeta[minecraftVersion]).isPresent /** @@ -102,7 +102,7 @@ actual class ForgeMeta actual constructor( * @return `true` if the given Forge version is valid/supported/available. * @author Griefed */ - actual fun isForgeVersionValid(forgeVersion: String) = + fun isForgeVersionValid(forgeVersion: String) = Optional.ofNullable(forgeLoader!!.forgeToMinecraftMeta[forgeVersion]).isPresent /** @@ -113,7 +113,7 @@ actual class ForgeMeta actual constructor( * @return `true` if Forge is available for the given Forge- and Minecraft version. * @author Griefed */ - actual fun isForgeInstanceAvailable(minecraftVersion: String, forgeVersion: String) = + fun isForgeInstanceAvailable(minecraftVersion: String, forgeVersion: String) = getForgeInstance(minecraftVersion, forgeVersion).isPresent /** @@ -136,7 +136,7 @@ actual class ForgeMeta actual constructor( * @return `true` if Forge is available for the given Forge version. * @author Griefed */ - actual fun isForgeInstanceAvailable(forgeVersion: String) = getForgeInstance(forgeVersion).isPresent + fun isForgeInstanceAvailable(forgeVersion: String) = getForgeInstance(forgeVersion).isPresent /** * Get a [ForgeInstance] for a given Forge version, wrapped in an [Optional]. @@ -186,7 +186,7 @@ actual class ForgeMeta actual constructor( * @return Latest Forge version for the given Minecraft version, wrapped in an [Optional] * @author Griefed */ - actual fun newestForgeVersion(minecraftVersion: String) = + fun newestForgeVersion(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else if (supportedForgeVersionsAscending(minecraftVersion).isPresent) { @@ -204,7 +204,7 @@ actual class ForgeMeta actual constructor( * @return Oldest Forge version for the given Minecraft version, wrapped in [Optional] * @author Griefed */ - actual fun oldestForgeVersion(minecraftVersion: String) = + fun oldestForgeVersion(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else if (supportedForgeVersionsAscending(minecraftVersion).isPresent) { @@ -220,7 +220,7 @@ actual class ForgeMeta actual constructor( * @return List of available Forge versions. * @author Griefed */ - actual fun forgeVersionsAscending() = forgeLoader!!.forgeVersions + fun forgeVersionsAscending() = forgeLoader!!.forgeVersions /** * Get the list of available Forge versions, in descending order. @@ -228,7 +228,7 @@ actual class ForgeMeta actual constructor( * @return List of available Forge versions. * @author Griefed */ - actual fun forgeVersionsDescending() = forgeVersionsAscending().reversed() + fun forgeVersionsDescending() = forgeVersionsAscending().reversed() /** * Get the array of available Forge versions, in ascending order. @@ -236,7 +236,7 @@ actual class ForgeMeta actual constructor( * @return Array of available Forge versions. * @author Griefed */ - actual fun forgeVersionsAscendingArray() = forgeVersionsAscending().toTypedArray() + fun forgeVersionsAscendingArray() = forgeVersionsAscending().toTypedArray() /** * Get the array of available Forge versions, in descending order. @@ -244,7 +244,7 @@ actual class ForgeMeta actual constructor( * @return Array of available Forge versions. * @author Griefed */ - actual fun forgeVersionsDescendingArray() = forgeVersionsDescending().toTypedArray() + fun forgeVersionsDescendingArray() = forgeVersionsDescending().toTypedArray() /** * Get a list of available Forge version for a given Minecraft version in ascending order. @@ -253,7 +253,7 @@ actual class ForgeMeta actual constructor( * @return List of available Forge versions for the given Minecraft version in ascending order. * @author Griefed */ - actual fun supportedForgeVersionsAscending(minecraftVersion: String) = + fun supportedForgeVersionsAscending(minecraftVersion: String) = Optional.ofNullable(forgeLoader?.versionMeta?.get(minecraftVersion)) /** @@ -263,7 +263,7 @@ actual class ForgeMeta actual constructor( * @return List of available Forge versions for the given Minecraft version in descending order. * @author Griefed */ - actual fun supportedForgeVersionsDescending(minecraftVersion: String) = + fun supportedForgeVersionsDescending(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -281,7 +281,7 @@ actual class ForgeMeta actual constructor( * wrapped in an [Optional] * @author Griefed */ - actual fun supportedForgeVersionsAscendingArray(minecraftVersion: String) = + fun supportedForgeVersionsAscendingArray(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -300,7 +300,7 @@ actual class ForgeMeta actual constructor( * wrapped in an [Optional] * @author Griefed */ - actual fun supportedForgeVersionsDescendingArray(minecraftVersion: String) = + fun supportedForgeVersionsDescendingArray(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -315,7 +315,7 @@ actual class ForgeMeta actual constructor( * @return Minecraft version for the given Forge version, wrapped in an [Optional]. * @author Griefed */ - actual fun minecraftVersion(forgeVersion: String) = + fun minecraftVersion(forgeVersion: String) = Optional.ofNullable(forgeLoader!!.forgeToMinecraftMeta[forgeVersion]) /** @@ -324,7 +324,7 @@ actual class ForgeMeta actual constructor( * @return List of Forge supported Minecraft versions, in ascending order. * @author Griefed */ - actual fun supportedMinecraftVersionsAscending() = forgeLoader!!.minecraftVersions + fun supportedMinecraftVersionsAscending() = forgeLoader!!.minecraftVersions /** * Get the list of Forge supported Minecraft versions, in descending order. @@ -332,7 +332,7 @@ actual class ForgeMeta actual constructor( * @return List of Forge supported Minecraft versions, in descending order. * @author Griefed */ - actual fun supportedMinecraftVersionsDescending() = supportedMinecraftVersionsAscending().reversed() + fun supportedMinecraftVersionsDescending() = supportedMinecraftVersionsAscending().reversed() /** * Get the array of Forge supported Minecraft versions, in ascending order. @@ -340,7 +340,7 @@ actual class ForgeMeta actual constructor( * @return Array of Forge supported Minecraft versions, in ascending order. * @author Griefed */ - actual fun supportedMinecraftVersionsAscendingArray() = supportedMinecraftVersionsAscending().toTypedArray() + fun supportedMinecraftVersionsAscendingArray() = supportedMinecraftVersionsAscending().toTypedArray() /** * Get the array of Forge supported Minecraft versions, in descending order. @@ -348,7 +348,7 @@ actual class ForgeMeta actual constructor( * @return Array of Forge supported Minecraft versions, in descending order. * @author Griefed */ - actual fun supportedMinecraftVersionsDescendingArray() = supportedMinecraftVersionsDescending().toTypedArray() + fun supportedMinecraftVersionsDescendingArray() = supportedMinecraftVersionsDescending().toTypedArray() /** * Get the Forge server installer URL for a given Forge version, wrapped in an [Optional]. @@ -357,7 +357,7 @@ actual class ForgeMeta actual constructor( * @return Forge server installer URL for the given Forge version, wrapped in an [Optional]. * @author Griefed */ - actual fun installerUrl(forgeVersion: String) = + fun installerUrl(forgeVersion: String) = if (isForgeVersionValid(forgeVersion) && getForgeInstance(forgeVersion).isPresent) { val instance = getForgeInstance(forgeVersion).get() Optional.of(instance.installerUrl) @@ -374,7 +374,7 @@ actual class ForgeMeta actual constructor( * can check whether it is available first. * @author Griefed */ - actual fun installerFor(forgeVersion: String, minecraftVersion: String) = + fun installerFor(forgeVersion: String, minecraftVersion: String) = if (isForgeInstanceAvailable(minecraftVersion, forgeVersion)) { val destination = File(installerDirectory, "$forgeVersion-$minecraftVersion.jar") if (!destination.isFile) { diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricGame.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricGame.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricGame.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricGame.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricInstaller.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricInstaller.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricInstaller.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricInstaller.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricLoader.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricLoader.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricLoader.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricLoader.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt similarity index 70% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt index 4e39d81129986340e7bad49858459f5451395c04..fe4ca8e21bfaca6b55335a0c75a65804f9b88ab7 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricMeta.kt @@ -20,7 +20,7 @@ package de.griefed.serverpackcreator.api.versionmeta.legacyfabric import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.versionmeta.Meta import org.xml.sax.SAXException import java.io.File @@ -41,7 +41,7 @@ import javax.xml.parsers.ParserConfigurationException * @author Griefed */ @Suppress("unused") -actual class LegacyFabricMeta actual constructor( +class LegacyFabricMeta constructor( gameVersionsManifest: File, loaderVersionsManifest: File, installerVersionsManifest: File, @@ -54,7 +54,7 @@ actual class LegacyFabricMeta actual constructor( private val installerDirectory: File = File(installerCacheDirectory, "legacyfabric") init { - installerDirectory.createDirectories(create = true, directory = true) + installerDirectory.create(create = true, directory = true) } @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @@ -64,18 +64,18 @@ actual class LegacyFabricMeta actual constructor( installerVersions.update() } - actual override fun latestLoader() = loaderVersions.allVersions[0] - actual override fun releaseLoader() = loaderVersions.releases[0] - actual override fun latestInstaller() = installerVersions.latest!! - actual override fun releaseInstaller() = installerVersions.release!! - actual override fun loaderVersionsListAscending() = loaderVersionsListDescending().reversed().toMutableList() - actual override fun loaderVersionsListDescending() = loaderVersions.allVersions - actual override fun loaderVersionsArrayAscending() = loaderVersionsListAscending().toTypedArray() - actual override fun loaderVersionsArrayDescending() = loaderVersionsListDescending().toTypedArray() - actual override fun installerVersionsListAscending() = installerVersions.allVersions - actual override fun installerVersionsListDescending() = installerVersionsListAscending().reversed().toMutableList() - actual override fun installerVersionsArrayAscending() = installerVersionsListAscending().toTypedArray() - actual override fun installerVersionsArrayDescending() = installerVersionsListDescending().toTypedArray() + override fun latestLoader() = loaderVersions.allVersions[0] + override fun releaseLoader() = loaderVersions.releases[0] + override fun latestInstaller() = installerVersions.latest!! + override fun releaseInstaller() = installerVersions.release!! + override fun loaderVersionsListAscending() = loaderVersionsListDescending().reversed().toMutableList() + override fun loaderVersionsListDescending() = loaderVersions.allVersions + override fun loaderVersionsArrayAscending() = loaderVersionsListAscending().toTypedArray() + override fun loaderVersionsArrayDescending() = loaderVersionsListDescending().toTypedArray() + override fun installerVersionsListAscending() = installerVersions.allVersions + override fun installerVersionsListDescending() = installerVersionsListAscending().reversed().toMutableList() + override fun installerVersionsArrayAscending() = installerVersionsListAscending().toTypedArray() + override fun installerVersionsArrayDescending() = installerVersionsListDescending().toTypedArray() @Throws(MalformedURLException::class) override fun latestInstallerUrl() = installerVersions.latestURL() @@ -83,7 +83,7 @@ actual class LegacyFabricMeta actual constructor( @Throws(MalformedURLException::class) override fun releaseInstallerUrl() = installerVersions.releaseURL() - actual override fun installerFor(version: String) = + override fun installerFor(version: String) = if (isInstallerUrlAvailable(version)) { val destination = File(installerDirectory, "$version.jar") if (!destination.isFile) { @@ -104,7 +104,7 @@ actual class LegacyFabricMeta actual constructor( /** * @author Griefed */ - actual override fun isInstallerUrlAvailable(version: String) = + override fun isInstallerUrlAvailable(version: String) = try { installerVersions.specificURL(version).isPresent } catch (e: MalformedURLException) { @@ -120,12 +120,12 @@ actual class LegacyFabricMeta actual constructor( /** * @author Griefed */ - actual override fun isVersionValid(version: String) = loaderVersions.allVersions.contains(version) + override fun isVersionValid(version: String) = loaderVersions.allVersions.contains(version) /** * @author Griefed */ - actual override fun isMinecraftSupported(minecraftVersion: String) = + override fun isMinecraftSupported(minecraftVersion: String) = gameVersions.allVersions.contains(minecraftVersion) /** @@ -134,5 +134,5 @@ actual class LegacyFabricMeta actual constructor( * @return All Legacy Fabric supported Minecraft versions. * @author Griefed */ - actual fun supportedMinecraftVersions() = gameVersions.allVersions + fun supportedMinecraftVersions() = gameVersions.allVersions } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricVersioning.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricVersioning.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricVersioning.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/legacyfabric/LegacyFabricVersioning.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClient.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClient.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClient.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClient.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt similarity index 98% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt index 641b9fe397d7839eb77677bbcd8a8a5694e56bc6..fe86ac4c7d58a24900747e11af768e0e98c86ac9 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftClientMeta.kt @@ -45,7 +45,7 @@ internal class MinecraftClientMeta( private val utilities: Utilities, private val apiProperties: ApiProperties ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } val releases: MutableList<MinecraftClient> = ArrayList(100) val snapshots: MutableList<MinecraftClient> = ArrayList(200) val allVersions: MutableList<MinecraftClient> = ArrayList(300) diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt similarity index 95% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt index 969a6c21816218baad84b497ac3dc45f6212ece1..e3dd6c608ee4c0b7185aae7d28ab1c1311bdaa01 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftMeta.kt @@ -38,7 +38,7 @@ import java.util.* * * @author Griefed */ -actual class MinecraftMeta( +class MinecraftMeta( minecraftManifest: File, injectedForgeMeta: ForgeMeta, utilities: Utilities, @@ -78,7 +78,7 @@ actual class MinecraftMeta( * @return `true` if a [MinecraftClient] is available. * @author Griefed */ - actual fun isMinecraftVersionAvailable(minecraftVersion: String): Boolean { + fun isMinecraftVersionAvailable(minecraftVersion: String): Boolean { return getClient(minecraftVersion).isPresent } @@ -101,7 +101,7 @@ actual class MinecraftMeta( * descending order. * @author Griefed */ - actual fun releaseVersionsArrayDescending(): Array<String> { + fun releaseVersionsArrayDescending(): Array<String> { return releaseVersionsDescending().toTypedArray() } @@ -113,7 +113,7 @@ actual class MinecraftMeta( * descending order. * @author Griefed */ - actual fun releaseVersionsDescending(): List<String> { + fun releaseVersionsDescending(): List<String> { val list: MutableList<String> = ArrayList(100) for (client in releasesDescending()) { list.add(client.version) @@ -140,7 +140,7 @@ actual class MinecraftMeta( * ascending order. * @author Griefed */ - actual fun releaseVersionsArrayAscending(): Array<String> { + fun releaseVersionsArrayAscending(): Array<String> { return releaseVersionsAscending().toTypedArray() } @@ -152,7 +152,7 @@ actual class MinecraftMeta( * order. * @author Griefed */ - actual fun releaseVersionsAscending(): List<String> { + fun releaseVersionsAscending(): List<String> { val list: MutableList<String> = ArrayList(100) for (client in releasesDescending()) { list.add(client.version) @@ -168,7 +168,7 @@ actual class MinecraftMeta( * descending order. * @author Griefed */ - actual fun snapshotVersionsArrayDescending(): Array<String> { + fun snapshotVersionsArrayDescending(): Array<String> { return snapshotVersionsDescending().toTypedArray() } @@ -180,7 +180,7 @@ actual class MinecraftMeta( * descending order. * @author Griefed */ - actual fun snapshotVersionsDescending(): List<String> { + fun snapshotVersionsDescending(): List<String> { val list: MutableList<String> = ArrayList(100) for (client in snapshotsDescending()) { list.add(client.version) @@ -207,7 +207,7 @@ actual class MinecraftMeta( * ascending order. * @author Griefed */ - actual fun snapshotVersionsArrayAscending(): Array<String> { + fun snapshotVersionsArrayAscending(): Array<String> { return snapshotVersionsAscending().toTypedArray() } @@ -219,7 +219,7 @@ actual class MinecraftMeta( * ascending order. * @author Griefed */ - actual fun snapshotVersionsAscending(): List<String> { + fun snapshotVersionsAscending(): List<String> { val list: MutableList<String> = ArrayList(100) for (client in snapshotsDescending()) { list.add(client.version) @@ -234,7 +234,7 @@ actual class MinecraftMeta( * @return All available Minecraft versions in descending order. * @author Griefed */ - actual fun allVersionsArrayDescending(): Array<String> { + fun allVersionsArrayDescending(): Array<String> { return allVersionsDescending().toTypedArray() } /* @@ -252,7 +252,7 @@ actual class MinecraftMeta( * @author Griefed */ @Suppress("MemberVisibilityCanBePrivate") - actual fun allVersionsDescending(): List<String> { + fun allVersionsDescending(): List<String> { val versions: MutableList<String> = ArrayList(100) for (client in allDescending()) { versions.add(client.version) @@ -280,7 +280,7 @@ actual class MinecraftMeta( * @author Griefed */ @Suppress("unused") - actual fun allVersionsArrayAscending(): Array<String> { + fun allVersionsArrayAscending(): Array<String> { return allVersionsAscending().toTypedArray() } @@ -292,7 +292,7 @@ actual class MinecraftMeta( * @author Griefed */ @Suppress("MemberVisibilityCanBePrivate") - actual fun allVersionsAscending(): List<String> { + fun allVersionsAscending(): List<String> { val versions: MutableList<String> = ArrayList(releaseVersionsAscending()) for (client in allAscending()) { versions.add(client.version) @@ -435,7 +435,7 @@ actual class MinecraftMeta( * @return `true` if a [MinecraftServer] is available. * @author Griefed */ - actual fun isServerAvailable(minecraftVersion: String): Boolean { + fun isServerAvailable(minecraftVersion: String): Boolean { return getServer(minecraftVersion).isPresent } diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServer.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServer.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServer.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServer.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServerMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServerMeta.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServerMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/minecraft/MinecraftServerMeta.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeInstance.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeInstance.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeInstance.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeInstance.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt similarity index 99% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt index 4da6a296961bbc06877370fa1312a499729727d3..c012a896b16ee8a064a3898afd6db19b78954289 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeLoader.kt @@ -42,7 +42,7 @@ internal class NeoForgeLoader( private val utilities: Utilities, private val minecraftMeta: MinecraftMeta ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } val minecraftVersions: MutableList<String> = ArrayList(100) val neoForgeVersions: MutableList<String> = ArrayList(100) private val version = "version" diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt similarity index 86% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt index def1df7b77065c17740429eba8cda6030025415c..0dc6b6a01c75988c0763efbc0b0ef1f7152f2a13 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NeoForgeMeta.kt @@ -20,7 +20,7 @@ package de.griefed.serverpackcreator.api.versionmeta.neoforge import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.versionmeta.minecraft.MinecraftMeta import java.io.File import java.io.IOException @@ -35,7 +35,7 @@ import java.util.* * @author Griefed */ @Suppress("unused") -actual class NeoForgeMeta actual constructor( +class NeoForgeMeta( private val oldNeoForgeManifest: File, private val newNeoForgeManifest: File, private val utilities: Utilities, @@ -45,7 +45,7 @@ actual class NeoForgeMeta actual constructor( private val installerDirectory: File = File(installerCacheDirectory, "neoforge") init { - installerDirectory.createDirectories(create = true, directory = true) + installerDirectory.create(create = true, directory = true) } /** @@ -87,7 +87,7 @@ actual class NeoForgeMeta actual constructor( * @return `true` if the given Minecraft and NeoForge versions are valid/supported/available. * @author Griefed */ - actual fun isNeoForgeAndMinecraftCombinationValid(minecraftVersion: String, neoForgeVersion: String) = + fun isNeoForgeAndMinecraftCombinationValid(minecraftVersion: String, neoForgeVersion: String) = isMinecraftVersionSupported(minecraftVersion) && isNeoForgeVersionValid(neoForgeVersion) /** @@ -97,7 +97,7 @@ actual class NeoForgeMeta actual constructor( * @return `true` if the given Minecraft version is valid/supported/available. * @author Griefed */ - actual fun isMinecraftVersionSupported(minecraftVersion: String) = + fun isMinecraftVersionSupported(minecraftVersion: String) = Optional.ofNullable(neoForgeLoader!!.versionMeta[minecraftVersion]).isPresent /** @@ -107,7 +107,7 @@ actual class NeoForgeMeta actual constructor( * @return `true` if the given NeoForge version is valid/supported/available. * @author Griefed */ - actual fun isNeoForgeVersionValid(neoForgeVersion: String) = + fun isNeoForgeVersionValid(neoForgeVersion: String) = Optional.ofNullable(neoForgeLoader!!.neoForgeToMinecraftMeta[neoForgeVersion]).isPresent /** @@ -118,7 +118,7 @@ actual class NeoForgeMeta actual constructor( * @return `true` if NeoForge is available for the given NeoForge- and Minecraft version. * @author Griefed */ - actual fun isNeoForgeInstanceAvailable(minecraftVersion: String, neoForgeVersion: String) = + fun isNeoForgeInstanceAvailable(minecraftVersion: String, neoForgeVersion: String) = getNeoForgeInstance(minecraftVersion, neoForgeVersion).isPresent /** @@ -141,7 +141,7 @@ actual class NeoForgeMeta actual constructor( * @return `true` if NeoForge is available for the given NeoForge version. * @author Griefed */ - actual fun isNeoForgeInstanceAvailable(neoForgeVersion: String) = getNeoForgeInstance(neoForgeVersion).isPresent + fun isNeoForgeInstanceAvailable(neoForgeVersion: String) = getNeoForgeInstance(neoForgeVersion).isPresent /** * Get a [NeoForgeInstance] for a given NeoForge version, wrapped in an [Optional]. @@ -191,7 +191,7 @@ actual class NeoForgeMeta actual constructor( * @return Latest NeoForge version for the given Minecraft version, wrapped in an [Optional] * @author Griefed */ - actual fun newestNeoForgeVersion(minecraftVersion: String) = + fun newestNeoForgeVersion(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else if (supportedNeoForgeVersionsAscending(minecraftVersion).isPresent) { @@ -207,7 +207,7 @@ actual class NeoForgeMeta actual constructor( * @return Oldest NeoForge version for the given Minecraft version, wrapped in [Optional] * @author Griefed */ - actual fun oldestNeoForgeVersion(minecraftVersion: String) = + fun oldestNeoForgeVersion(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else if (supportedNeoForgeVersionsAscending(minecraftVersion).isPresent) { @@ -223,7 +223,7 @@ actual class NeoForgeMeta actual constructor( * @return List of available NeoForge versions. * @author Griefed */ - actual fun neoForgeVersionsAscending() = neoForgeLoader!!.neoForgeVersions.reversed().toMutableList() + fun neoForgeVersionsAscending() = neoForgeLoader!!.neoForgeVersions.reversed().toMutableList() /** * Get the list of available NeoForge versions, in descending order. @@ -231,7 +231,7 @@ actual class NeoForgeMeta actual constructor( * @return List of available NeoForge versions. * @author Griefed */ - actual fun neoForgeVersionsDescending() = neoForgeVersionsAscending().toList() + fun neoForgeVersionsDescending() = neoForgeVersionsAscending().toList() /** * Get the array of available NeoForge versions, in ascending order. @@ -239,7 +239,7 @@ actual class NeoForgeMeta actual constructor( * @return Array of available NeoForge versions. * @author Griefed */ - actual fun neoForgeVersionsAscendingArray() = neoForgeVersionsAscending().toTypedArray() + fun neoForgeVersionsAscendingArray() = neoForgeVersionsAscending().toTypedArray() /** * Get the array of available NeoForge versions, in descending order. @@ -247,7 +247,7 @@ actual class NeoForgeMeta actual constructor( * @return Array of available NeoForge versions. * @author Griefed */ - actual fun neoForgeVersionsDescendingArray() = neoForgeVersionsDescending().toTypedArray() + fun neoForgeVersionsDescendingArray() = neoForgeVersionsDescending().toTypedArray() /** * Get a list of available NeoForge version for a given Minecraft version in ascending order. @@ -256,7 +256,7 @@ actual class NeoForgeMeta actual constructor( * @return List of available NeoForge versions for the given Minecraft version in ascending order. * @author Griefed */ - actual fun supportedNeoForgeVersionsAscending(minecraftVersion: String) = + fun supportedNeoForgeVersionsAscending(minecraftVersion: String) = Optional.ofNullable(neoForgeLoader?.versionMeta?.get(minecraftVersion)?.reversed()) /** @@ -266,7 +266,7 @@ actual class NeoForgeMeta actual constructor( * @return List of available NeoForge versions for the given Minecraft version in descending order. * @author Griefed */ - actual fun supportedNeoForgeVersionsDescending(minecraftVersion: String) = + fun supportedNeoForgeVersionsDescending(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -283,7 +283,7 @@ actual class NeoForgeMeta actual constructor( * wrapped in an [Optional] * @author Griefed */ - actual fun supportedNeoForgeVersionsAscendingArray(minecraftVersion: String) = + fun supportedNeoForgeVersionsAscendingArray(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -302,7 +302,7 @@ actual class NeoForgeMeta actual constructor( * wrapped in an [Optional] * @author Griefed */ - actual fun supportedNeoForgeVersionsDescendingArray(minecraftVersion: String) = + fun supportedNeoForgeVersionsDescendingArray(minecraftVersion: String) = if (!isMinecraftVersionSupported(minecraftVersion)) { Optional.empty() } else { @@ -317,7 +317,7 @@ actual class NeoForgeMeta actual constructor( * @return Minecraft version for the given Neo version, wrapped in an [Optional]. * @author Griefed */ - actual fun minecraftVersion(neoForgeVersion: String) = + fun minecraftVersion(neoForgeVersion: String) = Optional.ofNullable(neoForgeLoader!!.neoForgeToMinecraftMeta[neoForgeVersion]) /** @@ -326,7 +326,7 @@ actual class NeoForgeMeta actual constructor( * @return List of NeoForge supported Minecraft versions, in ascending order. * @author Griefed */ - actual fun supportedMinecraftVersionsAscending() = neoForgeLoader!!.minecraftVersions + fun supportedMinecraftVersionsAscending() = neoForgeLoader!!.minecraftVersions /** * Get the list of NeoForge supported Minecraft versions, in descending order. @@ -334,7 +334,7 @@ actual class NeoForgeMeta actual constructor( * @return List of NeoForge supported Minecraft versions, in descending order. * @author Griefed */ - actual fun supportedMinecraftVersionsDescending() = supportedMinecraftVersionsAscending().reversed() + fun supportedMinecraftVersionsDescending() = supportedMinecraftVersionsAscending().reversed() /** * Get the array of NeoForge supported Minecraft versions, in ascending order. @@ -342,7 +342,7 @@ actual class NeoForgeMeta actual constructor( * @return Array of NeoForge supported Minecraft versions, in ascending order. * @author Griefed */ - actual fun supportedMinecraftVersionsAscendingArray() = supportedMinecraftVersionsAscending().toTypedArray() + fun supportedMinecraftVersionsAscendingArray() = supportedMinecraftVersionsAscending().toTypedArray() /** * Get the array of NeoForge supported Minecraft versions, in descending order. @@ -350,7 +350,7 @@ actual class NeoForgeMeta actual constructor( * @return Array of NeoForge supported Minecraft versions, in descending order. * @author Griefed */ - actual fun supportedMinecraftVersionsDescendingArray() = supportedMinecraftVersionsDescending().toTypedArray() + fun supportedMinecraftVersionsDescendingArray() = supportedMinecraftVersionsDescending().toTypedArray() /** * Get the NeoForge server installer URL for a given NeoForge version, wrapped in an [Optional]. @@ -359,7 +359,7 @@ actual class NeoForgeMeta actual constructor( * @return NeoForge server installer URL for the given NeoForge version, wrapped in an [Optional]. * @author Griefed */ - actual fun installerUrl(neoForgeVersion: String) = + fun installerUrl(neoForgeVersion: String) = if (isNeoForgeVersionValid(neoForgeVersion) && getNeoForgeInstance(neoForgeVersion).isPresent) { val instance = getNeoForgeInstance(neoForgeVersion).get() Optional.of(instance.installerUrl) @@ -373,7 +373,7 @@ actual class NeoForgeMeta actual constructor( * can check whether it is available first. * @author Griefed */ - actual fun installerFor(neoForgeVersion: String, minecraftVersion: String) = + fun installerFor(neoForgeVersion: String, minecraftVersion: String) = if (isNeoForgeInstanceAvailable(minecraftVersion, neoForgeVersion)) { val destination = File(installerDirectory, "$neoForgeVersion-$minecraftVersion.jar") if (!destination.isFile) { diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NewNeoForgeInstance.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NewNeoForgeInstance.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NewNeoForgeInstance.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/NewNeoForgeInstance.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/OldNeoForgeInstance.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/OldNeoForgeInstance.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/OldNeoForgeInstance.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/neoforge/OldNeoForgeInstance.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltInstaller.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltInstaller.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltInstaller.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltInstaller.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltLoader.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltLoader.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltLoader.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltLoader.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt similarity index 60% rename from serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt rename to serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt index c13baf8d33b4de0c1fc64cacc009c0a0f6db212d..dd3097ffe3b21760593c4307a1aa75f5f1d0f1c9 100644 --- a/serverpackcreator-api/src/jvmMain/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt +++ b/serverpackcreator-api/src/main/kotlin/de/griefed/serverpackcreator/api/versionmeta/quilt/QuiltMeta.kt @@ -20,7 +20,7 @@ package de.griefed.serverpackcreator.api.versionmeta.quilt import de.griefed.serverpackcreator.api.utilities.common.Utilities -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.api.versionmeta.Meta import de.griefed.serverpackcreator.api.versionmeta.fabric.FabricIntermediaries import org.xml.sax.SAXException @@ -39,7 +39,7 @@ import javax.xml.parsers.ParserConfigurationException * * @author Griefed */ -actual class QuiltMeta( +class QuiltMeta( quiltManifest: File, quiltInstallerManifest: File, private val fabricIntermediaries: FabricIntermediaries, @@ -51,7 +51,7 @@ actual class QuiltMeta( private val installerDirectory: File = File(installerCacheDirectory, "quilt") init { - installerDirectory.createDirectories(create = true, directory = true) + installerDirectory.create(create = true, directory = true) } @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) @@ -60,22 +60,22 @@ actual class QuiltMeta( quiltInstaller.update() } - actual override fun latestLoader() = quiltLoader.latest!! - actual override fun releaseLoader() = quiltLoader.release!! - actual override fun latestInstaller() = quiltInstaller.latestInstaller!! - actual override fun releaseInstaller() = quiltInstaller.releaseInstaller!! - actual override fun loaderVersionsListAscending() = quiltLoader.loaders - actual override fun loaderVersionsListDescending() = quiltLoader.loaders.reversed() - actual override fun loaderVersionsArrayAscending() = quiltLoader.loaders.toTypedArray() - actual override fun loaderVersionsArrayDescending() = quiltLoader.loaders.reversed().toTypedArray() - actual override fun installerVersionsListAscending() = quiltInstaller.installers - actual override fun installerVersionsListDescending() = quiltInstaller.installers.reversed() - actual override fun installerVersionsArrayAscending() = quiltInstaller.installers.toTypedArray() - actual override fun installerVersionsArrayDescending() = quiltInstaller.installers.reversed().toTypedArray() - actual override fun latestInstallerUrl() = quiltInstaller.latestInstallerUrl!! - actual override fun releaseInstallerUrl() = quiltInstaller.releaseInstallerUrl!! + override fun latestLoader() = quiltLoader.latest!! + override fun releaseLoader() = quiltLoader.release!! + override fun latestInstaller() = quiltInstaller.latestInstaller!! + override fun releaseInstaller() = quiltInstaller.releaseInstaller!! + override fun loaderVersionsListAscending() = quiltLoader.loaders + override fun loaderVersionsListDescending() = quiltLoader.loaders.reversed() + override fun loaderVersionsArrayAscending() = quiltLoader.loaders.toTypedArray() + override fun loaderVersionsArrayDescending() = quiltLoader.loaders.reversed().toTypedArray() + override fun installerVersionsListAscending() = quiltInstaller.installers + override fun installerVersionsListDescending() = quiltInstaller.installers.reversed() + override fun installerVersionsArrayAscending() = quiltInstaller.installers.toTypedArray() + override fun installerVersionsArrayDescending() = quiltInstaller.installers.reversed().toTypedArray() + override fun latestInstallerUrl() = quiltInstaller.latestInstallerUrl!! + override fun releaseInstallerUrl() = quiltInstaller.releaseInstallerUrl!! - actual override fun installerFor(version: String) = + override fun installerFor(version: String) = if (isInstallerUrlAvailable(version)) { val destination = File(installerDirectory, "$version.jar") if (!destination.isFile) { @@ -93,8 +93,8 @@ actual class QuiltMeta( Optional.empty() } - actual override fun isInstallerUrlAvailable(version: String) = Optional.ofNullable(quiltInstaller.installerUrlMeta[version]).isPresent - actual override fun getInstallerUrl(version: String) = Optional.ofNullable(quiltInstaller.installerUrlMeta[version]) - actual override fun isVersionValid(version: String) = quiltLoader.loaders.contains(version) - actual override fun isMinecraftSupported(minecraftVersion: String) = fabricIntermediaries.isIntermediariesPresent(minecraftVersion) + override fun isInstallerUrlAvailable(version: String) = Optional.ofNullable(quiltInstaller.installerUrlMeta[version]).isPresent + override fun getInstallerUrl(version: String) = Optional.ofNullable(quiltInstaller.installerUrlMeta[version]) + override fun isVersionValid(version: String) = quiltLoader.loaders.contains(version) + override fun isMinecraftSupported(minecraftVersion: String) = fabricIntermediaries.isIntermediariesPresent(minecraftVersion) } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/kotlin/io/ByteReader.kt b/serverpackcreator-api/src/main/kotlin/io/ByteReader.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/io/ByteReader.kt rename to serverpackcreator-api/src/main/kotlin/io/ByteReader.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/io/ByteWriter.kt b/serverpackcreator-api/src/main/kotlin/io/ByteWriter.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/io/ByteWriter.kt rename to serverpackcreator-api/src/main/kotlin/io/ByteWriter.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/io/Bytes.kt b/serverpackcreator-api/src/main/kotlin/io/Bytes.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/io/Bytes.kt rename to serverpackcreator-api/src/main/kotlin/io/Bytes.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/LinkInfo.kt b/serverpackcreator-api/src/main/kotlin/mslinks/LinkInfo.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/LinkInfo.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/LinkInfo.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/LinkTargetIDList.kt b/serverpackcreator-api/src/main/kotlin/mslinks/LinkTargetIDList.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/LinkTargetIDList.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/LinkTargetIDList.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/Serializable.kt b/serverpackcreator-api/src/main/kotlin/mslinks/Serializable.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/Serializable.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/Serializable.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLink.kt b/serverpackcreator-api/src/main/kotlin/mslinks/ShellLink.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLink.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/ShellLink.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkException.kt b/serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkException.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkException.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkException.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkHeader.kt b/serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkHeader.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkHeader.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkHeader.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkHelper.kt b/serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkHelper.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/ShellLinkHelper.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/ShellLinkHelper.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/UnsupportedCLSIDException.kt b/serverpackcreator-api/src/main/kotlin/mslinks/UnsupportedCLSIDException.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/UnsupportedCLSIDException.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/UnsupportedCLSIDException.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/UnsupportedItemIDException.kt b/serverpackcreator-api/src/main/kotlin/mslinks/UnsupportedItemIDException.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/UnsupportedItemIDException.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/UnsupportedItemIDException.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/BitSet32.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/BitSet32.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/BitSet32.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/BitSet32.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/CNRLink.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/CNRLink.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/CNRLink.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/CNRLink.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/CNRLinkFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/CNRLinkFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/CNRLinkFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/CNRLinkFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ConsoleFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ConsoleFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ConsoleFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ConsoleFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/FileAttributesFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/FileAttributesFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/FileAttributesFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/FileAttributesFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Filetime.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/Filetime.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Filetime.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/Filetime.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/GUID.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/GUID.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/GUID.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/GUID.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/HotKeyFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/HotKeyFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/HotKeyFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/HotKeyFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemID.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemID.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemID.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemID.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDDrive.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDDrive.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDDrive.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDDrive.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDFS.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDFS.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDFS.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDFS.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRegFolder.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRegFolder.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRegFolder.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRegFolder.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRegItem.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRegItem.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRegItem.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRegItem.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRoot.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRoot.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDRoot.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDRoot.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDUnknown.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDUnknown.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/ItemIDUnknown.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/ItemIDUnknown.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/LinkFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/LinkFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/LinkFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/LinkFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/LinkInfoFlags.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/LinkInfoFlags.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/LinkInfoFlags.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/LinkInfoFlags.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Registry.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/Registry.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Registry.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/Registry.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Size.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/Size.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/Size.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/Size.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/VolumeID.kt b/serverpackcreator-api/src/main/kotlin/mslinks/data/VolumeID.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/data/VolumeID.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/data/VolumeID.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/ConsoleData.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/ConsoleData.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/ConsoleData.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/ConsoleData.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/ConsoleFEData.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/ConsoleFEData.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/ConsoleFEData.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/ConsoleFEData.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/EnvironmentVariable.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/EnvironmentVariable.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/EnvironmentVariable.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/EnvironmentVariable.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/Stub.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/Stub.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/Stub.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/Stub.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/Tracker.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/Tracker.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/Tracker.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/Tracker.kt diff --git a/serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/VistaIDList.kt b/serverpackcreator-api/src/main/kotlin/mslinks/extra/VistaIDList.kt similarity index 100% rename from serverpackcreator-api/src/jvmMain/kotlin/mslinks/extra/VistaIDList.kt rename to serverpackcreator-api/src/main/kotlin/mslinks/extra/VistaIDList.kt diff --git a/serverpackcreator-api/src/jvmMain/resources/CHANGELOG.md b/serverpackcreator-api/src/main/resources/CHANGELOG.md similarity index 99% rename from serverpackcreator-api/src/jvmMain/resources/CHANGELOG.md rename to serverpackcreator-api/src/main/resources/CHANGELOG.md index 66efd9c986d83ef2a478a46565f6f28b901c462e..018714ea74b8df8108b56c05dab40213e1573b0f 100644 --- a/serverpackcreator-api/src/jvmMain/resources/CHANGELOG.md +++ b/serverpackcreator-api/src/main/resources/CHANGELOG.md @@ -1,3 +1,15 @@ +## [5.2.3](https://git.griefed.de/Griefed/ServerPackCreator/compare/5.2.2...5.2.3) (2024-05-25) + + +### 💎 Improvements + +* When disabling Server Pack Overwrites nothing is deleted, but certain data is updated ([ae40f16](https://git.griefed.de/Griefed/ServerPackCreator/commit/ae40f16478ed07f7481ea8bcd8a40a458be01a28)) + + +### 🧪 Tests + +* Run jar test only on ubuntu ([1983daf](https://git.griefed.de/Griefed/ServerPackCreator/commit/1983daf5095f04ca9ce81ef6b1e913915f53000b)) + ## [5.2.2](https://git.griefed.de/Griefed/ServerPackCreator/compare/5.2.1...5.2.2) (2024-05-24) diff --git a/serverpackcreator-api/src/jvmMain/resources/CODE_OF_CONDUCT.md b/serverpackcreator-api/src/main/resources/CODE_OF_CONDUCT.md similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/CODE_OF_CONDUCT.md rename to serverpackcreator-api/src/main/resources/CODE_OF_CONDUCT.md diff --git a/serverpackcreator-api/src/jvmMain/resources/CONTRIBUTING.md b/serverpackcreator-api/src/main/resources/CONTRIBUTING.md similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/CONTRIBUTING.md rename to serverpackcreator-api/src/main/resources/CONTRIBUTING.md diff --git a/serverpackcreator-api/src/jvmMain/resources/HELP.md b/serverpackcreator-api/src/main/resources/HELP.md similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/HELP.md rename to serverpackcreator-api/src/main/resources/HELP.md diff --git a/serverpackcreator-api/src/jvmMain/resources/LICENSE b/serverpackcreator-api/src/main/resources/LICENSE similarity index 92% rename from serverpackcreator-api/src/jvmMain/resources/LICENSE rename to serverpackcreator-api/src/main/resources/LICENSE index 8000a6faacf471c537530805ab29523c7732e11a..20fb9c7da21cb5a29e10f614a03661a935181652 100644 --- a/serverpackcreator-api/src/jvmMain/resources/LICENSE +++ b/serverpackcreator-api/src/main/resources/LICENSE @@ -456,49 +456,3 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/serverpackcreator-api/src/jvmMain/resources/README.md b/serverpackcreator-api/src/main/resources/README.md similarity index 99% rename from serverpackcreator-api/src/jvmMain/resources/README.md rename to serverpackcreator-api/src/main/resources/README.md index c76fbf1b3eb4e4f2e69317947d22b52dee8b0886..b354e948ba83bfc282e045445a0df2ed9e82c367 100644 --- a/serverpackcreator-api/src/jvmMain/resources/README.md +++ b/serverpackcreator-api/src/main/resources/README.md @@ -314,8 +314,15 @@ Huge shoutout and thank you!** ## ✨ Thanks to all of my Supporters and Sponsors ✨ +### Sponsors + <!-- sponsors --><a href="https://github.com/kreezxil"><img src="https://github.com/kreezxil.png" width="60px" alt="" /></a><!-- sponsors --> +### Contributors + +<!-- contributors --> +<!-- contributors end--> + --- ## 7. Libraries and Licenses diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/cli_help.txt b/serverpackcreator-api/src/main/resources/de/griefed/resources/cli_help.txt similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/cli_help.txt rename to serverpackcreator-api/src/main/resources/de/griefed/resources/cli_help.txt diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/examples/serverpackcreator.example b/serverpackcreator-api/src/main/resources/de/griefed/resources/examples/serverpackcreator.example similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/examples/serverpackcreator.example rename to serverpackcreator-api/src/main/resources/de/griefed/resources/examples/serverpackcreator.example diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/lang/lang_de_de.properties b/serverpackcreator-api/src/main/resources/de/griefed/resources/lang/lang_de_de.properties similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/lang/lang_de_de.properties rename to serverpackcreator-api/src/main/resources/de/griefed/resources/lang/lang_de_de.properties diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/lang/lang_uk_ua.properties b/serverpackcreator-api/src/main/resources/de/griefed/resources/lang/lang_uk_ua.properties similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/lang/lang_uk_ua.properties rename to serverpackcreator-api/src/main/resources/de/griefed/resources/lang/lang_uk_ua.properties diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml similarity index 94% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml index 815f1e4f2c2d333504c5ce5e29fbe36a360d281d..49b88fc6ecf229c2d15a0f20dd9f36bd26323c91 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-installer-manifest.xml @@ -3,8 +3,8 @@ <groupId>net.fabricmc</groupId> <artifactId>fabric-installer</artifactId> <versioning> - <latest>1.0.0</latest> - <release>1.0.0</release> + <latest>1.0.1</latest> + <release>1.0.1</release> <versions> <version>0.2.0.7</version> <version>0.2.1.8</version> @@ -67,7 +67,8 @@ <version>0.11.1</version> <version>0.11.2</version> <version>1.0.0</version> + <version>1.0.1</version> </versions> - <lastUpdated>20231230154833</lastUpdated> + <lastUpdated>20240409185404</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json similarity index 93% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json index b2c624eb5c84e31eadd26285f67164bcd09322a8..f4ed4842700ba3dd0d8043e06f025690b990a802 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-intermediaries-manifest.json @@ -1,4 +1,124 @@ [ + { + "maven": "net.fabricmc:intermediary:24w21b", + "version": "24w21b", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w21a", + "version": "24w21a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w20a", + "version": "24w20a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w19b", + "version": "24w19b", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w19a", + "version": "24w19a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w18a", + "version": "24w18a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.6", + "version": "1.20.6", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.6-rc1", + "version": "1.20.6-rc1", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5", + "version": "1.20.5", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-rc3", + "version": "1.20.5-rc3", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-rc2", + "version": "1.20.5-rc2", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-rc1", + "version": "1.20.5-rc1", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-pre4", + "version": "1.20.5-pre4", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-pre3", + "version": "1.20.5-pre3", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-pre2", + "version": "1.20.5-pre2", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:1.20.5-pre1", + "version": "1.20.5-pre1", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w14a", + "version": "24w14a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w14potato", + "version": "24w14potato", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w14potato_original", + "version": "24w14potato_original", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w13a", + "version": "24w13a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w12a", + "version": "24w12a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w11a", + "version": "24w11a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w10a", + "version": "24w10a", + "stable": true + }, + { + "maven": "net.fabricmc:intermediary:24w09a", + "version": "24w09a", + "stable": true + }, { "maven": "net.fabricmc:intermediary:24w07a", "version": "24w07a", diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-manifest.xml similarity index 97% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-manifest.xml index 5448b885e98e2608ad26b7004eed9c9f68ccb32e..98f35cca5ad0a89ee77a6899f48d984a35dbd5d0 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/fabric-manifest.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/fabric-manifest.xml @@ -3,8 +3,8 @@ <groupId>net.fabricmc</groupId> <artifactId>fabric-loader</artifactId> <versioning> - <latest>0.15.7</latest> - <release>0.15.7</release> + <latest>0.15.11</latest> + <release>0.15.11</release> <versions> <version>0.1.0.48</version> <version>0.1.0.49</version> @@ -223,7 +223,11 @@ <version>0.15.5</version> <version>0.15.6</version> <version>0.15.7</version> + <version>0.15.8</version> + <version>0.15.9</version> + <version>0.15.10</version> + <version>0.15.11</version> </versions> - <lastUpdated>20240213140618</lastUpdated> + <lastUpdated>20240503132637</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/forge-manifest.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/forge-manifest.json similarity index 98% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/forge-manifest.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/forge-manifest.json index 3d4d6a8c0a96b38afced5721ab25eb9874a26d4c..f25f2ff8a091903cf2799f9a90adea20d20a5657 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/forge-manifest.json +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/forge-manifest.json @@ -3673,7 +3673,8 @@ "1.16.5-36.2.35", "1.16.5-36.2.39", "1.16.5-36.2.40", - "1.16.5-36.2.41" + "1.16.5-36.2.41", + "1.16.5-36.2.42" ], "1.17.1": [ "1.17.1-37.0.0", @@ -4026,7 +4027,10 @@ "1.18.2-40.2.13", "1.18.2-40.2.14", "1.18.2-40.2.15", - "1.18.2-40.2.17" + "1.18.2-40.2.17", + "1.18.2-40.2.18", + "1.18.2-40.2.19", + "1.18.2-40.2.21" ], "1.19": [ "1.19-41.0.1", @@ -4222,7 +4226,11 @@ "1.19.2-43.3.5", "1.19.2-43.3.6", "1.19.2-43.3.7", - "1.19.2-43.3.8" + "1.19.2-43.3.8", + "1.19.2-43.3.9", + "1.19.2-43.3.10", + "1.19.2-43.3.12", + "1.19.2-43.3.13" ], "1.19.3": [ "1.19.3-44.0.0", @@ -4338,7 +4346,12 @@ "1.19.4-45.2.4", "1.19.4-45.2.6", "1.19.4-45.2.7", - "1.19.4-45.2.8" + "1.19.4-45.2.8", + "1.19.4-45.2.9", + "1.19.4-45.2.10", + "1.19.4-45.2.12", + "1.19.4-45.2.14", + "1.19.4-45.2.15" ], "1.20": [ "1.20-46.0.1", @@ -4423,7 +4436,13 @@ "1.20.1-47.2.17", "1.20.1-47.2.18", "1.20.1-47.2.19", - "1.20.1-47.2.20" + "1.20.1-47.2.20", + "1.20.1-47.2.21", + "1.20.1-47.2.23", + "1.20.1-47.2.29", + "1.20.1-47.2.30", + "1.20.1-47.2.31", + "1.20.1-47.2.32" ], "1.20.2": [ "1.20.2-48.0.0", @@ -4489,6 +4508,52 @@ "1.20.4-49.0.26", "1.20.4-49.0.27", "1.20.4-49.0.28", - "1.20.4-49.0.30" + "1.20.4-49.0.30", + "1.20.4-49.0.31", + "1.20.4-49.0.32", + "1.20.4-49.0.33", + "1.20.4-49.0.34", + "1.20.4-49.0.38", + "1.20.4-49.0.39", + "1.20.4-49.0.40", + "1.20.4-49.0.41", + "1.20.4-49.0.42", + "1.20.4-49.0.43", + "1.20.4-49.0.45", + "1.20.4-49.0.46", + "1.20.4-49.0.48", + "1.20.4-49.0.49", + "1.20.4-49.0.50" + ], + "1.20.6": [ + "1.20.6-50.0.0", + "1.20.6-50.0.1", + "1.20.6-50.0.2", + "1.20.6-50.0.4", + "1.20.6-50.0.5", + "1.20.6-50.0.6", + "1.20.6-50.0.7", + "1.20.6-50.0.8", + "1.20.6-50.0.9", + "1.20.6-50.0.10", + "1.20.6-50.0.11", + "1.20.6-50.0.12", + "1.20.6-50.0.13", + "1.20.6-50.0.14", + "1.20.6-50.0.15", + "1.20.6-50.0.16", + "1.20.6-50.0.17", + "1.20.6-50.0.18", + "1.20.6-50.0.19", + "1.20.6-50.0.20", + "1.20.6-50.0.21", + "1.20.6-50.0.22", + "1.20.6-50.0.24", + "1.20.6-50.0.25", + "1.20.6-50.0.26", + "1.20.6-50.0.28", + "1.20.6-50.0.29", + "1.20.6-50.0.30", + "1.20.6-50.0.31" ] } \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-game-manifest.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-game-manifest.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-game-manifest.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-game-manifest.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-installer-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-installer-manifest.xml similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-installer-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-installer-manifest.xml diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json similarity index 90% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json index 5e7fcfca2736e77df69dac827ec8298cbea31cdc..b2eb1108d5f0a867e4c9f8a5356bc358e7d0715f 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/legacy-fabric-loader-manifest.json @@ -1,10 +1,38 @@ [ + { + "separator": ".", + "build": 11, + "maven": "net.fabricmc:fabric-loader:0.15.11", + "version": "0.15.11", + "stable": true + }, + { + "separator": ".", + "build": 10, + "maven": "net.fabricmc:fabric-loader:0.15.10", + "version": "0.15.10", + "stable": false + }, + { + "separator": ".", + "build": 9, + "maven": "net.fabricmc:fabric-loader:0.15.9", + "version": "0.15.9", + "stable": false + }, + { + "separator": ".", + "build": 8, + "maven": "net.fabricmc:fabric-loader:0.15.8", + "version": "0.15.8", + "stable": false + }, { "separator": ".", "build": 7, "maven": "net.fabricmc:fabric-loader:0.15.7", "version": "0.15.7", - "stable": true + "stable": false }, { "separator": ".", diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.0.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.0.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.0.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.0.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.10.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.10.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.11.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.11.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.12.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.12.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre10.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre10.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre10.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre10.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre9.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre9.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13-pre9.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13-pre9.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.13.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.13.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14 Pre-Release 5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1 Pre-Release 2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2 Pre-Release 4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.14.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.14.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.15.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.15.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-pre8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-pre8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.3-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.3-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.3-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.3-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.5-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.5-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.5-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.5-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.16.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.16.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.17.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.17.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-pre8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-pre8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18-rc4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18-rc4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1-rc3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.18.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.18.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1-rc3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3-rc3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4-rc3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.19.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.19.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.2.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.2.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.1-rc1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.1-rc1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.1-rc1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.1-rc1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.4.json diff --git a/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.6.json new file mode 100644 index 0000000000000000000000000000000000000000..c3cc55797202c4e9ab20443fc9689c61f9126acf --- /dev/null +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.6.json @@ -0,0 +1 @@ +{"arguments": {"game": ["--username", "${auth_player_name}", "--version", "${version_name}", "--gameDir", "${game_directory}", "--assetsDir", "${assets_root}", "--assetIndex", "${assets_index_name}", "--uuid", "${auth_uuid}", "--accessToken", "${auth_access_token}", "--clientId", "${clientid}", "--xuid", "${auth_xuid}", "--userType", "${user_type}", "--versionType", "${version_type}", {"rules": [{"action": "allow", "features": {"is_demo_user": true}}], "value": "--demo"}, {"rules": [{"action": "allow", "features": {"has_custom_resolution": true}}], "value": ["--width", "${resolution_width}", "--height", "${resolution_height}"]}, {"rules": [{"action": "allow", "features": {"has_quick_plays_support": true}}], "value": ["--quickPlayPath", "${quickPlayPath}"]}, {"rules": [{"action": "allow", "features": {"is_quick_play_singleplayer": true}}], "value": ["--quickPlaySingleplayer", "${quickPlaySingleplayer}"]}, {"rules": [{"action": "allow", "features": {"is_quick_play_multiplayer": true}}], "value": ["--quickPlayMultiplayer", "${quickPlayMultiplayer}"]}, {"rules": [{"action": "allow", "features": {"is_quick_play_realms": true}}], "value": ["--quickPlayRealms", "${quickPlayRealms}"]}], "jvm": [{"rules": [{"action": "allow", "os": {"name": "osx"}}], "value": ["-XstartOnFirstThread"]}, {"rules": [{"action": "allow", "os": {"name": "windows"}}], "value": "-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump"}, {"rules": [{"action": "allow", "os": {"arch": "x86"}}], "value": "-Xss1M"}, "-Djava.library.path=${natives_directory}", "-Djna.tmpdir=${natives_directory}", "-Dorg.lwjgl.system.SharedLibraryExtractPath=${natives_directory}", "-Dio.netty.native.workdir=${natives_directory}", "-Dminecraft.launcher.brand=${launcher_name}", "-Dminecraft.launcher.version=${launcher_version}", "-cp", "${classpath}"]}, "assetIndex": {"id": "16", "sha1": "70b356f90765d4b8da2ae93737d0f384e2343c4a", "size": 445177, "totalSize": 631434693, "url": "https://piston-meta.mojang.com/v1/packages/70b356f90765d4b8da2ae93737d0f384e2343c4a/16.json"}, "assets": "16", "complianceLevel": 1, "downloads": {"client": {"sha1": "05b6f1c6b46a29d6ea82b4e0d42190e42402030f", "size": 26565641, "url": "https://piston-data.mojang.com/v1/objects/05b6f1c6b46a29d6ea82b4e0d42190e42402030f/client.jar"}, "client_mappings": {"sha1": "de46c8f33d7826eb83e8ef0e9f80dc1f08cb9498", "size": 9422442, "url": "https://piston-data.mojang.com/v1/objects/de46c8f33d7826eb83e8ef0e9f80dc1f08cb9498/client.txt"}, "server": {"sha1": "145ff0858209bcfc164859ba735d4199aafa1eea", "size": 51420480, "url": "https://piston-data.mojang.com/v1/objects/145ff0858209bcfc164859ba735d4199aafa1eea/server.jar"}, "server_mappings": {"sha1": "9e96100f573a46ef44caab3e716d5eb974594bb7", "size": 7283803, "url": "https://piston-data.mojang.com/v1/objects/9e96100f573a46ef44caab3e716d5eb974594bb7/server.txt"}}, "id": "1.20.6", "javaVersion": {"component": "java-runtime-delta", "majorVersion": 21}, "libraries": [{"downloads": {"artifact": {"path": "ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar", "sha1": "1227f9e0666314f9de41477e3ec277e542ed7f7b", "size": 1330045, "url": "https://libraries.minecraft.net/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar"}}, "name": "ca.weblite:java-objc-bridge:1.1", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "com/github/oshi/oshi-core/6.4.10/oshi-core-6.4.10.jar", "sha1": "b1d8ab82d11d92fd639b56d639f8f46f739dd5fa", "size": 979212, "url": "https://libraries.minecraft.net/com/github/oshi/oshi-core/6.4.10/oshi-core-6.4.10.jar"}}, "name": "com.github.oshi:oshi-core:6.4.10"}, {"downloads": {"artifact": {"path": "com/google/code/gson/gson/2.10.1/gson-2.10.1.jar", "sha1": "b3add478d4382b78ea20b1671390a858002feb6c", "size": 283367, "url": "https://libraries.minecraft.net/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar"}}, "name": "com.google.code.gson:gson:2.10.1"}, {"downloads": {"artifact": {"path": "com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar", "sha1": "1dcf1de382a0bf95a3d8b0849546c88bac1292c9", "size": 4617, "url": "https://libraries.minecraft.net/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"}}, "name": "com.google.guava:failureaccess:1.0.1"}, {"downloads": {"artifact": {"path": "com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar", "sha1": "5e64ec7e056456bef3a4bc4c6fdaef71e8ab6318", "size": 3041591, "url": "https://libraries.minecraft.net/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar"}}, "name": "com.google.guava:guava:32.1.2-jre"}, {"downloads": {"artifact": {"path": "com/ibm/icu/icu4j/73.2/icu4j-73.2.jar", "sha1": "61ad4ef7f9131fcf6d25c34b817f90d6da06c9e9", "size": 14567819, "url": "https://libraries.minecraft.net/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar"}}, "name": "com.ibm.icu:icu4j:73.2"}, {"downloads": {"artifact": {"path": "com/mojang/authlib/6.0.54/authlib-6.0.54.jar", "sha1": "de8bc95660e1b2fe8793fd427a7a10dcec5b3ea7", "size": 115242, "url": "https://libraries.minecraft.net/com/mojang/authlib/6.0.54/authlib-6.0.54.jar"}}, "name": "com.mojang:authlib:6.0.54"}, {"downloads": {"artifact": {"path": "com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar", "sha1": "5c685c5ffa94c4cd39496c7184c1d122e515ecef", "size": 964, "url": "https://libraries.minecraft.net/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar"}}, "name": "com.mojang:blocklist:1.0.10"}, {"downloads": {"artifact": {"path": "com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar", "sha1": "73e324f2ee541493a5179abf367237faa782ed21", "size": 79955, "url": "https://libraries.minecraft.net/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar"}}, "name": "com.mojang:brigadier:1.2.9"}, {"downloads": {"artifact": {"path": "com/mojang/datafixerupper/7.0.14/datafixerupper-7.0.14.jar", "sha1": "db3485dc1e6b712bd81170d5ce6dca2fb2f8bd86", "size": 722976, "url": "https://libraries.minecraft.net/com/mojang/datafixerupper/7.0.14/datafixerupper-7.0.14.jar"}}, "name": "com.mojang:datafixerupper:7.0.14"}, {"downloads": {"artifact": {"path": "com/mojang/logging/1.2.7/logging-1.2.7.jar", "sha1": "24cb95ffb0e3433fd6e844c04e68009e504ca1c0", "size": 15343, "url": "https://libraries.minecraft.net/com/mojang/logging/1.2.7/logging-1.2.7.jar"}}, "name": "com.mojang:logging:1.2.7"}, {"downloads": {"artifact": {"path": "com/mojang/patchy/2.2.10/patchy-2.2.10.jar", "sha1": "da05971b07cbb379d002cf7eaec6a2048211fefc", "size": 4439, "url": "https://libraries.minecraft.net/com/mojang/patchy/2.2.10/patchy-2.2.10.jar"}}, "name": "com.mojang:patchy:2.2.10"}, {"downloads": {"artifact": {"path": "com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar", "sha1": "3cad216e3a7f0c19b4b394388bc9ffc446f13b14", "size": 12243, "url": "https://libraries.minecraft.net/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar"}}, "name": "com.mojang:text2speech:1.17.9"}, {"downloads": {"artifact": {"path": "commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar", "sha1": "4e3eb3d79888d76b54e28b350915b5dc3919c9de", "size": 360738, "url": "https://libraries.minecraft.net/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar"}}, "name": "commons-codec:commons-codec:1.16.0"}, {"downloads": {"artifact": {"path": "commons-io/commons-io/2.15.1/commons-io-2.15.1.jar", "sha1": "f11560da189ab563a5c8e351941415430e9304ea", "size": 501218, "url": "https://libraries.minecraft.net/commons-io/commons-io/2.15.1/commons-io-2.15.1.jar"}}, "name": "commons-io:commons-io:2.15.1"}, {"downloads": {"artifact": {"path": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar", "sha1": "4bfc12adfe4842bf07b657f0369c4cb522955686", "size": 61829, "url": "https://libraries.minecraft.net/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"}}, "name": "commons-logging:commons-logging:1.2"}, {"downloads": {"artifact": {"path": "io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar", "sha1": "f8f3d8644afa5e6e1a40a3a6aeb9d9aa970ecb4f", "size": 306590, "url": "https://libraries.minecraft.net/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar"}}, "name": "io.netty:netty-buffer:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar", "sha1": "384ba4d75670befbedb45c4d3b497a93639c206d", "size": 345274, "url": "https://libraries.minecraft.net/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar"}}, "name": "io.netty:netty-codec:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar", "sha1": "7cceacaf11df8dc63f23d0fb58e9d4640fc88404", "size": 659930, "url": "https://libraries.minecraft.net/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar"}}, "name": "io.netty:netty-common:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar", "sha1": "abb86c6906bf512bf2b797a41cd7d2e8d3cd7c36", "size": 560040, "url": "https://libraries.minecraft.net/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar"}}, "name": "io.netty:netty-handler:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar", "sha1": "cec8348108dc76c47cf87c669d514be52c922144", "size": 37792, "url": "https://libraries.minecraft.net/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar"}}, "name": "io.netty:netty-resolver:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar", "sha1": "795da37ded759e862457a82d9d92c4d39ce8ecee", "size": 147139, "url": "https://libraries.minecraft.net/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar"}}, "name": "io.netty:netty-transport-classes-epoll:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-aarch_64.jar", "sha1": "5514744c588190ffda076b35a9b8c9f24946a960", "size": 40427, "url": "https://libraries.minecraft.net/io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-aarch_64.jar"}}, "name": "io.netty:netty-transport-native-epoll:4.1.97.Final:linux-aarch_64", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar", "sha1": "54188f271e388e7f313aea995e82f58ce2cdb809", "size": 38954, "url": "https://libraries.minecraft.net/io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar"}}, "name": "io.netty:netty-transport-native-epoll:4.1.97.Final:linux-x86_64", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar", "sha1": "d469d84265ab70095b01b40886cabdd433b6e664", "size": 43897, "url": "https://libraries.minecraft.net/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar"}}, "name": "io.netty:netty-transport-native-unix-common:4.1.97.Final"}, {"downloads": {"artifact": {"path": "io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar", "sha1": "f37380d23c9bb079bc702910833b2fd532c9abd0", "size": 489624, "url": "https://libraries.minecraft.net/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar"}}, "name": "io.netty:netty-transport:4.1.97.Final"}, {"downloads": {"artifact": {"path": "it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar", "sha1": "c24946d46824bd528054bface3231d2ecb7e95e8", "size": 23326598, "url": "https://libraries.minecraft.net/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar"}}, "name": "it.unimi.dsi:fastutil:8.5.12"}, {"downloads": {"artifact": {"path": "net/java/dev/jna/jna-platform/5.14.0/jna-platform-5.14.0.jar", "sha1": "28934d48aed814f11e4c584da55c49fa7032b31b", "size": 1369287, "url": "https://libraries.minecraft.net/net/java/dev/jna/jna-platform/5.14.0/jna-platform-5.14.0.jar"}}, "name": "net.java.dev.jna:jna-platform:5.14.0"}, {"downloads": {"artifact": {"path": "net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar", "sha1": "67bf3eaea4f0718cb376a181a629e5f88fa1c9dd", "size": 1878533, "url": "https://libraries.minecraft.net/net/java/dev/jna/jna/5.14.0/jna-5.14.0.jar"}}, "name": "net.java.dev.jna:jna:5.14.0"}, {"downloads": {"artifact": {"path": "net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar", "sha1": "4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c", "size": 78146, "url": "https://libraries.minecraft.net/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar"}}, "name": "net.sf.jopt-simple:jopt-simple:5.0.4"}, {"downloads": {"artifact": {"path": "org/apache/commons/commons-compress/1.26.0/commons-compress-1.26.0.jar", "sha1": "659feffdd12280201c8aacb8f7be94f9a883c824", "size": 1078328, "url": "https://libraries.minecraft.net/org/apache/commons/commons-compress/1.26.0/commons-compress-1.26.0.jar"}}, "name": "org.apache.commons:commons-compress:1.26.0"}, {"downloads": {"artifact": {"path": "org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar", "sha1": "1ed471194b02f2c6cb734a0cd6f6f107c673afae", "size": 657952, "url": "https://libraries.minecraft.net/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar"}}, "name": "org.apache.commons:commons-lang3:3.14.0"}, {"downloads": {"artifact": {"path": "org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar", "sha1": "e5f6cae5ca7ecaac1ec2827a9e2d65ae2869cada", "size": 780321, "url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar"}}, "name": "org.apache.httpcomponents:httpclient:4.5.13"}, {"downloads": {"artifact": {"path": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar", "sha1": "51cf043c87253c9f58b539c9f7e44c8894223850", "size": 327891, "url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar"}}, "name": "org.apache.httpcomponents:httpcore:4.4.16"}, {"downloads": {"artifact": {"path": "org/apache/logging/log4j/log4j-api/2.22.1/log4j-api-2.22.1.jar", "sha1": "bea6fede6328fabafd7e68363161a7ea6605abd1", "size": 335001, "url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-api/2.22.1/log4j-api-2.22.1.jar"}}, "name": "org.apache.logging.log4j:log4j-api:2.22.1"}, {"downloads": {"artifact": {"path": "org/apache/logging/log4j/log4j-core/2.22.1/log4j-core-2.22.1.jar", "sha1": "7183a25510a02ad00cc6a95d3b3d2a7d3c5a8dc4", "size": 1900022, "url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-core/2.22.1/log4j-core-2.22.1.jar"}}, "name": "org.apache.logging.log4j:log4j-core:2.22.1"}, {"downloads": {"artifact": {"path": "org/apache/logging/log4j/log4j-slf4j2-impl/2.22.1/log4j-slf4j2-impl-2.22.1.jar", "sha1": "d7e6693c2606cb7e7335047d7bb96dec52db5665", "size": 27364, "url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-slf4j2-impl/2.22.1/log4j-slf4j2-impl-2.22.1.jar"}}, "name": "org.apache.logging.log4j:log4j-slf4j2-impl:2.22.1"}, {"downloads": {"artifact": {"path": "org/jcraft/jorbis/0.0.17/jorbis-0.0.17.jar", "sha1": "8872d22b293e8f5d7d56ff92be966e6dc28ebdc6", "size": 99701, "url": "https://libraries.minecraft.net/org/jcraft/jorbis/0.0.17/jorbis-0.0.17.jar"}}, "name": "org.jcraft:jorbis:0.0.17"}, {"downloads": {"artifact": {"path": "org/joml/joml/1.10.5/joml-1.10.5.jar", "sha1": "22566d58af70ad3d72308bab63b8339906deb649", "size": 712082, "url": "https://libraries.minecraft.net/org/joml/joml/1.10.5/joml-1.10.5.jar"}}, "name": "org.joml:joml:1.10.5"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3.jar", "sha1": "a0db6c84a8becc8ca05f9dbfa985edc348a824c7", "size": 450896, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-linux.jar", "sha1": "149070a5480900347071b7074779531f25a6e3dc", "size": 1245129, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-macos.jar", "sha1": "1e9b635b5c16b515527b905749be59223e338c4d", "size": 1142682, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-macos-arm64.jar", "sha1": "b0a8c9baa9d1f54ac61e1ab9640c7659e7fa700c", "size": 1040981, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows.jar", "sha1": "81091b006dbb43fab04c8c638e9ac87c51b4096d", "size": 1035586, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-arm64.jar", "sha1": "82028265a0a2ff33523ca75137ada7dc176e5210", "size": 886068, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-x86.jar", "sha1": "15a8c1de7f51d07a92eae7ce1222557073a0c0c3", "size": 877480, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-freetype:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3.jar", "sha1": "efa1eb78c5ccd840e9f329717109b5e892d72f8e", "size": 135546, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-linux.jar", "sha1": "a03684c5e4b1b1dbbe0d29dbbdc27b985b6840f2", "size": 118478, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-macos.jar", "sha1": "a1bf400f6bc64e6195596cb1430dafda46090751", "size": 140884, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-macos-arm64.jar", "sha1": "ee8cc78d0a4a5b3b4600fade6d927c9fc320c858", "size": 138288, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows.jar", "sha1": "e449e28b4891fc423c54c85fbc5bb0b9efece67a", "size": 166368, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-arm64.jar", "sha1": "f27018dc74f6289574502b46cce55d52817554e2", "size": 141970, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-x86.jar", "sha1": "32334f3fd5270a59bad9939a93115acb6de36dcf", "size": 157123, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-glfw:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3.jar", "sha1": "b543467b7ff3c6920539a88ee602d34098628be5", "size": 43896, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-linux.jar", "sha1": "4f86728bf449b1dd61251c4e0ac01df1389cb51e", "size": 206779, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-macos.jar", "sha1": "2906637657a57579847238c9c72d2c4bde7083f8", "size": 153131, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-macos-arm64.jar", "sha1": "e9412c3ff8cb3a3bad1d3f52909ad74d8a5bdad1", "size": 141418, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows.jar", "sha1": "426222fc027602a5f21b9c0fe79cde6a4c7a011f", "size": 180344, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-arm64.jar", "sha1": "ba1f3fed0ee4be0217eaa41c5bbfb4b9b1383c33", "size": 154415, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-x86.jar", "sha1": "f6063b6e0f23be483c5c88d84ce51b39dc69126c", "size": 148612, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-jemalloc:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3.jar", "sha1": "daada81ceb5fc0c291fbfdd4433cb8d9423577f2", "size": 110586, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-linux.jar", "sha1": "3037360cc4595079bea240af250b6d1a527e0905", "size": 573224, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-macos.jar", "sha1": "8df8338bfa77f2ebabef4e58964bd04d24805cbf", "size": 519824, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-macos-arm64.jar", "sha1": "0c78b078de2fb52f45aa55d04db889a560f3544f", "size": 471012, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows.jar", "sha1": "cf83862ae95d98496b26915024c7e666d8ab1c8f", "size": 698720, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-arm64.jar", "sha1": "8e0615235116b9e4160dfe87bec90f5f6378bf72", "size": 630410, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-x86.jar", "sha1": "87b8d5050e3adb46bb58fe1cb2669a4a48fce10d", "size": 638424, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-openal:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3.jar", "sha1": "02f6b0147078396a58979125a4c947664e98293a", "size": 929192, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-linux.jar", "sha1": "62c70a4b00ca5391882b0f4b787c1588d24f1c86", "size": 80463, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-macos.jar", "sha1": "1bd45997551ae8a28469f3a2b678f4b7289e12c0", "size": 41484, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-macos-arm64.jar", "sha1": "d213ddef27637b1af87961ffa94d6b27036becc8", "size": 42487, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows.jar", "sha1": "e6c1eec8be8a71951b830a4d69efc01c6531900c", "size": 101535, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-arm64.jar", "sha1": "65e956d3735a1abdc82eff4baec1b61174697d4b", "size": 83095, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-x86.jar", "sha1": "0d32d833dcaa2f355a886eaf21f0408b5f03241d", "size": 88612, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-opengl:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3.jar", "sha1": "25dd6161988d7e65f71d5065c99902402ee32746", "size": 120283, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-linux.jar", "sha1": "fd1271ccd9d85eff2fa31f3fd543e02ccfaf5041", "size": 231820, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-macos.jar", "sha1": "472792c98fb2c1557c060cb9da5fca6a9773621f", "size": 216456, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-macos-arm64.jar", "sha1": "51c6955571fbcdb7bb538c6aa589b953b584c6af", "size": 183628, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows.jar", "sha1": "1d9facdf6541de114b0f963be33505b7679c78cb", "size": 261297, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-arm64.jar", "sha1": "a584ab44de569708871f0a79561f4d8c37487f2c", "size": 219511, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-x86.jar", "sha1": "b5c874687b9aac1a936501d4ed2c49567fd1b575", "size": 227800, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-stb:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3.jar", "sha1": "82d755ca94b102e9ca77283b9e2dc46d1b15fbe5", "size": 13400, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-linux.jar", "sha1": "d8d58daa0c3e5fd906fee96f5fddbcbc07cc308b", "size": 44192, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-macos.jar", "sha1": "6598081e346a03038a8be68eb2de614a1c2eac68", "size": 45865, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-macos-arm64.jar", "sha1": "406feedb977372085a61eb0fee358183f4f4c67a", "size": 42498, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows.jar", "sha1": "a6697981b0449a5087c1d546fc08b4f73e8f98c9", "size": 130253, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-arm64.jar", "sha1": "a88c494f3006eb91a7433b12a3a55a9a6c20788b", "size": 110867, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-x86.jar", "sha1": "c336c84ee88cccb495c6ffa112395509e7378e8a", "size": 111797, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl-tinyfd:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3.jar", "sha1": "29589b5f87ed335a6c7e7ee6a5775f81f97ecb84", "size": 785029, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3"}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-linux.jar", "sha1": "1713758e3660ba66e1e954396fd18126038b33c0", "size": 114627, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-linux.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-linux", "rules": [{"action": "allow", "os": {"name": "linux"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-macos.jar", "sha1": "33a6efa288390490ce6eb6c3df47ac21ecf648cf", "size": 60543, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-macos.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-macos", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-macos-arm64.jar", "sha1": "226246e75f6bd8d4e1895bdce8638ef87808d114", "size": 48620, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-macos-arm64.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-macos-arm64", "rules": [{"action": "allow", "os": {"name": "osx"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows.jar", "sha1": "a5ed18a2b82fc91b81f40d717cb1f64c9dcb0540", "size": 165442, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-windows", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-arm64.jar", "sha1": "e9aca8c5479b520a2a7f0d542a118140e812c5e8", "size": 133378, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-arm64.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-windows-arm64", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-x86.jar", "sha1": "9e670718e050aeaeea0c2d5b907cffb142f2e58f", "size": 139653, "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-windows-x86.jar"}}, "name": "org.lwjgl:lwjgl:3.3.3:natives-windows-x86", "rules": [{"action": "allow", "os": {"name": "windows"}}]}, {"downloads": {"artifact": {"path": "org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar", "sha1": "4b986a99445e49ea5fbf5d149c4b63f6ed6c6780", "size": 682804, "url": "https://libraries.minecraft.net/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar"}}, "name": "org.lz4:lz4-java:1.8.0"}, {"downloads": {"artifact": {"path": "org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar", "sha1": "7cf2726fdcfbc8610f9a71fb3ed639871f315340", "size": 64579, "url": "https://libraries.minecraft.net/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar"}}, "name": "org.slf4j:slf4j-api:2.0.9"}], "logging": {"client": {"argument": "-Dlog4j.configurationFile=${path}", "file": {"id": "client-1.12.xml", "sha1": "bd65e7d2e3c237be76cfbef4c2405033d7f91521", "size": 888, "url": "https://piston-data.mojang.com/v1/objects/bd65e7d2e3c237be76cfbef4c2405033d7f91521/client-1.12.xml"}, "type": "log4j2-xml"}}, "mainClass": "net.minecraft.client.main.Main", "minimumLauncherVersion": 21, "releaseTime": "2024-04-29T12:40:45+00:00", "time": "2024-04-29T12:40:45+00:00", "type": "release"} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.20.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.20.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.10.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.10.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.9.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.9.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.9.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.9.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2-pre7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.5.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.5.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.5.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.5.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.6.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.6.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.6.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.6.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.7.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.7.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.7.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.7.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.9.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.9.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.9.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.9.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.8.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.8.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9-pre4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9-pre4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre2.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre2.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre2.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre2.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3-pre3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.3.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.3.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.4.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.4.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.4.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.4.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.9.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.9.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.RV-Pre1.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.RV-Pre1.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/1.RV-Pre1.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/1.RV-Pre1.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w16b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w16b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w16b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w16b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w18c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w18c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w21a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w21a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w21a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w21a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w21b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w21b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w21b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w21b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w22a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w22a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w22a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w22a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w23a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w23a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w23a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w23a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w23b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w23b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w23b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w23b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w24a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w24a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w24a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w24a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w24b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w24b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w24b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w24b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w25c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w25c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w26a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w26a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w26a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w26a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w36a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w36a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w36a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w36a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w36b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w36b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w36b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w36b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w37a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w37a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w37a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w37a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w37b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w37b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w37b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w37b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w38c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w38c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w39a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w39a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w39a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w39a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w39b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w39b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w39b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w39b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w41a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w41a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w41a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w41a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w41b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w41b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w41b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w41b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w42b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w42b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w42b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w42b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47e.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47e.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w47e.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w47e.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w48a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w48a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w48a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w48a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w48b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w48b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w48b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w48b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w49a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w49a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/13w49a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/13w49a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w02c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w02c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w03b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w03b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w03b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w03b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w04a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w04a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w04a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w04a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w04b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w04b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w04b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w04b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w05b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w05b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w05b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w05b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w06b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w06b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w06b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w06b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w08a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w08a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w08a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w08a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w10c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w10c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w11b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w11b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w11b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w11b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w18b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w18b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w18b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w18b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w20a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w20a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w20a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w20a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w20b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w20b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w20b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w20b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w21a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w21a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w21a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w21a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w21b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w21b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w21b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w21b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w25a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w25a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w25a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w25a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w25b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w25b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w25b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w25b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w26c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w26c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w27a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w27a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w27a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w27a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w27b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w27b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w27b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w27b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w28a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w28a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w28a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w28a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w28b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w28b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w28b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w28b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w29a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w29a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w29a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w29a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w29b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w29b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w29b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w29b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w30c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w30c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w31a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w31a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w31a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w31a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w32d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w32d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w33c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w33c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/14w34d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/14w34d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w31c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w31c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w32c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w32c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w33c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w33c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w34d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w34d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35e.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35e.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w35e.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w35e.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w36d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w36d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w37a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w37a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w37a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w37a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w38a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w38a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w38a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w38a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w38b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w38b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w38b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w38b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w39c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w39c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w40a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w40a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w40a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w40a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w40b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w40b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w40b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w40b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w41a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w41a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w41a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w41a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w41b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w41b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w41b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w41b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w43c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w43c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w44b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w44b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w44b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w44b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w47c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w47c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w49a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w49a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w49a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w49a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w49b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w49b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w49b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w49b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w50a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w50a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w50a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w50a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w51a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w51a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w51a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w51a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w51b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w51b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/15w51b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/15w51b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w02a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w02a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w02a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w02a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w04a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w04a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w04a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w04a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w05b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w05b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w05b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w05b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w07b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w07b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w07b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w07b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w15b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w15b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w15b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w15b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w20a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w20a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w20a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w20a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w21a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w21a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w21a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w21a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w21b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w21b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w21b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w21b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w32a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w32a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w32a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w32a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w32b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w32b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w32b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w32b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w33a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w33a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w33a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w33a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w35a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w35a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w35a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w35a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w36a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w36a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w36a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w36a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w38a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w38a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w38a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w38a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w39c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w39c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w40a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w40a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w40a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w40a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w41a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w41a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w41a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w41a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w50a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w50a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/16w50a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/16w50a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w13b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w13b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w13b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w13b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w16b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w16b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w16b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w16b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w17b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w17b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w17b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w17b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w18b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w18b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w18b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w18b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w31a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w31a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w31a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w31a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w43b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w43b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w43b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w43b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w45b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w45b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w45b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w45b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w47a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w47a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w47a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w47a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w47b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w47b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w47b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w47b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w48a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w48a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w48a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w48a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w49a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w49a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w49a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w49a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w49b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w49b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w49b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w49b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w50a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w50a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/17w50a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/17w50a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w01a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w01a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w01a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w01a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w02a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w02a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w02a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w02a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w03b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w03b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w03b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w03b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w07c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w07c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w08a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w08a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w08a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w08a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w08b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w08b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w08b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w08b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w09a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w09a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w09a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w09a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10d.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10d.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w10d.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w10d.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w14b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w14b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w14b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w14b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w19b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w19b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w19b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w19b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w20c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w20c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w21a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w21a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w21a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w21a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w21b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w21b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w21b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w21b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w22c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w22c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w30a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w30a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w30a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w30a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w30b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w30b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w30b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w30b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w31a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w31a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w31a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w31a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w32a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w32a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w32a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w32a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w33a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w33a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w33a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w33a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w43c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w43c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w47a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w47a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w47a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w47a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w47b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w47b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w47b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w47b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w48a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w48a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w48a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w48a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w48b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w48b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w48b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w48b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w49a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w49a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w49a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w49a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w50a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w50a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/18w50a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/18w50a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w02a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w02a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w02a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w02a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03c.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03c.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w03c.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w03c.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w04a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w04a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w04a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w04a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w04b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w04b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w04b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w04b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w08a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w08a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w08a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w08a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w08b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w08b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w08b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w08b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w09a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w09a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w09a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w09a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w11b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w11b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w11b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w11b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w12a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w12a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w12a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w12a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w12b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w12b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w12b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w12b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w13b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w13b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w13b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w13b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w14b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w14b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w14b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w14b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w34a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w34a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w34a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w34a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w35a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w35a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w35a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w35a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w36a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w36a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w36a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w36a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w37a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w37a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w37a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w37a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w38a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w38a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w38a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w38a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w38b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w38b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w38b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w38b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w39a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w39a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w39a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w39a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w40a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w40a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w40a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w40a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w41a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w41a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w41a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w41a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w45b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w45b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w45b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w45b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w46b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w46b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/19w46b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/19w46b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w08a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w08a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w08a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w08a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w09a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w09a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w09a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w09a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w10a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w10a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w10a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w10a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w12a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w12a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w12a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w12a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w13b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w13b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w13b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w13b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w14infinite.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w14infinite.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w14infinite.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w14infinite.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w20a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w20a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w20a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w20a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w20b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w20b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w20b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w20b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w21a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w21a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w21a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w21a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w22a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w22a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w22a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w22a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w27a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w27a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w27a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w27a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w28a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w28a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w28a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w28a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w29a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w29a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w29a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w29a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w30a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w30a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w30a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w30a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w48a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w48a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w48a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w48a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w49a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w49a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w49a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w49a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w51a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w51a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/20w51a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/20w51a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w05b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w05b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w05b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w05b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w08a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w08a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w08a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w08a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w08b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w08b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w08b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w08b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w10a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w10a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w10a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w10a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w20a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w20a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w20a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w20a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w37a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w37a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w37a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w37a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w38a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w38a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w38a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w38a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w39a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w39a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w39a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w39a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w40a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w40a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w40a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w40a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w41a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w41a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w41a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w41a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/21w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/21w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w11a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w11a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w11a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w11a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w12a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w12a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w12a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w12a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w13oneblockatatime.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w13oneblockatatime.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w13oneblockatatime.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w13oneblockatatime.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w15a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w15a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w15a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w15a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w16b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w16b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w16b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w16b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w19a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w19a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w19a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w19a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w24a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w24a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w24a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w24a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w42a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w42a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w42a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w42a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w43a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w43a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w43a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w43a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w44a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w44a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w44a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w44a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w45a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w45a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w45a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w45a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w46a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w46a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/22w46a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/22w46a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w03a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w03a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w03a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w03a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w04a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w04a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w04a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w04a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w05a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w05a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w05a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w05a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w06a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w06a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w06a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w06a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w07a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w07a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w07a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w07a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w12a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w12a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w12a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w12a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w13a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w13a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w13a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w13a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w13a_or_b.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w13a_or_b.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w13a_or_b.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w13a_or_b.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w14a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w14a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w14a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w14a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w16a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w16a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w16a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w16a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w17a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w17a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w17a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w17a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w18a.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w18a.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/23w18a.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/23w18a.json diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/3D Shareware v1.34.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/3D Shareware v1.34.json similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/mcserver/3D Shareware v1.34.json rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/mcserver/3D Shareware v1.34.json diff --git a/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/minecraft-manifest.json b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/minecraft-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..a7288bc94c8eddce2de20cf5a11bf1def6389b06 --- /dev/null +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/minecraft-manifest.json @@ -0,0 +1 @@ +{"latest": {"release": "1.20.6", "snapshot": "24w21b"}, "versions": [{"id": "24w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d585c8e981e58326237746ca1253dea15c9e4aaa/24w21b.json", "time": "2024-05-22T16:34:05+00:00", "releaseTime": "2024-05-22T16:25:41+00:00"}, {"id": "24w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a7346493faf4a8fd8bb4b9ea179ab60345d70b20/24w21a.json", "time": "2024-05-22T14:26:26+00:00", "releaseTime": "2024-05-22T14:18:26+00:00"}, {"id": "24w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f84fe1745344d33978cbf16857a0576402abc9ea/24w20a.json", "time": "2024-05-22T11:55:49+00:00", "releaseTime": "2024-05-15T12:00:35+00:00"}, {"id": "24w19b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e31c245048e6d135e2ebea1755cffebfba0b70c2/24w19b.json", "time": "2024-05-22T11:55:49+00:00", "releaseTime": "2024-05-10T14:32:42+00:00"}, {"id": "24w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0328405027d9526ea41ed764117bec49ddd1ed50/24w19a.json", "time": "2024-05-22T11:55:49+00:00", "releaseTime": "2024-05-10T12:15:31+00:00"}, {"id": "24w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7fe0c83d30004cdd837aa66cd5ff327ecf237e7a/24w18a.json", "time": "2024-05-22T11:55:49+00:00", "releaseTime": "2024-05-03T12:08:27+00:00"}, {"id": "1.20.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/111890b5a8c2fee9b77036f9f377b33df42c718a/1.20.6.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-29T12:40:45+00:00"}, {"id": "1.20.6-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0b322fb5dded24d22e401d095dbfe9cd97f80339/1.20.6-rc1.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-26T10:12:17+00:00"}, {"id": "1.20.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/8184ab98c044f3e0e959023334b8e68564f898fa/1.20.5.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-23T11:54:12+00:00"}, {"id": "1.20.5-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/384892ff9873fd36cc724df7592ba4868fb8d8c3/1.20.5-rc3.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-22T13:42:34+00:00"}, {"id": "1.20.5-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f9451fcbabc8665b031dce7cfeba9a7204821959/1.20.5-rc2.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-19T13:13:15+00:00"}, {"id": "1.20.5-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6e959ae81fd657733e85b0942c868db0af2e41bd/1.20.5-rc1.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-18T11:45:40+00:00"}, {"id": "1.20.5-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e507f80f06058d550a8641f97e67b2dc8a2a8d4c/1.20.5-pre4.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-17T11:56:02+00:00"}, {"id": "1.20.5-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/329217473d516f395a595f3dccf2485b8b99ee32/1.20.5-pre3.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-16T11:57:30+00:00"}, {"id": "1.20.5-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a945c4c2a4b13b1cc3b9fc4b16d3e142b6da69fe/1.20.5-pre2.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-15T12:36:05+00:00"}, {"id": "1.20.5-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0a5ca75889e81bec4f301de6e8e2ef4e6109595d/1.20.5-pre1.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-10T12:44:25+00:00"}, {"id": "24w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fcd2be7658c5698a3afb48df0e1a17a096df1114/24w14a.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-04-03T11:49:39+00:00"}, {"id": "24w14potato", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/84117a6a8dc38e6eb09ce054ad22a1400535ecce/24w14potato.json", "time": "2024-05-22T06:21:38+00:00", "releaseTime": "2024-04-01T11:07:19+00:00"}, {"id": "24w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3c7d7465de719e00176bb116d7fec0cde9b7e0cf/24w13a.json", "time": "2024-05-22T06:22:10+00:00", "releaseTime": "2024-03-27T14:30:20+00:00"}, {"id": "24w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/423d5eda90cf53dd578da10f75a359480acea62e/24w12a.json", "time": "2024-05-22T06:21:38+00:00", "releaseTime": "2024-03-20T14:38:37+00:00"}, {"id": "24w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/41e8e0e812736244d6087d17866e740b2e52c4ae/24w11a.json", "time": "2024-05-22T06:21:38+00:00", "releaseTime": "2024-03-14T14:21:33+00:00"}, {"id": "24w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e2febb2f86141e468e12e449824719858b471a7/24w10a.json", "time": "2024-05-22T06:21:06+00:00", "releaseTime": "2024-03-06T10:37:35+00:00"}, {"id": "24w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/05730d945caea92e50ad6a530d6bd8cbfc1ce712/24w09a.json", "time": "2024-05-22T06:21:06+00:00", "releaseTime": "2024-02-28T12:38:12+00:00"}, {"id": "24w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/db385f670faed64b2ec4ed58406c2dfbeaf70365/24w07a.json", "time": "2024-05-22T06:20:35+00:00", "releaseTime": "2024-02-14T12:51:01+00:00"}, {"id": "24w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/265c2d3604f4249e19d14fe691316c7e3e63aa5b/24w06a.json", "time": "2024-05-22T06:20:35+00:00", "releaseTime": "2024-02-07T14:47:18+00:00"}, {"id": "24w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c4e7f843b1a7ec2040af0bc84d5ef17442dde48b/24w05b.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2024-02-01T12:55:14+00:00"}, {"id": "24w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72916085f400de6bcf3d43c314664b861bfc85c7/24w05a.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2024-01-31T13:05:26+00:00"}, {"id": "24w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/147d46af5a98e79279e2398b69c016208fc40df3/24w04a.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2024-01-24T13:42:45+00:00"}, {"id": "24w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/40048a354be33c59cf37f214a5183c1beac62d95/24w03b.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2024-01-18T12:42:37+00:00"}, {"id": "24w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/471410ff00eb717ccba16d5e3af1263f2a341f7f/24w03a.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2024-01-17T13:19:20+00:00"}, {"id": "23w51b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dfd28c425685a1201169c4ee442bbeee1f658737/23w51b.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-12-18T15:39:14+00:00"}, {"id": "23w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b5df969ee5d2e2a34a662110a872533a98e4b87/23w51a.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-12-18T13:36:46+00:00"}, {"id": "1.20.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/d6ebb22e7eeefd88f1cef6b32bcffcccf4326404/1.20.4.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-12-07T12:56:20+00:00"}, {"id": "1.20.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3f502577d18f0da725d27e61e90ddb94787b8c0b/1.20.4-rc1.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-12-06T14:38:01+00:00"}, {"id": "1.20.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c3474992464799e68d0832b98b6f4f04c55b6af7/1.20.3.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-12-04T12:10:32+00:00"}, {"id": "1.20.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dcdf7615f83cbb7aaf71e0ea02c6a959b3d62d69/1.20.3-rc1.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-11-30T13:41:45+00:00"}, {"id": "1.20.3-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a68a315e410122b8e4fa6c8c898818f8f7163874/1.20.3-pre4.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-11-28T13:47:32+00:00"}, {"id": "1.20.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c8c6ed67dd352769b2e70917c564961084b7ca1/1.20.3-pre3.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-11-27T14:24:36+00:00"}, {"id": "1.20.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2a7487425bcbff4c3c981f3d38d1bd9934c1ec2e/1.20.3-pre2.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-11-22T12:21:26+00:00"}, {"id": "1.20.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/95391efdbf56a0e8f347c5d7341e28e7e39159b7/1.20.3-pre1.json", "time": "2024-05-22T06:20:02+00:00", "releaseTime": "2023-11-20T15:40:14+00:00"}, {"id": "23w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b1a67fe9b2f8775bdd793842475aed5c85bc4262/23w46a.json", "time": "2024-05-22T06:19:31+00:00", "releaseTime": "2023-11-16T14:11:33+00:00"}, {"id": "23w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5fbb884214e7c1b8cf13fec55bd6e58e56874e1f/23w45a.json", "time": "2024-05-22T06:19:31+00:00", "releaseTime": "2023-11-08T13:59:58+00:00"}, {"id": "23w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dd09987266c6cc82637261513bc91b751c5e197e/23w44a.json", "time": "2024-05-22T06:18:59+00:00", "releaseTime": "2023-11-01T12:30:52+00:00"}, {"id": "23w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1377e0eafb22ee4bd9b017170c10a5051f11e649/23w43b.json", "time": "2024-05-22T06:18:59+00:00", "releaseTime": "2023-10-26T13:46:16+00:00"}, {"id": "23w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7eca659647cfd293ac34304a8783ed0696eb2b7f/23w43a.json", "time": "2024-05-22T06:18:59+00:00", "releaseTime": "2023-10-25T13:34:37+00:00"}, {"id": "23w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2299e4aed3d0ec6b6157bee36a3d728a3b1575a1/23w42a.json", "time": "2024-05-22T06:26:05+00:00", "releaseTime": "2023-10-18T11:37:28+00:00"}, {"id": "23w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7fcd0d52f085e461c079e9bd4fe9c9358d71a727/23w41a.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-10-11T12:32:46+00:00"}, {"id": "23w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2224a0e303dfdf5e7d56994cdfc9bc0b73369e73/23w40a.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-10-04T12:48:53+00:00"}, {"id": "1.20.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/eb98f587c0b141b3cd680ccc22e4f2368e04c291/1.20.2.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-20T09:02:57+00:00"}, {"id": "1.20.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7ee4e0ea7e5f5a3c1602fd7e70f59dc793c86fa0/1.20.2-rc2.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-18T12:34:57+00:00"}, {"id": "1.20.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bfc5aa5b29c301dd969f200e5821db09bd50ca4e/1.20.2-rc1.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-15T13:10:30+00:00"}, {"id": "1.20.2-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/10a8dd7738c84bda2a781eb364c1c0bd6b8cc822/1.20.2-pre4.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-13T15:06:51+00:00"}, {"id": "1.20.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/47d98f392371ba45ddc9d2b9d64bb4d3c1a7deff/1.20.2-pre3.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-12T12:15:08+00:00"}, {"id": "1.20.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a7a717e27282014e3eb2cea9a5b73b645a1578b9/1.20.2-pre2.json", "time": "2024-05-22T06:25:35+00:00", "releaseTime": "2023-09-07T12:42:32+00:00"}, {"id": "1.20.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f001a15451d599d9e04c869423841c4d46dc3004/1.20.2-pre1.json", "time": "2024-05-22T06:25:06+00:00", "releaseTime": "2023-09-05T12:06:20+00:00"}, {"id": "23w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c90ed5670e73f337627be21f18d63de7f14aeb5d/23w35a.json", "time": "2024-05-22T06:25:06+00:00", "releaseTime": "2023-08-30T11:24:35+00:00"}, {"id": "23w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/11773f03a0e8b2eff4fde84a3bdaa06307449932/23w33a.json", "time": "2024-05-22T06:25:06+00:00", "releaseTime": "2023-08-17T11:39:08+00:00"}, {"id": "23w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b0c651408aa71ec02466fdf33208cf5198c1284c/23w32a.json", "time": "2024-05-22T06:25:06+00:00", "releaseTime": "2023-08-09T12:14:25+00:00"}, {"id": "23w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bba2d108127ffb5beeb139fbb4a1594843e6e78d/23w31a.json", "time": "2024-05-22T06:24:36+00:00", "releaseTime": "2023-08-01T10:03:13+00:00"}, {"id": "1.20.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/bae8fc85c125a571ed033694040ee96d9d8f1335/1.20.1.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-06-12T13:25:51+00:00"}, {"id": "1.20.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0d63956af75cc3ffd250f82fb918c45e080df083/1.20.1-rc1.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-06-09T14:15:49+00:00"}, {"id": "1.20", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/aad51fce89d7ad4513cff224ed6a3d0913e0f593/1.20.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-06-02T08:36:17+00:00"}, {"id": "1.20-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9cf113236f6fbf2b3c3505ff126c8b6dace20988/1.20-rc1.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-31T12:33:33+00:00"}, {"id": "1.20-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d74d95669f47bb4dcd6f39167fbe1bab0b68818e/1.20-pre7.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-29T13:44:34+00:00"}, {"id": "1.20-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e5d992feea4ad5b0dfbb11c4c6aaf54b7e254ae5/1.20-pre6.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-25T12:22:00+00:00"}, {"id": "1.20-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/daa773408543d0059bfbdaf05193b06c7f1ec79d/1.20-pre5.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-23T12:22:52+00:00"}, {"id": "1.20-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/678fbf6a9dab7dee531c2c64332a73bd4322100b/1.20-pre4.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-19T13:13:45+00:00"}, {"id": "1.20-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fa6000f79b6ab6525546d2aa8d453884792fcc28/1.20-pre3.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-19T11:39:46+00:00"}, {"id": "1.20-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cbd39a7f0ebc6ce620832cb169056a235d8d6fef/1.20-pre2.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-16T11:34:54+00:00"}, {"id": "1.20-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f9e1c46a943b2ff0db2bcb9b56e34ab6eb74d22b/1.20-pre1.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-10T12:19:34+00:00"}, {"id": "23w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/290038589cc31df523137548d76416b20a1b614d/23w18a.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-05-03T11:29:26+00:00"}, {"id": "23w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c707884cb94dd541fd85179996d55a6bca6f4dd/23w17a.json", "time": "2024-05-22T06:24:06+00:00", "releaseTime": "2023-04-26T12:09:48+00:00"}, {"id": "23w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b4d7e7915faebc181314cee988db1e77ad15ad82/23w16a.json", "time": "2024-05-22T06:23:37+00:00", "releaseTime": "2023-04-20T11:55:19+00:00"}, {"id": "23w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/559b191f2be0e49ee449b4fb2277019270aa40b2/23w14a.json", "time": "2024-05-22T06:23:37+00:00", "releaseTime": "2023-04-05T12:05:17+00:00"}, {"id": "23w13a_or_b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/048c12e78ca738aad7d2f3b99f8322d7522deee7/23w13a_or_b.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-04-01T12:52:18+00:00"}, {"id": "23w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cb0635b8064cc97ca700c4a63aefb4e8c8ed3a4d/23w13a.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-29T13:54:16+00:00"}, {"id": "23w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f1d6e29cded4fe46b9ab3318acd49e493db9949d/23w12a.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-22T13:28:42+00:00"}, {"id": "1.19.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/08ab5e375a016dea85ca4f59260683c4e6270fa3/1.19.4.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-14T12:56:18+00:00"}, {"id": "1.19.4-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9f74f3488c41911180e5f2c5bb6dc3c19a3ddd47/1.19.4-rc3.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-13T10:03:11+00:00"}, {"id": "1.19.4-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/33572d03ff57222f4ee4b9f7b12c596e364afe34/1.19.4-rc2.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-10T12:42:54+00:00"}, {"id": "1.19.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba504031065a2f4f4cdaa7886f1b48f59faacd81/1.19.4-rc1.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-09T14:35:50+00:00"}, {"id": "1.19.4-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/810b55059e5bbad99f28d78b488e0d94eb5a0c28/1.19.4-pre4.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-08T13:08:22+00:00"}, {"id": "1.19.4-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e55818b5b61e211c9908a7e5ebb61571e9ed13d8/1.19.4-pre3.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-03-01T14:11:05+00:00"}, {"id": "1.19.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e82a6f5453fb36dbd547045cd738d8af326772a/1.19.4-pre2.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-02-27T13:38:53+00:00"}, {"id": "1.19.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/df49074ed80a5be3888f24d6483faa4f03098f2d/1.19.4-pre1.json", "time": "2024-05-22T06:23:07+00:00", "releaseTime": "2023-02-22T16:00:34+00:00"}, {"id": "23w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/508242eba550cdf25fe28c92e89fab3bc11301c9/23w07a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2023-02-15T14:32:29+00:00"}, {"id": "23w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4bbf5dea894b57c8d03feabdabfc2e6a4bd93ffd/23w06a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2023-02-08T15:00:04+00:00"}, {"id": "23w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/94425f05655de0a75a726b8dbd2ec7f3def5ab67/23w05a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2023-02-01T14:20:33+00:00"}, {"id": "23w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d815f72a76eafe6b37935c743e98a098d74cf7b9/23w04a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2023-01-24T15:19:06+00:00"}, {"id": "23w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1db4bcbdb502701cd0385cec5ab7d19638443c49/23w03a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2023-01-18T13:10:31+00:00"}, {"id": "1.19.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/394d0cedf799c59cde655f2321a1eb4008cd73b9/1.19.3.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-12-07T08:17:18+00:00"}, {"id": "1.19.3-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7eceddc54f79aedab13bd0a11f9e359380d83f88/1.19.3-rc3.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-12-06T10:24:01+00:00"}, {"id": "1.19.3-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/95f9ca6012f2c4f7959b93b69c6e6ddbadb01460/1.19.3-rc2.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-12-05T13:21:34+00:00"}, {"id": "1.19.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fe2392b3dfced180c3a91cd0c56fcbfae1b51855/1.19.3-rc1.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-12-01T13:45:18+00:00"}, {"id": "1.19.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0578432056ba24fac4b515db08470bfa8047c422/1.19.3-pre3.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-11-29T14:28:08+00:00"}, {"id": "1.19.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/577587f5cd20c62941f8a23b9184ac00c8b4ce63/1.19.3-pre2.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-11-23T16:12:25+00:00"}, {"id": "1.19.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a8cd9bc467033d0a7bc9e016a1af9d30e11aa393/1.19.3-pre1.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-11-22T13:59:37+00:00"}, {"id": "22w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/634c29fcf94e9b814a8208154a3b0e492b911d41/22w46a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-11-16T13:32:50+00:00"}, {"id": "22w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6331d2643d3a4b3cedbc7dcc450d56ff9eb036de/22w45a.json", "time": "2024-05-22T06:22:38+00:00", "releaseTime": "2022-11-09T14:30:16+00:00"}, {"id": "22w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ed9485390e2a258c621a63e3c46725b47696a9cb/22w44a.json", "time": "2024-05-22T06:18:29+00:00", "releaseTime": "2022-11-02T13:15:43+00:00"}, {"id": "22w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/00f8ff8619be9242375e61eb0e2b815cfea1ef8a/22w43a.json", "time": "2024-05-22T06:18:29+00:00", "releaseTime": "2022-10-26T11:55:59+00:00"}, {"id": "22w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/42587d1f357bc5a596ad5ee5dfeed558624f52a6/22w42a.json", "time": "2024-05-22T06:18:29+00:00", "releaseTime": "2022-10-19T09:34:22+00:00"}, {"id": "1.19.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/ed548106acf3ac7e8205a6ee8fd2710facfa164f/1.19.2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-05T11:57:05+00:00"}, {"id": "1.19.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ebecfcfa284240daa29737c84eb98a2d2e1a33c2/1.19.2-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-04T15:19:44+00:00"}, {"id": "1.19.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8549c05d26a79c0fb5701ba66d200465daa5f18/1.19.2-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-08-04T10:07:26+00:00"}, {"id": "1.19.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/39d5e8925d37490c6f2abb2e02b8c6f1b35719df/1.19.1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-27T09:25:33+00:00"}, {"id": "1.19.1-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8762a93dc173c7a8e68d70ac5517b37e2c5f969f/1.19.1-rc3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-26T15:34:35+00:00"}, {"id": "1.19.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/be8528e20ead28832f20e4278f45519d1e28022a/1.19.1-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-21T16:25:50+00:00"}, {"id": "1.19.1-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0d36b2776f02dc9d864f0f931b6c052435f7918/1.19.1-pre6.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-20T15:49:31+00:00"}, {"id": "1.19.1-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e832137d90ae9915e1b1a22537f30feb0178ce0/1.19.1-pre5.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-15T11:51:44+00:00"}, {"id": "1.19.1-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b2cebb78f1c95d5d886e2c30e8cf913f574ecd3f/1.19.1-pre4.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-08T11:41:59+00:00"}, {"id": "1.19.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/05935ad004751df834add5d8111bea341f388849/1.19.1-pre3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-07-06T14:50:46+00:00"}, {"id": "1.19.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c2e4db17880bd4dad87cb2cd87d4b5f5d159a6e/1.19.1-pre2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-30T15:57:20+00:00"}, {"id": "1.19.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc09b172bbef8c24a69c4c6711e96051464204ad/1.19.1-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-23T16:32:41+00:00"}, {"id": "1.19.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b684045dca48e65dbf5ec5f09070d9382731d0ab/1.19.1-pre1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-21T17:13:59+00:00"}, {"id": "22w24a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1a490c090ec1affab43deba00929558c73dd1e23/22w24a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-15T16:21:49+00:00"}, {"id": "1.19", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/14bbfb25fb1c1c798e3c9b9482b081a78d1f3a9d/1.19.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-07T09:42:18+00:00"}, {"id": "1.19-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ae2b88a016be92e5838afa6232005b41e2935622/1.19-rc2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-03T11:47:25+00:00"}, {"id": "1.19-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f216ace4c19321071a80e7c6dd51efe402032e94/1.19-rc1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-02T12:12:52+00:00"}, {"id": "1.19-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/800c849fe1e8694e8023920e01174e3d2f73065b/1.19-pre5.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-06-01T10:56:23+00:00"}, {"id": "1.19-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/11edfa21e200734858abdd466aeead7754cc68e2/1.19-pre4.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-30T14:43:01+00:00"}, {"id": "1.19-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bf1ebc7ae0dbef7b92307a11eb0cbbfeaa3359e2/1.19-pre3.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-25T09:56:47+00:00"}, {"id": "1.19-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5dbf076b98594a81069a3d574d985f8e3a701990/1.19-pre2.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-23T14:54:00+00:00"}, {"id": "1.19-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/277c1456e8de294125887c0937ad39f9d286f7e6/1.19-pre1.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-18T13:51:54+00:00"}, {"id": "22w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b823251598bcefadad774283db6979e40044e229/22w19a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-12T15:36:11+00:00"}, {"id": "22w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1de25e62031021df204de79c264822898c937447/22w18a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-05-04T14:41:35+00:00"}, {"id": "22w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4df4e4831fafbaa4d41895f448a0596d779425f3/22w17a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-27T15:54:15+00:00"}, {"id": "22w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f6f22cde08f4603aa90aec80a9c5b60b93a09b15/22w16b.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-20T17:25:32+00:00"}, {"id": "22w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a39b0f1591257664a1296b8e95a0689c1cbdad73/22w16a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-20T14:37:07+00:00"}, {"id": "22w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2ed4589fdbc1d58a6d60e2b6809ac956d0a7cf34/22w15a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-13T15:41:17+00:00"}, {"id": "22w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/36abf1492f25e5bb7187307fefc91470cd40817d/22w14a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-06T13:37:12+00:00"}, {"id": "22w13oneblockatatime", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d70cef49b7606e8c37e49abad4ff542e2ce21d09/22w13oneblockatatime.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-04-01T11:56:58+00:00"}, {"id": "22w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bd1e0454545c498d20d25e4d1bc8fd4ddeeb06fe/22w13a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-31T14:53:25+00:00"}, {"id": "22w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/24998bd342996995e1a2007111056906f465a867/22w12a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-24T16:15:02+00:00"}, {"id": "22w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4f1500bb4141a58c8692224e1157c986c6a00075/22w11a.json", "time": "2023-06-07T10:31:30+00:00", "releaseTime": "2022-03-16T15:55:38+00:00"}, {"id": "1.18.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/334b33fcba3c9be4b7514624c965256535bd7eba/1.18.2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-28T10:42:45+00:00"}, {"id": "1.18.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a88f2199e697f43c06d7051186762cd514f5f629/1.18.2-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-25T13:25:40+00:00"}, {"id": "1.18.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c93d7580baf1b292763fa14a379516ffe5822967/1.18.2-pre3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-23T15:23:12+00:00"}, {"id": "1.18.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/46e96658399bf2e1487d88181bd75689978491f8/1.18.2-pre2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-21T15:26:19+00:00"}, {"id": "1.18.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59bd690c22c69ace39595d3b14bf85a01bb54f35/1.18.2-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-18T16:00:32+00:00"}, {"id": "22w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/83d4e38c96c37a840fed51747e98d45d82115405/22w07a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-16T16:13:58+00:00"}, {"id": "22w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f46697f288f553f7a21a42291b85d708924128e8/22w06a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-09T16:47:48+00:00"}, {"id": "22w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bebb4be7c06e5b311e08a46212328c0d1dee1e60/22w05a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-02-02T16:08:39+00:00"}, {"id": "22w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b19476adc780897c3ea2805bc90ff91f694093bd/22w03a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2022-01-19T16:04:59+00:00"}, {"id": "1.18.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7ff864e988a2c29907154d5f9701e87e5d5e554a/1.18.1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-10T08:23:00+00:00"}, {"id": "1.18.1-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/027ff0f43a3589b3ea16771ec11d052fc0fdf45e/1.18.1-rc3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-10T03:36:38+00:00"}, {"id": "1.18.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0e114a6a9e1f246dea4c8835e8046b3d8ce575e3/1.18.1-rc2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-08T12:29:36+00:00"}, {"id": "1.18.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f24188f9c0759be5c844acae8b47fb582c75e7e/1.18.1-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-07T15:52:47+00:00"}, {"id": "1.18.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/01cb59a31c5af10b73ce11d04df73b469e5e8664/1.18.1-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-12-03T13:45:38+00:00"}, {"id": "1.18", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7367ea8b7cad7c7830192441bb2846be0d2ceeac/1.18.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-30T09:16:29+00:00"}, {"id": "1.18-rc4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/489269e1139f4c9ce6af64e9e80ac094accd3515/1.18-rc4.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-29T13:43:42+00:00"}, {"id": "1.18-rc3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0cea86833bdfb8de6d85f2b87b4dda2081f3fc3c/1.18-rc3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-26T15:51:56+00:00"}, {"id": "1.18-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1cd29ca38d308f1375529c2c52c7819a21bb6410/1.18-rc2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-26T10:02:04+00:00"}, {"id": "1.18-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92779f7a433c8b65d2fe52dca236a0b99a877964/1.18-rc1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-25T14:28:49+00:00"}, {"id": "1.18-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/befe1636010c86b29a0b3b74d9614eaca4679185/1.18-pre8.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-24T14:57:32+00:00"}, {"id": "1.18-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14c6eee2ef0b2ec4dd66d21a45288df9ea445853/1.18-pre7.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-23T16:37:41+00:00"}, {"id": "1.18-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/881f1e388c66a0a27f1e39759d594aba7fc827cc/1.18-pre6.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-22T17:09:05+00:00"}, {"id": "1.18-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c7297b2645db73c3548d9c7bcec9d1f1daf9a3d/1.18-pre5.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-19T15:47:09+00:00"}, {"id": "1.18-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2604a38227d2943e072fb6d1e1885cf71659a620/1.18-pre4.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-17T18:07:56+00:00"}, {"id": "1.18-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6bd8b415c9df47ba64474f10ce777e34d31462de/1.18-pre3.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-17T16:04:25+00:00"}, {"id": "1.18-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f7bc077f4bae337c5d783a77246cdfc019f5a85e/1.18-pre2.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-16T17:04:48+00:00"}, {"id": "1.18-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bad40b99d4019c10ef43641ff11dfecd5fd0a2e0/1.18-pre1.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-11T16:14:06+00:00"}, {"id": "21w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0a663bcbd3c43ced8e0e4889e82b79e48d2c42c/21w44a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-11-03T16:14:34+00:00"}, {"id": "21w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/87fce70da2c59051a18e3d792f35839f7a799f82/21w43a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-27T14:38:55+00:00"}, {"id": "21w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3ce8fdf60e69bfb0944e479ada4cf6b60dcc3995/21w42a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-20T12:41:25+00:00"}, {"id": "21w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f05122bd9496b5277cfb24312c1a7a70510cc84a/21w41a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-13T15:23:23+00:00"}, {"id": "21w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a6a012bab1380ce87f9fc4a20212fd7031ac93a4/21w40a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-10-07T11:17:50+00:00"}, {"id": "21w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/008cea9c2128244b9f1ffa3b9512db1e60558390/21w39a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-29T16:27:05+00:00"}, {"id": "21w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/893da3cf2aaf60457e4805994f8d526305685e77/21w38a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-23T14:36:06+00:00"}, {"id": "21w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fd90ab042d60935a123a579ec03efc422f06e4bb/21w37a.json", "time": "2023-06-07T10:50:17+00:00", "releaseTime": "2021-09-15T16:04:30+00:00"}, {"id": "1.17.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e0e7ab5ed6f55bbd874ef95be3c9356d67e64b57/1.17.1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-06T12:01:34+00:00"}, {"id": "1.17.1-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4224a23efdcd362508457bda732b502d3d8bfbaf/1.17.1-rc2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-05T12:58:01+00:00"}, {"id": "1.17.1-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/27d7a88469c5a59420d7b060f2a253802164185f/1.17.1-rc1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-07-01T15:23:37+00:00"}, {"id": "1.17.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/30637bf484bc2e530db468c42e6d2695bb806420/1.17.1-pre3.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-30T15:43:16+00:00"}, {"id": "1.17.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/95f076c3f748ab83f44bc4c80b0039626b67806e/1.17.1-pre2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-29T15:14:12+00:00"}, {"id": "1.17.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/609fa7a9bb0d1c3855111e1d511d4ba2a398a524/1.17.1-pre1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-18T12:24:40+00:00"}, {"id": "1.17", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/0d9ace8a2ecfd1f4c782786f4b985a499240ff12/1.17.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-08T11:00:40+00:00"}, {"id": "1.17-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/45b8f00ecc9ca265c80da0d8ad9a6710f088bc21/1.17-rc2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-07T11:46:28+00:00"}, {"id": "1.17-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ed41604ce5637dfc62e062e1ce809817d54aa46d/1.17-rc1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-04T13:24:48+00:00"}, {"id": "1.17-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/29bd60294ee8387f7ca7d9c1abd835484f71bbfc/1.17-pre5.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-03T17:01:28+00:00"}, {"id": "1.17-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9c91afc7b8e9bab61facd2423bd75b375df0fc2e/1.17-pre4.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-02T16:15:43+00:00"}, {"id": "1.17-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/de4dd57535bea923731008c1f29562211740aba6/1.17-pre3.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-06-01T15:43:46+00:00"}, {"id": "1.17-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/76f54994dc32298f0743e2a9031ad1bba04cf753/1.17-pre2.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-31T15:54:05+00:00"}, {"id": "1.17-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba419fd73cb07512bd2ca090f179e84333f9804c/1.17-pre1.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-27T09:39:21+00:00"}, {"id": "21w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6757e49a93f18fe7b8d522f83b62d47629da37ab/21w20a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-19T15:22:02+00:00"}, {"id": "21w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a43adfb683de80b158a5c6899f34f3a041dc578/21w19a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-12T11:19:15+00:00"}, {"id": "21w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b3266f58ade03b19896163c7cfb40cf815aa8e28/21w18a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-05-05T15:24:35+00:00"}, {"id": "21w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2af27c4d5412f4476b43882052b5cb510cbc0984/21w17a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-28T13:54:05+00:00"}, {"id": "21w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f083b566dd515b5706ead9522c42b187b3f2f2f6/21w16a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-21T16:41:14+00:00"}, {"id": "21w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce5b993772ae22cc5f518e72b93744954945f755/21w15a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-14T13:41:34+00:00"}, {"id": "21w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7a67f727cc7847efc3753de26a32d051348b5fba/21w14a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-04-07T14:04:09+00:00"}, {"id": "21w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c20df75b956c2eb982a9028ceff965e1aae40345/21w13a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-31T16:17:46+00:00"}, {"id": "21w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c0d562d6db031a67b9569c0765c8ef68434e0ee2/21w11a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-17T15:05:50+00:00"}, {"id": "21w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d4982f2015d40e966beeae097307e33e2f26fa57/21w10a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-03-10T15:24:38+00:00"}, {"id": "21w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7dbd5a6f2eaa20726235a2b40f955004339b7af/21w08b.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-25T11:46:34+00:00"}, {"id": "21w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bc80c3181bbeebd6e0cab46fc445b76b6c9dadb1/21w08a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-24T14:38:51+00:00"}, {"id": "21w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/96476dbdb5d6689b3f1a47c025f1b7ad3630bd95/21w07a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-17T16:35:40+00:00"}, {"id": "21w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/446e380daf0fa4a9d42d5fcfa8984f8a9500e063/21w06a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-10T17:13:54+00:00"}, {"id": "21w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e957c6d798c266d5978835fcf8f74f7af96153e/21w05b.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-04T15:09:29+00:00"}, {"id": "21w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f28b435faf0610838bb6ddf6ace922ea27b89de9/21w05a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-02-03T15:56:54+00:00"}, {"id": "21w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4b7bb5c32164c0497717ab7ec5dc3016de6dfdc0/21w03a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2021-01-20T14:56:29+00:00"}, {"id": "1.16.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fba9f7833e858a1257d810d21a3a9e3c967f9077/1.16.5.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2021-01-14T16:05:32+00:00"}, {"id": "1.16.5-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79b63085fb7b4805877ee719f6518ab3c87b3833/1.16.5-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2021-01-13T15:58:55+00:00"}, {"id": "20w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08f2e16bc1ab7f7bdeaa95f2762ff05c7407100d/20w51a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-12-16T16:27:57+00:00"}, {"id": "20w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba1eaa1e4396bd42eb1ef2a0897fcf0043551f6f/20w49a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-12-02T16:47:20+00:00"}, {"id": "20w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cbbe53da94d1368c5e2fd8309f0e7b1645957516/20w48a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-25T15:42:24+00:00"}, {"id": "20w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d1d7a38b0d650c51473ba04019176b575fd6f34b/20w46a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-11T15:30:32+00:00"}, {"id": "20w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/913ae8af6dcc8b308fb58da1ee3b58e3a83f5f28/20w45a.json", "time": "2023-06-07T11:00:54+00:00", "releaseTime": "2020-11-04T16:42:00+00:00"}, {"id": "1.16.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/596ad61fda7612d9edf8881cf81869276bdb7f82/1.16.4.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-29T15:49:37+00:00"}, {"id": "1.16.4-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ef95b0f319cb282802a4cc38e57e79d4fafc9567/1.16.4-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-27T16:31:08+00:00"}, {"id": "1.16.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5af340937921b990c1b7da8bdac9d04fad7c3c95/1.16.4-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-22T15:32:17+00:00"}, {"id": "1.16.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b48239bf7935185c788e07d9c2d83d788ce3f27b/1.16.4-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-10-13T14:36:07+00:00"}, {"id": "1.16.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/6485dd131ef68c968041a9f6fd73094b027e42e1/1.16.3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-09-10T13:42:37+00:00"}, {"id": "1.16.3-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5ba5cfa865db9020ddab97df365ea8821d3eb454/1.16.3-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-09-07T12:34:06+00:00"}, {"id": "1.16.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/998d9ef5770d05c20d760dc16cf85151f35009f2/1.16.2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-11T10:13:46+00:00"}, {"id": "1.16.2-rc2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/278e49a115bce14e99b5fa9420103652692c9f6b/1.16.2-rc2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-10T11:43:36+00:00"}, {"id": "1.16.2-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/541ad2a92d12e6d36fb6c2b29b5d69ae4b97ab23/1.16.2-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-07T14:35:39+00:00"}, {"id": "1.16.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3df6469e9cc759a1ac0a8f6690289922d547f97b/1.16.2-pre3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-06T16:44:52+00:00"}, {"id": "1.16.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7768698c025d559928042452df9d79910e7818eb/1.16.2-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-08-05T15:30:50+00:00"}, {"id": "1.16.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9709f88b92c9078c3d0a95dae3a225dc8cd70a34/1.16.2-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-29T13:19:05+00:00"}, {"id": "20w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3de2ee50c31ebcd4b1fa9577e2550a6020710df5/20w30a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-22T15:05:15+00:00"}, {"id": "20w29a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d869c8cda528228a47b80dde5cc9ea138f514a99/20w29a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-15T14:13:47+00:00"}, {"id": "20w28a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/33142315373d1ed7289fa6e5b8b2de6980147de8/20w28a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-08T15:10:40+00:00"}, {"id": "20w27a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e442b0f37792b83bf46e9ae0258f45faff33a7cf/20w27a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-07-01T15:07:35+00:00"}, {"id": "1.16.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/54fa3af57d041d2771e66d390197b2c0288e697c/1.16.1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-24T10:31:40+00:00"}, {"id": "1.16", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e9d21d375f9c961f0e9731d4e463306d76e77c48/1.16.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-23T16:20:52+00:00"}, {"id": "1.16-rc1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49d94686688119e1d85d8c7ebc690b0f6d71ebd8/1.16-rc1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-18T12:49:28+00:00"}, {"id": "1.16-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d85ab25ae33462045ba050774cf9cbb978afebca/1.16-pre8.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-17T14:45:23+00:00"}, {"id": "1.16-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec4dc4530869505923e1ebf6fc80ea08eda831e1/1.16-pre7.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-16T15:31:35+00:00"}, {"id": "1.16-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c1ed3dcbbf22fe0a17eb05b3f1f1445f25508d6/1.16-pre6.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-15T16:57:57+00:00"}, {"id": "1.16-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e41cdd44896fcfd96db07aecf89a58bbc89d6c6f/1.16-pre5.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-12T14:33:59+00:00"}, {"id": "1.16-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/68b121aae24c9f217378ac64e7e27e1a4ca6c6e0/1.16-pre4.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-11T15:45:55+00:00"}, {"id": "1.16-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72e9981dd7fb9bc1e775a04aa844ef79192bfebc/1.16-pre3.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-10T14:57:43+00:00"}, {"id": "1.16-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81ae4d3c6cabf02af6c67abd87c6b9c9501bdf26/1.16-pre2.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-05T10:47:59+00:00"}, {"id": "1.16-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bcfd0eeee263ea7779c23ba7d55034607ba4b00e/1.16-pre1.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-06-04T18:17:51+00:00"}, {"id": "20w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a0bbbe0674789a5b2b11705bb868a446bfd660fd/20w22a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-29T11:25:02+00:00"}, {"id": "20w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d95fdd82e0fa506eb4099f3e948c378124a2baf/20w21a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-20T12:07:18+00:00"}, {"id": "20w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2ac29186d5062224ff326d868fe78bea79360ad1/20w20b.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-14T08:16:26+00:00"}, {"id": "20w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4e5118f80f061490e54d843216780dabdaaf59fd/20w20a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-13T15:11:43+00:00"}, {"id": "20w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/be653aac3f8e6cfc2bc40cc9be764f0a4ba46121/20w19a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-05-06T16:23:24+00:00"}, {"id": "20w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1c7978f8d1b6735bb0b6d813f3aed0363bf1bd8d/20w18a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-29T15:16:34+00:00"}, {"id": "20w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/98807b36f1ee047d5e4e2744d94b28d9e5c1b7cd/20w17a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-22T13:47:50+00:00"}, {"id": "20w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9ca086c9195b437c08f9f0c38d25dc1955d91870/20w16a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-15T14:13:01+00:00"}, {"id": "20w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bbf16435ce4c151d3908b442987c162e6f7cf8c5/20w15a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-08T12:29:24+00:00"}, {"id": "20w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e548dbfeb7cb9aa76888b7308112c1a03cf0cc0/20w14a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-02T14:28:06+00:00"}, {"id": "20w14infinite", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73eb2a736f0a7349fb5f73e685f847826e5321fd/20w14infinite.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-04-01T12:47:08+00:00"}, {"id": "20w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/430033af05f29add54241c55be62bbde6b640cd5/20w13b.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-26T13:00:34+00:00"}, {"id": "20w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e7daff8b5d319aca184bfa818f073663ada22d7/20w13a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-25T17:05:33+00:00"}, {"id": "20w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79a74e0bfd167b1d09713accb7c2fe6cd1c5dd8c/20w12a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-18T16:42:06+00:00"}, {"id": "20w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ac08e450ea036741d61bcb7e5ea09e5db2e945d7/20w11a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-11T16:28:27+00:00"}, {"id": "20w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/781dbf396510e90e3ec6c845d60e05719a3c8853/20w10a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-03-04T16:21:41+00:00"}, {"id": "20w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/191f7a06170d42a2aed63c2a8adf4aaae4799892/20w09a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-26T16:43:08+00:00"}, {"id": "20w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/77545f4f812d127fd032e36413901b85215662d9/20w08a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-19T13:30:09+00:00"}, {"id": "20w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49b9a7a4d3ae78d74dcba384e2aea08cb58fbe37/20w07a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-14T13:20:49+00:00"}, {"id": "20w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59a5d77dce749c868f7338c5d6241312a9dc2f1a/20w06a.json", "time": "2023-06-07T11:09:02+00:00", "releaseTime": "2020-02-05T16:05:22+00:00"}, {"id": "1.15.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e9d0adb8f642abe422909ede50f651b2b58a3573/1.15.2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-17T10:03:52+00:00"}, {"id": "1.15.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2b1688e3a06c0427a99cd0042554ed40eb4fafa4/1.15.2-pre2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-16T12:35:57+00:00"}, {"id": "1.15.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7f37c8d4695dff2a9f553952e9c97a49ee471ca/1.15.2-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2020-01-14T16:19:31+00:00"}, {"id": "1.15.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/18c3063de87ae126b4e017121219ba802be0755b/1.15.1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-16T10:29:47+00:00"}, {"id": "1.15.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b5aee0865f805a44ecdbed04c964352e86534f2/1.15.1-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-12T14:02:30+00:00"}, {"id": "1.15", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/833322370ab320e77717097082effe1d124d48bd/1.15.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-09T13:13:38+00:00"}, {"id": "1.15-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e60f500bb19e44c0e632e02da12807ff2fe92e49/1.15-pre7.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-09T12:14:11+00:00"}, {"id": "1.15-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6da29669f5a9cd8ddf8ee92888125a23eb09b877/1.15-pre6.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-06T12:04:30+00:00"}, {"id": "1.15-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e842a4e2c50234213a19931ac8a462de3021467/1.15-pre5.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-05T13:20:00+00:00"}, {"id": "1.15-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b4ca2162a7a098e4e4f7dce619666d0aa6f3e2fc/1.15-pre4.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-12-03T12:24:24+00:00"}, {"id": "1.15-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1f31491b1ea5e89427393ab3ca6aefb5e0e9c34a/1.15-pre3.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-28T17:17:50+00:00"}, {"id": "1.15-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/62c8b621f2be16d47fa2f05f8f6380a696cfeda3/1.15-pre2.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-25T18:09:38+00:00"}, {"id": "1.15-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/66e8035a07e8d2610491003ebf7c51a9c4b0ed67/1.15-pre1.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-21T17:01:17+00:00"}, {"id": "19w46b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/18f4384dd05ad7711714742e5c22947a3828d6a2/19w46b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-14T13:29:24+00:00"}, {"id": "19w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/91bef07ec9143752f2ce038434f60f08e6f10089/19w46a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-13T16:37:46+00:00"}, {"id": "19w45b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce9a87180664cce2eaa96518f6dae923943efe4c/19w45b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-08T12:42:44+00:00"}, {"id": "19w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e459f7878fde73117da2cb89cbaaa6d649b1a39/19w45a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-11-07T16:19:20+00:00"}, {"id": "19w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/652ec7dc926df9b0c7a7f7d00e9cfe34b3b82470/19w44a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-30T15:31:44+00:00"}, {"id": "19w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c7d6f4ba7786e252c79a73a13106eb077e622a3/19w42a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-16T15:30:39+00:00"}, {"id": "19w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a73a6135db91f13d7399fc9d438c24a7a80fb819/19w41a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-09T15:21:35+00:00"}, {"id": "19w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c2b4b675af813d9e8e43767991539a1770b93e6b/19w40a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-10-02T13:40:26+00:00"}, {"id": "19w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14180226c4e65289831b3f28fc75aebf8e114deb/19w39a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-27T10:13:33+00:00"}, {"id": "19w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/72fea837ad3bf55eaf4a1163109afba0d1f9976c/19w38b.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-18T14:59:13+00:00"}, {"id": "19w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e43b0e8f8944107fafb785cb50e2994c4be1676f/19w38a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-18T10:03:22+00:00"}, {"id": "19w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8a986a197d87f45205a5650018708c7f9d9056ad/19w37a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-11T11:46:44+00:00"}, {"id": "19w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/90bc200686ed385ca3ccae265393d28a8d3191fe/19w36a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-09-04T11:19:34+00:00"}, {"id": "19w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/39e153ff4f57f533069cf24441f9fa0a23b6d223/19w35a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-08-28T15:01:44+00:00"}, {"id": "19w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79310fef2c7bb69085e9459568152049f706e52d/19w34a.json", "time": "2023-06-07T11:17:08+00:00", "releaseTime": "2019-08-22T12:06:21+00:00"}, {"id": "1.14.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/be146d5f66a3627ed0a87c234c4d8dde8ab35098/1.14.4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-19T09:25:47+00:00"}, {"id": "1.14.4-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9fa32d63671ca8ad48ffc01f478bb5528a9780bb/1.14.4-pre7.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-18T11:32:36+00:00"}, {"id": "1.14.4-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fc516c11532c5dd97de371786969d0103df1aff9/1.14.4-pre6.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-15T12:39:49+00:00"}, {"id": "1.14.4-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6561296e73e1cbc2371cda68e0f045191d413ea3/1.14.4-pre5.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-11T10:52:33+00:00"}, {"id": "1.14.4-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a08857ff791232848fb4f361c05bfc3096cf02b3/1.14.4-pre4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-10T12:53:29+00:00"}, {"id": "1.14.4-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1304801a59f94205cf234f809f2ddaf78e2b64a8/1.14.4-pre3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-08T11:21:42+00:00"}, {"id": "1.14.4-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/33921eca48b26430ff698ce196645d166529f270/1.14.4-pre2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-04T14:41:05+00:00"}, {"id": "1.14.4-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/22fef20b2c50855f8702a06a836dc4f31412436a/1.14.4-pre1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-07-03T13:01:01+00:00"}, {"id": "1.14.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/e21618620e02be5a14543d1d17ffdba941d09aa8/1.14.3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-24T12:52:52+00:00"}, {"id": "1.14.3-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e197ff501e791295140b7b6b02ca5f476075f634/1.14.3-pre4.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-19T11:44:29+00:00"}, {"id": "1.14.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cee4ea21267c4f62171f5cf19bf5b3322424be33/1.14.3-pre3.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-14T08:03:33+00:00"}, {"id": "1.14.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f4a376be79a51403d9cd0c1dbec1a25a2994dc85/1.14.3-pre2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-07T09:11:29+00:00"}, {"id": "1.14.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6345b47eb7abe7b74870ff11dbd03e282e1b0112/1.14.3-pre1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-06-03T14:34:20+00:00"}, {"id": "1.14.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/83299b3bf3139ebd9ae5547b3144dcf68d4cb1fd/1.14.2.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-27T11:48:25+00:00"}, {"id": "1.14.2 Pre-Release 4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/75bf72d8e4b38cf5f729637efc116697edec4334/1.14.2%20Pre-Release%204.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-27T07:21:11+00:00"}, {"id": "1.14.2 Pre-Release 3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a0126da466f90d6e52eb3e27332f7f7070f4be8/1.14.2%20Pre-Release%203.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-22T13:12:51+00:00"}, {"id": "1.14.2 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dee854f57cac0fc9f1b96b96254a67829dd103ae/1.14.2%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-17T12:21:03+00:00"}, {"id": "1.14.2 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0525ae4750d18d6c3cf9edee1f510333919c6003/1.14.2%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-16T15:40:25+00:00"}, {"id": "1.14.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/183e49ba0fabb5ef8a304f8f5907fa887f40c466/1.14.1.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-13T11:10:12+00:00"}, {"id": "1.14.1 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1d0ccfff5f8d13d3ecaddbc481a9a4815e312e4e/1.14.1%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-09T14:01:04+00:00"}, {"id": "1.14.1 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/656e98e9c5a418b4747b0e5892fd301963b0bcc7/1.14.1%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-05-07T14:44:42+00:00"}, {"id": "1.14", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/0fd01dd81eaa451d3130b1cf025a10f129585b10/1.14.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-23T14:52:44+00:00"}, {"id": "1.14 Pre-Release 5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/157959b1daeda81293854032102eef36e76af108/1.14%20Pre-Release%205.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-18T11:05:19+00:00"}, {"id": "1.14 Pre-Release 4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/93ca7217fa9027019328b1b8f9b2e8f82436622d/1.14%20Pre-Release%204.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-17T15:31:12+00:00"}, {"id": "1.14 Pre-Release 3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/af8a6b1a9d8d44e080451553060a602e1214a7bb/1.14%20Pre-Release%203.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-16T13:57:10+00:00"}, {"id": "1.14 Pre-Release 2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fcbaaa318bf47cecb0c37da7a37903e4bcf24e90/1.14%20Pre-Release%202.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-12T11:38:53+00:00"}, {"id": "1.14 Pre-Release 1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/76dd36e6b4fb2db5e474dd3b44cd96f3f498433d/1.14%20Pre-Release%201.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-10T14:24:16+00:00"}, {"id": "19w14b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/eac7bd3b9b9a8beed783fda4920b76b792120861/19w14b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-05T10:33:58+00:00"}, {"id": "19w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3f547c294bf6f82e76120f760d5574d6b3eb88bc/19w14a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-04-03T13:45:00+00:00"}, {"id": "3D Shareware v1.34", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5b59564acaa4cc153b6f934e566226642ed978ab/3D%20Shareware%20v1.34.json", "time": "2023-06-07T12:27:21+00:00", "releaseTime": "2019-04-01T11:18:08+00:00"}, {"id": "19w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fd82b31c5890e7f118c7ffa9122a0f6b29c87936/19w13b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-29T16:53:22+00:00"}, {"id": "19w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b6b6aa23cbbce46b65e36d0c1bccd4f18438118a/19w13a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-27T15:15:31+00:00"}, {"id": "19w12b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2b7c619474e2a5c19e43494199d47cafba395abf/19w12b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-21T15:20:01+00:00"}, {"id": "19w12a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/91e9bb4b6af34b07c6a89c95696b988b8156702b/19w12a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-20T16:47:34+00:00"}, {"id": "19w11b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/065fec1702d92598089ad37f9e64b2e52ca30114/19w11b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-14T14:26:23+00:00"}, {"id": "19w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec8d1b45727e11cec93a813cc8b66bd48a6a3bad/19w11a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-03-13T13:59:29+00:00"}, {"id": "19w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fe35acc600f18d6247ec9e4228c53447e695f8a3/19w09a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-27T14:44:30+00:00"}, {"id": "19w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8d59acdc1b78c6d4a690c2906bcb0a875f119652/19w08b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-21T13:38:09+00:00"}, {"id": "19w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b21d6ece2b83e7ec488a4536dbe9f9228b744b34/19w08a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-20T14:56:58+00:00"}, {"id": "19w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0be11f1e510a44d0042ad471a72371e7633c9777/19w07a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-13T16:12:08+00:00"}, {"id": "19w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/384c37467913bcd11a0d7f8d8b9ec81c7058f1de/19w06a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-02-06T16:24:13+00:00"}, {"id": "19w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/87712b3fed60308203939e9ac846470f4b9672d3/19w05a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-30T15:16:49+00:00"}, {"id": "19w04b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aaf60b4748fbfa2b08c90c6abb1762fb92cac367/19w04b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-25T12:20:15+00:00"}, {"id": "19w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4eeb1dae750f4152927fe51c5065ca7aa3d53e3e/19w04a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-24T15:31:52+00:00"}, {"id": "19w03c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e7a922f060cc4441841e4722b0a6bab631492c1e/19w03c.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-18T11:27:13+00:00"}, {"id": "19w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a600b0a22f97147e59cd6060b362086ac84cb13e/19w03b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-17T16:43:27+00:00"}, {"id": "19w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e10947fbb39e5d58fb42000348be423e8c0cad64/19w03a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-16T16:45:02+00:00"}, {"id": "19w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5b51ed792b91ce4d281666c64c49084a134ac11d/19w02a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2019-01-09T15:52:07+00:00"}, {"id": "18w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/307a38d1f592a92fcff056165ef05323cb499bfc/18w50a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-12-12T14:58:13+00:00"}, {"id": "18w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7e37cc7f1f8c8d9cde81b7754fda64954578170a/18w49a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-12-05T12:24:30+00:00"}, {"id": "18w48b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/cece9e08337e073961bd7802672050718bf07d0d/18w48b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-30T10:37:31+00:00"}, {"id": "18w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fff0948616360b5545f236e5900af4c7c6da5d86/18w48a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-29T13:11:38+00:00"}, {"id": "18w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9d60a4e4f408db78e5f7797e8996d87e555674d8/18w47b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-23T10:46:41+00:00"}, {"id": "18w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b9345c8f73a33095fba323ebd4c4784796cf4436/18w47a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-21T15:45:22+00:00"}, {"id": "18w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b24c105bfb11d85b4f8cb946c89f762cf099aa2/18w46a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-15T13:43:14+00:00"}, {"id": "18w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8a857bfb02953d2578458402792e3b416d25f9f/18w45a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-11-07T14:40:06+00:00"}, {"id": "18w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7bee20111c1cd50fb0e26b689ea648ff84989ae6/18w44a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-31T15:29:16+00:00"}, {"id": "18w43c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/509730930d8dcd19bd3c6db819d33eb00d272ef4/18w43c.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-26T08:40:46+00:00"}, {"id": "18w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ba1edcdba89ea57137c04952e4c7755926263a76/18w43b.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-24T15:02:30+00:00"}, {"id": "18w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07adde0060f5cbdb01b90ebc03cde154aacebcb/18w43a.json", "time": "2023-06-07T11:25:16+00:00", "releaseTime": "2018-10-24T10:52:16+00:00"}, {"id": "1.13.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fa3ddc22146c46bfeb0e9d322c6f83b937e25005/1.13.2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-22T11:41:07+00:00"}, {"id": "1.13.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7b915c9ca867e916dcbacecdfe19cff3cd94cab8/1.13.2-pre2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-18T14:46:12+00:00"}, {"id": "1.13.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28eb641c164c2ae0879358f884f42f7e2393c366/1.13.2-pre1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-10-16T13:40:58+00:00"}, {"id": "1.13.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/f37fe6f0912ddb7ac3e7d5201a73d56ce170a57f/1.13.1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-22T14:03:42+00:00"}, {"id": "1.13.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f82e1057225a7c9dfe3c75b45924a6bfa4aaeafa/1.13.1-pre2.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-20T13:52:09+00:00"}, {"id": "1.13.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73f5439743e168a8270b538061832f22625369c9/1.13.1-pre1.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-16T13:08:44+00:00"}, {"id": "18w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/495ee0c97c88cf15b6614dd68bc70994413f8e5f/18w33a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-15T14:28:56+00:00"}, {"id": "18w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fa7c2eaa0539d16d3e3887ac16ecd19f25757505/18w32a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-08T13:16:57+00:00"}, {"id": "18w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5f20fbe733b3db3758045626e9ffff050029daf6/18w31a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-08-01T12:54:44+00:00"}, {"id": "18w30b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81891c454a12e9bf4a262002d5c89320bb4ae153/18w30b.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-07-26T16:06:57+00:00"}, {"id": "18w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3e9adc4f817f01b8f92e00cb19e2d604473a83d3/18w30a.json", "time": "2023-06-07T11:32:59+00:00", "releaseTime": "2018-07-25T14:29:31+00:00"}, {"id": "1.13", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c24c2fd37c8ca2e1c18721e2c77caf4d24c87f92/1.13.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-18T15:11:46+00:00"}, {"id": "1.13-pre10", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0d4e1471e49b9657226ffb8684ed6da72bb5068e/1.13-pre10.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-17T14:48:06+00:00"}, {"id": "1.13-pre9", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/43f426cd0895c936110629532c6db46717b2d827/1.13-pre9.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-16T14:17:42+00:00"}, {"id": "1.13-pre8", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28369586c81d7db81d6aea81a6464d2bb1765da8/1.13-pre8.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-13T11:45:00+00:00"}, {"id": "1.13-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/44314cf050787819e3c4b440f736a8c5e18ff862/1.13-pre7.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-10T14:21:42+00:00"}, {"id": "1.13-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e5288f29d1cd7b894ed99610828e713c3ba65ac/1.13-pre6.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-07-04T12:36:00+00:00"}, {"id": "1.13-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f0500efb357283322169d38fd52d24e195d56e05/1.13-pre5.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-28T13:58:53+00:00"}, {"id": "1.13-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5722f90decabdc54cf498d5c2e27e3a094c14018/1.13-pre4.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-26T13:00:55+00:00"}, {"id": "1.13-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/26564723c707a7eadfc07db2962295934c846296/1.13-pre3.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-21T12:57:11+00:00"}, {"id": "1.13-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/657c4cf0ac64074dbc4d97de063275aba31c9bc0/1.13-pre2.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-15T09:20:00+00:00"}, {"id": "1.13-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/28db6a1653a70fc1ac1b352e63f542d21397f59d/1.13-pre1.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-06-04T15:17:34+00:00"}, {"id": "18w22c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b16aeae7fd19224ec48c0e0937321faae2d241ff/18w22c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-31T13:53:15+00:00"}, {"id": "18w22b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e22c333dbaff27f1dfb068aee0a343d7bc3544c/18w22b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-30T13:48:58+00:00"}, {"id": "18w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/587dd0b2f3ac3ffd96b2a3451434d1b23b351066/18w22a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-29T13:23:55+00:00"}, {"id": "18w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aaae28bb5baa12bf5c7ca8c7f3cc8c558a39c038/18w21b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-25T10:09:09+00:00"}, {"id": "18w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92a0cd0254365df7df5e7ad7974ad15285020b32/18w21a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-23T13:11:49+00:00"}, {"id": "18w20c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a9d4d7cd84c112e644f134cc0cbeb0b2efe1d9e5/18w20c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-17T14:06:56+00:00"}, {"id": "18w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/566f11647d85194f292d2300fa550631bf75510a/18w20b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-16T14:35:35+00:00"}, {"id": "18w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a287a82f4f84e9529f8d387f3f23c680d262cf6a/18w20a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-15T14:02:25+00:00"}, {"id": "18w19b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/48a0d019a8ce73d2e492f029e64c9e2791b49339/18w19b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-09T10:00:51+00:00"}, {"id": "18w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/56cac74df46a43a6385708beafeed1df79590eb2/18w19a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-05-08T13:05:19+00:00"}, {"id": "18w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5fcd79de4734a0b058aab67607e44b1a09464290/18w16a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-19T14:46:35+00:00"}, {"id": "18w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c9fe2e1e80b8a5078af2c30cd6b764ca508beaa0/18w15a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-11T14:54:22+00:00"}, {"id": "18w14b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b4dc5007c1306f5823cfcefd4dbb1e944c8439e/18w14b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-05T14:44:02+00:00"}, {"id": "18w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c976a8bb4510edcdcaafca651aae6b49df731bc9/18w14a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-04-04T14:36:14+00:00"}, {"id": "18w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07fefcabe464b19876597340187732ffd59be5f/18w11a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-13T15:10:59+00:00"}, {"id": "18w10d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/282418aaec344de75724caaf9b2def18e892b213/18w10d.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-09T15:19:12+00:00"}, {"id": "18w10c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ab5cfc50c9e95c44d744a9501808621278aec8df/18w10c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-08T15:29:23+00:00"}, {"id": "18w10b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/316ed74ddf2fa0ae65adb2a170ed5aacdada4d51/18w10b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-07T15:56:01+00:00"}, {"id": "18w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fac132e97632d4beff518e7f3f8224c07f9239de/18w10a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-06T15:54:24+00:00"}, {"id": "18w09a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fecf14145dffb1c28922b3c16f14e2972779b1e8/18w09a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-03-01T14:15:10+00:00"}, {"id": "18w08b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3563f3093515369cb24ba5c2d1db610a62e88379/18w08b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-22T15:44:49+00:00"}, {"id": "18w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc7c9d4df688697de0b2f13dc46749e55cbd00ef/18w08a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-21T14:59:00+00:00"}, {"id": "18w07c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c286a5129959684ce6c416f9a150560d6db263af/18w07c.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-16T13:23:32+00:00"}, {"id": "18w07b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dea62b145246671ae46ed157e6ef2cd2de485a1e/18w07b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-15T14:28:42+00:00"}, {"id": "18w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/211e0152bce6081564fc9c40603463c04f89d835/18w07a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-14T17:34:13+00:00"}, {"id": "18w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a19117df869fb45cdd7a3692a3a01aab3979253f/18w06a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-02-09T12:09:55+00:00"}, {"id": "18w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a33a7a4c76821853a7a578920d7d784b91e9581d/18w05a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-31T13:32:09+00:00"}, {"id": "18w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3321f5a7180f93f885b2546368a88a928e11a70a/18w03b.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-17T15:09:14+00:00"}, {"id": "18w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a5e5d97e17af55625c66fa993b105fb774c2d967/18w03a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-17T14:25:24+00:00"}, {"id": "18w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b9bdc1df5d704f0de0a1f2c6b8a721618371213/18w02a.json", "time": "2023-06-07T11:41:22+00:00", "releaseTime": "2018-01-10T11:54:55+00:00"}, {"id": "18w01a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/58589469cc95d98a7cb18823f9dfdd7f14c9d023/18w01a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2018-01-03T13:29:30+00:00"}, {"id": "17w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/63a9166163a505dfb457a236e3e5d0f2ae983c2f/17w50a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-11T15:28:08+00:00"}, {"id": "17w49b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f0a11dbf1fd65a650310359ccd9c3c36f481688/17w49b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-07T15:29:54+00:00"}, {"id": "17w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9fba986bf446a39962189fb76b4236ea81e2f5f8/17w49a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-12-06T14:24:30+00:00"}, {"id": "17w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3b07a3dbdf52535bf05c377cbeb4e4308c6dfd42/17w48a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-27T15:36:33+00:00"}, {"id": "17w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/687c352e333feb8e36ac38e1a3cad8aa1a45affc/17w47b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-23T15:30:12+00:00"}, {"id": "17w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4f2089e0b8a7c209e811fe2ff86c4f9ab5b7bceb/17w47a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-22T12:40:05+00:00"}, {"id": "17w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a073800fa0f758a0570696446cd16df88ffc65f6/17w46a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-15T15:21:55+00:00"}, {"id": "17w45b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ad4e836a7bc594aebc70fae5cfda50b2ca410abd/17w45b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-10T10:07:02+00:00"}, {"id": "17w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b9fbd5f68cb9e4d0326d20afeb248595e4a278b8/17w45a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-11-08T15:48:00+00:00"}, {"id": "17w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6ceca710ad234e4db4c75c8fb9418878f2a8abf7/17w43b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-10-26T13:36:22+00:00"}, {"id": "17w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/50714e6fa84ca0bd804d3fa2f8419bbc08298e76/17w43a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-10-25T14:43:50+00:00"}, {"id": "1.12.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/832d95b9f40699d4961394dcf6cf549e65f15dc5/1.12.2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-18T08:39:46+00:00"}, {"id": "1.12.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1eff7a3a362a1005f202da0d3b7112b00c6259e7/1.12.2-pre2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-15T08:21:17+00:00"}, {"id": "1.12.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/360cab493afe35971fca74d75fbd6b43c41aa797/1.12.2-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-09-13T13:33:31+00:00"}, {"id": "1.12.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5b3e7d137ea360e1d418f0cf68de160acf93fbff/1.12.1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-03T12:40:39+00:00"}, {"id": "1.12.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/36781397c4c05b1ee74276afd9247f9dc33ce692/1.12.1-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-02T10:53:55+00:00"}, {"id": "17w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d500ab4e0838c53f4f7ffc5300521df0be9b9853/17w31a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-08-01T09:41:23+00:00"}, {"id": "1.12", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/da76e0a25ffccf2765f9e86ce61c063e44b2183b/1.12.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-06-02T13:50:27+00:00"}, {"id": "1.12-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/92c171fe6fcf3c16ba95f03307618bcac5e3d947/1.12-pre7.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-31T10:56:41+00:00"}, {"id": "1.12-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b1ba9c1c184e57e1bb970cdf4caa35ece8fb4eac/1.12-pre6.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-29T11:45:12+00:00"}, {"id": "1.12-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5dab6422cd2471a7a1b26435c912679cf66c58a/1.12-pre5.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-19T07:43:28+00:00"}, {"id": "1.12-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e05acd26ca220bb6399f396c0be0893bc74808d/1.12-pre4.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-18T12:28:16+00:00"}, {"id": "1.12-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/47d8cbd470539006d9825de3a890f07e342e4168/1.12-pre3.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-17T14:09:18+00:00"}, {"id": "1.12-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5d014cb12b9aecd84a8d08a7f70bdac55ded1f26/1.12-pre2.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-11T12:11:12+00:00"}, {"id": "1.12-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/80d68dc92cdf2557aada495061e93c2ce4f5ca08/1.12-pre1.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-10T11:37:17+00:00"}, {"id": "17w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/69a0095dd897d6ef87fd449328215d4f3d71c78d/17w18b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-04T13:40:22+00:00"}, {"id": "17w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/659b3c3b8578d45d265b58a0f1e428c044183ab2/17w18a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-05-03T14:50:23+00:00"}, {"id": "17w17b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8cd9ea793f3ee4608edf4fac8efad1b68fbceb65/17w17b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-27T13:24:23+00:00"}, {"id": "17w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9599f29c91fc8f57a77f7a79f4676a09e2ca1fe4/17w17a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-26T13:48:23+00:00"}, {"id": "17w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/38e2d76bea9091f1ed89e9f9c5b4630fcec103d9/17w16b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-21T12:02:59+00:00"}, {"id": "17w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b0369bcb956a4853bcc094ffe0020964061a1379/17w16a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-20T13:58:35+00:00"}, {"id": "17w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/84285c1ad87efc7f59ef75ca4e35ddf57c7193ae/17w15a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-12T09:30:50+00:00"}, {"id": "17w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d56c3a0ac83f263ab173de90dd6f044523a5274/17w14a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-04-05T13:58:01+00:00"}, {"id": "17w13b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b06914e45949d4d0167e339daea5217dc2f1f3c4/17w13b.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-03-31T11:06:35+00:00"}, {"id": "17w13a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5d31a532de28fd250af810ed468a6bd70f3de54/17w13a.json", "time": "2023-06-07T11:49:20+00:00", "releaseTime": "2017-03-30T09:32:19+00:00"}, {"id": "17w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a2a4b51368580cf7abc22d99d360eab2d4f2fec4/17w06a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2017-02-08T13:16:29+00:00"}, {"id": "1.11.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fa3f6d94a9fad648ff97d18fd710997261a421e8/1.11.2.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-21T09:29:12+00:00"}, {"id": "1.11.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b244f9fc1721a2ac90b6e12220f5e40246d2c84d/1.11.1.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-20T14:05:34+00:00"}, {"id": "16w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d4db7d96831cec8c3ad090110dfffae8f6f52aec/16w50a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-12-15T14:38:52+00:00"}, {"id": "1.11", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/935062464617c9904d20045065515cfd3f1b76d2/1.11.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-14T14:34:40+00:00"}, {"id": "1.11-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7bdd264a5a18799413f665a808de94451af68cb7/1.11-pre1.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-08T13:42:50+00:00"}, {"id": "16w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a75c5e9b85de3c7f89e1acbe02702dd4515df5eb/16w44a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-11-03T14:17:11+00:00"}, {"id": "16w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ecdc354d9d658e08c5371a7ce961e4aa35849913/16w43a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-27T09:00:51+00:00"}, {"id": "16w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a133f828ccd3261131132a504729e3106f17f071/16w42a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-19T11:17:47+00:00"}, {"id": "16w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/802bb9d6882c23e6f47e844c09d97914f1e90491/16w41a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-13T14:28:35+00:00"}, {"id": "16w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5c9e009d6875b2b54c231fb81cea4670b7950d5/16w40a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-10-06T13:57:59+00:00"}, {"id": "16w39c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/636990dd6311f6cadddf50c1e4c0a51f8fcdaf2d/16w39c.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-30T14:11:48+00:00"}, {"id": "16w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e4aac42badba700c6b8364ee5ebdc6a3b09073ca/16w39b.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-29T14:39:39+00:00"}, {"id": "16w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a550f22fab3e847433aa3289c6bedbca49057527/16w39a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-28T13:32:06+00:00"}, {"id": "16w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/687018ed85a2784dc63695af097daa280c9a8093/16w38a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-20T12:40:49+00:00"}, {"id": "16w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b49e747382603492f3ca5617a661f39c0c4e4e77/16w36a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-08T14:55:10+00:00"}, {"id": "16w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1ea0cec35ba30ccf2359303a8fbfd643179f0bcf/16w35a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-09-01T13:13:38+00:00"}, {"id": "16w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9fde68c65264789e91e61ce3d5db783fd537d2c/16w33a.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-08-17T12:48:57+00:00"}, {"id": "16w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5e6026e390a7fde3928682740425d49a44d7786/16w32b.json", "time": "2023-06-07T11:59:01+00:00", "releaseTime": "2016-08-11T14:34:29+00:00"}, {"id": "16w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/66d012257108f502883cee77b2ecd7cc40aa6ebc/16w32a.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-08-10T12:30:10+00:00"}, {"id": "1.10.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/819460dcabf1a2e41b0cf65d342b18ad8dc12281/1.10.2.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-23T09:17:32+00:00"}, {"id": "1.10.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9c23be6c5a48ab7dc7698586b5d7177fff4b441a/1.10.1.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-22T10:13:22+00:00"}, {"id": "1.10", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/a827abf9c022a08ed9c4c7807a8c1b7f2f05deca/1.10.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-08T13:06:18+00:00"}, {"id": "1.10-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/16ae6b8daf0522d443a64b79b04fae94077027f0/1.10-pre2.json", "time": "2023-06-07T12:09:50+00:00", "releaseTime": "2016-06-07T14:56:34+00:00"}, {"id": "1.10-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0ac1b4475692d7e7d457bf16ad6dfac040e9f265/1.10-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-06-02T14:45:16+00:00"}, {"id": "16w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49b8423070619688f106e5fa6f4fd9176fc54a93/16w21b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-26T12:47:22+00:00"}, {"id": "16w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/325467ff1dae5a0ef55427a0a7a81c9c7e65ceea/16w21a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-25T13:12:09+00:00"}, {"id": "16w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9286a8e316080ccf271051a014abc7d886469979/16w20a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-18T12:45:14+00:00"}, {"id": "1.9.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b1a314ce2b67b3639bd6407ddcd549ce236de6f6/1.9.4.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-10T10:17:16+00:00"}, {"id": "1.9.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4d37195227760207d397224c509ded4b0c68ea37/1.9.3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-10T08:33:35+00:00"}, {"id": "1.9.3-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bd10c446533e8059a6bb0018525e1bce31572bb9/1.9.3-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-05-03T09:28:11+00:00"}, {"id": "1.9.3-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e179d52f490ab24205b495cb6554f172077db374/1.9.3-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-27T13:33:20+00:00"}, {"id": "1.9.3-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/75c4b0e87d82f8972f9513797915ab8624c60177/1.9.3-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-21T12:41:42+00:00"}, {"id": "16w15b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0d4cf718d11fc50923c10d331be462c11836beb7/16w15b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-13T13:56:41+00:00"}, {"id": "16w15a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/13ae720e4e324deb0f7a7dbbdfb37c330d3adcf2/16w15a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-11T14:38:28+00:00"}, {"id": "16w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c748934ad99af11076a95658af606686bdcbce7d/16w14a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-04-07T12:47:51+00:00"}, {"id": "1.RV-Pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/23761c1cc8b5c7c72f6604e1e7322a056a6af2f8/1.RV-Pre1.json", "time": "2023-06-07T12:36:15+00:00", "releaseTime": "2016-03-31T16:18:53+00:00"}, {"id": "1.9.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9623ca73a57c6d183a28513c894c2337cfe65995/1.9.2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-30T15:23:55+00:00"}, {"id": "1.9.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/fdca0cf4bdab9959fce30413202a00a1bce35be5/1.9.1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-30T13:43:07+00:00"}, {"id": "1.9.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2fa68c071c9cc440e792d70f3b2c2e02e016d657/1.9.1-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-11T09:20:36+00:00"}, {"id": "1.9.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8da8881815e3d53da86adbdc051f836d0c4e2b93/1.9.1-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-10T15:06:03+00:00"}, {"id": "1.9.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1e7ecc95790b3bac41c4c59e9c7186c8b35e3bb3/1.9.1-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-03-09T16:27:29+00:00"}, {"id": "1.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9178828493e41a24452841039710f05728c466d6/1.9.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-29T13:49:54+00:00"}, {"id": "1.9-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/47874af37fe9a921ed0386321445be1dd5754976/1.9-pre4.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-26T15:21:11+00:00"}, {"id": "1.9-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b34824eb8099df04af6542722d571ab20381b416/1.9-pre3.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-24T15:52:36+00:00"}, {"id": "1.9-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/99775b58e157766cb7c4058b244a1a2b357b0889/1.9-pre2.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-18T17:41:00+00:00"}, {"id": "1.9-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/06ae803d5a838a287548f6414b8ede0ebcefe64b/1.9-pre1.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-17T15:23:19+00:00"}, {"id": "16w07b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7abe006dec5beaffac1eb5fcddf86731f6eb97d/16w07b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-16T15:22:39+00:00"}, {"id": "16w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73a10d7e61011af19d4c00565bc4faeaae693c7b/16w07a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-15T15:48:46+00:00"}, {"id": "16w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/86dfa5200058cdb6f96cd2648ec86ddd04bbaf41/16w06a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-10T15:06:41+00:00"}, {"id": "16w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f89c22833e743a144e56aaed3e238c142148d9b2/16w05b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-04T15:28:02+00:00"}, {"id": "16w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/848849c124e368f87bca8a990cbdc9043f678366/16w05a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-02-03T15:48:38+00:00"}, {"id": "16w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ec6cfa675974817435326b87987a512c5af7fbdf/16w04a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-28T15:37:24+00:00"}, {"id": "16w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d254f6fc2e3abb57e016feb6734bfa6ff38802eb/16w03a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-20T14:29:24+00:00"}, {"id": "16w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1ba834734412a1d7532e85844a32ec2ba18c1580/16w02a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2016-01-13T15:15:16+00:00"}, {"id": "15w51b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/40b2a92fcabe632c1239c615188f802a36b3854d/15w51b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-17T15:30:41+00:00"}, {"id": "15w51a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a120a6cce86982907628a84aca21cfc6b9064463/15w51a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-17T14:02:37+00:00"}, {"id": "15w50a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8356a6a93d89e3cc95328b4ee6bbd0697e0de200/15w50a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-09T15:35:57+00:00"}, {"id": "15w49b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8472901afe69ddbe599112d9fc656d3adcd1d5c/15w49b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-03T15:23:22+00:00"}, {"id": "1.8.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/d546f1707a3f2b7d034eece5ea2e311eda875787/1.8.9.json", "time": "2021-12-15T15:44:12+00:00", "releaseTime": "2015-12-03T09:24:39+00:00"}, {"id": "15w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4b2fbb35b426fbd63932801bd5f198229dfd0f62/15w49a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-12-02T15:09:37+00:00"}, {"id": "15w47c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e61f29ace59ae1d4d1cb1473b673b225115dc8a/15w47c.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-20T12:46:56+00:00"}, {"id": "15w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dd2a6ff3fd726a25ea42b020764a0f1c4e935849/15w47b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-19T14:48:03+00:00"}, {"id": "15w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3bab1680f0ec6330a832457f466654c03d799a0e/15w47a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-18T15:53:41+00:00"}, {"id": "15w46a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b40019e05283d502aab6bcf40fa498e333cb08c/15w46a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-12T12:11:47+00:00"}, {"id": "15w45a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c581934b794e798ce74736fd3e802128a44aa698/15w45a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-11-05T13:04:07+00:00"}, {"id": "15w44b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/17c7995e26759d671cb4ba41485b7ddf05bc2aba/15w44b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-30T11:23:17+00:00"}, {"id": "15w44a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dfce16ddf5118c95bb981ae7d84448ad3a60fc73/15w44a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-28T15:09:36+00:00"}, {"id": "15w43c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9a348e6e81aadc6fb563f1586149424af39d5268/15w43c.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-23T15:35:55+00:00"}, {"id": "15w43b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2a40420c0409f6f8fc24efe2c904e03715b22623/15w43b.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-22T14:11:58+00:00"}, {"id": "15w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4aaabcbd0079e99840294002ebed569801729483/15w43a.json", "time": "2023-06-07T12:17:49+00:00", "releaseTime": "2015-10-21T15:28:52+00:00"}, {"id": "15w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7b18842c1dbbe945d991851ffaff49ecd7efbb91/15w42a.json", "time": "2021-12-15T15:45:57+00:00", "releaseTime": "2015-10-14T13:25:14+00:00"}, {"id": "15w41b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/27ab9716cf332d457be085a808eb170fe1a1ff2c/15w41b.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-10-07T14:07:26+00:00"}, {"id": "15w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/38026b4c0301e3441d8e0d5b367392d3212dc51d/15w41a.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-10-07T13:19:53+00:00"}, {"id": "15w40b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a00ee3d8eb0c1cb38d928f5efb4a473768fa5286/15w40b.json", "time": "2021-12-15T15:45:56+00:00", "releaseTime": "2015-09-30T14:13:54+00:00"}, {"id": "15w40a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f5c9662f1674f7f0e55e82a77109ad88a6bc9df7/15w40a.json", "time": "2021-12-15T15:45:55+00:00", "releaseTime": "2015-09-30T13:13:54+00:00"}, {"id": "15w39c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1/15w39c.json", "time": "2021-12-15T15:45:55+00:00", "releaseTime": "2015-09-23T13:13:54+00:00"}, {"id": "15w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/909aa3af2988edc58b1e9c66f906a883d9a34815/15w39b.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-21T15:09:52+00:00"}, {"id": "15w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7f914aa1098b8b35e20e9c021b57378d0a8fcc6c/15w39a.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-21T13:16:32+00:00"}, {"id": "15w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/222a234de865b9147cad4e3b2545d8af93c35065/15w38b.json", "time": "2021-12-15T15:45:54+00:00", "releaseTime": "2015-09-17T14:22:31+00:00"}, {"id": "15w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1b4dcb4c07599a5e5571d9d71570641086e821e4/15w38a.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-16T14:22:31+00:00"}, {"id": "15w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9459c8c56ba4577b69cc12a9034769f0d20fb3dc/15w37a.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-10T14:22:31+00:00"}, {"id": "15w36d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9/15w36d.json", "time": "2021-12-15T15:45:53+00:00", "releaseTime": "2015-09-04T14:22:31+00:00"}, {"id": "15w36c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b1a04bae902de441013791777aa0461d446bd2c7/15w36c.json", "time": "2021-12-15T15:45:52+00:00", "releaseTime": "2015-09-02T16:07:22+00:00"}, {"id": "15w36b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2268159e9ce438054660ac86d55db3ddfed1e20b/15w36b.json", "time": "2021-12-15T15:45:52+00:00", "releaseTime": "2015-09-02T15:36:25+00:00"}, {"id": "15w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c185b19d54c00e43f85c610858909c40f9163708/15w36a.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-09-02T14:46:40+00:00"}, {"id": "15w35e", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1fade4fe9d2587106ac3fa14775f9126d3198103/15w35e.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-08-28T18:14:02+00:00"}, {"id": "15w35d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752/15w35d.json", "time": "2021-12-15T15:45:51+00:00", "releaseTime": "2015-08-28T16:25:35+00:00"}, {"id": "15w35c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/362bda12d03da60b8481c79f4779bba7a2602c89/15w35c.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-28T11:21:00+00:00"}, {"id": "15w35b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/fda82bd0b305eba9607742b9314a41a54f0a9952/15w35b.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-24T15:39:18+00:00"}, {"id": "15w35a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/801ae2c7be9b3e558a7aef6c766bddb74d4be66a/15w35a.json", "time": "2021-12-15T15:45:50+00:00", "releaseTime": "2015-08-24T14:19:31+00:00"}, {"id": "15w34d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3c0d347369147a3951163679127a5bf8e78be5a2/15w34d.json", "time": "2021-12-15T15:45:49+00:00", "releaseTime": "2015-08-21T15:27:55+00:00"}, {"id": "15w34c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/44d6774de6881154fd5f9ac6154dee5f202eb121/15w34c.json", "time": "2021-12-15T15:45:49+00:00", "releaseTime": "2015-08-21T12:45:20+00:00"}, {"id": "15w34b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3bec850cf623d63b26caf462b0be177bc9954a0a/15w34b.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-20T14:00:03+00:00"}, {"id": "15w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b8fdc5838196c33646a68610ed7586678a53b085/15w34a.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-19T12:56:01+00:00"}, {"id": "15w33c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c602ac43b9f2c23b4c39999a6368bbccd31852ca/15w33c.json", "time": "2021-12-15T15:45:48+00:00", "releaseTime": "2015-08-14T13:10:46+00:00"}, {"id": "15w33b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c108562e1ee548ba05439441e97fdcb0b01d1194/15w33b.json", "time": "2021-12-15T15:45:47+00:00", "releaseTime": "2015-08-12T15:29:11+00:00"}, {"id": "15w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e5b7e666fd697aef925f539d3983d03ed5d4457e/15w33a.json", "time": "2021-12-15T15:45:47+00:00", "releaseTime": "2015-08-12T14:05:07+00:00"}, {"id": "15w32c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2bf1e36bc4099bba503063ec507b7600ca088e4c/15w32c.json", "time": "2021-12-15T15:45:46+00:00", "releaseTime": "2015-08-07T14:08:17+00:00"}, {"id": "15w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/59db82d67a0a1c6b6a31d22cd050ff6c43f1611b/15w32b.json", "time": "2021-12-15T15:45:46+00:00", "releaseTime": "2015-08-06T13:51:47+00:00"}, {"id": "15w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4e80b2295bdb531e64326c4d3fbf93e8d330c5e7/15w32a.json", "time": "2021-12-15T15:45:45+00:00", "releaseTime": "2015-08-05T12:22:42+00:00"}, {"id": "15w31c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1345a9c6d2442415e5980c12fd7bd838072dbd90/15w31c.json", "time": "2021-12-15T15:45:44+00:00", "releaseTime": "2015-07-31T13:45:08+00:00"}, {"id": "15w31b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c9c8d4b706ebb7a057bb91ac69d84ea060b8d174/15w31b.json", "time": "2021-12-15T15:45:44+00:00", "releaseTime": "2015-07-30T13:38:32+00:00"}, {"id": "15w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c9ad2064a55148bef3da7d98dde8d9ff50596ea/15w31a.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2015-07-29T13:24:33+00:00"}, {"id": "1.8.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/690172f1227e1c1d2fa8fceadd0f578f7851a69e/1.8.8.json", "time": "2021-12-15T15:44:12+00:00", "releaseTime": "2015-07-27T10:31:28+00:00"}, {"id": "1.8.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7152f102903cd3ce7514d84c8ac98efecac30839/1.8.7.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-06-05T10:10:44+00:00"}, {"id": "1.8.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/acccbb056a3e8f3086c4614974fb3a894317853a/1.8.6.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-05-25T10:31:19+00:00"}, {"id": "1.8.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/16da5f5be7478f3602c25182a90f2057ba2f60d8/1.8.5.json", "time": "2021-12-15T15:44:11+00:00", "releaseTime": "2015-05-22T11:15:28+00:00"}, {"id": "1.8.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/043b84efde9fc25d849e979329c03101ac9b7795/1.8.4.json", "time": "2021-12-15T15:44:10+00:00", "releaseTime": "2015-04-17T11:37:50+00:00"}, {"id": "15w14a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9349d236c0f4b8760f75621b3eaad538055c759/15w14a.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2015-04-01T07:08:00+00:00"}, {"id": "1.8.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4/1.8.3.json", "time": "2021-12-15T15:44:10+00:00", "releaseTime": "2015-02-20T14:00:09+00:00"}, {"id": "1.8.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/1e35829856a71261f5a7b2b3a83012c7434b2203/1.8.2.json", "time": "2021-12-15T15:44:09+00:00", "releaseTime": "2015-02-19T15:47:29+00:00"}, {"id": "1.8.2-pre7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d07a07da8ffe68a0929710c72346073a02a94933/1.8.2-pre7.json", "time": "2021-12-15T15:45:10+00:00", "releaseTime": "2015-02-16T13:01:35+00:00"}, {"id": "1.8.2-pre6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/07ae1d9b67d36399e239a2ff46d43a1f96ef141a/1.8.2-pre6.json", "time": "2021-12-15T15:45:10+00:00", "releaseTime": "2015-01-30T11:58:24+00:00"}, {"id": "1.8.2-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08e7827173655705e938233cf148f955b4f67901/1.8.2-pre5.json", "time": "2021-12-15T15:45:09+00:00", "releaseTime": "2015-01-26T15:03:24+00:00"}, {"id": "1.8.2-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/db4c583ec25447f7418fc8e458798905a1282b88/1.8.2-pre4.json", "time": "2021-12-15T15:45:09+00:00", "releaseTime": "2015-01-16T14:19:59+00:00"}, {"id": "1.8.2-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3d371e2f8c3b04b44c76ae908a1e6f800895aa80/1.8.2-pre3.json", "time": "2021-12-15T15:45:08+00:00", "releaseTime": "2015-01-15T16:44:33+00:00"}, {"id": "1.8.2-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/50c6a27cbbd2df6adff74aaea9953a00c6ce38e3/1.8.2-pre2.json", "time": "2021-12-15T15:45:08+00:00", "releaseTime": "2015-01-15T15:07:31+00:00"}, {"id": "1.8.2-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79c984156100e076c37316d6d6377ced3daaf379/1.8.2-pre1.json", "time": "2021-12-15T15:45:07+00:00", "releaseTime": "2014-12-18T11:29:41+00:00"}, {"id": "1.8.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/62f9f77f67fd7d6c92cfae57cecd445be14ccd4e/1.8.1.json", "time": "2021-12-15T15:44:09+00:00", "releaseTime": "2014-11-24T14:13:31+00:00"}, {"id": "1.8.1-pre5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4460bbf278fef1312f03c1483599c31149fe85a7/1.8.1-pre5.json", "time": "2021-12-15T15:45:07+00:00", "releaseTime": "2014-11-19T14:30:48+00:00"}, {"id": "1.8.1-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9024ad2831e3fc4450977aafe7bb3d07ff0d542/1.8.1-pre4.json", "time": "2021-12-15T15:45:06+00:00", "releaseTime": "2014-11-06T14:10:50+00:00"}, {"id": "1.8.1-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c2f5fb57bf63012594b3dc34a80a8d888ec017ac/1.8.1-pre3.json", "time": "2021-12-15T15:45:06+00:00", "releaseTime": "2014-10-23T12:59:42+00:00"}, {"id": "1.8.1-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8e77dedf93135552e1aaaebcec4c8d154d4dea04/1.8.1-pre2.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-10-16T14:19:27+00:00"}, {"id": "1.8.1-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f470d54d32f9e1d1a02e4e84e33b2407325ab62d/1.8.1-pre1.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-10-15T13:25:11+00:00"}, {"id": "1.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/9eb165eef46294062d8698c8a78e8ac914949e7a/1.8.json", "time": "2021-12-15T15:44:13+00:00", "releaseTime": "2014-09-02T08:24:35+00:00"}, {"id": "1.8-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7fd3abc53ee1f813f5b574c8dc758fd694b6abd3/1.8-pre3.json", "time": "2021-12-15T15:45:05+00:00", "releaseTime": "2014-08-28T09:40:54+00:00"}, {"id": "1.8-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2c6bf8e3d17565117bbb5e188544439518d3ad95/1.8-pre2.json", "time": "2021-12-15T15:45:04+00:00", "releaseTime": "2014-08-25T14:52:18+00:00"}, {"id": "1.8-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/00ddc59925abc10e08047c94657e3365b1e031d6/1.8-pre1.json", "time": "2021-12-15T15:45:04+00:00", "releaseTime": "2014-08-21T13:56:26+00:00"}, {"id": "14w34d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e314c5316fc189a9883f5a786a6b9daffcff8e84/14w34d.json", "time": "2021-12-15T15:45:43+00:00", "releaseTime": "2014-08-20T12:46:59+00:00"}, {"id": "14w34c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a82b66557f41c05f41477481e39be5d5ceec3c62/14w34c.json", "time": "2021-12-15T15:45:42+00:00", "releaseTime": "2014-08-19T15:31:24+00:00"}, {"id": "14w34b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f24d3b4a363411fec20a36c2bd92a62b628be003/14w34b.json", "time": "2021-12-15T15:45:42+00:00", "releaseTime": "2014-08-18T15:14:28+00:00"}, {"id": "14w34a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dc020c20f2d7a79dee3f601317a8a7cb191c0538/14w34a.json", "time": "2021-12-15T15:45:41+00:00", "releaseTime": "2014-08-18T14:14:11+00:00"}, {"id": "14w33c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/de314d5c6f011057f764e546a212731d40736c1f/14w33c.json", "time": "2021-12-15T15:45:41+00:00", "releaseTime": "2014-08-15T18:00:26+00:00"}, {"id": "14w33b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dec4943bf73d83402d455243f83c8c550e36f7b5/14w33b.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-15T16:23:51+00:00"}, {"id": "14w33a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a1a938359171774c96e06f54bc0c12352a9d7992/14w33a.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-13T15:08:14+00:00"}, {"id": "14w32d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/414e33e7d03d873966c199d959426da08aa5aebc/14w32d.json", "time": "2021-12-15T15:45:40+00:00", "releaseTime": "2014-08-08T15:13:41+00:00"}, {"id": "14w32c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3dfa2c82cd06c89735ac0c9b05151b4994efab19/14w32c.json", "time": "2021-12-15T15:45:39+00:00", "releaseTime": "2014-08-08T14:11:20+00:00"}, {"id": "14w32b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6230265cc1f324689cb5fbb7df21235ca0013e70/14w32b.json", "time": "2021-12-15T15:45:39+00:00", "releaseTime": "2014-08-07T14:45:17+00:00"}, {"id": "14w32a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3af16f96e7800a8f0c31500a873b008c00036c84/14w32a.json", "time": "2021-12-15T15:45:38+00:00", "releaseTime": "2014-08-06T14:01:16+00:00"}, {"id": "14w31a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1243fe2c047064613e42a2c0e7ce0018fdf94035/14w31a.json", "time": "2021-12-15T15:45:38+00:00", "releaseTime": "2014-07-30T15:38:05+00:00"}, {"id": "14w30c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6327714a7712f723bb74492e2f5fcbb92b8b12a9/14w30c.json", "time": "2021-12-15T15:45:37+00:00", "releaseTime": "2014-07-24T14:39:09+00:00"}, {"id": "14w30b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/dddd3cf12b88f179baa286a9bb51f4c3902c3780/14w30b.json", "time": "2021-12-15T15:45:37+00:00", "releaseTime": "2014-07-23T15:03:03+00:00"}, {"id": "14w30a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f73b4bad130911c1ef16066aeb740574f20f90f7/14w30a.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-23T13:15:42+00:00"}, {"id": "14w29b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/02a4803aa427d29f9db910d22b263686d0135fcc/14w29b.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-16T17:27:40+00:00"}, {"id": "14w29a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5219707e16e90d57fbba55f635b68e4725d72b8f/14w29a.json", "time": "2021-12-15T15:45:36+00:00", "releaseTime": "2014-07-16T15:18:17+00:00"}, {"id": "14w28b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c18437b0194fb2af464b5fe0cb67ed0eeafb44e8/14w28b.json", "time": "2021-12-15T15:45:35+00:00", "releaseTime": "2014-07-10T14:28:48+00:00"}, {"id": "14w28a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6d6b755e76453633e464ed09f82b0979a414d8e4/14w28a.json", "time": "2021-12-15T15:45:35+00:00", "releaseTime": "2014-07-09T15:42:36+00:00"}, {"id": "14w27b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/08f1ed6374fb9d87e34fe81ab50d19d01e3055dc/14w27b.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-07-02T18:34:56+00:00"}, {"id": "14w27a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c0e594ad64eac1b322e4724b92292daad80951eb/14w27a.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-07-02T16:07:20+00:00"}, {"id": "14w26c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2fe002bebd830ccb5328329ed7efb7e9fb555519/14w26c.json", "time": "2021-12-15T15:45:34+00:00", "releaseTime": "2014-06-26T15:05:03+00:00"}, {"id": "14w26b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/288aa1d9c5840c8d0f75ee682bc8a0a1564babfb/14w26b.json", "time": "2021-12-15T15:45:33+00:00", "releaseTime": "2014-06-25T15:08:39+00:00"}, {"id": "14w26a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f/14w26a.json", "time": "2021-12-15T15:45:33+00:00", "releaseTime": "2014-06-25T13:59:27+00:00"}, {"id": "14w25b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d8b348b5a412e809748f35f694fe5dc395a83b3a/14w25b.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-06-19T12:29:48+00:00"}, {"id": "14w25a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0091b9fe0f95dc765e187840ff41235638ce22d6/14w25a.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-06-18T15:52:28+00:00"}, {"id": "14w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c5791a666929e783ba360e98247ff744b5ac3520/14w21b.json", "time": "2021-12-15T15:45:32+00:00", "releaseTime": "2014-05-22T15:17:55+00:00"}, {"id": "14w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f8c912b97cf684f4339571b27592e85b7ec84a19/14w21a.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-22T14:44:33+00:00"}, {"id": "14w20b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b4b682e67ff47a689cf3ff0b405eeec5758dfa9a/14w20b.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-15T16:47:21+00:00"}, {"id": "14w20a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/674e75f032a5473ad91531dfbfa7b8cb42f55f71/14w20a.json", "time": "2021-12-15T15:45:31+00:00", "releaseTime": "2014-05-15T14:01:20+00:00"}, {"id": "1.7.10", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/ed5d8789ed29872ea2ef1c348302b0c55e3f3468/1.7.10.json", "time": "2021-12-15T15:44:05+00:00", "releaseTime": "2014-05-14T17:29:23+00:00"}, {"id": "1.7.10-pre4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f2a4a03329bb07d70d4837b6893c435f97deed25/1.7.10-pre4.json", "time": "2021-12-15T15:45:02+00:00", "releaseTime": "2014-05-14T16:29:23+00:00"}, {"id": "1.7.10-pre3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/94578a1fc1db7cb804a9be044008e54367f4905e/1.7.10-pre3.json", "time": "2021-12-15T15:45:01+00:00", "releaseTime": "2014-05-14T15:29:23+00:00"}, {"id": "1.7.10-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954/1.7.10-pre2.json", "time": "2021-12-15T15:45:01+00:00", "releaseTime": "2014-05-14T14:29:23+00:00"}, {"id": "1.7.10-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a526665974dfa717f79f15529ae294d0a6074fc5/1.7.10-pre1.json", "time": "2021-12-15T15:45:00+00:00", "releaseTime": "2014-05-14T13:29:23+00:00"}, {"id": "14w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ffcc6382a2d12310c42cc1b654ea8d88117cf105/14w19a.json", "time": "2021-12-15T15:45:30+00:00", "releaseTime": "2014-05-08T14:24:19+00:00"}, {"id": "14w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0aa29d5bc6915b347505a194260bd51bc8bf2960/14w18b.json", "time": "2021-12-15T15:45:30+00:00", "releaseTime": "2014-05-02T11:38:17+00:00"}, {"id": "14w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c64cc4d300948e2d8e5fb05e394b69edc680027e/14w18a.json", "time": "2021-12-15T15:45:29+00:00", "releaseTime": "2014-04-30T10:25:35+00:00"}, {"id": "14w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2d857ecd809f15008f4718dc3b11ef5b60548ce4/14w17a.json", "time": "2021-12-15T15:45:29+00:00", "releaseTime": "2014-04-24T15:44:49+00:00"}, {"id": "14w11b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/022ade13058d98289f1625857462994a6ec40110/14w11b.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-04-14T14:36:19+00:00"}, {"id": "1.7.9", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5579bc9e25a9bb5e3187a2570693a0c6658edce4/1.7.9.json", "time": "2021-12-15T15:44:08+00:00", "releaseTime": "2014-04-14T13:29:23+00:00"}, {"id": "1.7.8", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/03d8e2e1c192d48ffc406cb7a483861cf26dfe25/1.7.8.json", "time": "2021-12-15T15:44:08+00:00", "releaseTime": "2014-04-09T07:58:16+00:00"}, {"id": "1.7.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/47e228263557da73d0e2be803e5d83e5b246ae75/1.7.7.json", "time": "2021-12-15T15:44:07+00:00", "releaseTime": "2014-04-09T07:52:16+00:00"}, {"id": "1.7.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b6dd3e6496ad415f0c57867dea1f97710d5f184c/1.7.6.json", "time": "2021-12-15T15:44:07+00:00", "releaseTime": "2014-04-09T07:52:06+00:00"}, {"id": "14w11a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ed3b597f26c1140b31d4c7421054e83398270e19/14w11a.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-03-13T14:02:50+00:00"}, {"id": "1.7.6-pre2", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/977e8f92b306b2d798a7b69858f48fbe06dbb302/1.7.6-pre2.json", "time": "2021-12-15T15:45:03+00:00", "releaseTime": "2014-03-08T11:00:01+00:00"}, {"id": "1.7.6-pre1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/39e402b6972475126fa9e8a883915a9ce5d7722a/1.7.6-pre1.json", "time": "2021-12-15T15:45:02+00:00", "releaseTime": "2014-03-08T11:00:00+00:00"}, {"id": "14w10c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/312e632fcac49d7c1dca6a7fa58824eace01d91d/14w10c.json", "time": "2021-12-15T15:45:28+00:00", "releaseTime": "2014-03-07T13:49:55+00:00"}, {"id": "14w10b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/90e924daa64f7908e69d4c7c4451599d2592f9d3/14w10b.json", "time": "2021-12-15T15:45:27+00:00", "releaseTime": "2014-03-06T16:25:39+00:00"}, {"id": "14w10a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/643d852decb88d011fab20df4cb14ed100362f0f/14w10a.json", "time": "2021-12-15T15:45:27+00:00", "releaseTime": "2014-03-06T14:23:04+00:00"}, {"id": "14w08a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c04557fe5dcfe1c2e302265b677549384008c14/14w08a.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-26T17:00:00+00:00"}, {"id": "1.7.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4afb628501a6a206b80a47ab4f29ea6b98caac90/1.7.5.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2014-02-26T09:22:17+00:00"}, {"id": "14w07a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/23dbadcc03150f2e3447d528f7f546ba8fd62246/14w07a.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-14T11:05:07+00:00"}, {"id": "14w06b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2c381742bc9cadc33fbc0a823b4fb734aad78533/14w06b.json", "time": "2021-12-15T15:45:26+00:00", "releaseTime": "2014-02-06T17:30:42+00:00"}, {"id": "14w06a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a59d77f95afc36421554f9fee3a930d6cca9209d/14w06a.json", "time": "2021-12-15T15:45:25+00:00", "releaseTime": "2014-02-06T14:30:17+00:00"}, {"id": "14w05b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff/14w05b.json", "time": "2021-12-15T15:45:25+00:00", "releaseTime": "2014-01-31T14:05:50+00:00"}, {"id": "14w05a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f/14w05a.json", "time": "2021-12-15T15:45:24+00:00", "releaseTime": "2014-01-30T15:32:41+00:00"}, {"id": "14w04b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/62524cf35e56e365a5dff36353fb77a38ff35269/14w04b.json", "time": "2021-12-15T15:45:24+00:00", "releaseTime": "2014-01-24T15:48:46+00:00"}, {"id": "14w04a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/41307eaf3c2bf6b526986d8bb2fd698099298a2f/14w04a.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-23T15:26:13+00:00"}, {"id": "14w03b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2/14w03b.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-16T16:36:19+00:00"}, {"id": "14w03a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/73f7ed186402ac8927ce415507cfa70b6aa5483f/14w03a.json", "time": "2021-12-15T15:45:23+00:00", "releaseTime": "2014-01-16T14:45:13+00:00"}, {"id": "14w02c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e7c40fe6754d5912ebc119a53e752c9024130e3f/14w02c.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-10T15:42:36+00:00"}, {"id": "14w02b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/25f758976bfd97d533af7e38680db8983d2cf82d/14w02b.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-09T15:45:55+00:00"}, {"id": "14w02a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/1348f531ae51631ea0ee1e467348440c5f93dcc2/14w02a.json", "time": "2021-12-15T15:45:22+00:00", "releaseTime": "2014-01-09T14:44:41+00:00"}, {"id": "1.7.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5db9d89cb6b89573384f324aa585b4c99525b37a/1.7.4.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2013-12-09T12:28:10+00:00"}, {"id": "1.7.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/cd133f90b7e339c50b3cdce64188a51469c6a128/1.7.3.json", "time": "2021-12-15T15:44:06+00:00", "releaseTime": "2013-12-06T13:55:34+00:00"}, {"id": "13w49a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/82cf56aabfbca3a1f1d13b4404050d9877b5a67e/13w49a.json", "time": "2021-12-15T15:45:21+00:00", "releaseTime": "2013-12-05T14:34:41+00:00"}, {"id": "13w48b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/55543db98b2df3a986c99d8cdc8278a70493eb4a/13w48b.json", "time": "2021-12-15T15:45:21+00:00", "releaseTime": "2013-11-26T18:36:08+00:00"}, {"id": "13w48a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/329f28adfb5ba0d6d81ceae27209e1eb97c4ef88/13w48a.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-25T16:53:39+00:00"}, {"id": "13w47e", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/81b30470c108a201cfb2dfd548dc0a52afa20a0a/13w47e.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-22T15:16:38+00:00"}, {"id": "13w47d", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ccf62018b2e8aa9628dab2353ed85a4239368f63/13w47d.json", "time": "2021-12-15T15:45:20+00:00", "releaseTime": "2013-11-22T13:51:15+00:00"}, {"id": "13w47c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ca7616ffa259c99e2350f010555eba54e54b4dd0/13w47c.json", "time": "2021-12-15T15:45:19+00:00", "releaseTime": "2013-11-21T17:10:33+00:00"}, {"id": "13w47b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ac1dc3c3a7d33aa47e97c7b3d419510696f57cde/13w47b.json", "time": "2021-12-15T15:45:19+00:00", "releaseTime": "2013-11-21T16:57:41+00:00"}, {"id": "13w47a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/9bb727f63e3af146df7cbd47a6a3332d31550855/13w47a.json", "time": "2021-12-15T15:45:18+00:00", "releaseTime": "2013-11-21T15:59:58+00:00"}, {"id": "1.7.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c2e8ecbf355760a74c93d7210767fa043d53f27c/1.7.2.json", "time": "2021-12-15T15:44:05+00:00", "releaseTime": "2013-10-25T13:00:00+00:00"}, {"id": "1.7.1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/744a42505862bea0bdd5da55ff06e09536f36d66/1.7.1.json", "time": "2021-12-15T15:45:00+00:00", "releaseTime": "2013-10-23T12:01:07+00:00"}, {"id": "1.7", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16/1.7.json", "time": "2021-12-15T15:45:03+00:00", "releaseTime": "2013-10-22T15:04:05+00:00"}, {"id": "13w43a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d7c2d81bf137c9e1a84576241767de08909c29fd/13w43a.json", "time": "2021-12-15T15:45:18+00:00", "releaseTime": "2013-10-21T16:34:47+00:00"}, {"id": "13w42b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/ce863b81986e6acce2983be040d2071711f6403c/13w42b.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-18T16:34:08+00:00"}, {"id": "13w42a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8cef2eee33892b62b3a28559246c750c3487dd8f/13w42a.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-17T18:33:05+00:00"}, {"id": "13w41b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/015456cd8b5c68d0076536d4e867111cd36b541a/13w41b.json", "time": "2021-12-15T15:45:17+00:00", "releaseTime": "2013-10-11T15:09:17+00:00"}, {"id": "13w41a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/43622c17e011441b8b63b0a27d79887c2f7516aa/13w41a.json", "time": "2021-12-15T15:45:16+00:00", "releaseTime": "2013-10-10T14:21:43+00:00"}, {"id": "13w39b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160/13w39b.json", "time": "2021-12-13T14:56:26+00:00", "releaseTime": "2013-09-27T12:15:58+00:00"}, {"id": "13w39a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/61b88e8c311ed6a647ebf13d9934c6a1e3a94a75/13w39a.json", "time": "2021-12-13T14:56:26+00:00", "releaseTime": "2013-09-26T15:11:19+00:00"}, {"id": "13w38c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/a9e87e0699f19fea280878f5deb744c5d5d3ccb1/13w38c.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-20T15:11:34+00:00"}, {"id": "13w38b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/6f426be1993b140ab5d10459c91eb1f542d58c82/13w38b.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-20T13:45:40+00:00"}, {"id": "13w38a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4/13w38a.json", "time": "2019-06-28T07:08:09+00:00", "releaseTime": "2013-09-19T16:34:21+00:00"}, {"id": "1.6.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/b71bae449192fbbe1582ff32fb3765edf0b9b0a8/1.6.4.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-09-19T15:52:37+00:00"}, {"id": "13w37b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b8d28154ee056af6af3c8c37815418fe0e9f34f8/13w37b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-13T10:54:41+00:00"}, {"id": "1.6.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/903d6ba1bc87c301d88fa418f8b33446201c7d4e/1.6.3.json", "time": "2019-06-28T07:07:47+00:00", "releaseTime": "2013-09-13T10:54:41+00:00"}, {"id": "13w37a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2f33c613a4bb81ef5f56be03a8f578208ada382a/13w37a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-12T14:23:14+00:00"}, {"id": "13w36b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/4a538e23057a596fc8c7e04d8a7738d866467f51/13w36b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-06T12:31:58+00:00"}, {"id": "13w36a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b/13w36a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-09-05T13:05:40+00:00"}, {"id": "1.6.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c0729761bf65dc58138ce508645dba1442fa78b8/1.6.2.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-07-05T13:09:02+00:00"}, {"id": "1.6.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7fd8e0c76f62813eb0465e31bb74b160c01472d6/1.6.1.json", "time": "2019-06-28T07:06:16+00:00", "releaseTime": "2013-06-28T14:48:41+00:00"}, {"id": "1.6", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/20116297638f7c70cd046e25a6ac90fee4cae61a/1.6.json", "time": "2019-06-28T07:07:47+00:00", "releaseTime": "2013-06-25T13:08:56+00:00"}, {"id": "13w26a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b349702aef5e3adaebec30c79338300423943930/13w26a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-24T16:06:06+00:00"}, {"id": "13w25c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/934788bc580ef0a19725ee5bd31f02a0b866e0bf/13w25c.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-20T15:23:37+00:00"}, {"id": "13w25b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8b7870ddd0d0b38779479ad782d65ad80e688cf7/13w25b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-18T15:13:27+00:00"}, {"id": "13w25a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/65c0e5fff89b477ac6f8ddb336f0e718d525d311/13w25a.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-17T14:08:06+00:00"}, {"id": "13w24b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/e1294b52803771cfb06767c4c40dced70475cb25/13w24b.json", "time": "2019-06-28T07:08:08+00:00", "releaseTime": "2013-06-14T12:19:13+00:00"}, {"id": "13w24a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/74666ab85cc5539f08aec638eabd63a552ed4125/13w24a.json", "time": "2019-06-28T07:08:07+00:00", "releaseTime": "2013-06-13T15:32:23+00:00"}, {"id": "13w23b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/f17829f3e412b9b727437ec9f8433bdfc6c7b9a7/13w23b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-06-08T00:32:01+00:00"}, {"id": "13w23a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8234057ec006c5bb62a28ca4f6787323968438e6/13w23a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-06-07T16:04:20+00:00"}, {"id": "13w22a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/597a15f27cc0913a77ff7e1e9c62c3affc627fe8/13w22a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-30T14:38:40+00:00"}, {"id": "13w21b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/98f66e115fbab6dcd05f2e5e0a23dd78c0a5e7a3/13w21b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-27T08:50:42+00:00"}, {"id": "13w21a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/aebfb9b82f0712de3e6ef78bc2cafe5dcb742130/13w21a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-23T15:38:28+00:00"}, {"id": "13w19a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/8bb131515d6b483baa76f1b42ea5a1018d11bb22/13w19a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-10T14:48:02+00:00"}, {"id": "13w18c", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/93738bf22f33d9ba5e2980bec849b097a5050c8f/13w18c.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-03T09:19:35+00:00"}, {"id": "13w18b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/2cab9aae9eef3558d6abe8ac2708ea19322a1594/13w18b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-02T17:12:25+00:00"}, {"id": "13w18a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/79bef69b5542046e705a57784cc63574748effe2/13w18a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-05-02T15:45:59+00:00"}, {"id": "13w17a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d21e61b16b0e446b5062e8ee72c9d0ff3bfbd155/13w17a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-25T15:50:00+00:00"}, {"id": "1.5.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/924a2dcd8bdc31f8e9d36229811c298b3537bbc7/1.5.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-25T15:45:00+00:00"}, {"id": "13w16b", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/5f4e1c860d1c79d346f3e4574615ca1fd9da01ed/13w16b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-23T21:51:22+00:00"}, {"id": "13w16a", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/c355e2ee0495dfcc8ec9806955c8d2993179b40c/13w16a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-04-21T12:49:30+00:00"}, {"id": "1.5.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/3c514114d9c2a3ea78f72c4f9fb4eeb56747135a/1.5.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-03-20T10:00:00+00:00"}, {"id": "1.5", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/bb882e3d97bee9c5b5e486da04b85f977e770150/1.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2013-03-06T22:00:00+00:00"}, {"id": "1.4.7", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/7aa8e9aeacf4e1076bfd81c096f78de9b883ebe6/1.4.7.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-27T22:00:00+00:00"}, {"id": "1.4.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/d64a902a48a6a618f9a0a82c183be454e7a1f23b/1.4.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-19T22:00:00+00:00"}, {"id": "1.4.6", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/09832797138da79745ade734da775f44c254066b/1.4.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-19T22:00:00+00:00"}, {"id": "1.4.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/f7de827181036b09444abb6b64c1fcc663b8e98e/1.4.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-12-13T22:00:00+00:00"}, {"id": "1.4.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/3ab416ac64dac1a6123402a8aabd8ef3caeef087/1.4.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-30T22:00:00+00:00"}, {"id": "1.4.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/2fd77aa19aba2860bbf4c1fd9f84f232703dd287/1.4.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-24T22:00:00+00:00"}, {"id": "1.4.1", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/14c3ba517b5baabdfc61b60eb49d9aa7da012906/1.4.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-22T22:00:00+00:00"}, {"id": "1.4", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/d979a4671611bf8704c0a2a0cf09964ca25eefd7/1.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-11-18T22:00:00+00:00"}, {"id": "1.3.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/598eedd6f67db4aefbae6ed119029e3d7373ecf5/1.3.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-08-15T22:00:00+00:00"}, {"id": "1.3.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/637aa8466c4dac462b88682caaf753290f37798f/1.3.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-07-31T22:00:00+00:00"}, {"id": "1.3", "type": "snapshot", "url": "https://piston-meta.mojang.com/v1/packages/b384219c6d4879e56b92eea01a0d986e20d55dea/1.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-07-25T22:00:00+00:00"}, {"id": "1.2.5", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/5158765caf1ca14958cb6c45d52c8e09ed9b046c/1.2.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-29T22:00:00+00:00"}, {"id": "1.2.4", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/69a67fcf11ed1298c6b43a00d64461908a318749/1.2.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-21T22:00:00+00:00"}, {"id": "1.2.3", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/2f7eaec33e3017a413c677eefa59df2e5919e536/1.2.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-03-01T22:00:00+00:00"}, {"id": "1.2.2", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/4e2e449ba0b8b5da7055f0decea1a3257b282f17/1.2.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-02-29T22:00:01+00:00"}, {"id": "1.2.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/1a45c035ebb969dbac4e0c39582e974ad7f74a9e/1.2.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-02-29T22:00:00+00:00"}, {"id": "1.1", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/c0cb9368dbdbb1e8dbcb9363a28d8da74cf6fc5e/1.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2012-01-11T22:00:00+00:00"}, {"id": "1.0", "type": "release", "url": "https://piston-meta.mojang.com/v1/packages/75062586b830dd5160f13f1c9130eb365e01f1b9/1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-11-17T22:00:00+00:00"}, {"id": "b1.8.1", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/440e3b845c3991492a3d0c5f0ccfda78ab90d9b6/b1.8.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-09-18T22:00:00+00:00"}, {"id": "b1.8", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e5b20b1a15daa60effefd86da94b118086214e8b/b1.8.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-09-14T22:00:00+00:00"}, {"id": "b1.7.3", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/44f6969326bd45aa00dcd3c4ca3a7c05ebb24c04/b1.7.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-07-07T22:00:00+00:00"}, {"id": "b1.7.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/00f5aff7cbf6ce109ecf2c8e1a5dc1bcbadb5680/b1.7.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-06-30T22:00:00+00:00"}, {"id": "b1.7", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/f3a725f9f27e90f2a2622ad82c182c1a1178572f/b1.7.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-06-29T22:00:00+00:00"}, {"id": "b1.6.6", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/16cb1aa6f7c9c3953fa2f53abd8f57558efd3e71/b1.6.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-30T22:00:00+00:00"}, {"id": "b1.6.5", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/eae37053bb49092ce93d40e762f4c3a573ee2880/b1.6.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-27T22:00:00+00:00"}, {"id": "b1.6.4", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/ac98b5e9e44038f3a311736111c16fc30006e1fd/b1.6.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:04+00:00"}, {"id": "b1.6.3", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/87785f4386cd308defcc876fb6d62bf3681be6bc/b1.6.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:03+00:00"}, {"id": "b1.6.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/23f8e2f1634d1db8875521d8e0d3fb5340623fd2/b1.6.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:02+00:00"}, {"id": "b1.6.1", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/1958ecd7b20c5a2849b4e1e7a9921891e49178da/b1.6.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:01+00:00"}, {"id": "b1.6", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/7442961ad4f23c60787ab2a3c97a5037c40a92f2/b1.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-05-25T22:00:00+00:00"}, {"id": "b1.5_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/0f0b24408e6ca445e9c4a3ea2a676f71f96f5d35/b1.5_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-19T22:00:00+00:00"}, {"id": "b1.5", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/3fa704bd73444368f04351d6d4add8a3eead9b4e/b1.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-18T22:00:00+00:00"}, {"id": "b1.4_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/d47fcb0e4d9b7169fbb26c0bce56ed2082c3bb1d/b1.4_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-04-04T22:00:00+00:00"}, {"id": "b1.4", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/2cf34d1caca87b68ee104e348480e38f45eb7621/b1.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-03-30T22:00:00+00:00"}, {"id": "b1.3_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/a0e0a27d8f7d4c23b6441e473a3e44b45a958284/b1.3_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-02-22T22:00:00+00:00"}, {"id": "b1.3b", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/16ffb877701f7b41c6f27fb09def7a8e5d667df1/b1.3b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-02-21T22:00:00+00:00"}, {"id": "b1.2_02", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/5352763f0a944e7940e718fd66aae03bc57dc2ef/b1.2_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-20T22:00:00+00:00"}, {"id": "b1.2_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/0fea71dc8c4199581753d8ecb3ae69039a302340/b1.2_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-13T22:00:00+00:00"}, {"id": "b1.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/67bcdada56d272e4508ecb8e35827ffa4a4c18d1/b1.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2011-01-12T22:00:00+00:00"}, {"id": "b1.1_02", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/01042e0ecdd894894ebc6f45300ae306010c154f/b1.1_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-21T22:00:01+00:00"}, {"id": "b1.1_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/1bab185d888a549a3fcb4e528557caa3e7884290/b1.1_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-21T22:00:00+00:00"}, {"id": "b1.0.2", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e0a317286013bdd8e6de6da5e709422af61597d8/b1.0.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-20T22:00:00+00:00"}, {"id": "b1.0_01", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/d3eec813918ee87826f7bca65dd1558b33841798/b1.0_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-19T22:00:01+00:00"}, {"id": "b1.0", "type": "old_beta", "url": "https://piston-meta.mojang.com/v1/packages/e5348beaf3d3c366c522b1c70044f8b7be168b02/b1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-19T22:00:00+00:00"}, {"id": "a1.2.6", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/1c888e4d8aed380db25aeb3835f5918297bb5e3a/a1.2.6.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-12-02T22:00:00+00:00"}, {"id": "a1.2.5", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a925f00e3f7f1bde95240152bef4d15f36971394/a1.2.5.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-30T22:00:00+00:00"}, {"id": "a1.2.4_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/64d6a749cb24ddd8a27546f9555ac7c2853c5943/a1.2.4_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-29T22:00:00+00:00"}, {"id": "a1.2.3_04", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/59c7719b82023e5b71e334a69d3c13137014a2bc/a1.2.3_04.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-25T22:00:00+00:00"}, {"id": "a1.2.3_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b22eadebb4bfb63cdc42e9811da8fd2234eaaa6e/a1.2.3_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-24T22:00:00+00:00"}, {"id": "a1.2.3_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/da7b740e70324be7e189c65f1f834f0a30c0588f/a1.2.3_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-23T22:00:01+00:00"}, {"id": "a1.2.3", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/6c059b7bdb14b29c8d5cca2b250472962fe3b0b1/a1.2.3.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-23T22:00:00+00:00"}, {"id": "a1.2.2b", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/2aba3e114e0a7190ea3dff1553787d5044e1c420/a1.2.2b.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-09T22:00:01+00:00"}, {"id": "a1.2.2a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/03cde2f4856b59adab177ab10673b6d951bfd7c8/a1.2.2a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-09T22:00:00+00:00"}, {"id": "a1.2.1_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/f20e3a7757a92e1d429dcf45fa545cc84a9699da/a1.2.1_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-04T22:00:01+00:00"}, {"id": "a1.2.1", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/05773451d61d92c0e8fa73cdb2e4c0fd23c4e1d4/a1.2.1.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-04T22:00:00+00:00"}, {"id": "a1.2.0_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/57ff567f186230b303af60241fbce283dad44bb2/a1.2.0_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-11-03T22:00:00+00:00"}, {"id": "a1.2.0_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/bed2a50ed2f9ce6a920394916ea66ce41b09b166/a1.2.0_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-10-30T22:00:00+00:00"}, {"id": "a1.2.0", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/abc94a77d94b94042d01476ee0c2e4b8c4eb08e1/a1.2.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-10-29T22:00:00+00:00"}, {"id": "a1.1.2_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/8730e3503e352fc03cca8a6c6ee614a17d66d8c6/a1.1.2_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-22T22:00:00+00:00"}, {"id": "a1.1.2", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b515b79ecaba79a0b5a4a5a03bf2b077f6c53334/a1.1.2.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-19T22:00:00+00:00"}, {"id": "a1.1.0", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/6054271bd0a275ed3030be97b6e9f81977abdf5d/a1.1.0.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-09-12T22:00:00+00:00"}, {"id": "a1.0.17_04", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/fc2b6231e945558df29b6ed12522758860c511ab/a1.0.17_04.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-22T22:00:00+00:00"}, {"id": "a1.0.17_02", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a261074f38c555d9770ba7f1a4cae9351af19d73/a1.0.17_02.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-19T22:00:00+00:00"}, {"id": "a1.0.16", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/205ed38d0d1e135b467702a746e64ed2623b4679/a1.0.16.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-11T22:00:00+00:00"}, {"id": "a1.0.15", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/05a0fdef0a0d62273290eb1c145ad10501941f75/a1.0.15.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-08-03T22:00:00+00:00"}, {"id": "a1.0.14", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/5af21fa2467997914940beb39279f0d545a48335/a1.0.14.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-29T22:00:00+00:00"}, {"id": "a1.0.11", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/b98235f44e6422741df02c781cf0016fce1c4a84/a1.0.11.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-22T22:00:00+00:00"}, {"id": "a1.0.5_01", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/4adaca651189d96ea9d7aa031038ab7b7d3fd807/a1.0.5_01.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-12T22:00:00+00:00"}, {"id": "a1.0.4", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/16c818f17af9e8560589f9e3cae57f0931011c25/a1.0.4.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-07-08T22:00:00+00:00"}, {"id": "inf-20100618", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/51a5c512af384d3d2a79a3efb93f7d4b9a1c6ec2/inf-20100618.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2010-06-15T22:00:00+00:00"}, {"id": "c0.30_01c", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/9392d3f635770ac4dfd3f8c9444f319b00b08945/c0.30_01c.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-12-21T22:00:00+00:00"}, {"id": "c0.0.13a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/5ef11c52e02c27f40924ea0c323efee716de568d/c0.0.13a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-30T22:00:00+00:00"}, {"id": "c0.0.13a_03", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/21122dee2365147033ef6214702098cf7b2549bd/c0.0.13a_03.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-21T22:00:00+00:00"}, {"id": "c0.0.11a", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/2339fd5639204675b9f18dff6055dae83fc91c7e/c0.0.11a.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-16T22:00:00+00:00"}, {"id": "rd-161348", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/f22a3882d124ef4468f6eb50b12836c53286e18a/rd-161348.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-16T11:48:00+00:00"}, {"id": "rd-160052", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/0cac2ceab812568826c6e5aeb4cf980397550479/rd-160052.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-15T22:52:00+00:00"}, {"id": "rd-20090515", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/a3165080e2b0bf20519eac5f55ee841f3491e277/rd-20090515.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-14T22:00:00+00:00"}, {"id": "rd-132328", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/4ec49ff663f96e78a5cf0d9538adb9d1358fc485/rd-132328.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-13T21:28:00+00:00"}, {"id": "rd-132211", "type": "old_alpha", "url": "https://piston-meta.mojang.com/v1/packages/d090f5d3766a28425316473d9ab6c37234d48b02/rd-132211.json", "time": "2022-03-10T09:51:38+00:00", "releaseTime": "2009-05-13T20:11:00+00:00"}]} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml similarity index 62% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml index 6ae32dc3ebe8e79d605f491defec750a8b5f06ec..f8f72a385afeba2f7de1978d257fe7d6466cfee1 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest-new.xml @@ -3,8 +3,8 @@ <groupId>net.neoforged</groupId> <artifactId>neoforge</artifactId> <versioning> - <latest>20.4.173</latest> - <release>20.4.173</release> + <latest>20.4.235</latest> + <release>20.4.235</release> <versions> <version>20.2.3-beta</version> <version>20.2.4-beta</version> @@ -254,7 +254,163 @@ <version>20.4.171</version> <version>20.4.172</version> <version>20.4.173</version> + <version>20.4.174</version> + <version>20.4.175</version> + <version>20.4.176</version> + <version>20.4.177</version> + <version>20.4.178</version> + <version>20.4.179</version> + <version>20.4.180</version> + <version>20.4.181</version> + <version>20.4.182</version> + <version>20.4.183</version> + <version>20.4.184</version> + <version>20.4.185</version> + <version>20.4.186</version> + <version>20.4.187</version> + <version>20.4.188</version> + <version>20.4.189</version> + <version>20.4.190</version> + <version>20.4.191</version> + <version>20.4.192</version> + <version>20.4.193</version> + <version>20.4.194</version> + <version>20.4.195</version> + <version>20.4.196</version> + <version>20.4.197</version> + <version>20.4.198</version> + <version>20.4.199</version> + <version>20.4.200</version> + <version>20.4.201</version> + <version>20.4.202</version> + <version>20.4.203</version> + <version>20.4.204</version> + <version>20.4.205</version> + <version>20.4.206</version> + <version>20.4.207</version> + <version>20.4.208</version> + <version>20.4.209</version> + <version>20.4.210</version> + <version>20.4.211</version> + <version>20.4.212</version> + <version>20.4.213</version> + <version>20.4.214</version> + <version>20.4.215</version> + <version>20.4.216</version> + <version>20.4.217</version> + <version>20.4.218</version> + <version>20.4.219</version> + <version>20.4.221</version> + <version>20.4.222</version> + <version>20.4.223</version> + <version>20.4.224</version> + <version>20.4.225</version> + <version>20.4.226</version> + <version>20.4.227</version> + <version>20.4.228</version> + <version>20.4.229</version> + <version>20.4.230</version> + <version>20.4.231</version> + <version>20.4.232</version> + <version>20.5.0-beta</version> + <version>20.5.1-beta</version> + <version>20.5.2-beta</version> + <version>20.5.3-beta</version> + <version>20.4.233</version> + <version>20.5.4-beta</version> + <version>20.5.5-beta</version> + <version>20.5.6-beta</version> + <version>20.5.7-beta</version> + <version>20.5.8-beta</version> + <version>20.5.9-beta</version> + <version>20.5.10-beta</version> + <version>20.5.11-beta</version> + <version>20.5.12-beta</version> + <version>20.5.13-beta</version> + <version>20.5.14-beta</version> + <version>20.5.15-beta</version> + <version>20.5.16-beta</version> + <version>20.5.17-beta</version> + <version>20.5.18-beta</version> + <version>20.5.19-beta</version> + <version>20.5.20-beta</version> + <version>20.5.21-beta</version> + <version>20.6.1-beta</version> + <version>20.6.2-beta</version> + <version>20.6.3-beta</version> + <version>20.6.4-beta</version> + <version>20.4.234</version> + <version>20.6.5-beta</version> + <version>20.6.6-beta</version> + <version>20.6.7-beta</version> + <version>20.6.8-beta</version> + <version>20.6.9-beta</version> + <version>20.6.10-beta</version> + <version>20.6.11-beta</version> + <version>20.6.12-beta</version> + <version>20.6.13-beta</version> + <version>20.6.14-beta</version> + <version>20.6.15-beta</version> + <version>20.6.16-beta</version> + <version>20.6.17-beta</version> + <version>20.6.18-beta</version> + <version>20.6.19-beta</version> + <version>20.6.20-beta</version> + <version>20.6.21-beta</version> + <version>20.6.22-beta</version> + <version>20.6.23-beta</version> + <version>20.6.24-beta</version> + <version>20.6.25-beta</version> + <version>20.6.26-beta</version> + <version>20.6.27-beta</version> + <version>20.6.28-beta</version> + <version>20.6.30-beta</version> + <version>20.6.29-beta</version> + <version>20.6.31-beta</version> + <version>20.6.32-beta</version> + <version>20.6.39-beta</version> + <version>20.6.40-beta</version> + <version>20.6.41-beta</version> + <version>20.6.42-beta</version> + <version>20.6.43-beta</version> + <version>20.6.44-beta</version> + <version>20.6.47-beta</version> + <version>20.6.45-beta</version> + <version>20.6.46-beta</version> + <version>20.6.48-beta</version> + <version>20.6.49-beta</version> + <version>20.6.50-beta</version> + <version>20.6.51-beta</version> + <version>20.6.52-beta</version> + <version>20.6.53-beta</version> + <version>20.6.55-beta</version> + <version>20.6.54-beta</version> + <version>20.6.56-beta</version> + <version>20.6.57-beta</version> + <version>20.6.59-beta</version> + <version>20.6.60-beta</version> + <version>20.6.61-beta</version> + <version>20.6.62-beta</version> + <version>20.6.63-beta</version> + <version>20.6.66-beta</version> + <version>20.6.68-beta</version> + <version>20.6.67-beta</version> + <version>20.6.69-beta</version> + <version>20.6.70-beta</version> + <version>20.6.71-beta</version> + <version>20.6.72-beta</version> + <version>20.6.73-beta</version> + <version>20.6.74-beta</version> + <version>20.6.75-beta</version> + <version>20.6.76-beta</version> + <version>20.6.77-beta</version> + <version>20.6.78-beta</version> + <version>20.6.80-beta</version> + <version>20.6.79-beta</version> + <version>20.6.81-beta</version> + <version>20.6.82-beta</version> + <version>20.4.235</version> </versions> - <lastUpdated>20240223175048</lastUpdated> + <lastUpdated>20240526110052</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest.xml similarity index 88% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest.xml index 2e0700a7a0fbc7c660e48d8ceac2b91ea6ac3b11..079dcbb8f419fac5e372c3bafc4c4e7f9bfd5ddd 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/neoforge-manifest.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/neoforge-manifest.xml @@ -3,8 +3,8 @@ <groupId>net.neoforged</groupId> <artifactId>forge</artifactId> <versioning> - <latest>1.20.1-47.1.100</latest> - <release>1.20.1-47.1.100</release> + <latest>1.20.1-47.1.105</latest> + <release>1.20.1-47.1.105</release> <versions> <version>1.20.1-47.1.7</version> <version>1.20.1-47.1.5</version> @@ -63,7 +63,12 @@ <version>1.20.1-47.1.98</version> <version>1.20.1-47.1.99</version> <version>1.20.1-47.1.100</version> + <version>1.20.1-47.1.101</version> + <version>1.20.1-47.1.102</version> + <version>1.20.1-47.1.103</version> + <version>1.20.1-47.1.104</version> + <version>1.20.1-47.1.105</version> </versions> - <lastUpdated>20240215064837</lastUpdated> + <lastUpdated>20240426004451</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml similarity index 85% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml index 7c071ec25931875e96feeb8bf8df8c833c4e2799..52226d312e7f91425de0fec5adc8a15a79f9167b 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-installer-manifest.xml @@ -3,8 +3,8 @@ <groupId>org.quiltmc</groupId> <artifactId>quilt-installer</artifactId> <versioning> - <latest>0.9.1</latest> - <release>0.9.1</release> + <latest>0.9.2</latest> + <release>0.9.2</release> <versions> <version>0.3.1</version> <version>0.4.0</version> @@ -24,7 +24,8 @@ <version>0.8.2</version> <version>0.9.0</version> <version>0.9.1</version> + <version>0.9.2</version> </versions> - <lastUpdated>20230917163513</lastUpdated> + <lastUpdated>20240517020203</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-manifest.xml b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-manifest.xml similarity index 94% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-manifest.xml rename to serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-manifest.xml index dd88c92cd25a0be3be2cfe3c1243c59102ed43e6..57940962afd79b5bb55bbced60f9fb8def6db8b1 100644 --- a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/manifests/quilt-manifest.xml +++ b/serverpackcreator-api/src/main/resources/de/griefed/resources/manifests/quilt-manifest.xml @@ -3,8 +3,8 @@ <groupId>org.quiltmc</groupId> <artifactId>quilt-loader</artifactId> <versioning> - <latest>0.24.0-beta.8</latest> - <release>0.24.0-beta.8</release> + <latest>0.26.0-beta.3</latest> + <release>0.26.0-beta.3</release> <versions> <version>0.16.0-beta.1</version> <version>0.16.0-beta.2</version> @@ -237,7 +237,18 @@ <version>0.24.0-beta.6</version> <version>0.24.0-beta.7</version> <version>0.24.0-beta.8</version> + <version>0.24.0-beta.9</version> + <version>0.24.0</version> + <version>0.24.1-beta.1</version> + <version>0.25.0-beta.1</version> + <version>0.25.0-beta.2</version> + <version>0.25.0-beta.3</version> + <version>0.25.0-beta.4</version> + <version>0.25.0</version> + <version>0.26.0-beta.1</version> + <version>0.26.0-beta.2</version> + <version>0.26.0-beta.3</version> </versions> - <lastUpdated>20240220031414</lastUpdated> + <lastUpdated>20240525235859</lastUpdated> </versioning> </metadata> diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/default_template.ps1 b/serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/default_template.ps1 similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/default_template.ps1 rename to serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/default_template.ps1 diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/default_template.sh b/serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/default_template.sh similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/default_template.sh rename to serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/default_template.sh diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/server-icon.png b/serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/server-icon.png similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/server-icon.png rename to serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/server-icon.png diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/server.properties b/serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/server.properties similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/server_files/server.properties rename to serverpackcreator-api/src/main/resources/de/griefed/resources/server_files/server.properties diff --git a/serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/serverpackcreator.conf b/serverpackcreator-api/src/main/resources/de/griefed/resources/serverpackcreator.conf similarity index 100% rename from serverpackcreator-api/src/jvmMain/resources/de/griefed/resources/serverpackcreator.conf rename to serverpackcreator-api/src/main/resources/de/griefed/resources/serverpackcreator.conf diff --git a/serverpackcreator-api/src/main/resources/log4j2.component.properties b/serverpackcreator-api/src/main/resources/log4j2.component.properties new file mode 100644 index 0000000000000000000000000000000000000000..e051363086cde17eb40f1d39aa45e29489325a41 --- /dev/null +++ b/serverpackcreator-api/src/main/resources/log4j2.component.properties @@ -0,0 +1,3 @@ +log4j.configurationFile=log4j2.xml +log4j.formatMsgNoLookups=true +log4j.configurationFactory=de.griefed.serverpackcreator.api.ApiProperties \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmMain/resources/log4j2.xml b/serverpackcreator-api/src/main/resources/log4j2.xml similarity index 78% rename from serverpackcreator-api/src/jvmMain/resources/log4j2.xml rename to serverpackcreator-api/src/main/resources/log4j2.xml index 8b4cf88dd2f0d31e188f6783de03fa46589b0436..8488dc9e3908bfa82be4d115e6fcdc8cdaf6e97b 100644 --- a/serverpackcreator-api/src/jvmMain/resources/log4j2.xml +++ b/serverpackcreator-api/src/main/resources/log4j2.xml @@ -35,22 +35,6 @@ <DefaultRolloverStrategy max="5" /> </RollingFile> - <RollingFile name="InstallerLogger" fileName="${log-path}/modloader_installer.log" filePattern="${archive}/modloader_installer.log.%i"> - <PatternLayout> - <Charset> - ${charset} - </Charset> - <Pattern> - ${pattern} - </Pattern> - </PatternLayout> - <Policies> - <OnStartupTriggeringPolicy /> - <SizeBasedTriggeringPolicy size="10 MB" /> - </Policies> - <DefaultRolloverStrategy max="5" /> - </RollingFile> - <RollingFile name="PluginsLogger" fileName="${log-path}/plugins.log" filePattern="${archive}/plugins.log.%i"> <PatternLayout> <Charset> @@ -79,10 +63,6 @@ <AppenderRef ref="ApplicationLogger" level="${log-level-spc}" /> </Logger> - <Logger name="InstallerLogger" level="ALL" additivity="false"> - <AppenderRef ref="InstallerLogger" level="${log-level-spc}" /> - </Logger> - <Logger name="PluginsLogger" level="ALL" additivity="false"> <AppenderRef ref="PluginsLogger" level="${log-level-spc}" /> </Logger> diff --git a/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties b/serverpackcreator-api/src/main/resources/serverpackcreator.properties similarity index 99% rename from serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties rename to serverpackcreator-api/src/main/resources/serverpackcreator.properties index 887eeb16a830e20ed7b63238ea0453716b4216e8..8801818a5533814caa274d62a3139be613eb1a72 100644 --- a/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties +++ b/serverpackcreator-api/src/main/resources/serverpackcreator.properties @@ -1,7 +1,7 @@ # Supported languages: [en_us, uk_ua, de_de] de.griefed.serverpackcreator.versioncheck.prerelease=false de.griefed.serverpackcreator.language=en_GB -de.griefed.serverpackcreator.configuration.fallback.updateurl=https://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/jvmMain/resources/serverpackcreator.properties +de.griefed.serverpackcreator.configuration.fallback.updateurl=https://raw.githubusercontent.com/Griefed/ServerPackCreator/main/serverpackcreator-api/src/main/resources/serverpackcreator.properties de.griefed.serverpackcreator.configuration.fallbackmodslist=3dskinlayers-,Absolutely-Not-A-Zoom-Mod-,AdvancedChat-,AdvancedChatCore-,AdvancedChatHUD-,AdvancedCompas-,Ambience,AmbientEnvironment-,AmbientSounds_,AnimaticaReforged-,AreYouBlind-,Armor Status HUD-,ArmorSoundTweak-,BH-Menu-,Batty's Coordinates PLUS Mod,BetterAdvancements-,BetterAnimationsCollection-,BetterModsButton-,BetterDarkMode-,BetterF3-,BetterFog-,BetterFoliage-,BetterPingDisplay-,BetterPlacement-,BetterTaskbar-,BetterThirdPerson,BetterTitleScreen-,Blur-,BorderlessWindow-,CTM-,ChunkAnimator-,ClientTweaks_,CompletionistsIndex-,Controller Support-,Controlling-,CraftPresence-,CullLessLeaves-Reforged-,CustomCursorMod-,CustomMainMenu-,DefaultOptions_,DefaultSettings-,DeleteWorldsToTrash-,DetailArmorBar-,Ding-,DistantHorizons-,DripSounds-,Durability101-,DurabilityNotifier-,DynamicSurroundings-,DynamicSurroundingsHuds-,EasyLAN-,EffectsLeft-,EiraMoticons_,EnchantmentDescriptions-,EnhancedVisuals_,EquipmentCompare-,EuphoriaPatcher-,FPS-Monitor-,FabricCustomCursorMod-,FadingNightVision-,Fallingleaves-,FancySpawnEggs,FancyVideo-API-,farsight-,FirstPersonMod,FogTweaker-,ForgeCustomCursorMod-,FpsReducer-,FpsReducer2-,FullscreenWindowed-,GameMenuModOption-,HealthOverlay-,HeldItemTooltips-,HorseStatsMod-,ImmediatelyFastReforged-,InventoryEssentials_,InventoryHud_[1.17.1].forge-,InventorySpam-,InventoryTweaks-,ItemBorders-,ItemLocks-,ItemPhysicLite_,ItemStitchingFix-,JBRA-Client-,JustEnoughCalculation-,JustEnoughEffects-,JustEnoughProfessions-,LeaveMyBarsAlone-,LLOverlayReloaded-,LOTRDRP-,LegendaryTooltips,LegendaryTooltips-,LightOverlay-,MinecraftCapes,MineMenu-,MoBends,ModernUI-,MouseTweaks-,MyServerIsCompatible-,Neat,Neat-,NekosEnchantedBooks-,NoAutoJump-,NoFog-,Notes-,NotifMod-,OldJavaWarning-,OptiFine,OptiFine_,OptiForge,OptiForge-,OverflowingBars-,PackMenu-,PackModeMenu-,PickUpNotifier-,Ping-,PingHUD-,PresenceFootsteps-,RPG-HUD-,ReAuth-,Reforgium-,ResourceLoader-,ResourcePackOrganizer,Ryoamiclights-,ShoulderSurfing-,ShulkerTooltip-,SimpleDiscordRichPresence-,SimpleWorldTimer-,SoundFilters-,SpawnerFix-,StylishEffects-,TextruesRubidiumOptions-,TRansliterationLib-,TipTheScales-,Tips-,Toast Control-,Toast-Control-,ToastControl-,TravelersTitles-,VoidFog-,VR-Combat_,WindowedFullscreen-,WorldNameRandomizer-,YeetusExperimentus-,YungsMenuTweaks-,[1.12.2]DamageIndicatorsMod-,[1.12.2]bspkrscore-,antighost-,anviltooltipmod-,appleskin-,armorchroma-,armorpointspp-,auditory-,authme-,auto-reconnect-,autojoin-,autoreconnect-,axolotl-item-fix-,backtools-,bannerunlimited-,beenfo-1.19-,better-recipe-book-,betterbiomeblend-,bhmenu-,blur-,borderless-mining-,cat_jam-,catalogue-,charmonium-,chat_heads-,cherishedworlds-,cirback-1.0-,classicbar-,clickadv-,clienttweaks-,combat_music-,connectedness-,controllable-,cullleaves-,cullparticles-,custom-crosshair-mod-,customdiscordrpc-,darkness-,dashloader-,defaultoptions-,desiredservers-,discordrpc-,drippyloadingscreen-,drippyloadingscreen_,durabilitytooltip-,dynamic-fps-,dynamic-music-,dynamiclights-,dynmus-,effective-,eggtab-,eguilib-,eiramoticons-,embeddium-,enchantment-lore-,entity-texture-features-,entityculling-,essential_,exhaustedstamina-,extremesoundmuffler-,fabricemotes-,fancymenu_,fancymenu_video_extension,fast-ip-ping-,flickerfix-,fm_audio_extension_,forgemod_VoxelMap-,freelook-,galacticraft-rpc-,gamestagesviewer-,gpumemleakfix-,grid-,helium-,hiddenrecipebook_,hiddenrecipebook-,infinitemusic-,inventoryprofiles,invtweaks-,itemzoom,itlt-,jeed-,jehc-,jeiintegration_,jumpoverfences-,just-enough-harvestcraft-,justenoughbeacons-,justenoughdrags-,justzoom_,keymap-,keywizard-,lazurite-,lazydfu-,lib39-,light-overlay-,lightfallclient-,lightspeed-,loadmyresources_,lock_minecart_view-,lootbeams-,lwl-,macos-input-fixes-,magnesium_extras-,maptooltip-,massunbind,mcbindtype-,mcwifipnp-,medievalmusic-,memoryusagescreen-,mightyarchitect-,mindful-eating-,minetogether-,mobplusplus-,modcredits-,modernworldcreation_,modnametooltip-,modnametooltip_,moreoverlays-,mousewheelie-,movement-vision-,multihotbar-,music-duration-reducer-,musicdr-,neiRecipeHandlers-,ngrok-lan-expose-mod-,no_nv_flash-,nopotionshift_,notenoughanimations-,oculus-,ornaments-,overloadedarmorbar-,panorama-,paperdoll-,physics-mod-,phosphor-,preciseblockplacing-,radon-,realm-of-lost-souls-,rebind_narrator-,rebind-narrator-,rebindnarrator-,rebrand-,reforgium-,replanter-,rrls-,rubidium-,rubidium_extras-,screenshot-to-clipboard-,servercountryflags-,shutupexperimentalsettings-,shutupmodelloader-,signtools-,simple-rpc-,simpleautorun-,smartcursor-,smoothboot-,smoothfocus-,sodium-fabric-,sounddeviceoptions-,soundreloader-,spoticraft-,skinlayers3d-forge,textrues_embeddium_options-,tconplanner-,timestamps-,tooltipscroller-,torchoptimizer-,torohealth-,totaldarkness,toughnessbar-,watermedia-,whats-that-slot-forge-,wisla-,xenon-,xlifeheartcolors-,yisthereautojump- de.griefed.serverpackcreator.configuration.modswhitelist=Ping-Wheel- de.griefed.serverpackcreator.configuration.hastebinserver=https://haste.zneix.eu/documents @@ -49,4 +49,4 @@ spring.datasource.tomcat.min-idle=8 spring.transaction.default-timeout=3600 spring.servlet.multipart.max-file-size=5000MB spring.servlet.multipart.max-request-size=5000MB -spring.jpa.properties.hibernate.jdbc.use_streams_for_binary=true +spring.jpa.properties.hibernate.jdbc.use_streams_for_binary=true \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt similarity index 90% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt index a99ea729bf64d702f5e0b04fd8c350b6252ae643..1733ade85f56f4de771eb591a96bc22393ca05ee 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPluginsTest.kt @@ -15,13 +15,13 @@ import javax.xml.parsers.ParserConfigurationException class ApiPluginsTest { private val apiPlugins: ApiPlugins = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).apiPlugins + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).apiPlugins @Test @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) fun test() { try { - File("src/jvmTest/resources/testresources/plugins").copyRecursively(File("tests/plugins"), true) + File("src/test/resources/testresources/plugins").copyRecursively(File("tests/plugins"), true) } catch (ignored: Exception) { } Assertions.assertNotNull(apiPlugins) diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt similarity index 90% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt index 0419716c1c538bf2b532c29da67f0b7280bbc418..466af3f0681a7528d34c101eb88f0f9d1fc3acba 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ApiPropertiesTest.kt @@ -10,19 +10,19 @@ import java.io.File class ApiPropertiesTest internal constructor() { private val fileUtilities: FileUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).fileUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).fileUtilities private val systemUtilities: SystemUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).systemUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).systemUtilities private val listUtilities: ListUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).listUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).listUtilities private val jarUtilities: JarUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).jarUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).jarUtilities @Test fun test() { var apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/testresources/properties/filters/contains.properties") + File("src/test/resources/testresources/properties/filters/contains.properties") ) Assertions.assertEquals( ExclusionFilter.CONTAIN, @@ -30,7 +30,7 @@ class ApiPropertiesTest internal constructor() { ) apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/testresources/properties/filters/either.properties") + File("src/test/resources/testresources/properties/filters/either.properties") ) Assertions.assertEquals( ExclusionFilter.EITHER, @@ -38,7 +38,7 @@ class ApiPropertiesTest internal constructor() { ) apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/testresources/properties/filters/end.properties") + File("src/test/resources/testresources/properties/filters/end.properties") ) Assertions.assertEquals( ExclusionFilter.END, @@ -46,7 +46,7 @@ class ApiPropertiesTest internal constructor() { ) apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/testresources/properties/filters/regex.properties") + File("src/test/resources/testresources/properties/filters/regex.properties") ) Assertions.assertEquals( ExclusionFilter.REGEX, @@ -54,7 +54,7 @@ class ApiPropertiesTest internal constructor() { ) apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/testresources/properties/filters/start.properties") + File("src/test/resources/testresources/properties/filters/start.properties") ) Assertions.assertEquals( ExclusionFilter.START, @@ -62,7 +62,7 @@ class ApiPropertiesTest internal constructor() { ) apiProperties = ApiProperties( fileUtilities, systemUtilities, listUtilities, jarUtilities, - File("src/jvmTest/resources/serverpackcreator.properties") + File("src/test/resources/serverpackcreator.properties") ) Assertions.assertNotNull(apiProperties.javaPath) Assertions.assertTrue( diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt similarity index 90% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt index ce8396220d04dfc9944735f9d9cf95e5602db2a1..2eecf1bd074b9210ffcd795622736952fef687df 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ConfigurationHandlerTest.kt @@ -10,16 +10,16 @@ import java.util.* internal class ConfigurationHandlerTest { private val apiProperties = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).apiProperties + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).apiProperties private val configurationHandler = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).configurationHandler + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).configurationHandler private val versionMeta = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).versionMeta + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).versionMeta private val projectDir = apiProperties.homeDirectory.parentFile.parentFile @Test fun checkConfigFileTest() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator.conf")) Assertions.assertTrue(check.allChecksPassed) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) @@ -34,7 +34,7 @@ internal class ConfigurationHandlerTest { @Test fun isDirTestCopyDirs() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_copydirs.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_copydirs.conf")) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.configChecksPassed) Assertions.assertTrue(check.otherChecksPassed) @@ -48,7 +48,7 @@ internal class ConfigurationHandlerTest { @Test fun isDirTestMinecraftVersionFalse() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf")) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.inclusionsChecksPassed) @@ -62,7 +62,7 @@ internal class ConfigurationHandlerTest { @Test fun isModLoaderLegacyFabric() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf")) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.inclusionsChecksPassed) @@ -76,7 +76,7 @@ internal class ConfigurationHandlerTest { @Test fun isModLoaderQuilt() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_quilt.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_quilt.conf")) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.inclusionsChecksPassed) @@ -90,7 +90,7 @@ internal class ConfigurationHandlerTest { @Test fun isDirTestModLoaderFalse() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf")) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.inclusionsChecksPassed) Assertions.assertTrue(check.minecraftVersionChecksPassed) @@ -104,7 +104,7 @@ internal class ConfigurationHandlerTest { @Test fun isDirTestModLoaderVersion() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf")) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) Assertions.assertTrue(check.inclusionsChecksPassed) @@ -118,7 +118,7 @@ internal class ConfigurationHandlerTest { @Test fun checkModpackDirTest() { - val modpackDirCorrect = "src/jvmTest/resources/forge_tests" + val modpackDirCorrect = "src/test/resources/forge_tests" val check = configurationHandler.checkModpackDir(modpackDirCorrect) Assertions.assertTrue(check.modpackChecksPassed) } @@ -131,7 +131,7 @@ internal class ConfigurationHandlerTest { @Test fun checkInclusionsTest() { - val modpackDir = "src/jvmTest/resources/forge_tests" + val modpackDir = "src/test/resources/forge_tests" val inclusions = mutableListOf<InclusionSpecification>() inclusions.add(InclusionSpecification("config")) inclusions.add(InclusionSpecification("mods")) @@ -146,7 +146,7 @@ internal class ConfigurationHandlerTest { @Suppress("SpellCheckingInspection") @Test fun checkInclusionsTestFalse() { - val modpackDir = "src/jvmTest/resources/forge_tests" + val modpackDir = "src/test/resources/forge_tests" val inclusions = mutableListOf<InclusionSpecification>() inclusions.add(InclusionSpecification("config")) inclusions.add(InclusionSpecification("modss")) @@ -160,7 +160,7 @@ internal class ConfigurationHandlerTest { @Test fun checkInclusionsTestFiles() { - val modpackDir = "src/jvmTest/resources/forge_tests" + val modpackDir = "src/test/resources/forge_tests" val inclusions = mutableListOf<InclusionSpecification>() inclusions.add(InclusionSpecification("config")) inclusions.add(InclusionSpecification("mods")) @@ -177,7 +177,7 @@ internal class ConfigurationHandlerTest { @Suppress("SpellCheckingInspection") @Test fun checkInclusionsTestFilesFalse() { - val modpackDir = "src/jvmTest/resources/forge_tests" + val modpackDir = "src/test/resources/forge_tests" val inclusions = mutableListOf<InclusionSpecification>() inclusions.add(InclusionSpecification("config")) inclusions.add(InclusionSpecification("mods")) @@ -290,7 +290,7 @@ internal class ConfigurationHandlerTest { inclusions.add(InclusionSpecification("seeds")) inclusions.add(InclusionSpecification("defaultconfigs")) val packConfig = PackConfig() - packConfig.modpackDir = "src/jvmTest/resources/forge_tests" + packConfig.modpackDir = "src/test/resources/forge_tests" packConfig.setClientMods(clientMods) packConfig.setInclusions(inclusions) packConfig.isServerIconInclusionDesired = true @@ -378,7 +378,7 @@ internal class ConfigurationHandlerTest { @Test fun zipArchiveTest() { var packConfig = PackConfig() - packConfig.modpackDir = "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip" + packConfig.modpackDir = "src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip" var check = configurationHandler.checkConfiguration(packConfig) Assertions.assertTrue(check.allChecksPassed) Assertions.assertTrue(check.modloaderChecksPassed) @@ -391,7 +391,7 @@ internal class ConfigurationHandlerTest { Assertions.assertTrue(check.serverPropertiesChecksPassed) Assertions.assertTrue(check.modloaderVersionChecksPassed) packConfig = PackConfig() - packConfig.modpackDir = "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip" + packConfig.modpackDir = "src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip" check = configurationHandler.checkConfiguration(packConfig) Assertions.assertTrue(check.configChecksPassed) Assertions.assertFalse(check.modpackChecksPassed) @@ -407,7 +407,7 @@ internal class ConfigurationHandlerTest { @Test fun checkConfigurationFileTest() { - val check = configurationHandler.checkConfiguration(File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf")) + val check = configurationHandler.checkConfiguration(File("src/test/resources/testresources/spcconfs/serverpackcreator.conf")) Assertions.assertTrue(check.allChecksPassed) Assertions.assertTrue(check.modloaderChecksPassed) Assertions.assertTrue(check.modpackChecksPassed) @@ -424,7 +424,7 @@ internal class ConfigurationHandlerTest { fun checkConfigurationFileAndModelTest() { var packConfig = PackConfig() var check = configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator.conf"), packConfig ) Assertions.assertTrue(check.allChecksPassed) @@ -437,13 +437,13 @@ internal class ConfigurationHandlerTest { Assertions.assertTrue(check.serverIconChecksPassed) Assertions.assertTrue(check.serverPropertiesChecksPassed) Assertions.assertTrue(check.modloaderVersionChecksPassed) - Assertions.assertEquals("src/jvmTest/resources/forge_tests", packConfig.modpackDir) + Assertions.assertEquals("src/test/resources/forge_tests", packConfig.modpackDir) Assertions.assertEquals("1.16.5", packConfig.minecraftVersion) Assertions.assertEquals("Forge", packConfig.modloader) Assertions.assertEquals("36.1.2", packConfig.modloaderVersion) packConfig = PackConfig() check = configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator.conf"), packConfig ) Assertions.assertTrue(check.allChecksPassed) @@ -456,7 +456,7 @@ internal class ConfigurationHandlerTest { Assertions.assertTrue(check.serverIconChecksPassed) Assertions.assertTrue(check.serverPropertiesChecksPassed) Assertions.assertTrue(check.modloaderVersionChecksPassed) - Assertions.assertEquals("src/jvmTest/resources/forge_tests", packConfig.modpackDir) + Assertions.assertEquals("src/test/resources/forge_tests", packConfig.modpackDir) Assertions.assertEquals("1.16.5", packConfig.minecraftVersion) Assertions.assertEquals("Forge", packConfig.modloader) Assertions.assertEquals("36.1.2", packConfig.modloaderVersion) @@ -497,7 +497,7 @@ internal class ConfigurationHandlerTest { inclusions.add(InclusionSpecification("scripts")) inclusions.add(InclusionSpecification("seeds")) inclusions.add(InclusionSpecification("defaultconfigs")) - packConfig.modpackDir = "src/jvmTest/resources/forge_tests" + packConfig.modpackDir = "src/test/resources/forge_tests" packConfig.setClientMods(clientMods) packConfig.setInclusions(inclusions) packConfig.isServerIconInclusionDesired = true @@ -519,7 +519,7 @@ internal class ConfigurationHandlerTest { Assertions.assertTrue(check.serverPropertiesChecksPassed) Assertions.assertTrue(check.modloaderVersionChecksPassed) Assertions.assertEquals( - "src/jvmTest/resources/forge_tests", packConfig.modpackDir + "src/test/resources/forge_tests", packConfig.modpackDir ) Assertions.assertEquals("1.16.5", packConfig.minecraftVersion) Assertions.assertEquals("Forge", packConfig.modloader) @@ -572,9 +572,9 @@ internal class ConfigurationHandlerTest { @Test fun checkZipArchiveTest() { - var check = configurationHandler.checkZipArchive(Paths.get("src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip").toAbsolutePath().toString()) + var check = configurationHandler.checkZipArchive(Paths.get("src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip").toAbsolutePath().toString()) Assertions.assertTrue(check.modpackChecksPassed) - check = configurationHandler.checkZipArchive(Paths.get("src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip").toAbsolutePath().toString()) + check = configurationHandler.checkZipArchive(Paths.get("src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip").toAbsolutePath().toString()) Assertions.assertFalse(check.modpackChecksPassed) } @@ -632,7 +632,7 @@ internal class ConfigurationHandlerTest { clientMods, whitelist, inclusions, - "src/jvmTest/resources/fabric_tests", + "src/test/resources/fabric_tests", javaPath, "1.16.5", "Fabric", @@ -703,7 +703,7 @@ internal class ConfigurationHandlerTest { clientMods, whitelist, inclusions, - "src/jvmTest/resources/forge_tests", + "src/test/resources/forge_tests", javaPath, "1.16.5", "Forge", @@ -725,7 +725,7 @@ internal class ConfigurationHandlerTest { @Test fun writeConfigToFileModelTest() { val packConfig = PackConfig() - packConfig.modpackDir = "src/jvmTest/resources/forge_tests" + packConfig.modpackDir = "src/test/resources/forge_tests" packConfig.setClientMods( arrayListOf( "AmbientSounds", @@ -800,7 +800,7 @@ internal class ConfigurationHandlerTest { @Test fun printConfigModelTest() { val packConfig = PackConfig() - packConfig.modpackDir = "src/jvmTest/resources/forge_tests" + packConfig.modpackDir = "src/test/resources/forge_tests" packConfig.setClientMods( arrayListOf( "AmbientSounds", @@ -851,21 +851,21 @@ internal class ConfigurationHandlerTest { val packConfig = PackConfig() configurationHandler.updateConfigModelFromModrinthManifest( packConfig, - File("src/jvmTest/resources/testresources/modrinth/forge_modrinth.index.json") + File("src/test/resources/testresources/modrinth/forge_modrinth.index.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.2") Assertions.assertEquals(packConfig.modloader, "Forge") Assertions.assertEquals(packConfig.modloaderVersion, "40.1.48") configurationHandler.updateConfigModelFromModrinthManifest( packConfig, - File("src/jvmTest/resources/testresources/modrinth/fabric_modrinth.index.json") + File("src/test/resources/testresources/modrinth/fabric_modrinth.index.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.19") Assertions.assertEquals(packConfig.modloader, "Fabric") Assertions.assertEquals(packConfig.modloaderVersion, "0.14.8") configurationHandler.updateConfigModelFromModrinthManifest( packConfig, - File("src/jvmTest/resources/testresources/modrinth/quilt_modrinth.index.json") + File("src/test/resources/testresources/modrinth/quilt_modrinth.index.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.19") Assertions.assertEquals(packConfig.modloader, "Quilt") @@ -878,14 +878,14 @@ internal class ConfigurationHandlerTest { val packConfig = PackConfig() configurationHandler.updateConfigModelFromCurseManifest( packConfig, - File("src/jvmTest/resources/testresources/curseforge/forge_manifest.json") + File("src/test/resources/testresources/curseforge/forge_manifest.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.16.5") Assertions.assertEquals(packConfig.modloader, "Forge") Assertions.assertEquals(packConfig.modloaderVersion, "36.0.1") configurationHandler.updateConfigModelFromCurseManifest( packConfig, - File("src/jvmTest/resources/testresources/curseforge/fabric_manifest.json") + File("src/test/resources/testresources/curseforge/fabric_manifest.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.2") Assertions.assertEquals(packConfig.modloader, "Fabric") @@ -898,14 +898,14 @@ internal class ConfigurationHandlerTest { val packConfig = PackConfig() configurationHandler.updateConfigModelFromMinecraftInstance( packConfig, - File("src/jvmTest/resources/testresources/curseforge/forge_minecraftinstance.json") + File("src/test/resources/testresources/curseforge/forge_minecraftinstance.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.16.5") Assertions.assertEquals(packConfig.modloader, "Forge") Assertions.assertEquals(packConfig.modloaderVersion, "36.2.4") configurationHandler.updateConfigModelFromMinecraftInstance( packConfig, - File("src/jvmTest/resources/testresources/curseforge/fabric_minecraftinstance.json") + File("src/test/resources/testresources/curseforge/fabric_minecraftinstance.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.2") Assertions.assertEquals(packConfig.modloader, "Fabric") @@ -919,14 +919,14 @@ internal class ConfigurationHandlerTest { val packConfig = PackConfig() configurationHandler.updateConfigModelFromConfigJson( packConfig, - File("src/jvmTest/resources/testresources/gdlauncher/fabric_config.json") + File("src/test/resources/testresources/gdlauncher/fabric_config.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.2") Assertions.assertEquals(packConfig.modloader, "Fabric") Assertions.assertEquals(packConfig.modloaderVersion, "0.14.8") configurationHandler.updateConfigModelFromConfigJson( packConfig, - File("src/jvmTest/resources/testresources/gdlauncher/forge_config.json") + File("src/test/resources/testresources/gdlauncher/forge_config.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.2") Assertions.assertEquals(packConfig.modloader, "Forge") @@ -940,21 +940,21 @@ internal class ConfigurationHandlerTest { val packConfig = PackConfig() configurationHandler.updateConfigModelFromMMCPack( packConfig, - File("src/jvmTest/resources/testresources/multimc/fabric_mmc-pack.json") + File("src/test/resources/testresources/multimc/fabric_mmc-pack.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.18.1") Assertions.assertEquals(packConfig.modloader, "Fabric") Assertions.assertEquals(packConfig.modloaderVersion, "0.12.12") configurationHandler.updateConfigModelFromMMCPack( packConfig, - File("src/jvmTest/resources/testresources/multimc/forge_mmc-pack.json") + File("src/test/resources/testresources/multimc/forge_mmc-pack.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.16.5") Assertions.assertEquals(packConfig.modloader, "Forge") Assertions.assertEquals(packConfig.modloaderVersion, "36.2.23") configurationHandler.updateConfigModelFromMMCPack( packConfig, - File("src/jvmTest/resources/testresources/multimc/quilt_mmc-pack.json") + File("src/test/resources/testresources/multimc/quilt_mmc-pack.json") ) Assertions.assertEquals(packConfig.minecraftVersion, "1.19") Assertions.assertEquals(packConfig.modloader, "Quilt") @@ -967,13 +967,13 @@ internal class ConfigurationHandlerTest { fun updateDestinationFromInstanceCfgTest() { Assertions.assertEquals( configurationHandler.updateDestinationFromInstanceCfg( - File("src/jvmTest/resources/testresources/multimc/better_mc_instance.cfg") + File("src/test/resources/testresources/multimc/better_mc_instance.cfg") ), "Better Minecraft [FABRIC] - 1.18.1" ) Assertions.assertEquals( configurationHandler.updateDestinationFromInstanceCfg( - File("src/jvmTest/resources/testresources/multimc/all_the_mods_instance.cfg") + File("src/test/resources/testresources/multimc/all_the_mods_instance.cfg") ), "All the Mods 6 - ATM6 - 1.16.5" ) @@ -981,7 +981,7 @@ internal class ConfigurationHandlerTest { @Test fun suggestInclusionsTest() { - val dirs: List<InclusionSpecification> = configurationHandler.suggestInclusions("src/jvmTest/resources/fabric_tests") + val dirs: List<InclusionSpecification> = configurationHandler.suggestInclusions("src/test/resources/fabric_tests") dirs.any { inclusion -> inclusion.source == "config" } dirs.any { inclusion -> inclusion.source == "defaultconfigs" } dirs.any { inclusion -> inclusion.source == "mods" } @@ -995,13 +995,13 @@ internal class ConfigurationHandlerTest { fun directoriesInModpackZipTest() { var entries: List<String?> = configurationHandler.getDirectoriesInModpackZipBaseDirectory( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip" ) ) Assertions.assertEquals(1, entries.size) Assertions.assertTrue(entries.contains("overrides/")) entries = configurationHandler.getDirectoriesInModpackZipBaseDirectory( - File("src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip") + File("src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip") ) Assertions.assertTrue(entries.size > 1) Assertions.assertTrue(entries.contains("mods/")) @@ -1015,7 +1015,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getFilesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip" ) ) .isNotEmpty() @@ -1024,7 +1024,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getFilesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip" ) ) .isNotEmpty() @@ -1033,7 +1033,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getDirectoriesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip" ) ) .isNotEmpty() @@ -1042,7 +1042,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getDirectoriesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip" ) ) .isNotEmpty() @@ -1051,7 +1051,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getAllFilesAndDirectoriesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip" ) ) .isNotEmpty() @@ -1060,7 +1060,7 @@ internal class ConfigurationHandlerTest { configurationHandler .getAllFilesAndDirectoriesInModpackZip( File( - "src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip" + "src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip" ) ) .isNotEmpty() diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt similarity index 95% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt index 0e40461dc7ae5774ff8f9b5fd3ba22d2d7d15158..e6b147669b5aa3e31ae220fb7880594be41fbeab 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/PackConfigTest.kt @@ -35,8 +35,8 @@ class PackConfigTest internal constructor() { @Throws(FileNotFoundException::class, ParserConfigurationException::class) fun scriptSettingsTest() { val packConfig = PackConfig( - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).utilities, - File("src/jvmTest/resources/testresources/spcconfs/scriptSettings.conf") + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).utilities, + File("src/test/resources/testresources/spcconfs/scriptSettings.conf") ) Assertions.assertEquals( packConfig.serverIconPath, @@ -116,11 +116,11 @@ class PackConfigTest internal constructor() { Assertions.assertEquals((config.get("list") as ArrayList<String>).size, 4) Assertions.assertEquals(config.get("list") as ArrayList<String>, list) } - val apiProperties = ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).apiProperties + val apiProperties = ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).apiProperties val afterFile = File(apiProperties.homeDirectory,"after.conf") packConfig.save(afterFile, apiProperties) val after = PackConfig( - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).utilities, afterFile + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).utilities, afterFile ) Assertions.assertEquals(after.serverIconPath, packConfig.serverIconPath) Assertions.assertEquals(after.serverPackSuffix, packConfig.serverPackSuffix) diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt similarity index 93% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt index e3f63c74f0377a1cc2554cefd0f7b6266954d300..7b951882cecb55fc54f6470bab60a3c0a199f35d 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/ServerPackHandlerTest.kt @@ -11,20 +11,20 @@ import java.util.* internal class ServerPackHandlerTest { private val configurationHandler = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).configurationHandler + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).configurationHandler private val serverPackHandler = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).serverPackHandler + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).serverPackHandler private val versionMeta = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).versionMeta + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).versionMeta private val apiProperties = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).apiProperties + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).apiProperties init { - File("src/jvmTest/resources/custom_template.ps1").copyTo( + File("src/test/resources/custom_template.ps1").copyTo( File(apiProperties.serverFilesDirectory,"custom_template.ps1"), overwrite = true ) - File("src/jvmTest/resources/custom_template.sh").copyTo( + File("src/test/resources/custom_template.sh").copyTo( File(apiProperties.serverFilesDirectory,"custom_template.sh"), overwrite = true ) @@ -35,7 +35,7 @@ internal class ServerPackHandlerTest { fun neoForgeTest() { val packConfig = PackConfig() configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_neoforge.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator_neoforge.conf"), packConfig ) val neoForgeDir = serverPackHandler.getServerPackDestination(packConfig) @@ -64,7 +64,7 @@ internal class ServerPackHandlerTest { val forgeZip = ZipFile(File(apiProperties.serverPacksDirectory, "forge_tests_server_pack.zip")) apiProperties.scriptTemplates = TreeSet(apiProperties.defaultScriptTemplates()) configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator.conf"), packConfig ) val forgeDir = serverPackHandler.getServerPackDestination(packConfig) @@ -73,7 +73,7 @@ internal class ServerPackHandlerTest { Assertions.assertTrue(File(forgeDir, "config").isDirectory) Assertions.assertTrue(File(forgeDir, "defaultconfigs").isDirectory) val modsDir = File(forgeDir, "mods") - Assertions.assertTrue(modsDir.isDirectory) + Assertions.assertTrue(modsDir.isDirectory, modsDir.absolutePath) Assertions.assertFalse(File(modsDir, "Ping-1.19-1.9.1.jar").isFile) Assertions.assertTrue(File(modsDir, "Ping-Wheel-1.6.1-forge-1.20.1.jar").isFile) Assertions.assertTrue(File(forgeDir, "scripts").isDirectory) @@ -173,7 +173,7 @@ internal class ServerPackHandlerTest { Assertions.assertTrue(File(forgeDir,"some/place/bla.txt").isFile) Assertions.assertTrue(File(forgeDir,"some.file").isFile) try { - File("src/jvmTest/resources/testresources/server_pack.zip").copyTo( + File("src/test/resources/testresources/server_pack.zip").copyTo( File(apiProperties.serverPacksDirectory,"forge_tests_server_pack.zip"), true ) @@ -237,7 +237,7 @@ internal class ServerPackHandlerTest { fun fabricTest() { val packConfig = PackConfig() configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_fabric.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator_fabric.conf"), packConfig ) val fabricDir = serverPackHandler.getServerPackDestination(packConfig) @@ -260,7 +260,7 @@ internal class ServerPackHandlerTest { fun quiltTest() { val packConfig = PackConfig() configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_quilt.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator_quilt.conf"), packConfig ) val quiltDir = serverPackHandler.getServerPackDestination(packConfig) @@ -283,7 +283,7 @@ internal class ServerPackHandlerTest { fun legacyFabricTest() { val packConfig = PackConfig() configurationHandler.checkConfiguration( - File("src/jvmTest/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf"), + File("src/test/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf"), packConfig ) val legacyFabricDir = serverPackHandler.getServerPackDestination(packConfig) diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt similarity index 93% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt index bb4ac34b2811ddeca731ecacb5815f2c2539e03f..b2706777cfedeb1bb0f50d4db126280242cba2d6 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/BooleanUtilitiesTest.kt @@ -8,7 +8,7 @@ import java.io.File class BooleanUtilitiesTest internal constructor() { private var booleanUtilities: BooleanUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).booleanUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).booleanUtilities @Test fun convertToBooleanTestTrue() { diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt similarity index 61% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt index 87f61e71bbf31401a7bd3de97214fc7b094d0021..665c76757faf860b64b5f11e7cc05dd39480f24a 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/FileUtilitiesTest.kt @@ -10,25 +10,25 @@ import java.io.IOException class FileUtilitiesTest internal constructor() { private var fileUtilities: FileUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).fileUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).fileUtilities @Test fun unzipArchiveTest() { - val modpackDir = "src/jvmTest/resources/curseforge_tests" - val zipFile = "src/jvmTest/resources/curseforge_tests/modpack.zip" + val modpackDir = "src/test/resources/curseforge_tests" + val zipFile = "src/test/resources/curseforge_tests/modpack.zip" fileUtilities.unzipArchive(zipFile, modpackDir) Assertions.assertTrue( - File("src/jvmTest/resources/curseforge_tests/manifest.json").exists() + File("src/test/resources/curseforge_tests/manifest.json").exists() ) Assertions.assertTrue( - File("src/jvmTest/resources/curseforge_tests/modlist.html").exists() + File("src/test/resources/curseforge_tests/modlist.html").exists() ) Assertions.assertTrue( - File("src/jvmTest/resources/curseforge_tests/overrides").isDirectory + File("src/test/resources/curseforge_tests/overrides").isDirectory ) - File("src/jvmTest/resources/curseforge_tests/manifest.json").deleteQuietly() - File("src/jvmTest/resources/curseforge_tests/modlist.html").deleteQuietly() - File("src/jvmTest/resources/curseforge_tests/overrides").deleteQuietly() + File("src/test/resources/curseforge_tests/manifest.json").deleteQuietly() + File("src/test/resources/curseforge_tests/modlist.html").deleteQuietly() + File("src/test/resources/curseforge_tests/overrides").deleteQuietly() } @Test diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt similarity index 95% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt index f08b77f8bb37fc4a5056f964e1c02b1c2a268a90..40a3d4acbd5d2117d237a9a9136fa86d2fdf6e64 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/JarUtilitiesTest.kt @@ -8,7 +8,7 @@ import java.io.File class JarUtilitiesTest internal constructor() { private var jarUtilities: JarUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).jarUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).jarUtilities @Test fun copyFileFromJarTest() { diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt similarity index 98% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt index d727f4643d99ee255b66dec47bb8cfa23431164c..71ebafed180613d02671de40f9f5cdf0962d6d37 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/ListUtilitiesTest.kt @@ -8,7 +8,7 @@ import java.io.File class ListUtilitiesTest internal constructor() { private var listUtilities: ListUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).listUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).listUtilities @Suppress("SpellCheckingInspection") @Test diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt similarity index 86% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt index 6207de0502e0cd3895ab747efdfbe639037880f9..911fe1e301709bab678bb198fc5986651a5e6557 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/StringUtilitiesTest.kt @@ -8,7 +8,7 @@ import java.io.File class StringUtilitiesTest internal constructor() { private var stringUtilities: StringUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).stringUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).stringUtilities @Test fun buildStringTest() { diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt similarity index 89% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt index de428b64f1dd32745fddb7439037aee231b4ecf0..f70eb3d158683167f1bcd59a92254e290f7557d8 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/SystemUtilitiesTest.kt @@ -8,7 +8,7 @@ import java.io.File class SystemUtilitiesTest internal constructor() { private var systemUtilities: SystemUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).systemUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).systemUtilities @Test fun acquireJavaPathFromSystemTest() { diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt similarity index 93% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt index ff092411abee597f275ebfc3b708dd768324dddf..cfdfc155d8dddea9e027c8200646be6bffafa4a7 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/common/WebUtilitiesTest.kt @@ -10,7 +10,7 @@ import java.net.URI class WebUtilitiesTest internal constructor() { private var webUtilities: WebUtilities = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).webUtilities + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).webUtilities @Suppress("SpellCheckingInspection") @Test diff --git a/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..94aacb54aa4b8f09416f12f390175c191f037e85 --- /dev/null +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/modscanning/ModScannerTest.kt @@ -0,0 +1,229 @@ +package de.griefed.serverpackcreator.api.modscanning + +import de.griefed.serverpackcreator.api.ApiWrapper +import de.griefed.serverpackcreator.api.utilities.common.FilterType +import de.griefed.serverpackcreator.api.utilities.common.filteredWalk +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test +import java.io.File + +class ModScannerTest internal constructor() { + private var modScanner: ModScanner = + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).modScanner + + @Suppress("SpellCheckingInspection") + @Test + fun tomlTest() { + val files: Collection<File> = + File("src/test/resources/forge_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) + + val excluded: List<File> = modScanner.forgeTomlScanner.scan(files).toList() + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/aaaaa.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/bbbbb.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/ccccc.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/ddddd.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/fffff.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/ggggg.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/hhhhh.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/iiiii.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/jjjjj.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/kkkkk.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/lllll.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/nnnnn.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_tests/mods/ppppp.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/qqqqq.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/rrrrr.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/testmod.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/uuuuu.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/vvvvv.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/wwwww.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/xxxxx.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/yyyyy.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_tests/mods/zzzzz.jar")) + ) + } + + @Suppress("SpellCheckingInspection") + @Test + fun fabricTest() { + val files: Collection<File> = + File("src/test/resources/fabric_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) + + val excluded: List<File> = modScanner.fabricScanner.scan(files).toList() + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/aaaaa.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/bbbbb.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/ccccc.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/ddddd.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/eeeee.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/fffff.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/ggggg.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/fabric_tests/mods/hhhhh.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/iiiii.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/jjjjj.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/kkkkk.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/lllll.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/mmmmm.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/nnnnn.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/ooooo.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/ppppp.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/qqqqq.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/fabric_tests/mods/testmod.jar")) + ) + } + + @Suppress("SpellCheckingInspection") + @Test + fun quiltTest() { + val files: Collection<File> = + File("src/test/resources/quilt_tests/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) + + val excluded: List<File> = modScanner.quiltScanner.scan(files).toList() + Assertions.assertTrue( + excluded.contains(File("src/test/resources/quilt_tests/mods/aaaaa.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/quilt_tests/mods/bbbbb.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/quilt_tests/mods/testmod.jar")) + ) + } + + @Suppress("SpellCheckingInspection") + @Test + fun annotationTest() { + val files: Collection<File> = + File("src/test/resources/forge_old/mods").filteredWalk(listOf("jar"), FilterType.ENDS_WITH) + + val excluded: List<File> = modScanner.forgeAnnotationScanner.scan(files).toList() + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/aaaaa.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/bbbbb.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/ccccc.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/ddddd.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/eeeee.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/fffff.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/ggggg.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/hhhhh.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/iiiii.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/jjjjj.jar")) + ) + Assertions.assertTrue( + excluded.contains(File("src/test/resources/forge_old/mods/kkkkk.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/lllll.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/mmmmm.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/nnnnn.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/ooooo.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/ppppp.jar")) + ) + Assertions.assertFalse( + excluded.contains(File("src/test/resources/forge_old/mods/qqqqq.jar")) + ) + } +} \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt similarity index 99% rename from serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt rename to serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt index e36cca63b8c0f5528111fb0e51e19b907f1494cf..fa65ed391768104f6856fe635f6d4286c098114c 100644 --- a/serverpackcreator-api/src/jvmTest/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt +++ b/serverpackcreator-api/src/test/kotlin/de/griefed/serverpackcreator/api/versionmeta/VersionMetaTest.kt @@ -11,7 +11,7 @@ import javax.xml.parsers.ParserConfigurationException class VersionMetaTest { private val versionMeta: VersionMeta = - ApiWrapper.api(File("src/jvmTest/resources/serverpackcreator.properties")).versionMeta + ApiWrapper.api(File("src/test/resources/serverpackcreator.properties")).versionMeta @Test @Throws(IOException::class, ParserConfigurationException::class, SAXException::class) diff --git a/serverpackcreator-api/src/jvmTest/resources/application.properties b/serverpackcreator-api/src/test/resources/application.properties similarity index 92% rename from serverpackcreator-api/src/jvmTest/resources/application.properties rename to serverpackcreator-api/src/test/resources/application.properties index 1e741233a24eaf941b38191033086e1e6d889300..ef1acd9f7f5d887072ce6163ba1f0046b3807304 100644 --- a/serverpackcreator-api/src/jvmTest/resources/application.properties +++ b/serverpackcreator-api/src/test/resources/application.properties @@ -21,4 +21,4 @@ spring.transaction.default-timeout=3600 spring.datasource.tomcat.max-active=50 spring.datasource.tomcat.max-idle=15 spring.datasource.tomcat.min-idle=8 -spring.config.import=classpath:application.properties,classpath:serverpackcreator.properties,file:./src/jvmTest/resources/serverpackcreator.properties \ No newline at end of file +spring.config.import=classpath:application.properties,classpath:serverpackcreator.properties,file:./src/test/resources/serverpackcreator.properties \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/resources/curseforge_tests/modpack.zip b/serverpackcreator-api/src/test/resources/curseforge_tests/modpack.zip similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/curseforge_tests/modpack.zip rename to serverpackcreator-api/src/test/resources/curseforge_tests/modpack.zip diff --git a/serverpackcreator-api/src/jvmTest/resources/custom_template.ps1 b/serverpackcreator-api/src/test/resources/custom_template.ps1 similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/custom_template.ps1 rename to serverpackcreator-api/src/test/resources/custom_template.ps1 diff --git a/serverpackcreator-api/src/jvmTest/resources/custom_template.sh b/serverpackcreator-api/src/test/resources/custom_template.sh similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/custom_template.sh rename to serverpackcreator-api/src/test/resources/custom_template.sh diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/config/testfile.txt b/serverpackcreator-api/src/test/resources/fabric_tests/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/config/testfile.txt rename to serverpackcreator-api/src/test/resources/fabric_tests/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/fabric_tests/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/fabric_tests/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/eeeee.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/eeeee.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/eeeee.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/eeeee.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/fffff.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/lllll.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/mmmmm.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/mmmmm.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/mmmmm.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/mmmmm.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ooooo.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/ooooo.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ooooo.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/ooooo.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/testmod.jar b/serverpackcreator-api/src/test/resources/fabric_tests/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/fabric_tests/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/fabric_tests/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/fabric_tests/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/fabric_tests/seeds/testjson.json b/serverpackcreator-api/src/test/resources/fabric_tests/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/fabric_tests/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/fabric_tests/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/eeeee.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/eeeee.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/eeeee.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/eeeee.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/fffff.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/lllll.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/mmmmm.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/mmmmm.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/mmmmm.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/mmmmm.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ooooo.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/ooooo.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ooooo.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/ooooo.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_old/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/forge_old/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_old/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/forge_old/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/config/testfile.txt b/serverpackcreator-api/src/test/resources/forge_tests/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/config/testfile.txt rename to serverpackcreator-api/src/test/resources/forge_tests/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/forge_tests/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/forge_tests/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/forge_tests/exclude_me/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/forge_tests/exclude_me/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE b/serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE rename to serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg b/serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg rename to serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/forge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/fffff.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/lllll.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/rrrrr.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/rrrrr.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/rrrrr.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/rrrrr.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/testmod.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/uuuuu.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/uuuuu.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/uuuuu.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/uuuuu.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/vvvvv.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/vvvvv.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/vvvvv.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/vvvvv.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/wwwww.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/wwwww.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/wwwww.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/wwwww.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/xxxxx.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/xxxxx.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/xxxxx.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/xxxxx.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/yyyyy.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/yyyyy.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/yyyyy.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/yyyyy.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/zzzzz.jar b/serverpackcreator-api/src/test/resources/forge_tests/mods/zzzzz.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/mods/zzzzz.jar rename to serverpackcreator-api/src/test/resources/forge_tests/mods/zzzzz.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/forge_tests/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/forge_tests/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/seeds/testjson.json b/serverpackcreator-api/src/test/resources/forge_tests/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/forge_tests/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/test.txt b/serverpackcreator-api/src/test/resources/forge_tests/test.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/test.txt rename to serverpackcreator-api/src/test/resources/forge_tests/test.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/forge_tests/test2.txt b/serverpackcreator-api/src/test/resources/forge_tests/test2.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/forge_tests/test2.txt rename to serverpackcreator-api/src/test/resources/forge_tests/test2.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/config/testfile.txt b/serverpackcreator-api/src/test/resources/legacyfabric_tests/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/config/testfile.txt rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/legacyfabric_tests/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/eeeee.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/eeeee.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/eeeee.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/eeeee.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/fffff.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/lllll.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/mmmmm.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/mmmmm.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/mmmmm.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/mmmmm.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ooooo.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ooooo.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ooooo.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ooooo.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/testmod.jar b/serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/legacyfabric_tests/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/seeds/testjson.json b/serverpackcreator-api/src/test/resources/legacyfabric_tests/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/legacyfabric_tests/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/legacyfabric_tests/seeds/testjson.json diff --git a/serverpackcreator-api/src/test/resources/log4j2.component.properties b/serverpackcreator-api/src/test/resources/log4j2.component.properties new file mode 100644 index 0000000000000000000000000000000000000000..e051363086cde17eb40f1d39aa45e29489325a41 --- /dev/null +++ b/serverpackcreator-api/src/test/resources/log4j2.component.properties @@ -0,0 +1,3 @@ +log4j.configurationFile=log4j2.xml +log4j.formatMsgNoLookups=true +log4j.configurationFactory=de.griefed.serverpackcreator.api.ApiProperties \ No newline at end of file diff --git a/serverpackcreator-api/src/jvmTest/resources/log4j2.xml b/serverpackcreator-api/src/test/resources/log4j2.xml similarity index 77% rename from serverpackcreator-api/src/jvmTest/resources/log4j2.xml rename to serverpackcreator-api/src/test/resources/log4j2.xml index 318b1c6b673cd736f07cf4510ad882550437c920..d3fa2dcbf2d53b760b1d6444bb2d4d48e83e9414 100644 --- a/serverpackcreator-api/src/jvmTest/resources/log4j2.xml +++ b/serverpackcreator-api/src/test/resources/log4j2.xml @@ -35,22 +35,6 @@ <DefaultRolloverStrategy max="5" /> </RollingFile> - <RollingFile name="InstallerLogger" fileName="${log-path}/modloader_installer.log" filePattern="${archive}/modloader_installer.log.%i"> - <PatternLayout> - <Charset> - ${charset} - </Charset> - <Pattern> - ${pattern} - </Pattern> - </PatternLayout> - <Policies> - <OnStartupTriggeringPolicy /> - <SizeBasedTriggeringPolicy size="10 MB" /> - </Policies> - <DefaultRolloverStrategy max="5" /> - </RollingFile> - <RollingFile name="PluginsLogger" fileName="${log-path}/plugins.log" filePattern="${archive}/plugins.log.%i"> <PatternLayout> <Charset> @@ -79,10 +63,6 @@ <AppenderRef ref="ApplicationLogger" level="${log-level-spc}" /> </Logger> - <Logger name="InstallerLogger" level="ALL" additivity="false"> - <AppenderRef ref="InstallerLogger" level="${log-level-spc}" /> - </Logger> - <Logger name="PluginsLogger" level="ALL" additivity="false"> <AppenderRef ref="PluginsLogger" level="${log-level-spc}" /> </Logger> diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/eeeee.jar b/serverpackcreator-api/src/test/resources/mods/eeeee.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/eeeee.jar rename to serverpackcreator-api/src/test/resources/mods/eeeee.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/fffff.jar b/serverpackcreator-api/src/test/resources/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/lllll.jar b/serverpackcreator-api/src/test/resources/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/mmmmm.jar b/serverpackcreator-api/src/test/resources/mods/mmmmm.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/mmmmm.jar rename to serverpackcreator-api/src/test/resources/mods/mmmmm.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/ooooo.jar b/serverpackcreator-api/src/test/resources/mods/ooooo.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/ooooo.jar rename to serverpackcreator-api/src/test/resources/mods/ooooo.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/config/testfile.txt b/serverpackcreator-api/src/test/resources/neoforge_tests/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/config/testfile.txt rename to serverpackcreator-api/src/test/resources/neoforge_tests/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/neoforge_tests/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/neoforge_tests/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE b/serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE rename to serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/ICANSEEMYHOUSEFROMHEEEEEEEEEEEEERE diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg b/serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg rename to serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/dont_include_me_either.ogg diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file b/serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file rename to serverpackcreator-api/src/test/resources/neoforge_tests/exclude_me/exclude_me_some_more/some_more_dirs_to_exclude/I_dont_want_to_be_included.file diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ddddd.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/ddddd.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ddddd.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/ddddd.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/fffff.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/lllll.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/rrrrr.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/rrrrr.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/rrrrr.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/rrrrr.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/testmod.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/uuuuu.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/uuuuu.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/uuuuu.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/uuuuu.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/vvvvv.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/vvvvv.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/vvvvv.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/vvvvv.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/wwwww.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/wwwww.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/wwwww.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/wwwww.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/xxxxx.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/xxxxx.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/xxxxx.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/xxxxx.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/yyyyy.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/yyyyy.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/yyyyy.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/yyyyy.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/zzzzz.jar b/serverpackcreator-api/src/test/resources/neoforge_tests/mods/zzzzz.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/mods/zzzzz.jar rename to serverpackcreator-api/src/test/resources/neoforge_tests/mods/zzzzz.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/neoforge_tests/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/neoforge_tests/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/seeds/testjson.json b/serverpackcreator-api/src/test/resources/neoforge_tests/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/neoforge_tests/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/test.txt b/serverpackcreator-api/src/test/resources/neoforge_tests/test.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/test.txt rename to serverpackcreator-api/src/test/resources/neoforge_tests/test.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/neoforge_tests/test2.txt b/serverpackcreator-api/src/test/resources/neoforge_tests/test2.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/neoforge_tests/test2.txt rename to serverpackcreator-api/src/test/resources/neoforge_tests/test2.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/config/testfile.txt b/serverpackcreator-api/src/test/resources/overrides/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/config/testfile.txt rename to serverpackcreator-api/src/test/resources/overrides/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/overrides/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/overrides/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/overrides/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/overrides/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/seeds/seed1.json b/serverpackcreator-api/src/test/resources/overrides/seeds/seed1.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/seeds/seed1.json rename to serverpackcreator-api/src/test/resources/overrides/seeds/seed1.json diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/seeds/testjson.json b/serverpackcreator-api/src/test/resources/overrides/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/overrides/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/config/testfile.txt b/serverpackcreator-api/src/test/resources/overridestest/overrides/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/config/testfile.txt rename to serverpackcreator-api/src/test/resources/overridestest/overrides/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/overridestest/overrides/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/overridestest/overrides/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/ccccc.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ccccc.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/ccccc.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ccccc.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/fffff.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/fffff.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/fffff.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/fffff.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/ggggg.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ggggg.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/ggggg.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ggggg.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/hhhhh.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/hhhhh.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/hhhhh.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/hhhhh.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/iiiii.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/iiiii.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/iiiii.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/iiiii.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/jjjjj.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/jjjjj.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/jjjjj.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/jjjjj.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/kkkkk.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/kkkkk.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/kkkkk.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/kkkkk.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/lllll.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/lllll.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/lllll.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/lllll.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/nnnnn.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/nnnnn.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/nnnnn.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/nnnnn.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/ppppp.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ppppp.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/ppppp.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/ppppp.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/qqqqq.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/qqqqq.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/qqqqq.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/qqqqq.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/rrrrr.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/rrrrr.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/rrrrr.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/rrrrr.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/testmod.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/uuuuu.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/uuuuu.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/uuuuu.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/uuuuu.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/vvvvv.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/vvvvv.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/vvvvv.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/vvvvv.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/wwwww.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/wwwww.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/wwwww.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/wwwww.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/xxxxx.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/xxxxx.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/xxxxx.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/xxxxx.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/yyyyy.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/yyyyy.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/yyyyy.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/yyyyy.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overrides/mods/zzzzz.jar b/serverpackcreator-api/src/test/resources/overridestest/overrides/mods/zzzzz.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overrides/mods/zzzzz.jar rename to serverpackcreator-api/src/test/resources/overridestest/overrides/mods/zzzzz.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/overridestest/overrides/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/overridestest/overrides/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/seeds/seed1.json b/serverpackcreator-api/src/test/resources/overridestest/overrides/seeds/seed1.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/seeds/seed1.json rename to serverpackcreator-api/src/test/resources/overridestest/overrides/seeds/seed1.json diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/seeds/testjson.json b/serverpackcreator-api/src/test/resources/overridestest/overrides/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/overridestest/overrides/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/config/testfile.txt b/serverpackcreator-api/src/test/resources/quilt_tests/config/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/config/testfile.txt rename to serverpackcreator-api/src/test/resources/quilt_tests/config/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/defaultconfigs/testfile.txt b/serverpackcreator-api/src/test/resources/quilt_tests/defaultconfigs/testfile.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/defaultconfigs/testfile.txt rename to serverpackcreator-api/src/test/resources/quilt_tests/defaultconfigs/testfile.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/Ping-1.19-1.9.1.jar b/serverpackcreator-api/src/test/resources/quilt_tests/mods/Ping-1.19-1.9.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/Ping-1.19-1.9.1.jar rename to serverpackcreator-api/src/test/resources/quilt_tests/mods/Ping-1.19-1.9.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar b/serverpackcreator-api/src/test/resources/quilt_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar rename to serverpackcreator-api/src/test/resources/quilt_tests/mods/Ping-Wheel-1.6.1-forge-1.20.1.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/aaaaa.jar b/serverpackcreator-api/src/test/resources/quilt_tests/mods/aaaaa.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/aaaaa.jar rename to serverpackcreator-api/src/test/resources/quilt_tests/mods/aaaaa.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/bbbbb.jar b/serverpackcreator-api/src/test/resources/quilt_tests/mods/bbbbb.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/bbbbb.jar rename to serverpackcreator-api/src/test/resources/quilt_tests/mods/bbbbb.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/testmod.jar b/serverpackcreator-api/src/test/resources/quilt_tests/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/overridestest/overrides/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/quilt_tests/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/scripts/testscript.zs b/serverpackcreator-api/src/test/resources/quilt_tests/scripts/testscript.zs similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/scripts/testscript.zs rename to serverpackcreator-api/src/test/resources/quilt_tests/scripts/testscript.zs diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/seeds/testjson.json b/serverpackcreator-api/src/test/resources/quilt_tests/seeds/testjson.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/seeds/testjson.json rename to serverpackcreator-api/src/test/resources/quilt_tests/seeds/testjson.json diff --git a/serverpackcreator-api/src/jvmTest/resources/serverpackcreator.db b/serverpackcreator-api/src/test/resources/serverpackcreator.db similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/serverpackcreator.db rename to serverpackcreator-api/src/test/resources/serverpackcreator.db diff --git a/serverpackcreator-api/src/jvmTest/resources/serverpackcreator.properties b/serverpackcreator-api/src/test/resources/serverpackcreator.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/serverpackcreator.properties rename to serverpackcreator-api/src/test/resources/serverpackcreator.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/SCP_icon.png b/serverpackcreator-api/src/test/resources/testresources/SCP_icon.png similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/SCP_icon.png rename to serverpackcreator-api/src/test/resources/testresources/SCP_icon.png diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip b/serverpackcreator-api/src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/Survive_Create_Prosper_4_invalid.zip rename to serverpackcreator-api/src/test/resources/testresources/Survive_Create_Prosper_4_invalid.zip diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip b/serverpackcreator-api/src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/Survive_Create_Prosper_4_valid.zip rename to serverpackcreator-api/src/test/resources/testresources/Survive_Create_Prosper_4_valid.zip diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/fabric_manifest.json b/serverpackcreator-api/src/test/resources/testresources/curseforge/fabric_manifest.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/fabric_manifest.json rename to serverpackcreator-api/src/test/resources/testresources/curseforge/fabric_manifest.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/fabric_minecraftinstance.json b/serverpackcreator-api/src/test/resources/testresources/curseforge/fabric_minecraftinstance.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/fabric_minecraftinstance.json rename to serverpackcreator-api/src/test/resources/testresources/curseforge/fabric_minecraftinstance.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/forge_manifest.json b/serverpackcreator-api/src/test/resources/testresources/curseforge/forge_manifest.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/forge_manifest.json rename to serverpackcreator-api/src/test/resources/testresources/curseforge/forge_manifest.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/forge_minecraftinstance.json b/serverpackcreator-api/src/test/resources/testresources/curseforge/forge_minecraftinstance.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/curseforge/forge_minecraftinstance.json rename to serverpackcreator-api/src/test/resources/testresources/curseforge/forge_minecraftinstance.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/gdlauncher/fabric_config.json b/serverpackcreator-api/src/test/resources/testresources/gdlauncher/fabric_config.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/gdlauncher/fabric_config.json rename to serverpackcreator-api/src/test/resources/testresources/gdlauncher/fabric_config.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/gdlauncher/forge_config.json b/serverpackcreator-api/src/test/resources/testresources/gdlauncher/forge_config.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/gdlauncher/forge_config.json rename to serverpackcreator-api/src/test/resources/testresources/gdlauncher/forge_config.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/kreezxil.properties b/serverpackcreator-api/src/test/resources/testresources/kreezxil.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/kreezxil.properties rename to serverpackcreator-api/src/test/resources/testresources/kreezxil.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/de_de.properties b/serverpackcreator-api/src/test/resources/testresources/languages/de_de.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/de_de.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/de_de.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/en_us.properties b/serverpackcreator-api/src/test/resources/testresources/languages/en_us.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/en_us.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/en_us.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_de_de.properties b/serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_de_de.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_de_de.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_de_de.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_ef_gh.properties b/serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_ef_gh.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_ef_gh.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_ef_gh.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_en_us.properties b/serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_en_us.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_en_us.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_en_us.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_uk_ua.properties b/serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_uk_ua.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/langMissing/lang_uk_ua.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/langMissing/lang_uk_ua.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/languages/uk_ua.properties b/serverpackcreator-api/src/test/resources/testresources/languages/uk_ua.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/languages/uk_ua.properties rename to serverpackcreator-api/src/test/resources/testresources/languages/uk_ua.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/fabric_modrinth.index.json b/serverpackcreator-api/src/test/resources/testresources/modrinth/fabric_modrinth.index.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/fabric_modrinth.index.json rename to serverpackcreator-api/src/test/resources/testresources/modrinth/fabric_modrinth.index.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/forge_modrinth.index.json b/serverpackcreator-api/src/test/resources/testresources/modrinth/forge_modrinth.index.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/forge_modrinth.index.json rename to serverpackcreator-api/src/test/resources/testresources/modrinth/forge_modrinth.index.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/quilt_modrinth.index.json b/serverpackcreator-api/src/test/resources/testresources/modrinth/quilt_modrinth.index.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/modrinth/quilt_modrinth.index.json rename to serverpackcreator-api/src/test/resources/testresources/modrinth/quilt_modrinth.index.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/multimc/all_the_mods_instance.cfg b/serverpackcreator-api/src/test/resources/testresources/multimc/all_the_mods_instance.cfg similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/multimc/all_the_mods_instance.cfg rename to serverpackcreator-api/src/test/resources/testresources/multimc/all_the_mods_instance.cfg diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/multimc/better_mc_instance.cfg b/serverpackcreator-api/src/test/resources/testresources/multimc/better_mc_instance.cfg similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/multimc/better_mc_instance.cfg rename to serverpackcreator-api/src/test/resources/testresources/multimc/better_mc_instance.cfg diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/multimc/fabric_mmc-pack.json b/serverpackcreator-api/src/test/resources/testresources/multimc/fabric_mmc-pack.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/multimc/fabric_mmc-pack.json rename to serverpackcreator-api/src/test/resources/testresources/multimc/fabric_mmc-pack.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/multimc/forge_mmc-pack.json b/serverpackcreator-api/src/test/resources/testresources/multimc/forge_mmc-pack.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/multimc/forge_mmc-pack.json rename to serverpackcreator-api/src/test/resources/testresources/multimc/forge_mmc-pack.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/multimc/quilt_mmc-pack.json b/serverpackcreator-api/src/test/resources/testresources/multimc/quilt_mmc-pack.json similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/multimc/quilt_mmc-pack.json rename to serverpackcreator-api/src/test/resources/testresources/multimc/quilt_mmc-pack.json diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/plugins/disabled.txt b/serverpackcreator-api/src/test/resources/testresources/plugins/disabled.txt similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/plugins/disabled.txt rename to serverpackcreator-api/src/test/resources/testresources/plugins/disabled.txt diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/plugins/serverpackcreator-plugin-example-dev.jar b/serverpackcreator-api/src/test/resources/testresources/plugins/serverpackcreator-plugin-example-dev.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/plugins/serverpackcreator-plugin-example-dev.jar rename to serverpackcreator-api/src/test/resources/testresources/plugins/serverpackcreator-plugin-example-dev.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/contains.properties b/serverpackcreator-api/src/test/resources/testresources/properties/filters/contains.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/contains.properties rename to serverpackcreator-api/src/test/resources/testresources/properties/filters/contains.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/either.properties b/serverpackcreator-api/src/test/resources/testresources/properties/filters/either.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/either.properties rename to serverpackcreator-api/src/test/resources/testresources/properties/filters/either.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/end.properties b/serverpackcreator-api/src/test/resources/testresources/properties/filters/end.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/end.properties rename to serverpackcreator-api/src/test/resources/testresources/properties/filters/end.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/regex.properties b/serverpackcreator-api/src/test/resources/testresources/properties/filters/regex.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/regex.properties rename to serverpackcreator-api/src/test/resources/testresources/properties/filters/regex.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/start.properties b/serverpackcreator-api/src/test/resources/testresources/properties/filters/start.properties similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/properties/filters/start.properties rename to serverpackcreator-api/src/test/resources/testresources/properties/filters/start.properties diff --git a/serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/testmod.jar b/serverpackcreator-api/src/test/resources/testresources/server_pack/mods/testmod.jar similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/quilt_tests/mods/testmod.jar rename to serverpackcreator-api/src/test/resources/testresources/server_pack/mods/testmod.jar diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/scriptSettings.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/scriptSettings.conf similarity index 100% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/scriptSettings.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/scriptSettings.conf diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator.conf similarity index 98% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator.conf index 8e1c9afbc9b9fe6c9f50a75772676b7d78edcb71..adaf8105ea485de1229cf27ea4c95f4087a9e80c 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! @@ -15,10 +15,10 @@ clientMods = ["Armor Status HUD-","[1.12.2]bspkrscore-","[1.12.2]DamageIndicator #copyDirs = ["config","mods","scripts","seeds","defaultconfigs","exclude_me","!exclude_me[/\\]I_dont_want_to_be_included.file","!.ogg","!exclude_me[/\\]exclude_me_some_more[/\\]some_more_dirs_to_exclude","!exclude_me[/\\]exclude_me_some_more[/\\]I_dont_want_to_be_included.file"] # Path to a custom server-icon.png-file to include in the server pack. -serverIconPath = "src/jvmTest/resources/testresources/SCP_icon.png" +serverIconPath = "src/test/resources/testresources/SCP_icon.png" # Path to a custom server.properties-file to include in the server pack. -serverPropertiesPath = "src/jvmTest/resources/testresources/kreezxil.properties" +serverPropertiesPath = "src/test/resources/testresources/kreezxil.properties" # Whether to install a Forge/Fabric server for the serverpack. Must be true or false. # Default value is true. diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_copydirs.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_copydirs.conf similarity index 99% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_copydirs.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_copydirs.conf index d3e5d003aeb019df85435acf4f5bd4513126c76e..c4da76b1c2fe9d3f46ba1fac59b832acd9154927 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_copydirs.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_copydirs.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_fabric.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_fabric.conf similarity index 97% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_fabric.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_fabric.conf index 49c37ba9413840315c7958efef89c296fe0c98be..2a81fe9fa233b468dc882808ad2bef2fec1df5c7 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_fabric.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_fabric.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/fabric_tests" +modpackDir = "src/test/resources/fabric_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! @@ -15,10 +15,10 @@ clientMods = ["Armor Status HUD-","[1.12.2]bspkrscore-","[1.12.2]DamageIndicator copyDirs = ["config","mods","scripts","seeds","defaultconfigs"] # Path to a custom server-icon.png-file to include in the server pack. -serverIconPath = "src/jvmTest/resources/testresources/SCP_icon.png" +serverIconPath = "src/test/resources/testresources/SCP_icon.png" # Path to a custom server.properties-file to include in the server pack. -serverPropertiesPath = "src/jvmTest/resources/testresources/kreezxil.properties" +serverPropertiesPath = "src/test/resources/testresources/kreezxil.properties" # Whether to install a Forge/Fabric server for the serverpack. Must be true or false. # Default value is true. diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_javapath.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_javapath.conf similarity index 99% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_javapath.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_javapath.conf index 1c2de9a2df75e18b80fb7ed8fd31ca550df62bdd..39cda013f4fc151a4baea621cae400ef432e4671 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_javapath.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_javapath.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf similarity index 97% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf index 7980cadd57f942cdef0dc1f20ab95c57484f0d8b..00e83b58ce14ea9e6a12c08d43f2925f7d013b85 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_legacyfabric.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/legacyfabric_tests" +modpackDir = "src/test/resources/legacyfabric_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! @@ -15,10 +15,10 @@ clientMods = ["Armor Status HUD-","[1.12.2]bspkrscore-","[1.12.2]DamageIndicator copyDirs = ["config","mods","scripts","seeds","defaultconfigs"] # Path to a custom server-icon.png-file to include in the server pack. -serverIconPath = "src/jvmTest/resources/testresources/SCP_icon.png" +serverIconPath = "src/test/resources/testresources/SCP_icon.png" # Path to a custom server.properties-file to include in the server pack. -serverPropertiesPath = "src/jvmTest/resources/testresources/kreezxil.properties" +serverPropertiesPath = "src/test/resources/testresources/kreezxil.properties" # Whether to install a Forge/Fabric server for the serverpack. Must be true or false. # Default value is true. diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf similarity index 99% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf index bd80cd8b6e659c3e0ed2487761b7098a5c8d46f9..a623f1059b4b4929258aeb620f41f975bd8dc59c 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_minecraftversion.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf similarity index 99% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf index 58c15a5a60d53d93ef31c2b5e899d76b0cd3927c..228af39e7bc60f46b9d46578cf4f421b2dd00f04 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderfalse.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf similarity index 99% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf index cce17cb7c5ea073287b38da7c6e77378f9f8e40b..0f65e0066eb27ae39b486fdf179a3e67624c65c3 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_modloaderversion.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/forge_tests" +modpackDir = "src/test/resources/forge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_neoforge.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_neoforge.conf similarity index 97% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_neoforge.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_neoforge.conf index 7a9b7ea5b7724f9d2dd9a48b3b8494575d67e431..cb6658a9491cca0f4684740822514dd8e4e539ed 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_neoforge.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_neoforge.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/neoforge_tests" +modpackDir = "src/test/resources/neoforge_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! @@ -15,10 +15,10 @@ clientMods = ["Armor Status HUD-","[1.12.2]bspkrscore-","[1.12.2]DamageIndicator copyDirs = ["config","mods","scripts","seeds","defaultconfigs"] # Path to a custom server-icon.png-file to include in the server pack. -serverIconPath = "src/jvmTest/resources/testresources/SCP_icon.png" +serverIconPath = "src/test/resources/testresources/SCP_icon.png" # Path to a custom server.properties-file to include in the server pack. -serverPropertiesPath = "src/jvmTest/resources/testresources/kreezxil.properties" +serverPropertiesPath = "src/test/resources/testresources/kreezxil.properties" # Whether to install a Forge/Fabric server for the serverpack. Must be true or false. # Default value is true. diff --git a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_quilt.conf b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_quilt.conf similarity index 97% rename from serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_quilt.conf rename to serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_quilt.conf index a2628b8be3e624eb6a6f17ff685bd4be8264b583..a06026c89efaf9dcb2d70f24c280e7e26c075721 100644 --- a/serverpackcreator-api/src/jvmTest/resources/testresources/spcconfs/serverpackcreator_quilt.conf +++ b/serverpackcreator-api/src/test/resources/testresources/spcconfs/serverpackcreator_quilt.conf @@ -1,7 +1,7 @@ # Path to your modpack. Can be either relative or absolute. # Example: "./Some Modpack" or "C:\Minecraft\Some Modpack" # Can also be a combination of CurseForge projectID and fileID. Example for Survive Create Prosper 4 4.6.7 "390331,3215793" -modpackDir = "src/jvmTest/resources/quilt_tests" +modpackDir = "src/test/resources/quilt_tests" # List of client-only mods to delete from serverpack. # No need to include version specifics. Must be the filenames of the mods, not their project names on CurseForge! @@ -15,10 +15,10 @@ clientMods = ["Armor Status HUD-","[1.12.2]bspkrscore-","[1.12.2]DamageIndicator copyDirs = ["config","mods","scripts","seeds","defaultconfigs"] # Path to a custom server-icon.png-file to include in the server pack. -serverIconPath = "src/jvmTest/resources/testresources/SCP_icon.png" +serverIconPath = "src/test/resources/testresources/SCP_icon.png" # Path to a custom server.properties-file to include in the server pack. -serverPropertiesPath = "src/jvmTest/resources/testresources/kreezxil.properties" +serverPropertiesPath = "src/test/resources/testresources/kreezxil.properties" # Whether to install a Forge/Fabric server for the serverpack. Must be true or false. # Default value is true. diff --git a/serverpackcreator-app/build.gradle.kts b/serverpackcreator-app/build.gradle.kts index 59b616104ec5916c4ff361bf99e1e6d44c0f816a..7c8d4a0469bb5d3f9ef0a8b1749f45c66235856d 100644 --- a/serverpackcreator-app/build.gradle.kts +++ b/serverpackcreator-app/build.gradle.kts @@ -1,3 +1,4 @@ + import java.time.LocalDate import java.util.* @@ -22,8 +23,8 @@ dependencies { api(project(":serverpackcreator-gui")) api(project(":serverpackcreator-web")) api(project(":serverpackcreator-updater")) - testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } springBoot { @@ -40,6 +41,10 @@ tasks.clean { } } +tasks.bootJar { + dependsOn(":serverpackcreator-api:processTestResources") +} + task("copyDependencies", Copy::class) { from(configurations.runtimeClasspath).into("${layout.buildDirectory.asFile.get()}/jars") } @@ -114,4 +119,4 @@ tasks.jpackage { linuxRpmLicenseType = "LGPL-2.1" linuxShortcut = true } -} +} \ No newline at end of file diff --git a/serverpackcreator-app/src/main/kotlin/de/griefed/serverpackcreator/app/ServerPackCreator.kt b/serverpackcreator-app/src/main/kotlin/de/griefed/serverpackcreator/app/ServerPackCreator.kt index fba1766edfeaf131fc7d619d9139b19cb26fffa8..39a0bc1b00a9262e5ebc31818ecdab7e28682c25 100644 --- a/serverpackcreator-app/src/main/kotlin/de/griefed/serverpackcreator/app/ServerPackCreator.kt +++ b/serverpackcreator-app/src/main/kotlin/de/griefed/serverpackcreator/app/ServerPackCreator.kt @@ -35,11 +35,6 @@ import org.apache.commons.io.monitor.FileAlterationListener import org.apache.commons.io.monitor.FileAlterationMonitor import org.apache.commons.io.monitor.FileAlterationObserver import org.apache.logging.log4j.kotlin.cachedLoggerOf -import org.springframework.boot.autoconfigure.SpringBootApplication -import org.springframework.boot.autoconfigure.domain.EntityScan -import org.springframework.boot.context.properties.EnableConfigurationProperties -import org.springframework.context.annotation.ComponentScan -import org.springframework.scheduling.annotation.EnableScheduling import org.xml.sax.SAXException import java.awt.GraphicsEnvironment import java.io.File @@ -64,21 +59,17 @@ fun main(args: Array<String>) { * API-instance used to run a given instance of SPC. * @author Griefed */ -@SpringBootApplication -@EnableConfigurationProperties -@EntityScan(value = ["de.griefed.serverpackcreator.web"]) -@ComponentScan(value = ["de.griefed.serverpackcreator"]) -@EnableScheduling class ServerPackCreator(private val args: Array<String>) { - private val log = cachedLoggerOf(this.javaClass) - final val commandlineParser: CommandlineParser = CommandlineParser(args) - final val apiWrapper = ApiWrapper.api(commandlineParser.propertiesFile, false) + private val log by lazy { cachedLoggerOf(this.javaClass) } + val commandlineParser: CommandlineParser = CommandlineParser(args) + val apiWrapper = ApiWrapper.api(commandlineParser.propertiesFile, false) private val appInfo = JarInformation(ServerPackCreator::class.java, apiWrapper.jarUtilities) init { if (commandlineParser.language != null) { apiWrapper.apiProperties.changeLocale(commandlineParser.language!!) } + apiWrapper.apiProperties.isExe() } @Suppress("MemberVisibilityCanBePrivate") @@ -102,7 +93,8 @@ class ServerPackCreator(private val args: Array<String>) { log.info("Running in mode: $mode") log.info("App information:") log.info("App Folder: ${appInfo.jarFolder}") - log.info("App Path: ${appInfo.jarFile.absolutePath}") + log.info("App File: ${appInfo.jarFile}") + log.info("App Path: ${appInfo.jarPath}") log.info("App Name: ${appInfo.jarFileName}") log.info("Java version: ${apiWrapper.apiProperties.getJavaVersion()}") log.info("OS architecture: ${apiWrapper.apiProperties.getOSArch()}") diff --git a/serverpackcreator-cli/build.gradle.kts b/serverpackcreator-cli/build.gradle.kts index 8fb985b421dd20f8c1694d0df1c3e68455be1a89..91b1dee59d674d525424d1e3423db16f401f547c 100644 --- a/serverpackcreator-cli/build.gradle.kts +++ b/serverpackcreator-cli/build.gradle.kts @@ -8,6 +8,6 @@ repositories { dependencies { api(project(":serverpackcreator-api")) - testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } \ No newline at end of file diff --git a/serverpackcreator-cli/src/main/kotlin/de/griefed/serverpackcreator/cli/ConfigurationEditor.kt b/serverpackcreator-cli/src/main/kotlin/de/griefed/serverpackcreator/cli/ConfigurationEditor.kt index 77f2043869ebd2da64bb61f2490d050a5f7248d3..0cda415385ef033c5331fb73b8067fde12b282e2 100644 --- a/serverpackcreator-cli/src/main/kotlin/de/griefed/serverpackcreator/cli/ConfigurationEditor.kt +++ b/serverpackcreator-cli/src/main/kotlin/de/griefed/serverpackcreator/cli/ConfigurationEditor.kt @@ -45,7 +45,7 @@ class ConfigurationEditor( private val utilities: Utilities, private val versionMeta: VersionMeta ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss") private val current = dateTimeFormatter.format(LocalDateTime.now()) private val logFile: File = File(apiProperties.logsDirectory, "configurationCreator-$current.log") diff --git a/serverpackcreator-gui/build.gradle.kts b/serverpackcreator-gui/build.gradle.kts index 3732f8e695d4935029b709924b0f9ea8bfafed00..a524af46f1f681040086b7e84234613e4093a5ad 100644 --- a/serverpackcreator-gui/build.gradle.kts +++ b/serverpackcreator-gui/build.gradle.kts @@ -8,25 +8,25 @@ repositories { dependencies { api(project(":serverpackcreator-api")) - api("commons-io:commons-io:2.14.0") - api("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.7.3") - api("org.jetbrains.kotlin:kotlin-reflect:1.9.10") + api("commons-io:commons-io:2.16.1") + api("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.0") + api("org.jetbrains.kotlin:kotlin-reflect:1.9.23") implementation(project(":serverpackcreator-updater")) //New GUI - api("com.formdev:flatlaf:3.2.5") - api("com.formdev:flatlaf-extras:3.2.5") - api("com.formdev:flatlaf-intellij-themes:3.2.5") - api("com.formdev:flatlaf-fonts-jetbrains-mono:2.242") - api("com.formdev:flatlaf-fonts-inter:3.19") + api("com.formdev:flatlaf:3.4") + api("com.formdev:flatlaf-extras:3.4") + api("com.formdev:flatlaf-intellij-themes:3.4") + api("com.formdev:flatlaf-fonts-jetbrains-mono:2.304") + api("com.formdev:flatlaf-fonts-inter:4.0") api("com.formdev:flatlaf-fonts-roboto:2.137") api("com.formdev:flatlaf-fonts-roboto-mono:3.000") - api("com.miglayout:miglayout-swing:11.2") + api("com.miglayout:miglayout-swing:11.3") api("com.formdev:svgSalamander:1.1.4") api("net.java.balloontip:balloontip:1.2.4.1") api("com.cronutils:cron-utils:9.2.1") api("tokyo.northside:tipoftheday:0.4.2") - testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } \ No newline at end of file diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/components/ConvenientJTable.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/components/ConvenientJTable.kt index 98284c2f8afcd387b623932dd9e8d62847d45db3..e843fc6b9553f753bb6872f6d429650e91d549ab 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/components/ConvenientJTable.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/components/ConvenientJTable.kt @@ -67,7 +67,7 @@ abstract class ConvenientJTable( tableColumnModel: DefaultTableColumnModel? = null, listSelectionModel: DefaultListSelectionModel? = null ) : JTable(tableModel, tableColumnModel, listSelectionModel) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } val scrollPanel: ResizeIndicatorScrollPane init { diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/themes/ThemeManager.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/themes/ThemeManager.kt index bc87ef5d45473d4748ce492e3e36e7a86f26d5ab..eaba5b600b900f7f99cb2390394548fe78c18e2d 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/themes/ThemeManager.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/themes/ThemeManager.kt @@ -27,7 +27,7 @@ import com.formdev.flatlaf.themes.FlatMacDarkLaf import com.formdev.flatlaf.themes.FlatMacLightLaf import com.formdev.flatlaf.util.StringUtils import de.griefed.serverpackcreator.api.ApiWrapper -import de.griefed.serverpackcreator.api.utilities.common.createDirectories +import de.griefed.serverpackcreator.api.utilities.common.create import de.griefed.serverpackcreator.gui.GuiProps import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.awt.Frame @@ -46,14 +46,14 @@ import javax.swing.UIManager */ class ThemeManager(private val apiWrapper: ApiWrapper, private val guiProps: GuiProps) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val themeRegex = ".*\\.(properties|txt)".toRegex() private val lastModifiedMap: HashMap<File, Long> = HashMap() val themesDir: File = File(apiWrapper.apiProperties.homeDirectory, "themes").absoluteFile val themes = mutableListOf<ThemeInfo>() init { - themesDir.createDirectories(create = true, directory = true) + themesDir.create(create = true, directory = true) provideExamples() reloadThemes() } diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/tips/TipOfTheDayManager.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/tips/TipOfTheDayManager.kt index c7912963fe95a72a94f83bbf498502492760c3c4..a1be5914dc2d4251a49cf6263889cbfe5eb0d5f1 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/tips/TipOfTheDayManager.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/tips/TipOfTheDayManager.kt @@ -24,7 +24,6 @@ import de.griefed.serverpackcreator.gui.GuiProps import kotlinx.coroutines.* import kotlinx.coroutines.swing.Swing import tokyo.northside.swing.TipOfTheDay -import tokyo.northside.swing.TipOfTheDay.ShowOnStartupChoice import tokyo.northside.swing.tips.DefaultTipOfTheDayModel import java.util.* import javax.swing.JFrame @@ -57,7 +56,7 @@ class TipOfTheDayManager(private val mainFrame: JFrame, private val guiProps: Gu @OptIn(DelicateCoroutinesApi::class) fun showTipOfTheDay() { - GlobalScope.launch(Dispatchers.Swing, CoroutineStart.UNDISPATCHED) { + GlobalScope.launch(Dispatchers.Swing, CoroutineStart.DEFAULT) { var random = (0..<tipOfTheDayModel.tipCount).random() if (guiProps.viewedTips.size == tipOfTheDayModel.tipCount) { random = 0 @@ -69,7 +68,7 @@ class TipOfTheDayManager(private val mainFrame: JFrame, private val guiProps: Gu val newViewed = TreeSet(guiProps.viewedTips) newViewed.add(random) guiProps.viewedTips = newViewed - val tipOfTheDay = TipOfTheDay(tipOfTheDayModel) + val tipOfTheDay = TipOfTheDay(tipOfTheDayModel, false) tipOfTheDay.currentTip = random val customUI = CustomTipOfTheDayUI(tipOfTheDay, guiProps) tipOfTheDay.setUI(customUI) @@ -80,7 +79,7 @@ class TipOfTheDayManager(private val mainFrame: JFrame, private val guiProps: Gu } } - inner class ShowOnStartup : ShowOnStartupChoice { + inner class ShowOnStartup : TipOfTheDay.ShowOnStartupChoice { override fun setShowingOnStartup(showOnStartup: Boolean) { guiProps.showTipOnStartup = showOnStartup } diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/KeyComboManager.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/KeyComboManager.kt index ea1357b554fd44f7f6224b39585724e47a016f91..1caa0bab0cfbce17e15db684ce73b92028a3544f 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/KeyComboManager.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/KeyComboManager.kt @@ -41,7 +41,7 @@ class KeyComboManager( mainPanel: MainPanel ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val configs = mainPanel.tabbedConfigsTab private val control = mainPanel.controlPanel diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/UpdateDialogs.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/UpdateDialogs.kt index 41487ffbe2db2f2848725da0b03d70b479167995..9f5ab491f9eb1f48ba0434f3b269452c0777d638 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/UpdateDialogs.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/UpdateDialogs.kt @@ -50,7 +50,7 @@ class UpdateDialogs( private val updateChecker: UpdateChecker, private val mainFrame: JFrame ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } var update: Optional<Update> = updateChecker.checkForUpdate( apiProperties.apiVersion, apiProperties.isCheckingForPreReleasesEnabled diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/ConfigEditor.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/ConfigEditor.kt index af891dfc330b9620e4788282864ea21a84e4d539..5fc2b4ad950b1e0de69a3c279b5529c1fb31ea49 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/ConfigEditor.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/ConfigEditor.kt @@ -57,7 +57,7 @@ class ConfigEditor( componentResizer: ComponentResizer ) : JScrollPane(), ServerPackConfigTab { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val panel = JPanel( MigLayout( "left,wrap", @@ -74,7 +74,7 @@ class ConfigEditor( private val modpackIcon = StatusIcon(guiProps,Translations.createserverpack_gui_createserverpack_labelmodpackdir_tip.toString()) private val modpackLabel = ElementLabel(Translations.createserverpack_gui_createserverpack_labelmodpackdir.toString()) - private val modpackSetting = ScrollTextFileField(guiProps,File(""), validationChangeListener) + private val modpackSetting = ScrollTextFileField(guiProps,apiWrapper.apiProperties.homeDirectory, validationChangeListener) private val modpackChooser = BalloonTipButton(null, guiProps.folderIcon, Translations.createserverpack_gui_browser.toString(), guiProps) { selectModpackDirectory() } private val modpackCheck = BalloonTipButton(null, guiProps.inspectIcon,Translations.createserverpack_gui_buttonmodpackdir_scan_tip.toString(), guiProps) { updateGuiFromSelectedModpack() } diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/TabbedConfigsTab.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/TabbedConfigsTab.kt index 0eb79dd5dd7ee899fcfbb0e79754180bb7db1e2d..bd1504e781c650e3b5d9b1ccd11827898d087fde 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/TabbedConfigsTab.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/TabbedConfigsTab.kt @@ -54,7 +54,7 @@ class TabbedConfigsTab( private val apiWrapper: ApiWrapper, private val mainFrame: MainFrame ) : TabPanel() { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val choose = arrayOf(Translations.createserverpack_gui_quickselect_choose.toString()) private val noVersions = DefaultComboBoxModel(arrayOf(Translations.createserverpack_gui_createserverpack_forge_none.toString())) private val componentResizer = ComponentResizer() diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/SuggestionProvider.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/SuggestionProvider.kt index 23f8ccd5a03427571625d48e1fd6236a3812d404..f6e48d43c5ac85a354eb065248e4d490f0bf88bd 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/SuggestionProvider.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/SuggestionProvider.kt @@ -56,7 +56,7 @@ class SuggestionProvider( private val sourceComponent: JTextComponent, private val identifier: String ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val suggestionMenu = JPopupMenu() private var suggestionListModel = DefaultListModel<String>() private var suggestionList = JList(suggestionListModel) diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/advanced/AdvancedSettingsPanel.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/advanced/AdvancedSettingsPanel.kt index dd1afc3ff625285d480faa753b9dbaf20f69e64c..4260a7b47c1cb9ce8bf4de23d5600bcd1f734a15 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/advanced/AdvancedSettingsPanel.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/advanced/AdvancedSettingsPanel.kt @@ -57,7 +57,7 @@ class AdvancedSettingsPanel( "[left,::64]5[left]5[left,grow]5[left,::64]5[left,::64]", "30" ) ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val clientModsIcon = StatusIcon(guiProps,Translations.createserverpack_gui_createserverpack_labelclientmods_tip.toString()) private val clientModsLabel = ElementLabel(Translations.createserverpack_gui_createserverpack_labelclientmods.toString()) private val clientModsRevert = BalloonTipButton(null, guiProps.revertIcon, Translations.createserverpack_gui_buttonclientmods_revert_tip.toString(), guiProps) { revertExclusions() } diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/inclusions/InclusionsEditor.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/inclusions/InclusionsEditor.kt index 00f50b83d5e7e97b17bb955c981492c9d7365e08..26d751527d551362e012333a4fdfa24f61a1b339 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/inclusions/InclusionsEditor.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/configs/components/inclusions/InclusionsEditor.kt @@ -64,7 +64,7 @@ class InclusionsEditor( private val inclusionFilter: ScrollTextField, private val exclusionFilter: ScrollTextField ) : JSplitPane(HORIZONTAL_SPLIT) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val expertPanel = JPanel( MigLayout( "left,wrap", diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/control/ControlPanel.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/control/ControlPanel.kt index a9fe6a72cae560d6cc0223d449cd40a5407fc282..61637064435da1014422f6e05036e8b9c0414e62 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/control/ControlPanel.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/control/ControlPanel.kt @@ -53,7 +53,7 @@ class ControlPanel( private val apiWrapper: ApiWrapper, private val mainFrame: MainFrame ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val statusPanel = StatusPanel(guiProps) private val runGeneration = GenerationButton(guiProps) { generate() } diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/menu/file/MainLogToHasteBinItem.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/menu/file/MainLogToHasteBinItem.kt index 09e2906f32e835d0872e60b856ce00dedabba1ea..5fda3ef6e50d355741523b2ea06aeef936f672ed 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/menu/file/MainLogToHasteBinItem.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/menu/file/MainLogToHasteBinItem.kt @@ -44,7 +44,7 @@ class MainLogToHasteBinItem( guiProps: GuiProps, mainFrame: JFrame ) : HasteBinMenuItem(Translations.menubar_gui_menuitem_uploadlog.toString(), mainFrame, guiProps, webUtilities) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val spcLogDocument: StyledDocument = DefaultStyledDocument() private val spcLogAttributeSet: SimpleAttributeSet = SimpleAttributeSet() private val spcLogWindowTextPane: JTextPane = JTextPane(spcLogDocument) diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/GlobalSettings.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/GlobalSettings.kt index 2b85064e77c2619577f6ba46bf621d5438a11910..bbb97b0a45590db98b254e0712196bdec858f4c3 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/GlobalSettings.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/GlobalSettings.kt @@ -54,24 +54,24 @@ class GlobalSettings( controlPanel: ControlPanel ) : Editor(Translations.settings_global.toString(), guiProps) { - private val homeIcon = StatusIcon(guiProps, Translations.settings_global_home_tooltip.toString()) - private val homeLabel = ElementLabel(Translations.settings_global_home_label.toString()) - private val homeSetting = ScrollTextFileField(guiProps, apiProperties.homeDirectory.absoluteFile, changeListener) - private val homeRevert = BalloonTipButton(null, guiProps.revertIcon, Translations.settings_revert.toString(), guiProps) { homeSetting.file = apiProperties.homeDirectory } - private val homeReset = BalloonTipButton(null, guiProps.resetIcon,Translations.settings_reset.toString(), guiProps) { homeSetting.file = apiProperties.defaultHomeDirectory() } - private val homeChoose = BalloonTipButton(null, guiProps.folderIcon,Translations.settings_select_directory.toString(), guiProps) { - val homeChooser = HomeDirChooser(apiProperties,Translations.settings_global_home_chooser.toString()) - if (homeChooser.showSaveDialog(mainFrame.frame) == JFileChooser.APPROVE_OPTION) { - if (homeChooser.selectedFile.absoluteFile.testFileWrite()) { - homeSetting.file = homeChooser.selectedFile.absoluteFile - } else { - JOptionPane.showMessageDialog( - mainFrame.frame, - Translations.settings_directory_error(homeChooser.selectedFile.absolutePath) - ) - } - } - } +// private val homeIcon = StatusIcon(guiProps, Translations.settings_global_home_tooltip.toString()) +// private val homeLabel = ElementLabel(Translations.settings_global_home_label.toString()) +// private val homeSetting = ScrollTextFileField(guiProps, apiProperties.homeDirectory.absoluteFile, changeListener) +// private val homeRevert = BalloonTipButton(null, guiProps.revertIcon, Translations.settings_revert.toString(), guiProps) { homeSetting.file = apiProperties.homeDirectory } +// private val homeReset = BalloonTipButton(null, guiProps.resetIcon,Translations.settings_reset.toString(), guiProps) { homeSetting.file = apiProperties.home } +// private val homeChoose = BalloonTipButton(null, guiProps.folderIcon,Translations.settings_select_directory.toString(), guiProps) { +// val homeChooser = HomeDirChooser(apiProperties,Translations.settings_global_home_chooser.toString()) +// if (homeChooser.showSaveDialog(mainFrame.frame) == JFileChooser.APPROVE_OPTION) { +// if (homeChooser.selectedFile.absoluteFile.testFileWrite()) { +// homeSetting.file = homeChooser.selectedFile.absoluteFile +// } else { +// JOptionPane.showMessageDialog( +// mainFrame.frame, +// Translations.settings_directory_error(homeChooser.selectedFile.absolutePath) +// ) +// } +// } +// } private val javaIcon = StatusIcon(guiProps, Translations.settings_global_java_tooltip.toString()) private val javaLabel = ElementLabel(Translations.settings_global_java_label.toString()) @@ -221,12 +221,12 @@ class GlobalSettings( val postInstallY: Int val javaPathsY: Int var y = 0 - panel.add(homeIcon, "cell 0 $y") - panel.add(homeLabel, "cell 1 $y") - panel.add(homeSetting, "cell 2 $y, grow") - panel.add(homeRevert, "cell 3 $y") - panel.add(homeReset, "cell 4 $y") - panel.add(homeChoose, "cell 5 $y") +// panel.add(homeIcon, "cell 0 $y") +// panel.add(homeLabel, "cell 1 $y") +// panel.add(homeSetting, "cell 2 $y, grow") +// panel.add(homeRevert, "cell 3 $y") +// panel.add(homeReset, "cell 4 $y") +// panel.add(homeChoose, "cell 5 $y") y++ panel.add(javaIcon, "cell 0 $y") @@ -380,7 +380,7 @@ class GlobalSettings( } override fun loadSettings() { - homeSetting.file = apiProperties.homeDirectory.absoluteFile +// homeSetting.file = apiProperties.homeDirectory.absoluteFile javaSetting.file = File(apiProperties.javaPath).absoluteFile serverPacksSetting.file = apiProperties.serverPacksDirectory.absoluteFile zipSetting.text = apiProperties.zipArchiveExclusions.joinToString(", ") @@ -403,7 +403,7 @@ class GlobalSettings( } override fun saveSettings() { - apiProperties.homeDirectory = homeSetting.file.absoluteFile +// apiProperties.homeDirectory = homeSetting.file.absoluteFile apiProperties.javaPath = javaSetting.file.absolutePath apiProperties.serverPacksDirectory = serverPacksSetting.file.absoluteFile apiProperties.zipArchiveExclusions = TreeSet(zipSetting.text.replace(", ",",").split(",")) @@ -429,12 +429,12 @@ class GlobalSettings( override fun validateSettings(): List<String> { val errors = mutableListOf<String>() - if (!homeSetting.file.absoluteFile.isDirectory || !homeSetting.file.absoluteFile.canWrite()) { - homeIcon.error(Translations.settings_check_home.toString()) - errors.add(Translations.settings_check_home.toString()) - } else { - homeIcon.info() - } +// if (!homeSetting.file.absoluteFile.isDirectory || !homeSetting.file.absoluteFile.canWrite()) { +// homeIcon.error(Translations.settings_check_home.toString()) +// errors.add(Translations.settings_check_home.toString()) +// } else { +// homeIcon.info() +// } if (!javaSetting.file.absoluteFile.isFile || !javaSetting.file.absoluteFile.canRead() || !javaSetting.file.absoluteFile.canExecute()) { javaIcon.error(Translations.settings_check_java.toString()) @@ -498,7 +498,7 @@ class GlobalSettings( override fun hasUnsavedChanges(): Boolean { val javaPaths = javaPathsSetting.getData() javaPaths.remove("placeholder") - val changes = homeSetting.file.absolutePath != apiProperties.homeDirectory.absolutePath || + val changes = /*homeSetting.file.absolutePath != apiProperties.homeDirectory.absolutePath ||*/ javaSetting.file.absolutePath != File(apiProperties.javaPath).absolutePath || serverPacksSetting.file.absolutePath != apiProperties.serverPacksDirectory.absolutePath || zipSetting.text != apiProperties.zipArchiveExclusions.joinToString(", ") || diff --git a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/SettingsHandling.kt b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/SettingsHandling.kt index 49e920b7bdf4a1839200f6e8620c7697097902ba..ccf749334e6c61bea3b64c602054445e52120171 100644 --- a/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/SettingsHandling.kt +++ b/serverpackcreator-gui/src/main/kotlin/de/griefed/serverpackcreator/gui/window/settings/SettingsHandling.kt @@ -80,7 +80,6 @@ class SettingsHandling( (tab as Editor).saveSettings() } apiProperties.saveProperties(apiProperties.serverPackCreatorPropertiesFile) - apiProperties.saveOverrides() lastAction = Translations.settings_handle_saved(currentTime()) checkAll() controlPanel.updateStatus(Translations.settings_info_saved(apiProperties.serverPackCreatorPropertiesFile.absolutePath)) diff --git a/serverpackcreator-gui/src/main/resources/de/griefed/resources/gui/LICENSE-AGREEMENT b/serverpackcreator-gui/src/main/resources/de/griefed/resources/gui/LICENSE-AGREEMENT index e1d820cb15c81ca2b876e6b3e01fb173b3c0898a..02abccda117b174e1223263a1fe2b476330c4ccf 100644 --- a/serverpackcreator-gui/src/main/resources/de/griefed/resources/gui/LICENSE-AGREEMENT +++ b/serverpackcreator-gui/src/main/resources/de/griefed/resources/gui/LICENSE-AGREEMENT @@ -469,52 +469,6 @@ DAMAGES. END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - Used libraries / dependencies licenses: @@ -546,8 +500,8 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (2 of 41) Group: com.electronwill.night-config Name: toml -Version: 3.6.7 -POM Project URL: https://github.com/TheElectronWill/Night-Config +Version: 3.7.1 +POM Project URL: https://github.com/TheElectronWill/night-config POM License: GNU Lesser General Public License v3.0 @@ -733,7 +687,7 @@ Library. (3 of 41) Group: com.fasterxml.jackson.core Name: jackson-databind -Version: 2.15.3 +Version: 2.17.0 Project URL: https://github.com/FasterXML/jackson\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -976,7 +930,7 @@ from the source code management (SCM) system project uses. (4 of 41) Group: com.fasterxml.jackson.module Name: jackson-module-kotlin -Version: 2.14.2 +Version: 2.17.0 Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -990,7 +944,7 @@ Embedded license: This copy of Jackson JSON processor databind module is licensed under the Apache (Software) License, version 2.0 ("the License"). See the License for details about distribution rights, and the -specific rights regarding derivate works. +specific rights regarding derivative works. You may obtain a copy of the License at: @@ -1005,6 +959,10 @@ been in development since 2007. It is currently developed by a community of developers, as well as supported commercially by FasterXML.com. +## Copyright + +Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) + ## Licensing Jackson core and extension components may be licensed under different licenses. @@ -1024,7 +982,7 @@ from the source code management (SCM) system project uses. (5 of 41) Group: com.fasterxml.jackson.module Name: jackson-module-kotlin -Version: 2.15.3 +Version: 2.17.1 Project URL: https://github.com/FasterXML/jackson-module-kotlin\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -1076,7 +1034,7 @@ from the source code management (SCM) system project uses. (6 of 41) Group: com.formdev Name: flatlaf -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1294,7 +1252,7 @@ Embedded license: (7 of 41) Group: com.formdev Name: flatlaf-extras -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1512,7 +1470,7 @@ Embedded license: (8 of 41) Group: com.formdev Name: flatlaf-fonts-inter -Version: 3.19 +Version: 4.0 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -1729,9 +1687,7 @@ Embedded license: limitations under the License. -Copyright (c) 2016-2020 The Inter Project Authors. -"Inter" is trademark of Rasmus Andersson. -https://github.com/rsms/inter +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: @@ -1830,7 +1786,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE. (9 of 41) Group: com.formdev Name: flatlaf-fonts-jetbrains-mono -Version: 2.242 +Version: 2.304 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -2896,7 +2852,7 @@ Embedded license: (12 of 41) Group: com.formdev Name: flatlaf-intellij-themes -Version: 3.2.5 +Version: 3.4 POM Project URL: https://github.com/JFormDesigner/FlatLaf @@ -3142,7 +3098,7 @@ URL: https://opensource.org/licenses/BSD-2-Clause (14 of 41) Group: com.miglayout Name: miglayout-swing -Version: 11.2 +Version: 11.3 POM Project URL: http://www.miglayout.com/ @@ -3162,7 +3118,7 @@ URL: https://opensource.org/licenses/0BSD (15 of 41) Group: commons-io Name: commons-io -Version: 2.14.0 +Version: 2.16.1 Project URL: https://commons.apache.org/proper/commons-io/\n\n Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3379,7 +3335,7 @@ Embedded license: Apache Commons IO -Copyright 2002-2023 The Apache Software Foundation +Copyright 2002-2024 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/). @@ -3390,7 +3346,7 @@ The Apache Software Foundation (https://www.apache.org/). (16 of 41) Group: de.comahe.i18n4k Name: i18n4k-core -Version: 0.6.2 +Version: 0.7.0 No license information found @@ -3399,7 +3355,7 @@ No license information found (17 of 41) Group: de.comahe.i18n4k Name: i18n4k-core-jvm -Version: 0.6.2 +Version: 0.7.0 POM Project URL: https://comahe-de.github.io/i18n4k/ @@ -3419,7 +3375,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (18 of 41) Group: de.jensklingenberg.ktorfit Name: ktorfit-lib -Version: 1.9.0 +Version: 1.14.0 No license information found @@ -3480,7 +3436,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (22 of 41) Group: org.apache.logging.log4j Name: log4j-api-kotlin -Version: 1.3.0 +Version: 1.4.0 Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3707,7 +3663,7 @@ The Apache Software Foundation (http://www.apache.org/). (23 of 41) Group: org.apache.logging.log4j Name: log4j-core -Version: 2.21.0 +Version: 2.23.1 Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 @@ -3935,7 +3891,7 @@ Copyright 2005-2006 Tim Fennell (24 of 41) Group: org.bouncycastle Name: bcpkix-jdk18on -Version: 1.77 +Version: 1.78 POM Project URL: https://www.bouncycastle.org/java.html @@ -3955,11 +3911,11 @@ URL: https://www.bouncycastle.org/licence.html (25 of 41) Group: org.javassist Name: javassist -Version: 3.29.2-GA +Version: 3.30.2-GA Manifest license URL: https://www.apache.org/licenses/LICENSE-2.0 -POM Project URL: http://www.javassist.org/ +POM Project URL: https://www.javassist.org/ POM License: Apache License, Version 2.0 @@ -3994,7 +3950,7 @@ URL: https://www.mozilla.org/en-US/MPL/1.1 (26 of 41) Group: org.jetbrains.kotlin Name: kotlin-bom -Version: 1.9.21 +Version: 1.9.23 No license information found @@ -4003,7 +3959,7 @@ No license information found (27 of 41) Group: org.jetbrains.kotlin Name: kotlin-reflect -Version: 1.9.10 +Version: 1.9.23 POM Project URL: https://kotlinlang.org/ @@ -4022,8 +3978,8 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (28 of 41) Group: org.jetbrains.kotlin -Name: kotlin-reflect -Version: 1.9.21 +Name: kotlin-stdlib +Version: 1.9.23 POM Project URL: https://kotlinlang.org/ @@ -4043,7 +3999,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (29 of 41) Group: org.jetbrains.kotlin Name: kotlin-stdlib -Version: 1.9.21 +Version: 2.0.0-RC1 POM Project URL: https://kotlinlang.org/ @@ -4063,7 +4019,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (30 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-coroutines-core -Version: 1.7.3 +Version: 1.8.0 No license information found @@ -4072,7 +4028,7 @@ No license information found (31 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-coroutines-swing -Version: 1.7.3 +Version: 1.8.0 POM Project URL: https://github.com/Kotlin/kotlinx.coroutines @@ -4092,7 +4048,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (32 of 41) Group: org.jetbrains.kotlinx Name: kotlinx-datetime -Version: 0.4.1 +Version: 0.5.0 No license information found @@ -4101,7 +4057,7 @@ No license information found (33 of 41) Group: org.pf4j Name: pf4j -Version: 3.10.0 +Version: 3.11.0 POM License: Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 @@ -4118,7 +4074,7 @@ URL: https://www.apache.org/licenses/LICENSE-2.0 (34 of 41) Group: org.postgresql Name: postgresql -Version: 42.6.0 +Version: 42.7.3 Manifest Project URL: https://jdbc.postgresql.org/ @@ -4270,7 +4226,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. (35 of 41) Group: org.springframework.boot Name: spring-boot-devtools -Version: 3.0.4 +Version: 3.2.5 POM Project URL: https://spring.io/projects/spring-boot @@ -4483,8 +4439,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4495,7 +4451,7 @@ the License. (36 of 41) Group: org.springframework.boot Name: spring-boot-devtools -Version: 3.2.0 +Version: 3.3.0 POM Project URL: https://spring.io/projects/spring-boot @@ -4708,8 +4664,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.2.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4720,7 +4676,7 @@ the License. (37 of 41) Group: org.springframework.boot Name: spring-boot-starter-data-jpa -Version: 3.0.4 +Version: 3.2.5 POM Project URL: https://spring.io/projects/spring-boot @@ -4933,8 +4889,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.5 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -4945,7 +4901,7 @@ the License. (38 of 41) Group: org.springframework.boot Name: spring-boot-starter-log4j2 -Version: 3.0.4 +Version: 3.2.4 POM Project URL: https://spring.io/projects/spring-boot @@ -5158,8 +5114,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.0.4 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -5170,7 +5126,7 @@ the License. (39 of 41) Group: org.springframework.boot Name: spring-boot-starter-web -Version: 3.1.0 +Version: 3.2.4 POM Project URL: https://spring.io/projects/spring-boot @@ -5383,8 +5339,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.1.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.2.4 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with @@ -5395,7 +5351,7 @@ the License. (40 of 41) Group: org.springframework.boot Name: spring-boot-starter-web -Version: 3.2.0 +Version: 3.3.0 POM Project URL: https://spring.io/projects/spring-boot @@ -5608,8 +5564,8 @@ Embedded license: See the License for the specific language governing permissions and limitations under the License. -Spring Boot 3.2.0 -Copyright (c) 2012-2023 VMware, Inc. +Spring Boot 3.3.0 +Copyright (c) 2012-2024 VMware, Inc. This product is licensed to you under the Apache License, Version 2.0 (the "License"). You may not use this product except in compliance with diff --git a/serverpackcreator-plugin-example/build.gradle.kts b/serverpackcreator-plugin-example/build.gradle.kts index 87f853540423865539349bcb26a21eeccd999b4c..16c126aca5692b372bbb3f67de9c680fdfca71cc 100644 --- a/serverpackcreator-plugin-example/build.gradle.kts +++ b/serverpackcreator-plugin-example/build.gradle.kts @@ -30,8 +30,8 @@ val pluginDescription = "An example plugin for ServerPackCreator, written in Kot val pluginAuthor = "Griefed" dependencies { - annotationProcessor("org.pf4j:pf4j:3.10.0") - kapt("org.pf4j:pf4j:3.10.0") + annotationProcessor("org.pf4j:pf4j:3.11.0") + kapt("org.pf4j:pf4j:3.11.0") /* * CAUTION: When copying the code of the example plugin, make sure to change the dependency on * the API to implementation("de.griefed:serverpackcreator:serverpackcreator-api:$VERSION") @@ -40,8 +40,8 @@ dependencies { // Testing - testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } tasks.processResources { @@ -79,6 +79,10 @@ tasks.sourcesJar { dependsOn(tasks.generateI18n4kFiles) } +tasks.test { + dependsOn(":serverpackcreator-api:processTestResources") +} + tasks.jar { manifest { attributes( diff --git a/serverpackcreator-updater/build.gradle.kts b/serverpackcreator-updater/build.gradle.kts index 7b7716eb78c1aaf5f8bcea0b0dd0f1338f171973..f8d51c370e2f984b2ebe141ff2bd1d142f7bdb6e 100644 --- a/serverpackcreator-updater/build.gradle.kts +++ b/serverpackcreator-updater/build.gradle.kts @@ -8,6 +8,6 @@ repositories { dependencies { implementation(project(":serverpackcreator-api")) - testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") } \ No newline at end of file diff --git a/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/MigrationManager.kt b/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/MigrationManager.kt index 87e959b33d8190f05b76d8dee5932588a9bcbf3e..191cc0957b4bfba6620623e7e08b6dff6d0e5f07 100644 --- a/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/MigrationManager.kt +++ b/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/MigrationManager.kt @@ -66,7 +66,7 @@ import java.util.* class MigrationManager( private val apiProperties: ApiProperties, private val tomlParser: TomlParser ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val migrationMethods = MigrationMethods() private val previous: String = apiProperties.oldVersion() private val current: String = apiProperties.apiVersion diff --git a/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/UpdateChecker.kt b/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/UpdateChecker.kt index 8a9ae4c734255dfd435117c0202179d8cd28a52d..87cbb92ac3579af59515d7f8d3be023aac2d0cf1 100644 --- a/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/UpdateChecker.kt +++ b/serverpackcreator-updater/src/main/kotlin/de/griefed/serverpackcreator/updater/UpdateChecker.kt @@ -33,7 +33,7 @@ import java.util.* * @author Griefed */ class UpdateChecker(private val apiProperties: ApiProperties) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private var gitHub: GitHubChecker? = null /** diff --git a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitHubChecker.kt b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitHubChecker.kt index 4fd918665e2c367735b8266388d2ff658e2638ca..891349dfb9f1cee880e2df8571ad03727d93e2f9 100644 --- a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitHubChecker.kt +++ b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitHubChecker.kt @@ -29,6 +29,7 @@ import com.fasterxml.jackson.databind.JsonNode import de.griefed.serverpackcreator.api.utilities.common.Comparison import de.griefed.serverpackcreator.api.utilities.common.SemanticVersionComparator import org.apache.logging.log4j.LogManager +import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.io.IOException import java.net.MalformedURLException import java.net.URI @@ -48,7 +49,7 @@ import java.util.* * @author Griefed */ class GitHubChecker : VersionChecker { - private val logger = LogManager.getLogger(GitHubChecker::class.java) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val gitHubApi: URL private val gitHubApiLatest: URL private var repository: JsonNode? = null @@ -104,7 +105,7 @@ class GitHubChecker : VersionChecker { * @return [Update]-instance, wrapped in an [Optional], containing information about the available update. */ override fun check(currentVersion: String, checkForPreReleases: Boolean): Optional<Update> { - logger.debug("Current version: $currentVersion") + log.debug("Current version: $currentVersion") try { val newVersion = isUpdateAvailable(currentVersion, checkForPreReleases) if (newVersion != "up_to_date") { @@ -154,9 +155,9 @@ class GitHubChecker : VersionChecker { ) } } catch (ex: NumberFormatException) { - logger.error("A version could not be parsed into integers.", ex) + log.error("A version could not be parsed into integers.", ex) } catch (ex: MalformedURLException) { - logger.error("URL could not be created.", ex) + log.error("URL could not be created.", ex) } return Optional.empty() } @@ -177,7 +178,7 @@ class GitHubChecker : VersionChecker { } } } - logger.debug("All versions: {}", versions) + log.debug("All versions: $versions") // In case the given repository does not have any releases return if (versions.size == 0) { @@ -204,7 +205,7 @@ class GitHubChecker : VersionChecker { version = alpha } } - logger.debug("Latest version:{}", latest) + log.debug("Latest version: $latest") return version } return "no_release" diff --git a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitLabChecker.kt b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitLabChecker.kt index 834d5be01bd86c6e376d730fbc13353d7a4a16f9..73ddf316e588d07c07858cefbd8e329cd89becef 100644 --- a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitLabChecker.kt +++ b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/GitLabChecker.kt @@ -26,6 +26,7 @@ package de.griefed.versionchecker import com.fasterxml.jackson.databind.JsonNode +import org.apache.logging.log4j.kotlin.cachedLoggerOf import de.griefed.serverpackcreator.api.utilities.common.Comparison import de.griefed.serverpackcreator.api.utilities.common.SemanticVersionComparator import org.apache.logging.log4j.LogManager @@ -48,7 +49,7 @@ import java.util.* * @author Griefed */ class GitLabChecker : VersionChecker { - private val logger = LogManager.getLogger(GitLabChecker::class.java) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val gitLabApi: URL private var repository: JsonNode? = null @@ -100,7 +101,7 @@ class GitLabChecker : VersionChecker { * @return [Update]-instance, wrapped in an [Optional], contianing information about the available update. */ override fun check(currentVersion: String, checkForPreReleases: Boolean): Optional<Update> { - logger.debug("Current version: $currentVersion") + log.debug("Current version: $currentVersion") try { val newVersion = isUpdateAvailable(currentVersion, checkForPreReleases) if (newVersion != "up_to_date") { @@ -153,9 +154,9 @@ class GitLabChecker : VersionChecker { ) } } catch (ex: NumberFormatException) { - logger.error("A version could not be parsed into integers.", ex) + log.error("A version could not be parsed into integers.", ex) } catch (ex: MalformedURLException) { - logger.error("URL could not be created.", ex) + log.error("URL could not be created.", ex) } return Optional.empty() } @@ -176,7 +177,7 @@ class GitLabChecker : VersionChecker { } } } - logger.debug("All versions: {}", versions) + log.debug("All versions: $versions") // In case the given repository does not have any releases return if (versions.size == 0) { @@ -207,7 +208,7 @@ class GitLabChecker : VersionChecker { return "no_release" } for (version in allVersions!!) { - logger.debug("version: $version") + log.debug("version: $version") if (!version.contains("alpha") && !version.contains("beta") && SemanticVersionComparator.compareSemantics( latest!!, version, diff --git a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/VersionChecker.kt b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/VersionChecker.kt index 5ce75085a991bb656b88409efdf5e8eac9ac4d22..fb5f2a636a0037b3555db1c85069b82497dd6641 100644 --- a/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/VersionChecker.kt +++ b/serverpackcreator-updater/src/main/kotlin/de/griefed/versionchecker/VersionChecker.kt @@ -27,7 +27,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.ObjectMapper import de.griefed.serverpackcreator.api.utilities.common.Comparison import de.griefed.serverpackcreator.api.utilities.common.SemanticVersionComparator -import org.apache.logging.log4j.LogManager +import org.apache.logging.log4j.kotlin.cachedLoggerOf import java.io.BufferedReader import java.io.IOException import java.io.InputStreamReader @@ -43,7 +43,7 @@ import java.util.* */ @Suppress("unused") abstract class VersionChecker { - private val logger = LogManager.getLogger(VersionChecker::class.java) + private val log by lazy { cachedLoggerOf(this.javaClass) } protected var allVersions: List<String>? = null private set @@ -60,7 +60,7 @@ abstract class VersionChecker { * New prerelease available: `Current version: 2.0.0. A new PreRelease is available: 3.0.0-alpha.14. Download available at: https://github.com/Griefed/ServerPackCreator/releases/tag/3.0.0-alpha.14` */ fun checkForUpdate(currentVersion: String, checkForPreReleases: Boolean): String { - logger.debug("Current version: $currentVersion") + log.debug("Current version: $currentVersion") return try { val newVersion = isUpdateAvailable(currentVersion, checkForPreReleases) if (newVersion == "up_to_date") { @@ -69,7 +69,7 @@ abstract class VersionChecker { newVersion + ";" + getDownloadUrl(newVersion!!) } } catch (ex: NumberFormatException) { - logger.error("A version could not be parsed into integers.", ex) + log.error("A version could not be parsed into integers.", ex) "No updates available." } } @@ -262,7 +262,7 @@ abstract class VersionChecker { } } } - logger.debug("Latest beta: $beta") + log.debug("Latest beta: $beta") return beta } @@ -288,7 +288,7 @@ abstract class VersionChecker { } } } - logger.debug("Latest alpha: $alpha") + log.debug("Latest alpha: $alpha") return alpha } diff --git a/serverpackcreator-web-frontend/build.gradle.kts b/serverpackcreator-web-frontend/build.gradle.kts index b9fbc5cd8d2f7e99e8861e6c23b82efffaafb5f1..ed02bbc02dd6936628d3a04dd6b390bac60113b5 100644 --- a/serverpackcreator-web-frontend/build.gradle.kts +++ b/serverpackcreator-web-frontend/build.gradle.kts @@ -1,13 +1,3 @@ plugins { id("serverpackcreator.quasar-conventions") } - -/* -tasks.register("copyDist", Copy::class) { - from(projectDir.resolve("dist/spa")) - into(rootDir.resolve("serverpackcreator-web/src/main/resources/static")) -} - -tasks.build.get().finalizedBy( - tasks.getByName("copyDist") -)*/ diff --git a/serverpackcreator-web-frontend/package-lock.json b/serverpackcreator-web-frontend/package-lock.json index e28bb6c9cc3bd288d2ee3dea4c68d9f6865a1cb1..1615f05963cbed94b157e28adb1a70fe50bc0ef1 100644 --- a/serverpackcreator-web-frontend/package-lock.json +++ b/serverpackcreator-web-frontend/package-lock.json @@ -8,26 +8,28 @@ "name": "serverpackcreator-web-frontend", "version": "2.0.0", "dependencies": { - "@quasar/extras": "^1.16.4", - "axios": "^1.2.1", + "@quasar/extras": "^1.16.11", + "apexcharts": "^3.49.0", + "axios": "^1.6.8", "pinia": "^2.0.11", - "quasar": "^2.6.0", - "vue": "^3.0.0", - "vue-i18n": "^9.2.2", - "vue-router": "^4.0.0" + "quasar": "^2.15.4", + "vue": "^3.4.25", + "vue-i18n": "^9.13.1", + "vue-router": "^4.3.2", + "vue3-apexcharts": "^1.5.2" }, "devDependencies": { - "@intlify/vite-plugin-vue-i18n": "^3.3.1", + "@intlify/vite-plugin-vue-i18n": "^7.0.0", "@quasar/app-vite": "^1.3.0", - "@types/node": "^12.20.21", - "@typescript-eslint/eslint-plugin": "^5.10.0", - "@typescript-eslint/parser": "^5.10.0", - "autoprefixer": "^10.4.2", - "eslint": "^8.10.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-vue": "^9.0.0", - "prettier": "^2.5.1", - "typescript": "^4.5.4" + "@types/node": "^20.12.7", + "@typescript-eslint/eslint-plugin": "^7.7.1", + "@typescript-eslint/parser": "^7.7.1", + "autoprefixer": "^10.4.19", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-vue": "^9.25.0", + "prettier": "^3.2.5", + "typescript": "^5.4.5" }, "engines": { "node": "^18 || ^16 || ^14.19", @@ -45,9 +47,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -145,15 +147,15 @@ "dev": true }, "node_modules/@intlify/bundle-utils": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-2.2.2.tgz", - "integrity": "sha512-vngkvlIVV8ZJoyC5VqMvqJd2nvsx+qMN7pQjPiPjOrVndeiR7Dlue0k86Q8FsFUzyksW3HJZZi833ldxwbFzTA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-3.4.0.tgz", + "integrity": "sha512-2UQkqiSAOSPEHMGWlybqWm4G2K0X+FyYho5AwXz6QklSX1EY5EDmOSxZmwscn2qmKBnp6OYsme5kUrnN9xrWzQ==", "dev": true, "dependencies": { - "@intlify/message-compiler": "^9.1.0", - "@intlify/shared": "^9.1.0", + "@intlify/message-compiler": "next", + "@intlify/shared": "next", "jsonc-eslint-parser": "^1.0.1", - "source-map": "^0.6.1", + "source-map": "0.6.1", "yaml-eslint-parser": "^0.3.2" }, "engines": { @@ -169,12 +171,27 @@ } }, "node_modules/@intlify/core-base": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.8.0.tgz", - "integrity": "sha512-UxaSZVZ1DwqC/CltUZrWZNaWNhfmKtfyV4BJSt/Zt4Or/fZs1iFj0B+OekYk1+MRHfIOe3+x00uXGQI4PbO/9g==", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz", + "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==", "dependencies": { - "@intlify/message-compiler": "9.8.0", - "@intlify/shared": "9.8.0" + "@intlify/message-compiler": "9.13.1", + "@intlify/shared": "9.13.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/core-base/node_modules/@intlify/message-compiler": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz", + "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==", + "dependencies": { + "@intlify/shared": "9.13.1", + "source-map-js": "^1.0.2" }, "engines": { "node": ">= 16" @@ -184,11 +201,12 @@ } }, "node_modules/@intlify/message-compiler": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.8.0.tgz", - "integrity": "sha512-McnYWhcoYmDJvssVu6QGR0shqlkJuL1HHdi5lK7fNqvQqRYaQ4lSLjYmZxwc8tRNMdIe9/KUKfyPxU9M6yCtNQ==", + "version": "10.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-10.0.0-alpha.3.tgz", + "integrity": "sha512-WjM1KAl5enpOfprfVAJ3FzwACmizZFPgyV0sn+QXoWH8BG2ahVkf7uVEqQH0mvUr2rKKaScwpzhH3wZ5F7ZdPw==", + "dev": true, "dependencies": { - "@intlify/shared": "9.8.0", + "@intlify/shared": "10.0.0-alpha.3", "source-map-js": "^1.0.2" }, "engines": { @@ -198,10 +216,22 @@ "url": "https://github.com/sponsors/kazupon" } }, + "node_modules/@intlify/message-compiler/node_modules/@intlify/shared": { + "version": "10.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.0-alpha.3.tgz", + "integrity": "sha512-fi2q48i+C6sSCAt3vOj/9LD3tkr1wcvLt+ifZEHrpPiwHCyKLDYGp5qBNUHUBBA/iqFTeWdtHUbHE9z9OeTXkw==", + "dev": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, "node_modules/@intlify/shared": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.8.0.tgz", - "integrity": "sha512-TmgR0RCLjzrSo+W3wT0ALf9851iFMlVI9EYNGeWvZFUQTAJx0bvfsMlPdgVtV1tDNRiAfhkFsMKu6jtUY1ZLKQ==", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz", + "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==", "engines": { "node": ">= 16" }, @@ -210,40 +240,96 @@ } }, "node_modules/@intlify/vite-plugin-vue-i18n": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-3.4.0.tgz", - "integrity": "sha512-XXcZBgwJ+3FRu11c4ARoY9N00kElPii0/jNZ49qR045Ka7/YGCwb1Ku14BBlMSEHiHDSjLQknLwrJKSQGVZLyA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-7.0.0.tgz", + "integrity": "sha512-2TbDOQ8XD+vkc0s5OFmr+IY/k4mYMC7pzvx0xGQn+cU/ev314+yi7Z7N7rWcBgiYk1WOUalbGSo3d4nJDxOOyw==", + "deprecated": "This plugin support until Vite 3. If you would like to use on Vite 4, please use @intlify/unplugin-vue-i18n", "dev": true, "dependencies": { - "@intlify/bundle-utils": "^2.2.2", - "@intlify/shared": "^9.1.0", - "@rollup/pluginutils": "^4.1.0", + "@intlify/bundle-utils": "^3.1.2", + "@intlify/shared": "next", + "@rollup/pluginutils": "^4.2.0", "debug": "^4.3.1", "fast-glob": "^3.2.5", "source-map": "0.6.1" }, "engines": { - "node": ">= 12" + "node": ">= 14.6" }, "peerDependencies": { - "petite-vue-i18n": "^9.1.0", - "vite": "^2.0.0", - "vue-i18n": "^9.1.0" + "petite-vue-i18n": "*", + "vite": "^2.9.0 || ^3.0.0", + "vue-i18n": "*" }, "peerDependenciesMeta": { "petite-vue-i18n": { "optional": true }, + "vite": { + "optional": true + }, "vue-i18n": { "optional": true } } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -280,9 +366,9 @@ } }, "node_modules/@quasar/app-vite": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-1.7.1.tgz", - "integrity": "sha512-cs3ix7w8f7884JiTp3EW6auZ9R+Fg4qoPxEZ7VRGOrSsUg5oQtR/i91jeQk4Z96J/JUOqtcKqdqbzN4fzaFyIg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-1.8.5.tgz", + "integrity": "sha512-OB5nU9qKIl3p7Ton9fLWkSQTv1I/7slfQl8izhZPPJZRY755Jn4Kz1exYUoEgJJ4cLSaUI/cpnVOL59pw53NEg==", "dev": true, "dependencies": { "@quasar/render-ssr-error": "^1.0.3", @@ -304,7 +390,7 @@ "express": "^4.17.3", "fast-glob": "3.2.12", "fs-extra": "^11.1.0", - "html-minifier": "^4.0.0", + "html-minifier-terser": "^7.2.0", "inquirer": "^8.2.1", "isbinaryfile": "^5.0.0", "kolorist": "^1.5.1", @@ -333,6 +419,7 @@ "url": "https://donate.quasar.dev" }, "peerDependencies": { + "@electron/packager": ">= 18", "electron-builder": ">= 22", "electron-packager": ">= 15", "eslint": "^8.11.0", @@ -344,6 +431,9 @@ "workbox-build": ">= 6" }, "peerDependenciesMeta": { + "@electron/packager": { + "optional": true + }, "electron-builder": { "optional": true }, @@ -381,9 +471,9 @@ } }, "node_modules/@quasar/extras": { - "version": "1.16.9", - "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.9.tgz", - "integrity": "sha512-SlOhwzXyPQHWgQIS2ncyDdYdksCJvUYNtgsDQqzAKEG3r3d/ejOxvThle79HTK3Q6HB+gQWFG21Ux00Osr5XSw==", + "version": "1.16.11", + "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.11.tgz", + "integrity": "sha512-sbTBHOA+Hi7ah0P6qSm+xfRXqwJ94ct3NKA3Lkq3iNPYuHD7VXbSWtP2eA7Cu9Fd0WjVoPbngf6yFGg46U3IfQ==", "funding": { "type": "github", "url": "https://donate.quasar.dev" @@ -545,10 +635,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/qs": { "version": "6.9.11", @@ -563,9 +656,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@types/send": { @@ -590,32 +683,33 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz", + "integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/type-utils": "7.7.1", + "@typescript-eslint/utils": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -623,26 +717,42 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz", + "integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -651,16 +761,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz", + "integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -668,25 +778,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz", + "integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/utils": "7.7.1", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -695,12 +805,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz", + "integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -708,21 +818,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz", + "integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -734,43 +845,96 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz", + "integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "semver": "^7.6.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz", + "integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "7.7.1", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -797,49 +961,49 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.13.tgz", - "integrity": "sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.25.tgz", + "integrity": "sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==", "dependencies": { - "@babel/parser": "^7.23.5", - "@vue/shared": "3.3.13", + "@babel/parser": "^7.24.4", + "@vue/shared": "3.4.25", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz", - "integrity": "sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.25.tgz", + "integrity": "sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==", "dependencies": { - "@vue/compiler-core": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-core": "3.4.25", + "@vue/shared": "3.4.25" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.13.tgz", - "integrity": "sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==", - "dependencies": { - "@babel/parser": "^7.23.5", - "@vue/compiler-core": "3.3.13", - "@vue/compiler-dom": "3.3.13", - "@vue/compiler-ssr": "3.3.13", - "@vue/reactivity-transform": "3.3.13", - "@vue/shared": "3.3.13", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.25.tgz", + "integrity": "sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==", + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/compiler-core": "3.4.25", + "@vue/compiler-dom": "3.4.25", + "@vue/compiler-ssr": "3.4.25", + "@vue/shared": "3.4.25", "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.32", - "source-map-js": "^1.0.2" + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz", - "integrity": "sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.25.tgz", + "integrity": "sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==", "dependencies": { - "@vue/compiler-dom": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-dom": "3.4.25", + "@vue/shared": "3.4.25" } }, "node_modules/@vue/devtools-api": { @@ -848,60 +1012,53 @@ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "node_modules/@vue/reactivity": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.13.tgz", - "integrity": "sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.25.tgz", + "integrity": "sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==", "dependencies": { - "@vue/shared": "3.3.13" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.13.tgz", - "integrity": "sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==", - "dependencies": { - "@babel/parser": "^7.23.5", - "@vue/compiler-core": "3.3.13", - "@vue/shared": "3.3.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.5" + "@vue/shared": "3.4.25" } }, "node_modules/@vue/runtime-core": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.13.tgz", - "integrity": "sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.25.tgz", + "integrity": "sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==", "dependencies": { - "@vue/reactivity": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/reactivity": "3.4.25", + "@vue/shared": "3.4.25" } }, "node_modules/@vue/runtime-dom": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.13.tgz", - "integrity": "sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.25.tgz", + "integrity": "sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==", "dependencies": { - "@vue/runtime-core": "3.3.13", - "@vue/shared": "3.3.13", + "@vue/runtime-core": "3.4.25", + "@vue/shared": "3.4.25", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.13.tgz", - "integrity": "sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.25.tgz", + "integrity": "sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==", "dependencies": { - "@vue/compiler-ssr": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-ssr": "3.4.25", + "@vue/shared": "3.4.25" }, "peerDependencies": { - "vue": "3.3.13" + "vue": "3.4.25" } }, "node_modules/@vue/shared": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz", - "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==" + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.25.tgz", + "integrity": "sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==" + }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==" }, "node_modules/accepts": { "version": "1.3.8", @@ -1017,6 +1174,20 @@ "node": ">= 8" } }, + "node_modules/apexcharts": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.49.0.tgz", + "integrity": "sha512-2T9HnbQFLCuYRPndQLmh+bEQFoz0meUbvASaGgiSKDuYhWcLBodJtIpKql2aOtMx4B/sHrWW0dm90HsW4+h2PQ==", + "dependencies": { + "@yr/monotone-cubic-spline": "^1.0.3", + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, "node_modules/archiver": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", @@ -1122,9 +1293,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { @@ -1141,9 +1312,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -1159,11 +1330,11 @@ } }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -1215,13 +1386,13 @@ } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -1229,7 +1400,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -1291,9 +1462,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "funding": [ { @@ -1310,8 +1481,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, @@ -1355,6 +1526,12 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -1365,14 +1542,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1388,19 +1570,19 @@ } }, "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001571", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", - "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", + "version": "1.0.30001613", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001613.tgz", + "integrity": "sha512-BNjJULJfOONQERivfxte7alLfeLW4QnwHvNW4wEcLEbXfV6VSCYvr+REbf2Sojv8tC1THpjPXBxWgDbq4NtLWg==", "dev": true, "funding": [ { @@ -1482,15 +1664,15 @@ } }, "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, "dependencies": { "source-map": "~0.6.0" }, "engines": { - "node": ">= 4.0" + "node": ">= 10.0" } }, "node_modules/cli-cursor": { @@ -1610,10 +1792,13 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } }, "node_modules/compress-commons": { "version": "4.1.2", @@ -1723,9 +1908,9 @@ } }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -1835,17 +2020,20 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -1908,6 +2096,16 @@ "node": ">=6.0.0" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dot-prop": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", @@ -1930,9 +2128,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.616", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", + "version": "1.4.750", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.750.tgz", + "integrity": "sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==", "dev": true }, "node_modules/elementtree": { @@ -1971,6 +2169,38 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.14.51", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", @@ -2409,9 +2639,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -2421,37 +2651,56 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", "xml-name-validator": "^4.0.0" }, "engines": { "node": "^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-utils": { @@ -2490,31 +2739,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2556,15 +2780,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -2577,7 +2792,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -2586,15 +2801,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", @@ -2619,17 +2825,17 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -2879,9 +3085,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -3000,16 +3206,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3115,21 +3325,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -3162,34 +3372,25 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", "dev": true, "dependencies": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" + "terser": "^5.15.1" }, "bin": { - "html-minifier": "cli.js" + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=6" + "node": "^14.13.1 || >=16.0.0" } }, "node_modules/http-errors": { @@ -3241,9 +3442,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -3760,10 +3961,13 @@ } }, "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } }, "node_modules/lru-cache": { "version": "6.0.0", @@ -3778,14 +3982,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" } }, "node_modules/media-typer": { @@ -3930,12 +4131,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3946,12 +4141,13 @@ } }, "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "dependencies": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, "node_modules/node-releases": { @@ -4141,12 +4337,13 @@ } }, "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, "node_modules/parent-module": { @@ -4170,6 +4367,16 @@ "node": ">= 0.8" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4286,9 +4493,9 @@ } }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -4306,16 +4513,16 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4341,15 +4548,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -4404,9 +4611,9 @@ } }, "node_modules/quasar": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.14.2.tgz", - "integrity": "sha512-f5KliWtM5BEuFsDU4yvuP+dlVIWZNrGu5VpWFsxzjpoykcP4B2HIOUiCl3mx2NCqERHd4Ts0aeioRkt9TTeExA==", + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.15.4.tgz", + "integrity": "sha512-6Rtj0KrsVA0IV9zMZ6R7U7hOpwLS/6E06hsISVHRPn21KEm3XAwHdvy9xWz5kwqWraHRlcisFSDu/KPL4VQK1w==", "engines": { "node": ">= 10.18.1", "npm": ">= 6.13.4", @@ -4456,9 +4663,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -4843,15 +5050,17 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4897,14 +5106,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4952,13 +5165,23 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/stack-trace": { "version": "1.0.0-pre2", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-1.0.0-pre2.tgz", @@ -5068,6 +5291,89 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "dependencies": { + "svg.js": "^2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "dependencies": { + "svg.js": ">=2.3.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "dependencies": { + "svg.js": "^2.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "dependencies": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "dependencies": { + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", @@ -5122,6 +5428,30 @@ "node": ">=6" } }, + "node_modules/terser": { + "version": "5.30.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", + "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -5167,31 +5497,22 @@ "node": ">=0.6" } }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, "engines": { - "node": ">= 6" + "node": ">=16" }, "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "typescript": ">=4.2.0" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, "node_modules/type-check": { @@ -5232,29 +5553,23 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true }, "node_modules/universalify": { "version": "2.0.1", @@ -5304,12 +5619,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -5344,9 +5653,9 @@ } }, "node_modules/vite": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.17.tgz", - "integrity": "sha512-XxcRzra6d7xrKXH66jZUgb+srThoPu+TLJc06GifUyKq9JmjHkc1Numc8ra0h56rju2jfVWw3B3fs5l3OFMvUw==", + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.18.tgz", + "integrity": "sha512-sAOqI5wNM9QvSEE70W3UGMdT8cyEn0+PmJMTFvTB8wB0YbYUWw3gUbY62AOyrXosGieF2htmeLATvNxpv/zNyQ==", "dev": true, "dependencies": { "esbuild": "^0.14.27", @@ -5381,15 +5690,15 @@ } }, "node_modules/vue": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.13.tgz", - "integrity": "sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.25.tgz", + "integrity": "sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==", "dependencies": { - "@vue/compiler-dom": "3.3.13", - "@vue/compiler-sfc": "3.3.13", - "@vue/runtime-dom": "3.3.13", - "@vue/server-renderer": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-dom": "3.4.25", + "@vue/compiler-sfc": "3.4.25", + "@vue/runtime-dom": "3.4.25", + "@vue/server-renderer": "3.4.25", + "@vue/shared": "3.4.25" }, "peerDependencies": { "typescript": "*" @@ -5401,9 +5710,9 @@ } }, "node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -5424,38 +5733,13 @@ "eslint": ">=6.0.0" } }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/vue-eslint-parser/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/vue-i18n": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.8.0.tgz", - "integrity": "sha512-Izho+6PYjejsTq2mzjcRdBZ5VLRQoSuuexvR8029h5CpN03FYqiqBrShMyf2I1DKkN6kw/xmujcbvC+4QybpsQ==", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz", + "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==", "dependencies": { - "@intlify/core-base": "9.8.0", - "@intlify/shared": "9.8.0", + "@intlify/core-base": "9.13.1", + "@intlify/shared": "9.13.1", "@vue/devtools-api": "^6.5.0" }, "engines": { @@ -5469,11 +5753,11 @@ } }, "node_modules/vue-router": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", - "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.2.tgz", + "integrity": "sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==", "dependencies": { - "@vue/devtools-api": "^6.5.0" + "@vue/devtools-api": "^6.5.1" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -5482,6 +5766,15 @@ "vue": "^3.2.0" } }, + "node_modules/vue3-apexcharts": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.5.2.tgz", + "integrity": "sha512-rGbgUJDjtsyjfRF0uzwDjzt8+M7ICSRAbm1N9KCDiczW8BSpbEZuaEsJDJYnJuLFIIVXIGilYzIcjNBf6NbeYA==", + "peerDependencies": { + "apexcharts": "> 3.0.0", + "vue": "> 3.0.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -5682,9 +5975,9 @@ "dev": true }, "@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==" + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==" }, "@eslint-community/eslint-utils": { "version": "4.4.0", @@ -5748,60 +6041,123 @@ "dev": true }, "@intlify/bundle-utils": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-2.2.2.tgz", - "integrity": "sha512-vngkvlIVV8ZJoyC5VqMvqJd2nvsx+qMN7pQjPiPjOrVndeiR7Dlue0k86Q8FsFUzyksW3HJZZi833ldxwbFzTA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-3.4.0.tgz", + "integrity": "sha512-2UQkqiSAOSPEHMGWlybqWm4G2K0X+FyYho5AwXz6QklSX1EY5EDmOSxZmwscn2qmKBnp6OYsme5kUrnN9xrWzQ==", "dev": true, "requires": { - "@intlify/message-compiler": "^9.1.0", - "@intlify/shared": "^9.1.0", + "@intlify/message-compiler": "next", + "@intlify/shared": "next", "jsonc-eslint-parser": "^1.0.1", - "source-map": "^0.6.1", + "source-map": "0.6.1", "yaml-eslint-parser": "^0.3.2" } }, "@intlify/core-base": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.8.0.tgz", - "integrity": "sha512-UxaSZVZ1DwqC/CltUZrWZNaWNhfmKtfyV4BJSt/Zt4Or/fZs1iFj0B+OekYk1+MRHfIOe3+x00uXGQI4PbO/9g==", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz", + "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==", "requires": { - "@intlify/message-compiler": "9.8.0", - "@intlify/shared": "9.8.0" + "@intlify/message-compiler": "9.13.1", + "@intlify/shared": "9.13.1" + }, + "dependencies": { + "@intlify/message-compiler": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz", + "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==", + "requires": { + "@intlify/shared": "9.13.1", + "source-map-js": "^1.0.2" + } + } } }, "@intlify/message-compiler": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.8.0.tgz", - "integrity": "sha512-McnYWhcoYmDJvssVu6QGR0shqlkJuL1HHdi5lK7fNqvQqRYaQ4lSLjYmZxwc8tRNMdIe9/KUKfyPxU9M6yCtNQ==", + "version": "10.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-10.0.0-alpha.3.tgz", + "integrity": "sha512-WjM1KAl5enpOfprfVAJ3FzwACmizZFPgyV0sn+QXoWH8BG2ahVkf7uVEqQH0mvUr2rKKaScwpzhH3wZ5F7ZdPw==", + "dev": true, "requires": { - "@intlify/shared": "9.8.0", + "@intlify/shared": "10.0.0-alpha.3", "source-map-js": "^1.0.2" + }, + "dependencies": { + "@intlify/shared": { + "version": "10.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.0-alpha.3.tgz", + "integrity": "sha512-fi2q48i+C6sSCAt3vOj/9LD3tkr1wcvLt+ifZEHrpPiwHCyKLDYGp5qBNUHUBBA/iqFTeWdtHUbHE9z9OeTXkw==", + "dev": true + } } }, "@intlify/shared": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.8.0.tgz", - "integrity": "sha512-TmgR0RCLjzrSo+W3wT0ALf9851iFMlVI9EYNGeWvZFUQTAJx0bvfsMlPdgVtV1tDNRiAfhkFsMKu6jtUY1ZLKQ==" + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz", + "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==" }, "@intlify/vite-plugin-vue-i18n": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-3.4.0.tgz", - "integrity": "sha512-XXcZBgwJ+3FRu11c4ARoY9N00kElPii0/jNZ49qR045Ka7/YGCwb1Ku14BBlMSEHiHDSjLQknLwrJKSQGVZLyA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-7.0.0.tgz", + "integrity": "sha512-2TbDOQ8XD+vkc0s5OFmr+IY/k4mYMC7pzvx0xGQn+cU/ev314+yi7Z7N7rWcBgiYk1WOUalbGSo3d4nJDxOOyw==", "dev": true, "requires": { - "@intlify/bundle-utils": "^2.2.2", - "@intlify/shared": "^9.1.0", - "@rollup/pluginutils": "^4.1.0", + "@intlify/bundle-utils": "^3.1.2", + "@intlify/shared": "next", + "@rollup/pluginutils": "^4.2.0", "debug": "^4.3.1", "fast-glob": "^3.2.5", "source-map": "0.6.1" } }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5829,9 +6185,9 @@ } }, "@quasar/app-vite": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-1.7.1.tgz", - "integrity": "sha512-cs3ix7w8f7884JiTp3EW6auZ9R+Fg4qoPxEZ7VRGOrSsUg5oQtR/i91jeQk4Z96J/JUOqtcKqdqbzN4fzaFyIg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@quasar/app-vite/-/app-vite-1.8.5.tgz", + "integrity": "sha512-OB5nU9qKIl3p7Ton9fLWkSQTv1I/7slfQl8izhZPPJZRY755Jn4Kz1exYUoEgJJ4cLSaUI/cpnVOL59pw53NEg==", "dev": true, "requires": { "@quasar/render-ssr-error": "^1.0.3", @@ -5853,7 +6209,7 @@ "express": "^4.17.3", "fast-glob": "3.2.12", "fs-extra": "^11.1.0", - "html-minifier": "^4.0.0", + "html-minifier-terser": "^7.2.0", "inquirer": "^8.2.1", "isbinaryfile": "^5.0.0", "kolorist": "^1.5.1", @@ -5886,9 +6242,9 @@ } }, "@quasar/extras": { - "version": "1.16.9", - "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.9.tgz", - "integrity": "sha512-SlOhwzXyPQHWgQIS2ncyDdYdksCJvUYNtgsDQqzAKEG3r3d/ejOxvThle79HTK3Q6HB+gQWFG21Ux00Osr5XSw==" + "version": "1.16.11", + "resolved": "https://registry.npmjs.org/@quasar/extras/-/extras-1.16.11.tgz", + "integrity": "sha512-sbTBHOA+Hi7ah0P6qSm+xfRXqwJ94ct3NKA3Lkq3iNPYuHD7VXbSWtP2eA7Cu9Fd0WjVoPbngf6yFGg46U3IfQ==" }, "@quasar/render-ssr-error": { "version": "1.0.3", @@ -6024,10 +6380,13 @@ "dev": true }, "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } }, "@types/qs": { "version": "6.9.11", @@ -6042,9 +6401,9 @@ "dev": true }, "@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "@types/send": { @@ -6069,102 +6428,155 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz", + "integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==", "dev": true, "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/type-utils": "7.7.1", + "@typescript-eslint/utils": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz", + "integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz", + "integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1" } }, "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz", + "integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/utils": "7.7.1", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz", + "integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz", + "integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz", + "integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "semver": "^7.6.0" + }, + "dependencies": { + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz", + "integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "7.7.1", + "eslint-visitor-keys": "^3.4.3" } }, "@ungap/structured-clone": { @@ -6181,49 +6593,49 @@ "requires": {} }, "@vue/compiler-core": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.13.tgz", - "integrity": "sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.25.tgz", + "integrity": "sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==", "requires": { - "@babel/parser": "^7.23.5", - "@vue/shared": "3.3.13", + "@babel/parser": "^7.24.4", + "@vue/shared": "3.4.25", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "@vue/compiler-dom": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz", - "integrity": "sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.25.tgz", + "integrity": "sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==", "requires": { - "@vue/compiler-core": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-core": "3.4.25", + "@vue/shared": "3.4.25" } }, "@vue/compiler-sfc": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.13.tgz", - "integrity": "sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==", - "requires": { - "@babel/parser": "^7.23.5", - "@vue/compiler-core": "3.3.13", - "@vue/compiler-dom": "3.3.13", - "@vue/compiler-ssr": "3.3.13", - "@vue/reactivity-transform": "3.3.13", - "@vue/shared": "3.3.13", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.25.tgz", + "integrity": "sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==", + "requires": { + "@babel/parser": "^7.24.4", + "@vue/compiler-core": "3.4.25", + "@vue/compiler-dom": "3.4.25", + "@vue/compiler-ssr": "3.4.25", + "@vue/shared": "3.4.25", "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.32", - "source-map-js": "^1.0.2" + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" } }, "@vue/compiler-ssr": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz", - "integrity": "sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.25.tgz", + "integrity": "sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==", "requires": { - "@vue/compiler-dom": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-dom": "3.4.25", + "@vue/shared": "3.4.25" } }, "@vue/devtools-api": { @@ -6232,57 +6644,50 @@ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "@vue/reactivity": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.13.tgz", - "integrity": "sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.25.tgz", + "integrity": "sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==", "requires": { - "@vue/shared": "3.3.13" - } - }, - "@vue/reactivity-transform": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.13.tgz", - "integrity": "sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==", - "requires": { - "@babel/parser": "^7.23.5", - "@vue/compiler-core": "3.3.13", - "@vue/shared": "3.3.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.5" + "@vue/shared": "3.4.25" } }, "@vue/runtime-core": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.13.tgz", - "integrity": "sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.25.tgz", + "integrity": "sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==", "requires": { - "@vue/reactivity": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/reactivity": "3.4.25", + "@vue/shared": "3.4.25" } }, "@vue/runtime-dom": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.13.tgz", - "integrity": "sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.25.tgz", + "integrity": "sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==", "requires": { - "@vue/runtime-core": "3.3.13", - "@vue/shared": "3.3.13", + "@vue/runtime-core": "3.4.25", + "@vue/shared": "3.4.25", "csstype": "^3.1.3" } }, "@vue/server-renderer": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.13.tgz", - "integrity": "sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.25.tgz", + "integrity": "sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==", "requires": { - "@vue/compiler-ssr": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-ssr": "3.4.25", + "@vue/shared": "3.4.25" } }, "@vue/shared": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz", - "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==" + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.25.tgz", + "integrity": "sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==" + }, + "@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==" }, "accepts": { "version": "1.3.8", @@ -6361,6 +6766,20 @@ "picomatch": "^2.0.4" } }, + "apexcharts": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.49.0.tgz", + "integrity": "sha512-2T9HnbQFLCuYRPndQLmh+bEQFoz0meUbvASaGgiSKDuYhWcLBodJtIpKql2aOtMx4B/sHrWW0dm90HsW4+h2PQ==", + "requires": { + "@yr/monotone-cubic-spline": "^1.0.3", + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, "archiver": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", @@ -6456,25 +6875,25 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "requires": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "requires": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -6509,13 +6928,13 @@ } }, "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -6523,7 +6942,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -6577,13 +6996,13 @@ } }, "browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" } @@ -6604,6 +7023,12 @@ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -6611,14 +7036,16 @@ "dev": true }, "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "callsites": { @@ -6628,19 +7055,19 @@ "dev": true }, "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, "caniuse-lite": { - "version": "1.0.30001571", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", - "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", + "version": "1.0.30001613", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001613.tgz", + "integrity": "sha512-BNjJULJfOONQERivfxte7alLfeLW4QnwHvNW4wEcLEbXfV6VSCYvr+REbf2Sojv8tC1THpjPXBxWgDbq4NtLWg==", "dev": true }, "chalk": { @@ -6682,9 +7109,9 @@ "dev": true }, "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, "requires": { "source-map": "~0.6.0" @@ -6776,9 +7203,9 @@ } }, "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true }, "compress-commons": { @@ -6864,9 +7291,9 @@ "dev": true }, "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true }, "cookie-signature": { @@ -6944,14 +7371,14 @@ } }, "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" } }, "define-lazy-prop": { @@ -6995,6 +7422,16 @@ "esutils": "^2.0.2" } }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "dot-prop": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", @@ -7011,9 +7448,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.616", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", - "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", + "version": "1.4.750", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.750.tgz", + "integrity": "sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==", "dev": true }, "elementtree": { @@ -7046,6 +7483,26 @@ "once": "^1.4.0" } }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, "esbuild": { "version": "0.14.51", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", @@ -7278,22 +7735,6 @@ "text-table": "^0.2.0" }, "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -7306,35 +7747,47 @@ } }, "eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "requires": {} }, "eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" } }, "eslint-utils": { @@ -7378,14 +7831,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -7395,20 +7840,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "estree-walker": { @@ -7429,17 +7866,17 @@ "dev": true }, "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -7642,9 +8079,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "form-data": { "version": "4.0.0", @@ -7717,11 +8154,12 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -7802,18 +8240,18 @@ "dev": true }, "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "requires": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" } }, "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true }, "has-symbols": { @@ -7831,25 +8269,19 @@ "function-bind": "^1.1.2" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", "dev": true, "requires": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" + "terser": "^5.15.1" } }, "http-errors": { @@ -7881,9 +8313,9 @@ "dev": true }, "ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "immutable": { @@ -8285,10 +8717,13 @@ } }, "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } }, "lru-cache": { "version": "6.0.0", @@ -8300,9 +8735,9 @@ } }, "magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "requires": { "@jridgewell/sourcemap-codec": "^1.4.15" } @@ -8404,12 +8839,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -8417,12 +8846,13 @@ "dev": true }, "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "requires": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, "node-releases": { @@ -8558,12 +8988,13 @@ } }, "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "requires": { - "no-case": "^2.2.0" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, "parent-module": { @@ -8581,6 +9012,16 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8646,19 +9087,19 @@ } }, "postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -8678,9 +9119,9 @@ "dev": true }, "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true }, "process-nextick-args": { @@ -8720,9 +9161,9 @@ } }, "quasar": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.14.2.tgz", - "integrity": "sha512-f5KliWtM5BEuFsDU4yvuP+dlVIWZNrGu5VpWFsxzjpoykcP4B2HIOUiCl3mx2NCqERHd4Ts0aeioRkt9TTeExA==" + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.15.4.tgz", + "integrity": "sha512-6Rtj0KrsVA0IV9zMZ6R7U7hOpwLS/6E06hsISVHRPn21KEm3XAwHdvy9xWz5kwqWraHRlcisFSDu/KPL4VQK1w==" }, "queue-microtask": { "version": "1.2.3", @@ -8746,9 +9187,9 @@ "dev": true }, "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "requires": { "bytes": "3.1.2", @@ -9039,15 +9480,17 @@ } }, "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" } }, "setprototypeof": { @@ -9081,14 +9524,15 @@ "dev": true }, "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "signal-exit": { @@ -9121,9 +9565,19 @@ "dev": true }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, "stack-trace": { "version": "1.0.0-pre2", @@ -9195,6 +9649,70 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "requires": { + "svg.js": "^2.0.1" + } + }, + "svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "requires": { + "svg.js": ">=2.3.x" + } + }, + "svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "requires": { + "svg.js": "^2.2.5" + } + }, + "svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "requires": { + "svg.js": "^2.4.0" + } + }, + "svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "requires": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "dependencies": { + "svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "requires": { + "svg.js": "^2.2.5" + } + } + } + }, + "svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "requires": { + "svg.js": "^2.6.5" + } + }, "table": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", @@ -9241,6 +9759,26 @@ "readable-stream": "^3.1.1" } }, + "terser": { + "version": "5.30.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", + "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -9277,29 +9815,19 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "requires": {} + }, "tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9326,15 +9854,15 @@ } }, "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "devOptional": true }, - "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, "universalify": { @@ -9359,12 +9887,6 @@ "picocolors": "^1.0.0" } }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -9393,9 +9915,9 @@ "dev": true }, "vite": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.17.tgz", - "integrity": "sha512-XxcRzra6d7xrKXH66jZUgb+srThoPu+TLJc06GifUyKq9JmjHkc1Numc8ra0h56rju2jfVWw3B3fs5l3OFMvUw==", + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.18.tgz", + "integrity": "sha512-sAOqI5wNM9QvSEE70W3UGMdT8cyEn0+PmJMTFvTB8wB0YbYUWw3gUbY62AOyrXosGieF2htmeLATvNxpv/zNyQ==", "dev": true, "requires": { "esbuild": "^0.14.27", @@ -9406,21 +9928,21 @@ } }, "vue": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.13.tgz", - "integrity": "sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==", + "version": "3.4.25", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.25.tgz", + "integrity": "sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==", "requires": { - "@vue/compiler-dom": "3.3.13", - "@vue/compiler-sfc": "3.3.13", - "@vue/runtime-dom": "3.3.13", - "@vue/server-renderer": "3.3.13", - "@vue/shared": "3.3.13" + "@vue/compiler-dom": "3.4.25", + "@vue/compiler-sfc": "3.4.25", + "@vue/runtime-dom": "3.4.25", + "@vue/server-renderer": "3.4.25", + "@vue/shared": "3.4.25" } }, "vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "requires": { "debug": "^4.3.4", @@ -9430,44 +9952,32 @@ "esquery": "^1.4.0", "lodash": "^4.17.21", "semver": "^7.3.6" - }, - "dependencies": { - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "vue-i18n": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.8.0.tgz", - "integrity": "sha512-Izho+6PYjejsTq2mzjcRdBZ5VLRQoSuuexvR8029h5CpN03FYqiqBrShMyf2I1DKkN6kw/xmujcbvC+4QybpsQ==", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz", + "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==", "requires": { - "@intlify/core-base": "9.8.0", - "@intlify/shared": "9.8.0", + "@intlify/core-base": "9.13.1", + "@intlify/shared": "9.13.1", "@vue/devtools-api": "^6.5.0" } }, "vue-router": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", - "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.2.tgz", + "integrity": "sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==", "requires": { - "@vue/devtools-api": "^6.5.0" + "@vue/devtools-api": "^6.5.1" } }, + "vue3-apexcharts": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.5.2.tgz", + "integrity": "sha512-rGbgUJDjtsyjfRF0uzwDjzt8+M7ICSRAbm1N9KCDiczW8BSpbEZuaEsJDJYnJuLFIIVXIGilYzIcjNBf6NbeYA==", + "requires": {} + }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", diff --git a/serverpackcreator-web-frontend/package.json b/serverpackcreator-web-frontend/package.json index 6fea865fb0dbe28ed03782b6246ad498974d2f97..40c42872965a29f3484c8ad62a3ea77e60fa2927 100644 --- a/serverpackcreator-web-frontend/package.json +++ b/serverpackcreator-web-frontend/package.json @@ -14,26 +14,28 @@ "build": "quasar build" }, "dependencies": { - "axios": "^1.2.1", - "vue-i18n": "^9.2.2", + "@quasar/extras": "^1.16.11", + "apexcharts": "^3.49.0", + "axios": "^1.6.8", "pinia": "^2.0.11", - "@quasar/extras": "^1.16.4", - "quasar": "^2.6.0", - "vue": "^3.0.0", - "vue-router": "^4.0.0" + "quasar": "^2.15.4", + "vue": "^3.4.25", + "vue-i18n": "^9.13.1", + "vue-router": "^4.3.2", + "vue3-apexcharts": "^1.5.2" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.10.0", - "@typescript-eslint/parser": "^5.10.0", - "eslint": "^8.10.0", - "eslint-plugin-vue": "^9.0.0", - "eslint-config-prettier": "^8.1.0", - "prettier": "^2.5.1", - "@types/node": "^12.20.21", - "@intlify/vite-plugin-vue-i18n": "^3.3.1", + "@intlify/vite-plugin-vue-i18n": "^7.0.0", "@quasar/app-vite": "^1.3.0", - "autoprefixer": "^10.4.2", - "typescript": "^4.5.4" + "@types/node": "^20.12.7", + "@typescript-eslint/eslint-plugin": "^7.7.1", + "@typescript-eslint/parser": "^7.7.1", + "autoprefixer": "^10.4.19", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-vue": "^9.25.0", + "prettier": "^3.2.5", + "typescript": "^5.4.5" }, "engines": { "node": "^18 || ^16 || ^14.19", diff --git a/serverpackcreator-web-frontend/quasar.config.js b/serverpackcreator-web-frontend/quasar.config.js index bd838a57e303fd1cc845dfc92249757e8df2b9b0..debafd2eed40f04240990cc9724175445c5668f6 100644 --- a/serverpackcreator-web-frontend/quasar.config.js +++ b/serverpackcreator-web-frontend/quasar.config.js @@ -31,6 +31,7 @@ module.exports = configure(function (/* ctx */) { // https://v2.quasar.dev/quasar-cli-vite/boot-files boot: [ 'i18n', + 'apexcharts', 'axios' ], diff --git a/serverpackcreator-web-frontend/src/boot/apexcharts.js b/serverpackcreator-web-frontend/src/boot/apexcharts.js new file mode 100644 index 0000000000000000000000000000000000000000..9d442f2ddab1a32860c63db10df143b34355711c --- /dev/null +++ b/serverpackcreator-web-frontend/src/boot/apexcharts.js @@ -0,0 +1,6 @@ +import VueApexCharts from 'vue3-apexcharts' +import { boot } from 'quasar/wrappers' + +export default boot(({ app }) => { + app.use(VueApexCharts) +}) diff --git a/serverpackcreator-web-frontend/src/boot/axios.ts b/serverpackcreator-web-frontend/src/boot/axios.ts index 064e0902b8baca1e88f9913dbcd05dd946b17727..690171bad4c19568d27d4cdd3504a158f328fbc9 100644 --- a/serverpackcreator-web-frontend/src/boot/axios.ts +++ b/serverpackcreator-web-frontend/src/boot/axios.ts @@ -18,28 +18,34 @@ const baseUrl = '/api/v2/'; const versions = axios.create({ baseURL: baseUrl + 'versions', method: 'get', - timeout: 5000, + timeout: 5000 }); const settings = axios.create({ baseURL: baseUrl + 'settings/', method: 'get', - timeout: 5000, + timeout: 5000 }); const events = axios.create({ baseURL: baseUrl + 'events/', method: 'get', - timeout: 5000, + timeout: 5000 }); const serverpacks = axios.create({ baseURL: baseUrl + 'serverpacks/', - method: 'get', - timeout: 5000, + method: 'get' }); const modpacks = axios.create({ - baseURL: baseUrl + 'modpacks/', + baseURL: baseUrl + 'modpacks/' }); const runConfigs = axios.create({ - baseURL: baseUrl + 'runconfigs/' + baseURL: baseUrl + 'runconfigs/', + method: 'get', + timeout: 5000 +}) +const stats = axios.create({ + baseURL: baseUrl + '/stats/', + method: 'get', + timeout: 5000 }) export default boot(({ app }) => { @@ -54,7 +60,8 @@ export default boot(({ app }) => { app.config.globalProperties.$events = events; app.config.globalProperties.$serverpacks = serverpacks; app.config.globalProperties.$modpacks = modpacks; - app.config.globalProperties.$runConfigs = runConfigs + app.config.globalProperties.$runConfigs = runConfigs; + app.config.globalProperties.$stats = stats; }); -export { versions, settings, events, serverpacks, modpacks, runConfigs }; +export { versions, settings, events, serverpacks, modpacks, runConfigs, stats }; diff --git a/serverpackcreator-web-frontend/src/components/ExampleComponent.vue b/serverpackcreator-web-frontend/src/components/ExampleComponent.vue deleted file mode 100644 index 3bfd35e15800f2aba02f591089053b86ed93ac4a..0000000000000000000000000000000000000000 --- a/serverpackcreator-web-frontend/src/components/ExampleComponent.vue +++ /dev/null @@ -1,64 +0,0 @@ -<template> - <div> - <p>{{ title }}</p> - <ul> - <li v-for="todo in todos" :key="todo.id" @click="increment"> - {{ todo.id }} - {{ todo.content }} - </li> - </ul> - <p>Count: {{ todoCount }} / {{ meta.totalCount }}</p> - <p>Active: {{ active ? 'yes' : 'no' }}</p> - <p>Clicks on todos: {{ clickCount }}</p> - </div> -</template> - -<script lang="ts"> -import { - defineComponent, - PropType, - computed, - ref, - toRef, - Ref, -} from 'vue'; -import { Todo, Meta } from './models'; - -function useClickCount() { - const clickCount = ref(0); - function increment() { - clickCount.value += 1 - return clickCount.value; - } - - return { clickCount, increment }; -} - -function useDisplayTodo(todos: Ref<Todo[]>) { - const todoCount = computed(() => todos.value.length); - return { todoCount }; -} - -export default defineComponent({ - name: 'ExampleComponent', - props: { - title: { - type: String, - required: true - }, - todos: { - type: Array as PropType<Todo[]>, - default: () => [] - }, - meta: { - type: Object as PropType<Meta>, - required: true - }, - active: { - type: Boolean - } - }, - setup (props) { - return { ...useClickCount(), ...useDisplayTodo(toRef(props, 'todos')) }; - }, -}); -</script> diff --git a/serverpackcreator-web-frontend/src/components/HistoryTable.vue b/serverpackcreator-web-frontend/src/components/HistoryTable.vue index 6d269dc352a0119eff930bce2a21564ebee90a4a..a55f93ad3a9750efda0ac573dfabbcb9c283a0eb 100644 --- a/serverpackcreator-web-frontend/src/components/HistoryTable.vue +++ b/serverpackcreator-web-frontend/src/components/HistoryTable.vue @@ -2,7 +2,7 @@ <q-table class="sticky-header-table" :rows="rows" :columns="columns" row-key="id" bordered dense :filter="filter" no-data-label="No history available (yet)..." title="History / Event Log" no-results-label="The search didn't uncover any results" - :pagination="initialPagination" :loading="visible"> + :pagination="initialPagination" :loading="visible" :visible-columns="visibleColumns"> <template v-slot:loading> <q-inner-loading showing color="accent"/> </template> @@ -13,6 +13,32 @@ <q-icon name="search"/> </template> </q-input> + <q-separator inset spaced/> + <q-select + v-model="visibleColumns" + multiple + outlined + dense + options-dense + :display-value="$q.lang.table.columns" + emit-value + map-options + :options="columns" + option-value="name" + options-cover + style="min-width: 150px" + > + <template v-slot:option="{ itemProps, opt, selected, toggleOption }"> + <q-item v-bind="itemProps"> + <q-item-section> + <q-item-label>{{ opt.label }}</q-item-label> + </q-item-section> + <q-item-section side> + <q-toggle :model-value="selected" @update:model-value="toggleOption(opt)" /> + </q-item-section> + </q-item> + </template> + </q-select> </template> <template v-slot:header="props"> @@ -25,7 +51,6 @@ </q-th> </q-tr> </template> - <template v-slot:body="props"> <q-tr :props="props"> <q-td auto-width> @@ -122,6 +147,7 @@ export default defineComponent({ }, rows: ref([]), columns, + visibleColumns: ref([ 'modPackId', 'serverPackId', 'status', 'message', 'timestamp', 'errors' ]), initialPagination: { sortBy: 'timestamp', descending: true, diff --git a/serverpackcreator-web-frontend/src/components/ModpacksTable.vue b/serverpackcreator-web-frontend/src/components/ModpacksTable.vue index 2043330cec6865d1cce555580cba08ef378637b8..fc52e6e2988c5d67587cee0ed05253ddf15632f1 100644 --- a/serverpackcreator-web-frontend/src/components/ModpacksTable.vue +++ b/serverpackcreator-web-frontend/src/components/ModpacksTable.vue @@ -1,7 +1,8 @@ <template> <q-table class="sticky-header-table" :rows="rows" :columns="columns" row-key="id" title="Modpacks" bordered dense no-data-label="No modpacks available (yet)..." :filter="filter" - no-results-label="The search didn't uncover any results" :pagination="initialPagination" :loading="visible"> + no-results-label="The search didn't uncover any results" :pagination="initialPagination" :loading="visible" + :visible-columns="visibleColumns"> <template v-slot:loading> <q-inner-loading showing color="accent"/> </template> @@ -12,6 +13,32 @@ <q-icon name="search"/> </template> </q-input> + <q-separator inset spaced/> + <q-select + v-model="visibleColumns" + multiple + outlined + dense + options-dense + :display-value="$q.lang.table.columns" + emit-value + map-options + :options="columns" + option-value="name" + options-cover + style="min-width: 150px" + > + <template v-slot:option="{ itemProps, opt, selected, toggleOption }"> + <q-item v-bind="itemProps"> + <q-item-section> + <q-item-label>{{ opt.label }}</q-item-label> + </q-item-section> + <q-item-section side> + <q-toggle :model-value="selected" @update:model-value="toggleOption(opt)" /> + </q-item-section> + </q-item> + </template> + </q-select> </template> <template v-slot:header="props"> @@ -38,7 +65,7 @@ <q-td v-for="col in props.cols" :key="col.name" :props="props" auto-width> <span v-if="col.name === 'download'"> <q-btn :to="'/download/modpack/' + props.row.id" color="info" dense icon="download" round size="sm" - v-if="props.row.size > 0"> + @click="props.row.downloads++" v-if="props.row.size > 0" > <q-tooltip> Download modpack </q-tooltip> @@ -67,7 +94,9 @@ import ServerPacksTable from 'components/ServerPacksTable.vue'; const columns = [ {name: 'id', label: 'Modpack ID', field: 'id', sortable: true, align: 'left'}, {name: 'name', label: 'Name', field: 'name', sortable: false, align: 'left'}, + {name: 'fileID', label: 'File ID', field: 'fileID', sortable: false, align: 'left'}, {name: 'download', label: 'Download', sortable: false, align: 'center'}, + {name: 'downloads', label: 'Downloads', field: 'downloads', sortable: true, align: 'left'}, {name: 'projectID', label: 'Project ID', field: 'projectID', sortable: true, align: 'left'}, {name: 'versionID', label: 'Version ID', field: 'versionID', sortable: true, align: 'left'}, {name: 'source', label: 'Source', field: 'source', sortable: false, align: 'left'}, @@ -114,6 +143,7 @@ export default defineComponent({ }, rows: ref([]), columns, + visibleColumns: ref([ 'id', 'name', 'download', 'downloads', 'status', 'size', 'serverPacks', 'sha256', 'dateCreated' ]), initialPagination: { sortBy: 'id', descending: true, diff --git a/serverpackcreator-web-frontend/src/components/ServerPacksTable.vue b/serverpackcreator-web-frontend/src/components/ServerPacksTable.vue index 0ad9619ada2673fd3bbbf0ff5102d9ca9f8a94cc..734b1689a827a86726307fdd492fe5006f9b054a 100644 --- a/serverpackcreator-web-frontend/src/components/ServerPacksTable.vue +++ b/serverpackcreator-web-frontend/src/components/ServerPacksTable.vue @@ -1,7 +1,8 @@ <template> <q-table :rows="rows" :columns="columns" row-key="id" title="Server Packs" id="serverpacktable" :filter="filter" bordered dense no-data-label="No server packs available (yet)..." - no-results-label="The search didn't uncover any results" :pagination="initialPagination" :loading="visible"> + no-results-label="The search didn't uncover any results" :pagination="initialPagination" :loading="visible" + :visible-columns="visibleColumns"> <template v-slot:loading> <q-inner-loading showing color="accent"/> </template> @@ -12,6 +13,32 @@ <q-icon name="search"/> </template> </q-input> + <q-separator inset spaced/> + <q-select + v-model="visibleColumns" + multiple + outlined + dense + options-dense + :display-value="$q.lang.table.columns" + emit-value + map-options + :options="columns" + option-value="name" + options-cover + style="min-width: 150px" + > + <template v-slot:option="{ itemProps, opt, selected, toggleOption }"> + <q-item v-bind="itemProps"> + <q-item-section> + <q-item-label>{{ opt.label }}</q-item-label> + </q-item-section> + <q-item-section side> + <q-toggle :model-value="selected" @update:model-value="toggleOption(opt)" /> + </q-item-section> + </q-item> + </template> + </q-select> </template> <template v-slot:header="props"> @@ -24,7 +51,6 @@ </q-th> </q-tr> </template> - <template v-slot:body="props"> <q-tr :props="props"> <q-td auto-width> @@ -97,6 +123,7 @@ import RunConfigurationCard from 'components/RunConfigurationCard.vue'; const columns = [ {name: 'id', label: 'ServerPack ID', field: 'id', sortable: true, align: 'left'}, {name: 'size', label: 'Size', field: 'size', sortable: false, align: 'left'}, + {name: 'fileID', label: 'File ID', field: 'fileID', sortable: false, align: 'left'}, {name: 'download', label: 'Download', sortable: false, align: 'center'}, {name: 'downloads', label: 'Downloads', field: 'downloads', sortable: true, align: 'left'}, {name: 'confirmedWorking', label: 'Confirmed Working', field: 'confirmedWorking', sortable: true, align: 'left'}, @@ -147,6 +174,7 @@ export default defineComponent({ }, rows: ref([]), columns, + visibleColumns: ref([ 'id', 'size', 'download', 'downloads', 'confirmedWorking', 'sha256', 'dateCreated' ]), initialPagination: { sortBy: 'id', descending: true, diff --git a/serverpackcreator-web-frontend/src/components/SubmitModPackForm.vue b/serverpackcreator-web-frontend/src/components/SubmitModPackForm.vue index 05eb97b17173577aeb35bd24a298cef02bb6e263..38cdb90c31566ebfbf457c3310e1a0b3496769e6 100644 --- a/serverpackcreator-web-frontend/src/components/SubmitModPackForm.vue +++ b/serverpackcreator-web-frontend/src/components/SubmitModPackForm.vue @@ -167,7 +167,7 @@ > <q-linear-progress v-if="progress > 0" :stripe="progress === 1" class="absolute-full full-height" :value="progress" color="positive" track-color="primary" instant-feedback> - <div class="absolute-full flex flex-center"> + <div class="absolute-full flex-center" style="display: flex; justify-content: flex-end; margin-right: 10px;"> <q-badge v-if="progress < 1" color="white" text-color="accent" :label="'Uploaded: ' + Math.round(progress * 100) + '%'"/> <q-badge v-else color="white" text-color="accent" label="Upload done. Checking..."/> </div> @@ -186,7 +186,7 @@ <q-icon name="folder_zip" @click.stop.prevent/> </template> <template v-slot:append> - <q-icon name="close" @click.stop.prevent="file = null" class="cursor-pointer"/> + <q-icon v-if="!uploading" name="close" @click.stop.prevent="file = null" class="cursor-pointer"/> <q-btn dense flat icon="help_outline" round @click="zipInfo = true"/> </template> diff --git a/serverpackcreator-web-frontend/src/components/charts/AreaTimeSeriesChart.vue b/serverpackcreator-web-frontend/src/components/charts/AreaTimeSeriesChart.vue new file mode 100644 index 0000000000000000000000000000000000000000..e97ad0eca300abfcd075afdf1a213fcb847bf3cc --- /dev/null +++ b/serverpackcreator-web-frontend/src/components/charts/AreaTimeSeriesChart.vue @@ -0,0 +1,83 @@ +<template> + <apexchart ref="chart1" height="300" type="area" :options="options" :series="series"></apexchart> +</template> + +<script lang="ts"> +import { defineComponent } from 'vue'; +import { getCssVar } from 'quasar'; +import { stats } from 'boot/axios'; + +export default defineComponent({ + name: 'AreaTimeSeriesChart', + components: {}, + props: { + endpoint: String, + title: String, + seriesName: String + }, + setup () { + return { + options: { + chart: { + type: 'area' + }, + yaxis: { + labels: { + formatter: (value) => { return value.toFixed(0) } + } + }, + colors: [ + getCssVar('primary'), + getCssVar('secondary'), + getCssVar('negative') + ], + markers: { + size: 4, + hover: { + sizeOffset: 6 + } + }, + xaxis: { + type: 'datetime', + }, + noData: { + text: 'No data' + }, + dataLabels: { + enabled: true + }, + }, + series: [{ + name: 'nodatayet', + data: [] + }] + }; + }, + mounted() { + this.uChart() + }, + methods: { + uChart: function() { + stats.get(this.$props.endpoint).then(response => { + let data = response.data + let formattedData = data.map((e) => { + return { + x: Object.values(e)[1], + y: Object.values(e)[0] + } + }) + this.series = [{ + name: this.$props.seriesName, + data: formattedData + }] + this.$refs.chart1.updateSeries(this.series, true); + }) + } + }, +}); +</script> + + +<style scoped> + +</style> diff --git a/serverpackcreator-web-frontend/src/components/charts/DiskUsageBarGraph.vue b/serverpackcreator-web-frontend/src/components/charts/DiskUsageBarGraph.vue new file mode 100644 index 0000000000000000000000000000000000000000..be389f6f3fb3696aa5b2d6033acf799b1dd221b3 --- /dev/null +++ b/serverpackcreator-web-frontend/src/components/charts/DiskUsageBarGraph.vue @@ -0,0 +1,128 @@ +<template> + <apexchart ref="chart1" height="400" type="bar" :options="options" :series="series"></apexchart> +</template> + +<script lang="ts"> +import { defineComponent } from 'vue'; +import { getCssVar } from 'quasar'; +import { stats } from 'boot/axios'; + +export default defineComponent({ + name: 'DiskUsageBarGraph', + components: {}, + props: { + endpoint: String, + title: String, + seriesName: String + }, + setup () { + return { + options: { + chart: { + type: 'bar', + stacked: true, + stackType: '100%' + }, + xaxis: { + categories: [ + 'Home', + 'ModPacks', + 'Server Packs', + 'Properties', + 'Configs', + 'Server Files', + 'Icons', + 'Plugins', + 'Plugin Configs', + 'Manifests', + 'Minecraft Server Manifests', + 'Installer Cache', + 'Logs', + 'Tomcat Base', + 'Tomcat Logs', + 'Work', + 'Temp' + ], + }, + fill: { + opacity: 1 + }, + legend: { + position: 'right', + offsetX: 0, + offsetY: 50 + }, + colors: [ + getCssVar('primary'), + getCssVar('secondary'), + getCssVar('negative') + ], + noData: { + text: 'No data' + }, + dataLabels: { + enabled: true + }, + yaxis: { + labels: { + formatter: (value) => { return value.toFixed(0) + '%' } + } + }, + tooltip: { + y: { + formatter: (value) => { return value.toFixed(2) + ' GB' } + } + }, + responsive: [{ + breakpoint: 480, + options: { + legend: { + position: 'bottom', + offsetX: -10, + offsetY: 0 + } + } + }], + }, + series: [] + }; + }, + mounted() { + this.uChart() + }, + methods: { + uChart: function() { + stats.get(this.$props.endpoint).then(response => { + let data = response.data + let freeSpace = [] + let usedSpace = [] + let usedBySPC = [] + for (let disk of data) { + freeSpace.push(disk.freeSpace / (1024**3)) + usedSpace.push((disk.totalSpace - disk.freeSpace - disk.usedBySPC) / (1024**3)) + usedBySPC.push(disk.usedBySPC / (1024**3)) + } + let freeSeries = { + name: 'Free Disk Space', + data: freeSpace + } + let usedSeries = { + name: 'Used Disk Space', + data: usedSpace + } + let usageSeries = { + name: 'Used by SPC', + data: usedBySPC + } + this.series = [freeSeries, usedSeries, usageSeries] + this.$refs.chart1.updateSeries(this.series, true); + }) + } + }, +}); +</script> + + +<style scoped> + +</style> diff --git a/serverpackcreator-web-frontend/src/components/charts/ModServerRunPieChart.vue b/serverpackcreator-web-frontend/src/components/charts/ModServerRunPieChart.vue new file mode 100644 index 0000000000000000000000000000000000000000..38500d07985a2cecd1b0ff4cf017ace1de7569f0 --- /dev/null +++ b/serverpackcreator-web-frontend/src/components/charts/ModServerRunPieChart.vue @@ -0,0 +1,92 @@ +<template> + <apexchart ref="chart1" height="300" type="donut" :options="options" :series="series"></apexchart> +</template> + +<script lang="ts"> +import { defineComponent } from 'vue'; +import { getCssVar } from 'quasar'; +import { stats } from 'boot/axios'; + +export default defineComponent({ + name: 'ModServerRunPieChart', + components: {}, + props: { + endpoint: String, + title: String, + seriesName: String + }, + setup () { + return { + options: { + chart: { + type: 'donut' + }, + plotOptions: { + pie: { + donut: { + labels: { + show: true, + total: { + label: 'Total', + show: true, + showAlways: true, + formatter: function (w) { + return w.globals.series[0] + + w.globals.series[1] + + w.globals.series[2] + } + } + } + } + } + }, + labels: [ + 'Modpacks', + 'Server Packs', + 'Run Configurations' + ], + colors: [ + getCssVar('primary'), + getCssVar('secondary'), + getCssVar('negative') + ], + noData: { + text: 'No data' + }, + dataLabels: { + enabled: true + }, + responsive: [{ + breakpoint: 480, + options: { + chart: { + width: 200 + }, + legend: { + position: 'bottom' + } + } + }] + }, + series: [0, 0, 0] + }; + }, + mounted() { + this.uChart() + }, + methods: { + uChart: function() { + stats.get(this.$props.endpoint).then(response => { + let data = response.data + this.series = [data.modPacks, data.serverPacks, data.runConfigurations] + this.$refs.chart1.updateSeries(this.series, true); + }) + } + }, +}); +</script> + + +<style scoped> + +</style> diff --git a/serverpackcreator-web-frontend/src/pages/DownloadsPage.vue b/serverpackcreator-web-frontend/src/pages/DownloadsPage.vue index 72430cb28c46a4b34d878ac64a01978383de8dd0..9a8b4ca4e0caf984a6cfd1ee4ac1cdd45cfdf641 100644 --- a/serverpackcreator-web-frontend/src/pages/DownloadsPage.vue +++ b/serverpackcreator-web-frontend/src/pages/DownloadsPage.vue @@ -1,6 +1,6 @@ <template> - <q-page class="col items-center justify-evenly"> - <q-card square> + <q-page class="q-pa-sm"> + <q-card rounded> <ModpacksTable class="table-size"/> </q-card> </q-page> @@ -23,7 +23,7 @@ export default defineComponent({ <style scoped> .table-size { - height: calc(100vh - 53px);; + height: calc(100vh - 67px);; box-sizing: border-box; } </style> diff --git a/serverpackcreator-web-frontend/src/pages/IndexPage.vue b/serverpackcreator-web-frontend/src/pages/IndexPage.vue index 7c9adbc09f016c0ea285bef63abec189c352d603..d4002e281bd75cdcf8b08854edd3c174b845f975 100644 --- a/serverpackcreator-web-frontend/src/pages/IndexPage.vue +++ b/serverpackcreator-web-frontend/src/pages/IndexPage.vue @@ -1,89 +1,75 @@ <template> - <q-page class="row items-center justify-evenly"> - <q-card bordered style='max-width: 80%'> - <q-card-section> - <div class="text-h6">Welcome to ServerPackCreator!</div> - </q-card-section> - - <q-card-section class="q-pt-none"> - Welcome to the ServerPackCreator-Webservice, where you can generate server packs from your modpacks, - without having to install any software.<br> - <br> - The web-version of ServerPackCreator is a convenient way of generating a server pack with minimal effort. - Said minimal effort comes at a price, though! Some customization-options are not available in the web-version of - ServerPackCreator. For maximum customization of your server pack, make sure to download and install it to your - machine.<br> - Some options not available in the web-version are: - <ul> - <li>Custom script templates</li> - <li>Custom server icon</li> - <li>custom server properties</li> - <li>Custom server pack suffix</li> - <li>Custom script variables and values</li> - <li>Custom inclusions of files and / or folders</li> - <li>etc.</li> - </ul> - <br> - If you're fine with the limited options the web-version offers, feel free to proceed to the ZIP-page and upload - your modpack! - </q-card-section> - - <q-separator inset /> - - <q-card-section> - The menu on the left lets you browse to the different areas of the web-version of ServerPackCreator.<br> - The list below gives you a small overview of what's what and what's available.<br> - <br> - I suggest checking out the <strong>Submissions</strong>-page first! - </q-card-section> - - <q-list> - <IndexItem - v-for="item in indexItems" - :key="item.title" - v-bind="item" - /> - </q-list> - </q-card> + <q-page class="q-pa-sm"> + <div class="row q-col-gutter-sm q-py-xs"> + <div class="col-lg-6 col-md-12 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Disk Usage(s)</div> + <DiskUsageBarGraph endpoint="disk" series-name="Disk Usage"></DiskUsageBarGraph> + </q-card-section> + </q-card> + </div> + </div> + <div class="row q-col-gutter-sm q-py-xs"> + <div class="col-lg-3 col-md-6 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Modpack Uploads</div> + <AreaTimeSeriesChart endpoint="creation/modpacks" series-name="Modpack Uploads"></AreaTimeSeriesChart> + </q-card-section> + </q-card> + </div> + <div class="col-lg-3 col-md-6 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Server Pack Creations</div> + <AreaTimeSeriesChart endpoint="creation/serverpacks" series-name="Server Pack Creations"></AreaTimeSeriesChart> + </q-card-section> + </q-card> + </div> + <div class="col-lg-3 col-md-6 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Modpack Downloads</div> + <AreaTimeSeriesChart endpoint="downloads/modpacks" series-name="Modpack Downloads"></AreaTimeSeriesChart> + </q-card-section> + </q-card> + </div> + <div class="col-lg-3 col-md-6 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Server Pack Downloads</div> + <AreaTimeSeriesChart endpoint="downloads/serverpacks" series-name="Server Pack Downloads"></AreaTimeSeriesChart> + </q-card-section> + </q-card> + </div> + <div class="col-lg-3 col-md-6 col-sm-12 col-xs-12"> + <q-card> + <q-card-section> + <div class="text-h6">Modpacks - Server Packs - Run Configurations</div> + <ModServerRunPieChart endpoint="packs" ></ModServerRunPieChart> + </q-card-section> + </q-card> + </div> + </div> </q-page> </template> <script lang="ts"> import { defineComponent } from 'vue'; -import IndexItem from 'components/IndexItem.vue'; -const indexItems = [ - { - title: 'Submissions', - caption: 'This is where you upload a zipped modpack, or request a regeneration of an already uploaded modpack, in order to have ServerPackCreator generate a server pack from it.', - icon: 'upload', - link: 'submissions' - }, - { - title: 'Downloads', - caption: 'Here you can browse available modpacks and their available server packs, and download any modpack and server pack you want.', - icon: 'download', - link: 'downloads' - }, - { - title: 'Event Log / History', - caption: 'See the latest history for submitted tasks and find out whether your server pack was generated, or whether it is still waiting in the queue.', - icon: 'history', - link: 'history' - }, - { - title: 'About ServerPackCreator', - caption: 'General information about this instance of the ServerPackCreator webservice, like the version, useful links, etc...', - icon: 'info', - link: 'about' - } -] +import AreaTimeSeriesChart from 'components/charts/AreaTimeSeriesChart.vue'; +import DiskUsageBarGraph from 'components/charts/DiskUsageBarGraph.vue'; +import ModServerRunPieChart from 'components/charts/ModServerRunPieChart.vue'; + export default defineComponent({ name: 'IndexPage', - components: { IndexItem }, + components: { ModServerRunPieChart, DiskUsageBarGraph, AreaTimeSeriesChart }, setup () { return { - indexItems: indexItems + }; - } + }, + mounted() {}, + methods: {}, }); </script> diff --git a/serverpackcreator-web-frontend/src/pages/ModPackDownload.vue b/serverpackcreator-web-frontend/src/pages/ModPackDownload.vue index cbc27fcc5b6e2f752831cf1e9751433f265e1a9f..3697eaaa11467bdc2c07a6e1cb4893f9dc195146 100644 --- a/serverpackcreator-web-frontend/src/pages/ModPackDownload.vue +++ b/serverpackcreator-web-frontend/src/pages/ModPackDownload.vue @@ -2,10 +2,10 @@ <q-page class="row items-center justify-evenly"> <q-card flat bordered class="relative-position download-modpack" v-if="visible"> <q-card-section> - <transition appear enter-active-class="animated fadeIn" leave-active-class="animated fadeOut"/> + <transition appear enter-active-class="animated fadeIn" leave-active-class="animated fadeOut" /> </q-card-section> <q-inner-loading :showing="visible"> - <q-spinner-gears size="50px" color="accent"/> + <q-spinner-gears size="50px" color="accent" /> </q-inner-loading> </q-card> <q-card flat bordered class="relative-position download-modpack" v-else-if="!visible && !available"> @@ -18,8 +18,9 @@ <q-card-section class="q-pt-xs"> <div class="row"> <div class="col text-overline">ModPack {{ $route.params.id }}</div> - <div v-if="projectID.length > 0" class="col text-overline">| Project ID {{ projectID }}</div> - <div v-if="versionID.length > 0" class="col text-overline">| Version ID {{ versionID }}</div> + <div class="col text-overline">Source {{ source }}</div> + <div v-if="projectID.length > 0" class="col text-overline">Project ID {{ projectID }}</div> + <div v-if="versionID.length > 0" class="col text-overline">Version ID {{ versionID }}</div> </div> <div class="text-h5 q-mt-sm q-mb-xs">{{ name }}</div> </q-card-section> @@ -28,7 +29,7 @@ <q-list dense> <q-item clickable @click="copyToClipboard(size.toString())"> <q-item-section side> - <q-icon color="accent" name="scale"/> + <q-icon color="accent" name="scale" /> </q-item-section> <q-item-section> <q-item-label>Size</q-item-label> @@ -38,7 +39,7 @@ <q-item clickable @click="copyToClipboard(status)"> <q-item-section side> - <q-icon color="accent" name="pending_actions"/> + <q-icon color="accent" name="pending_actions" /> </q-item-section> <q-item-section> <q-item-label>Current Status</q-item-label> @@ -48,7 +49,7 @@ <q-item clickable @click="copyToClipboard(source)"> <q-item-section side> - <q-icon color="accent" name="move_to_inbox"/> + <q-icon color="accent" name="move_to_inbox" /> </q-item-section> <q-item-section> <q-item-label>ModPack Source</q-item-label> @@ -58,7 +59,7 @@ <q-item clickable @click="copyToClipboard(sha256)"> <q-item-section side> - <q-icon color="accent" name="tag"/> + <q-icon color="accent" name="tag" /> </q-item-section> <q-item-section> <q-item-label>ModPack SHA256 Hash</q-item-label> @@ -68,7 +69,7 @@ <q-item clickable @click="copyToClipboard(serverPacks.length.toString())"> <q-item-section side> - <q-icon color="accent" name="dns"/> + <q-icon color="accent" name="dns" /> </q-item-section> <q-item-section> <q-item-label>ServerPacks</q-item-label> @@ -78,7 +79,7 @@ <q-item clickable @click="copyToClipboard(date.formatDate(dateCreated, 'YYYY-MM-DD : HH:mm'))"> <q-item-section side> - <q-icon color="accent" name="event"/> + <q-icon color="accent" name="event" /> </q-item-section> <q-item-section> <q-item-label>Creation Date and Time</q-item-label> @@ -86,14 +87,18 @@ </q-item-section> </q-item> </q-list> - <q-separator vertical/> + <q-separator vertical /> <q-card-actions vertical class="justify-around"> - <q-btn size="xl" flat round color="positive" icon="download" - :href="buildDownloadUrl($route.params.id)" type="a"/> - <q-btn size="xl" flat round color="info" icon="share" @click="copyToClipboard(location())"/> + <q-btn size="xl" flat round color="positive" icon="download" :loading="loading" + @click="downloadWithAxios($route.params.id);this.count = false; this.canceled = true;"> + <template v-slot:loading> + <q-spinner-hourglass/> + </template> + </q-btn> + <q-btn size="xl" flat round color="info" icon="share" @click="copyToClipboard(current())" /> </q-card-actions> </q-card-section> - <q-separator/> + <q-separator /> <q-card-section> <q-item> <q-item-section> @@ -104,11 +109,11 @@ {{ counter === 0 ? 'Downloading...' : 'Download starting in ' + counter }} </q-item-label> <q-item-label> - <q-linear-progress :value="counter / 100 * 20" rounded class="q-mt-md" animation-speed="200"/> + <q-linear-progress :value="counter / 100 * 20" rounded class="q-mt-md" animation-speed="200" /> </q-item-label> </q-item-section> <q-item-section side> - <q-btn round color="negative" icon="cancel" @click="this.count = false; this.canceled = true;"/> + <q-btn v-if="this.count" round color="negative" icon="cancel" @click="this.count = false; this.canceled = true;"/> </q-item-section> </q-item> </q-card-section> @@ -117,9 +122,9 @@ </template> <script lang="ts"> -import {defineComponent, ref} from 'vue'; -import {modpacks} from 'boot/axios'; -import {date} from 'quasar'; +import { defineComponent, ref } from 'vue'; +import { modpacks } from 'boot/axios'; +import { date } from 'quasar'; export default defineComponent({ name: 'ModPackDownload', @@ -129,8 +134,8 @@ export default defineComponent({ } }, setup() { - const count = ref(true) - const counter = ref(5) + const count = ref(true); + const counter = ref(5); const visible = ref(true); const available = ref(true); const showSimulatedReturnData = ref(false); @@ -157,19 +162,17 @@ export default defineComponent({ status: ref(''), versionID: ref(''), canceled: ref(false), + loading: ref(false), count, counter }; }, methods: { - location(): string { + current(): string { const route = this.$router.resolve({}); - console.log(this.$route) + console.log(this.$route); return new URL(route.href, window.location.origin).href; }, - buildDownloadUrl(id: number): string { - return '/api/v2/modpacks/download/' + id - }, copyToClipboard(text: string) { navigator.clipboard.writeText(text); this.$q.notify({ @@ -184,19 +187,42 @@ export default defineComponent({ if (this.counter > 0 && this.count) { setTimeout(() => { this.counter -= 1; - this.countDownTimer() - }, 1000) + this.countDownTimer(); + }, 1000); } else if (this.counter === 0 && this.count && !this.canceled) { this.count = false; - window.open(window.location.origin + this.buildDownloadUrl(this.$route.params.id.toString())); + this.downloadWithAxios(this.$route.params.id) } + }, + downloadWithAxios(id: string) { + this.loading = true + modpacks.get('download/' + id, { + responseType: 'arraybuffer' + }).then(response => { + const url = window.URL.createObjectURL(new Blob([response.data])) + const link = document.createElement('a') + link.href = url + link.setAttribute('download', this.name) + document.body.appendChild(link) + link.click() + this.loading = false + }).catch(error => { + this.$q.notify({ + timeout: 5000, + progress: true, + icon: 'error', + color: 'negative', + message: 'Could not retrieve modpack: ' + error + }); + this.loading = false + }); } }, mounted() { this.showTextLoading(); modpacks.get(this.$route.params.id.toString()).then(response => { this.dateCreated = response.data.dateCreated; - this.name = response.data.name; + this.name = response.data.name.replaceAll(' ', '_'); this.projectID = response.data.projectID; this.serverPacks = response.data.serverPacks; this.sha256 = response.data.sha256; @@ -226,7 +252,7 @@ export default defineComponent({ <style> .download-modpack { - height: 430px; + height: 450px; width: 600px; } </style> diff --git a/serverpackcreator-web-frontend/src/pages/ServerPackDownload.vue b/serverpackcreator-web-frontend/src/pages/ServerPackDownload.vue index a488a54554b216ea0c51aae5fe8b3e5916b2b27e..896c3f06a6df6f8ce248670f0f74c8cfac4e80f8 100644 --- a/serverpackcreator-web-frontend/src/pages/ServerPackDownload.vue +++ b/serverpackcreator-web-frontend/src/pages/ServerPackDownload.vue @@ -2,10 +2,10 @@ <q-page class="row items-center justify-evenly"> <q-card flat bordered class="relative-position download-serverpack" v-if="visible"> <q-card-section> - <transition appear enter-active-class="animated fadeIn" leave-active-class="animated fadeOut"/> + <transition appear enter-active-class="animated fadeIn" leave-active-class="animated fadeOut" /> </q-card-section> <q-inner-loading :showing="visible"> - <q-spinner-gears size="50px" color="accent"/> + <q-spinner-gears size="50px" color="accent" /> </q-inner-loading> </q-card> <q-card flat bordered class="relative-position download-serverpack" v-else-if="!visible && !available"> @@ -16,14 +16,17 @@ <q-card class="relative-position download-serverpack" v-else> <q-card-section horizontal> <q-card-section class="q-pt-xs"> - <div class="text-overline">Server Pack {{ $route.params.id }}</div> + <div class="row"> + <div class="col text-overline">Server Pack {{ $route.params.id }}</div> + </div> + <div class="text-h5 q-mt-sm q-mb-xs">{{ name }}</div> </q-card-section> </q-card-section> <q-card-section horizontal> <q-list dense> <q-item clickable @click="copyToClipboard(size.toString())"> <q-item-section side> - <q-icon color="accent" name="scale"/> + <q-icon color="accent" name="scale" /> </q-item-section> <q-item-section> <q-item-label>Size</q-item-label> @@ -33,7 +36,7 @@ <q-item clickable @click="copyToClipboard(downloads.toString())"> <q-item-section side> - <q-icon color="accent" name="download"/> + <q-icon color="accent" name="download" /> </q-item-section> <q-item-section> <q-item-label>Downloads</q-item-label> @@ -43,7 +46,7 @@ <q-item clickable @click="copyToClipboard(confirmedWorking.toString())"> <q-item-section side> - <q-icon color="accent" name="thumbs_up_down"/> + <q-icon color="accent" name="thumbs_up_down" /> </q-item-section> <q-item-section> <q-item-label>Confirmed Working</q-item-label> @@ -53,7 +56,7 @@ <q-item clickable @click="copyToClipboard(date.formatDate(dateCreated, 'YYYY-MM-DD : HH:mm'))"> <q-item-section side> - <q-icon color="accent" name="event"/> + <q-icon color="accent" name="event" /> </q-item-section> <q-item-section> <q-item-label>Creation Date and Time</q-item-label> @@ -63,7 +66,7 @@ <q-item clickable @click="copyToClipboard(sha256)"> <q-item-section side> - <q-icon color="accent" name="tag"/> + <q-icon color="accent" name="tag" /> </q-item-section> <q-item-section> <q-item-label>ModPack SHA256 Hash</q-item-label> @@ -71,14 +74,18 @@ </q-item-section> </q-item> </q-list> - <q-separator vertical/> + <q-separator vertical /> <q-card-actions vertical class="justify-around"> - <q-btn size="xl" flat round color="positive" icon="download" - :href="buildDownloadUrl($route.params.id)" type="a"/> - <q-btn size="xl" flat round color="info" icon="share" @click="copyToClipboard(location())"/> + <q-btn size="xl" flat round color="positive" icon="download" :loading="loading" + @click="downloadWithAxios($route.params.id);this.count = false; this.canceled = true;"> + <template v-slot:loading> + <q-spinner-hourglass/> + </template> + </q-btn> + <q-btn size="xl" flat round color="info" icon="share" @click="copyToClipboard(current())" /> </q-card-actions> </q-card-section> - <q-separator/> + <q-separator /> <q-card-section> <q-item> <q-item-section> @@ -89,11 +96,11 @@ {{ counter === 0 ? 'Downloading...' : 'Download starting in ' + counter }} </q-item-label> <q-item-label> - <q-linear-progress :value="counter / 100 * 20" rounded class="q-mt-md" animation-speed="200"/> + <q-linear-progress :value="counter / 100 * 20" rounded class="q-mt-md" animation-speed="200" /> </q-item-label> </q-item-section> <q-item-section side> - <q-btn round color="negative" icon="cancel" @click="this.count = false; this.canceled = true;"/> + <q-btn v-if="this.count" round color="negative" icon="cancel" @click="this.count = false; this.canceled = true;" /> </q-item-section> </q-item> </q-card-section> @@ -102,9 +109,9 @@ </template> <script lang="ts"> -import {defineComponent, ref} from 'vue'; -import {serverpacks} from 'boot/axios'; -import {date} from 'quasar'; +import { defineComponent, ref } from 'vue'; +import { modpacks, serverpacks } from 'boot/axios'; +import { date } from 'quasar'; export default defineComponent({ name: 'ServerPackDownload', @@ -114,8 +121,8 @@ export default defineComponent({ } }, setup() { - const count = ref(true) - const counter = ref(5) + const count = ref(true); + const counter = ref(5); const visible = ref(true); const available = ref(true); const showSimulatedReturnData = ref(false); @@ -132,24 +139,23 @@ export default defineComponent({ showSimulatedReturnData.value = true; }, 3000); }, + name: ref(''), size: ref(0), downloads: ref(0), confirmedWorking: ref(0), dateCreated: ref(0), sha256: ref(''), canceled: ref(false), + loading: ref(false), count, counter }; }, methods: { - location(): string { + current(): string { const route = this.$router.resolve({}); return new URL(route.href, window.location.origin).href; }, - buildDownloadUrl(id: number): string { - return '/api/v2/serverpacks/download/' + id - }, copyToClipboard(text: string) { navigator.clipboard.writeText(text); this.$q.notify({ @@ -164,12 +170,35 @@ export default defineComponent({ if (this.counter > 0 && this.count) { setTimeout(() => { this.counter -= 1; - this.countDownTimer() - }, 1000) + this.countDownTimer(); + }, 1000); } else if (this.counter === 0 && this.count && !this.canceled) { this.count = false; - window.open(window.location.origin + this.buildDownloadUrl(this.$route.params.id.toString())); + this.downloadWithAxios(this.$route.params.id) } + }, + downloadWithAxios(id: string) { + this.loading = true + serverpacks.get('download/' + id, { + responseType: 'arraybuffer' + }).then(response => { + const url = window.URL.createObjectURL(new Blob([response.data])) + const link = document.createElement('a') + link.href = url + link.setAttribute('download', this.name) + document.body.appendChild(link) + link.click() + this.loading = false + }).catch(error => { + this.$q.notify({ + timeout: 5000, + progress: true, + icon: 'error', + color: 'negative', + message: 'Could not retrieve server pack: ' + error + }); + this.loading = false + }); } }, mounted() { @@ -196,13 +225,24 @@ export default defineComponent({ message: 'Could not retrieve server pack: ' + error }); }); + modpacks.get('byserverpack/' + this.$route.params.id.toString()).then(response => { + this.name = response.data.name.replaceAll(' ', '_').replace('.zip', '_server_pack.zip') + }).catch(error => { + this.$q.notify({ + timeout: 5000, + progress: true, + icon: 'error', + color: 'negative', + message: 'Could not retrieve modpack: ' + error + }); + }) } }); </script> <style> .download-serverpack { - height: 350px; + height: 400px; width: 600px; } </style> diff --git a/serverpackcreator-web/build.gradle.kts b/serverpackcreator-web/build.gradle.kts index 862cf76546ab1653eeb82292b27427cce3dbb57b..29c65516858672728453d105ed146a4a659faab2 100644 --- a/serverpackcreator-web/build.gradle.kts +++ b/serverpackcreator-web/build.gradle.kts @@ -29,21 +29,25 @@ configurations { dependencies { api(project(":serverpackcreator-api")) - api("org.jetbrains.kotlin:kotlin-reflect:1.9.10") - api("com.fasterxml.jackson.module:jackson-module-kotlin:2.14.2") - api("org.springframework.boot:spring-boot-starter-web:3.1.0") - api("org.springframework.boot:spring-boot-starter-log4j2:3.0.4") - api("org.springframework.boot:spring-boot-starter-data-jpa:3.0.4") - api("org.postgresql:postgresql:42.6.0") - api("org.javassist:javassist:3.29.2-GA") - testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.3") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.3") - testRuntimeOnly("com.h2database:h2:2.2.220") - testImplementation("org.springframework.boot:spring-boot-starter-test:3.1.0") - developmentOnly("org.springframework.boot:spring-boot-devtools:3.0.4") + api("org.jetbrains.kotlin:kotlin-reflect:1.9.23") + api("com.fasterxml.jackson.module:jackson-module-kotlin:2.17.0") + api("org.springframework.boot:spring-boot-starter-web:3.2.4") + api("org.springframework.boot:spring-boot-starter-log4j2:3.2.4") + api("org.springframework.boot:spring-boot-starter-data-jpa:3.2.5") + api("org.postgresql:postgresql:42.7.3") + api("org.javassist:javassist:3.30.2-GA") + testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.2") + testRuntimeOnly("com.h2database:h2:2.2.224") + testImplementation("org.springframework.boot:spring-boot-starter-test:3.2.4") + developmentOnly("org.springframework.boot:spring-boot-devtools:3.2.5") //developmentOnly("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0") } +tasks.bootJar { + dependsOn(":serverpackcreator-api:processTestResources") +} + tasks.clean { doFirst { delete { @@ -55,6 +59,7 @@ tasks.clean { } tasks.test { + dependsOn(":serverpackcreator-api:processTestResources") systemProperty("java.util.logging.manager","org.jboss.logmanager.LogManager") doFirst { val tests = File(projectDir,"tests").absoluteFile diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/WebService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/WebService.kt index 5c98534e885419169a17c3c8a7228729e89b05b2..528c9f9f624cff363711ff154e32fa7a209e4084 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/WebService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/WebService.kt @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Griefed +/* Copyright (C) 2024 Griefed * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -27,19 +27,25 @@ import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.ConfigurableApplicationContext import org.springframework.scheduling.annotation.EnableScheduling +import java.io.File @SpringBootApplication @EnableConfigurationProperties @EntityScan(value = ["de.griefed.serverpackcreator.web"]) @EnableScheduling class WebService(private val api: ApiWrapper) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } fun start(args: Array<String>): ConfigurableApplicationContext { + val userHome = System.getProperty("user.home") val lastIndex = "--spring.config.location=classpath:/application.properties," + "classpath:/serverpackcreator.properties," + "optional:file:./serverpackcreator.properties," + - "optional:file:${api.apiProperties.serverPackCreatorPropertiesFile.absolutePath}" + "optional:file:./overrides.properties," + + "optional:file:${api.apiProperties.serverPackCreatorPropertiesFile.absolutePath},"+ + "optional:file:${api.apiProperties.overridesPropertiesFile.absolutePath}," + + "optional:file:${File(userHome,"serverpackcreator.properties").absolutePath}," + + "optional:file:${File(userHome,"overrides.properties").absolutePath}" val springArgs = if (args.isEmpty()) { arrayOf(lastIndex) } else { diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPackView.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPackView.kt deleted file mode 100644 index 9766ed9afe5ea627c6c44f2769cca8e70a407aeb..0000000000000000000000000000000000000000 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPackView.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.web.data - -import de.griefed.serverpackcreator.web.modpack.ModpackSource -import de.griefed.serverpackcreator.web.modpack.ModpackStatus -import org.springframework.data.web.ProjectedPayload -import java.sql.Timestamp - -@ProjectedPayload -interface ModPackView { - var id: Int - var projectID: String - var versionID: String - var dateCreated: Timestamp - var name: String - var size: Double - var status: ModpackStatus - var source: ModpackSource - var sha256: String - var serverPacks: MutableList<ServerPack> -} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPackView.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPackView.kt deleted file mode 100644 index d822d421ebf7ec6913ca1ecc332b1e983eeee356..0000000000000000000000000000000000000000 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPackView.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2024 Griefed - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE - */ -package de.griefed.serverpackcreator.web.data - -import org.springframework.data.web.ProjectedPayload -import java.sql.Timestamp - -@ProjectedPayload -interface ServerPackView { - var id: Int - var size: Double - var downloads: Int - var confirmedWorking: Int - var dateCreated: Timestamp - var sha256: String - var runConfiguration: RunConfiguration -} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPack.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPack.kt similarity index 86% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPack.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPack.kt index 6e957aaa973205cd650b1f44173b1ad809013bd7..38de779dd0614c0fc0d6fed11a86aef2e7353e64 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ModPack.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPack.kt @@ -17,10 +17,10 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.modpack -import de.griefed.serverpackcreator.web.modpack.ModpackSource -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.api.ModpackSource +import de.griefed.serverpackcreator.web.serverpack.ServerPack import jakarta.persistence.* import org.hibernate.annotations.Cascade import org.hibernate.annotations.CascadeType @@ -52,7 +52,13 @@ class ModPack { var size: Int = 0 @Column - var status: ModpackStatus = ModpackStatus.QUEUED + var downloads: Int? = 0 + get() { + return field ?: 0 + } + + @Column + var status: ModPackStatus = ModPackStatus.QUEUED @Column var source: ModpackSource = ModpackSource.ZIP @@ -92,6 +98,6 @@ class ModPack { } override fun toString(): String { - return "ModPack(id=$id, projectID='$projectID', versionID='$versionID', dateCreated=$dateCreated, name='$name', size=$size, status=$status, source=$source, fileID=$fileID, sha256=$sha256, serverPacks=$serverPacks)" + return "ModPack(id=$id, projectID='$projectID', versionID='$versionID', dateCreated=$dateCreated, name='$name', size=$size, downloads=$downloads, status=$status, source=$source, fileID=$fileID, sha256=$sha256, serverPacks=$serverPacks)" } } \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackController.kt similarity index 84% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackController.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackController.kt index 83ac6b54341c3cab17976d01eac0805856bcd03f..684c4a9826020789ae1b05d5f1aee5ea3d024d55 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackController.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackController.kt @@ -19,14 +19,11 @@ */ package de.griefed.serverpackcreator.web.modpack -import de.griefed.serverpackcreator.web.data.ModPackView -import de.griefed.serverpackcreator.web.data.ServerPack -import de.griefed.serverpackcreator.web.data.ZipResponse -import de.griefed.serverpackcreator.web.runconfiguration.RunConfigurationService +import de.griefed.serverpackcreator.web.serverpack.ServerPack +import de.griefed.serverpackcreator.web.serverpack.runconfiguration.RunConfigurationService import de.griefed.serverpackcreator.web.storage.StorageException import de.griefed.serverpackcreator.web.task.TaskDetail import de.griefed.serverpackcreator.web.task.TaskExecutionServiceImpl -import org.apache.logging.log4j.kotlin.KotlinLogger import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.springframework.beans.factory.annotation.Autowired import org.springframework.core.io.ByteArrayResource @@ -41,24 +38,27 @@ import org.springframework.web.multipart.MultipartFile @RestController @CrossOrigin(origins = ["*"]) @RequestMapping("/api/v2/modpacks") -class ModpackController @Autowired constructor( - private val modpackService: ModpackService, +class ModPackController @Autowired constructor( + private val modpackService: ModPackService, private val runConfigurationService: RunConfigurationService, private val taskExecutionServiceImpl: TaskExecutionServiceImpl ) { - private val logger: KotlinLogger = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } @GetMapping("/download/{id:[0-9]+}", produces = ["application/zip"]) @ResponseBody fun downloadModpack(@PathVariable id: Int): ResponseEntity<Resource> { val modpack = modpackService.getModpack(id) if (modpack.isEmpty) { + log.warn("Modpack with ID $id not found") return ResponseEntity.notFound().build() } val modpackArchive = modpackService.getModPackArchive(modpack.get()) if (modpackArchive.isEmpty) { + log.warn("No archive found for modpack with ID $id") return ResponseEntity.notFound().build() } + modpackService.updateDownloadStats(modpack.get()) return ResponseEntity.ok() .contentType(MediaType.parseMediaType("application/zip")) .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"${modpack.get().name}\"") @@ -89,7 +89,7 @@ class ModpackController @Autowired constructor( modPackId = null, runConfigId = null, serverPackId = null, - status = ModpackStatus.ERROR + status = ModPackStatus.ERROR ) return ResponseEntity.badRequest().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE) .body(zipResponse) @@ -108,7 +108,7 @@ class ModpackController @Autowired constructor( modPackId = modpack.id, runConfigId = taskDetail.runConfiguration?.id, serverPackId = null, - status = ModpackStatus.QUEUED + status = ModPackStatus.QUEUED ) return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE) .body(zipResponse) @@ -119,7 +119,7 @@ class ModpackController @Autowired constructor( modPackId = ex.id, runConfigId = runConfig.id, serverPackId = null, - status = ModpackStatus.ERROR + status = ModPackStatus.ERROR ) return ResponseEntity.badRequest().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE) .body(zipResponse) @@ -147,12 +147,12 @@ class ModpackController @Autowired constructor( modPackId = modPackID, runConfigId = null, serverPackId = null, - status = ModpackStatus.ERROR + status = ModPackStatus.ERROR ) ) } val taskDetail = TaskDetail(modpack.get()) - taskDetail.modpack.status = ModpackStatus.QUEUED + taskDetail.modpack.status = ModPackStatus.QUEUED taskDetail.runConfiguration = runConfigurationService.createRunConfig( minecraftVersion, modloader, modloaderVersion, startArgs, clientMods, whiteListMods ) @@ -171,7 +171,7 @@ class ModpackController @Autowired constructor( modPackId = modPackID, runConfigId = taskDetail.runConfiguration!!.id, serverPackId = serverpack.id, - status = ModpackStatus.GENERATED + status = ModPackStatus.GENERATED ) ) } @@ -184,14 +184,14 @@ class ModpackController @Autowired constructor( modPackId = modPackID, runConfigId = taskDetail.runConfiguration?.id, serverPackId = null, - status = ModpackStatus.QUEUED + status = ModPackStatus.QUEUED ) ) } @GetMapping("/all", produces = ["application/json"]) @ResponseBody - fun getAllModPacks(): ResponseEntity<List<ModPackView>> { + fun getAllModPacks(): ResponseEntity<List<ModPack>> { return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( modpackService.getModpacks() ) @@ -199,10 +199,24 @@ class ModpackController @Autowired constructor( @GetMapping("/{id:[0-9]+}", produces = ["application/json"]) @ResponseBody - fun getModpack(@PathVariable id: Int): ResponseEntity<ModPackView> { - return if (modpackService.getModpackView(id).isPresent) { + fun getModpack(@PathVariable id: Int): ResponseEntity<ModPack> { + val pack = modpackService.getModpack(id) + return if (pack.isPresent) { ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( - modpackService.getModpackView(id).get() + pack.get() + ) + } else { + ResponseEntity.notFound().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).build() + } + } + + @GetMapping("byserverpack/{id:[0-9]+}", produces = ["application/json"]) + @ResponseBody + fun getModPackByServerPack(@PathVariable id: Int): ResponseEntity<ModPack> { + val pack = modpackService.getByServerPack(id) + return if (pack.isPresent) { + ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + pack.get() ) } else { ResponseEntity.notFound().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).build() diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownload.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownload.kt new file mode 100644 index 0000000000000000000000000000000000000000..592db0c16c89842354cc2d1f9e3e11749874575d --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownload.kt @@ -0,0 +1,18 @@ +package de.griefed.serverpackcreator.web.modpack + +import jakarta.persistence.* +import org.hibernate.annotations.CreationTimestamp +import java.sql.Timestamp + +@Entity +class ModPackDownload(@ManyToOne var modPack: ModPack) { + + @Id + @GeneratedValue + @Column(updatable = false, nullable = false) + var id: Int = 0 + + @CreationTimestamp + @Column + var downloadedAt: Timestamp? = null +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownloadRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownloadRepository.kt new file mode 100644 index 0000000000000000000000000000000000000000..921575c01310b1effda67fa5a3015d02757daa9e --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackDownloadRepository.kt @@ -0,0 +1,9 @@ +package de.griefed.serverpackcreator.web.modpack + +import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.stereotype.Repository + +@Repository +interface ModPackDownloadRepository : JpaRepository<ModPackDownload, Int> { + fun findAllByModPack(modPack: ModPack): List<ModPackDownload> +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackRepository.kt similarity index 72% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackRepository.kt index 21747272d7867d637ea58289f1e07c35cecac790..7950fa41514574589d0bbc0afe0f7c2ce667cbe1 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackRepository.kt @@ -19,18 +19,13 @@ */ package de.griefed.serverpackcreator.web.modpack -import de.griefed.serverpackcreator.web.data.ModPack -import de.griefed.serverpackcreator.web.data.ModPackView -import de.griefed.serverpackcreator.web.data.ServerPack -import org.springframework.data.domain.Sort +import de.griefed.serverpackcreator.web.serverpack.ServerPack import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository + import java.util.* @Repository -interface ModpackRepository : JpaRepository<ModPack, Int> { - fun findAllProjectedBy(): MutableList<ModPackView> - fun findAllProjectedBy(sort: Sort): MutableList<ModPackView> - fun findProjectedById(id: Int) : Optional<ModPackView> +interface ModPackRepository : JpaRepository<ModPack, Int> { fun findByServerPacksContains(serverPack: ServerPack): Optional<ModPack> } \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackService.kt similarity index 76% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackService.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackService.kt index 4ac06c27d34d55fdc5b47da30538aed605c9cbbd..b854db022cd594b73fea0620331aed2d7349c031 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackService.kt @@ -21,11 +21,11 @@ package de.griefed.serverpackcreator.web.modpack import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.ConfigurationHandler +import de.griefed.serverpackcreator.api.ModpackSource import de.griefed.serverpackcreator.api.PackConfig -import de.griefed.serverpackcreator.web.data.ModPack -import de.griefed.serverpackcreator.web.data.ModPackView -import de.griefed.serverpackcreator.web.data.RunConfiguration -import de.griefed.serverpackcreator.web.data.ServerPack +import de.griefed.serverpackcreator.web.serverpack.ServerPack +import de.griefed.serverpackcreator.web.serverpack.ServerPackRepository +import de.griefed.serverpackcreator.web.serverpack.customizing.RunConfiguration import de.griefed.serverpackcreator.web.storage.StorageException import de.griefed.serverpackcreator.web.storage.StorageSystem import org.springframework.beans.factory.annotation.Autowired @@ -38,14 +38,35 @@ import java.nio.file.Path import java.util.* @Service -class ModpackService @Autowired constructor( - private val modpackRepository: ModpackRepository, +class ModPackService @Autowired constructor( + private val modpackRepository: ModPackRepository, private val configurationHandler: ConfigurationHandler, + private val modPackDownloadRepository: ModPackDownloadRepository, + private val serverPackRepository: ServerPackRepository, apiProperties: ApiProperties, ) { private val rootLocation: Path = apiProperties.modpacksDirectory.toPath() private val storage: StorageSystem = StorageSystem(rootLocation) + /** + * Increment the download counter for a given modpack entry in the database identified by the + * database id. + * + * @param id The database id of the modpack. + * @author Griefed + */ + fun updateDownloadStats(modPack: ModPack): Optional<ModPack> { + val request = modpackRepository.findById(modPack.id) + if (request.isPresent) { + val pack = request.get() + pack.downloads = pack.downloads!! + 1 + modPackDownloadRepository.save(ModPackDownload(modPack)) + return Optional.of(modpackRepository.save(pack)) + } else { + return Optional.empty() + } + } + /** * Store the multipart-file to disk. If a match in SHA256 hashes is found, a [StorageException] is thrown to prevent * duplicates and save storage. @@ -55,7 +76,7 @@ class ModpackService @Autowired constructor( @Throws(StorageException::class) fun saveZipModpack(file: MultipartFile): ModPack { val modpack = ModPack() - modpack.status = ModpackStatus.QUEUED + modpack.status = ModPackStatus.QUEUED modpack.source = ModpackSource.ZIP val savedFile = storage.store(file).get() val check = configurationHandler.checkZipArchive(savedFile.file.toString()) @@ -88,12 +109,17 @@ class ModpackService @Autowired constructor( return modpackRepository.findById(id) } - fun getModpackView(id: Int): Optional<ModPackView> { - return modpackRepository.findProjectedById(id) + fun getModpacks(): List<ModPack> { + return modpackRepository.findAll(Sort.by(Sort.Direction.DESC, "dateCreated")) } - fun getModpacks(): List<ModPackView> { - return modpackRepository.findAllProjectedBy(Sort.by(Sort.Direction.DESC, "dateCreated")) + fun getByServerPack(id: Int) : Optional<ModPack> { + val serverPack = serverPackRepository.findById(id) + return if (serverPack.isPresent) { + getByServerPack(serverPack.get()) + } else { + Optional.empty() + } } fun getByServerPack(serverPack: ServerPack) : Optional<ModPack> { @@ -105,7 +131,7 @@ class ModpackService @Autowired constructor( packConfig.modpackDir = rootLocation.resolve("${modpack.fileID}.zip").normalize().toFile().absolutePath packConfig.setClientMods(runConfiguration.clientMods.map { it.mod }.toMutableList()) packConfig.setModsWhitelist(runConfiguration.whitelistedMods.map { it.mod }.toMutableList()) - if (modpack.status == ModpackStatus.GENERATING) { + if (modpack.status == ModPackStatus.GENERATING) { packConfig.inclusions.addAll(configurationHandler.suggestInclusions(packConfig.modpackDir)) } packConfig.minecraftVersion = runConfiguration.minecraftVersion diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackStatus.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackStatus.kt similarity index 97% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackStatus.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackStatus.kt index 7f25ba74a9752966cffa38e8544f56c50524fa50..cf0e9a2b239bbba159086da29f4875404fd972eb 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModpackStatus.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ModPackStatus.kt @@ -19,6 +19,6 @@ */ package de.griefed.serverpackcreator.web.modpack -enum class ModpackStatus { +enum class ModPackStatus { QUEUED, CHECKING, CHECKED, GENERATING, GENERATED, ERROR } \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ZipResponse.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ZipResponse.kt similarity index 93% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ZipResponse.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ZipResponse.kt index df9f4536a722996d42c3d4571c14d46710fa7433..8eac6a9a86bc242fbbc9a07992612d64add4ddcb 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ZipResponse.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/modpack/ZipResponse.kt @@ -17,9 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data - -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +package de.griefed.serverpackcreator.web.modpack class ZipResponse( val message: String, @@ -27,7 +25,7 @@ class ZipResponse( val modPackId: Int?, val runConfigId: Int?, val serverPackId: Int?, - val status: ModpackStatus? + val status: ModPackStatus? ) { override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/DatabaseCleanupSchedule.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/DatabaseCleanupSchedule.kt index 45196c0b1212eebc591db5261bfeab9b9a804deb..73ec8d746dd21fb19d1016954fc29edfd8198049 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/DatabaseCleanupSchedule.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/DatabaseCleanupSchedule.kt @@ -20,9 +20,9 @@ package de.griefed.serverpackcreator.web.scheduling import de.griefed.serverpackcreator.api.ApiProperties -import de.griefed.serverpackcreator.web.modpack.ModpackRepository -import de.griefed.serverpackcreator.web.modpack.ModpackService -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPackRepository +import de.griefed.serverpackcreator.web.modpack.ModPackService +import de.griefed.serverpackcreator.web.modpack.ModPackStatus import de.griefed.serverpackcreator.web.serverpack.ServerPackRepository import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.springframework.beans.factory.annotation.Autowired @@ -33,12 +33,12 @@ import kotlin.io.path.listDirectoryEntries @Service class DatabaseCleanupSchedule @Autowired constructor( - private val modpackRepository: ModpackRepository, - private val modpackService: ModpackService, + private val modpackRepository: ModPackRepository, + private val modpackService: ModPackService, private val serverPackRepository: ServerPackRepository, apiProperties: ApiProperties ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val modPackRoot: Path = apiProperties.modpacksDirectory.toPath() private val serverPackRoot: Path = apiProperties.serverPacksDirectory.toPath() @@ -47,7 +47,7 @@ class DatabaseCleanupSchedule @Autowired constructor( log.info("Cleaning database...") val modpackFiles = modPackRoot.listDirectoryEntries().map { it.toFile() } for (modpack in modpackRepository.findAll()) { - if (modpack.status == ModpackStatus.ERROR) { + if (modpack.status == ModPackStatus.ERROR) { modpackService.deleteModpack(modpack.id) log.info("Deleted Modpack: ${modpack.id}-${modpack.name}") } else if (modpackFiles.find { modpackFile -> modpackFile.name.contains(modpack.fileID!!.toString(), ignoreCase = true) } == null) { diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/FileCleanupSchedule.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/FileCleanupSchedule.kt index 9aaa3bc1ab0044534e2145e91911a7a6d3126eb1..b968b5b825f72655956763e10fdd5700c237ab63 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/FileCleanupSchedule.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/FileCleanupSchedule.kt @@ -21,7 +21,7 @@ package de.griefed.serverpackcreator.web.scheduling import de.griefed.serverpackcreator.api.ApiProperties import de.griefed.serverpackcreator.api.utilities.common.deleteQuietly -import de.griefed.serverpackcreator.web.modpack.ModpackRepository +import de.griefed.serverpackcreator.web.modpack.ModPackRepository import de.griefed.serverpackcreator.web.serverpack.ServerPackRepository import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.springframework.beans.factory.annotation.Autowired @@ -32,11 +32,11 @@ import kotlin.io.path.listDirectoryEntries @Service class FileCleanupSchedule @Autowired constructor( - private val modpackRepository: ModpackRepository, + private val modpackRepository: ModPackRepository, private val serverPackRepository: ServerPackRepository, apiProperties: ApiProperties ) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val modPackRoot: Path = apiProperties.modpacksDirectory.toPath() private val serverPackRoot: Path = apiProperties.serverPacksDirectory.toPath() diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/VersionRefreshSchedule.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/VersionRefreshSchedule.kt index de81ca4ce3c1037df6d601e94606a5cab0cc4ab8..bac94d5ddbe74fb0fb74092f4316535c534aa856 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/VersionRefreshSchedule.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/scheduling/VersionRefreshSchedule.kt @@ -35,7 +35,7 @@ import javax.xml.parsers.ParserConfigurationException */ @Service class VersionRefreshSchedule @Autowired constructor(private val versionMeta: VersionMeta) { - private val log = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } @Scheduled(cron = "\${de.griefed.serverpackcreator.spring.schedules.versions.refresh}") private fun refreshVersionLister() { diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPack.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPack.kt similarity index 95% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPack.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPack.kt index 7e1f3b62f63173121f9e085e06d10309971f66ab..ddd3b52d8683c1324b6e37fe38ce0126bdce8824 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ServerPack.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPack.kt @@ -17,8 +17,9 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.serverpack +import de.griefed.serverpackcreator.web.serverpack.customizing.RunConfiguration import jakarta.persistence.* import org.hibernate.annotations.CreationTimestamp import java.sql.Timestamp diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackController.kt index 582b497a9266e5b15cdb8b8399c3ea0f20803115..452e8cfbda87824f216858dc66b20c9442a01ce4 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackController.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackController.kt @@ -19,9 +19,7 @@ */ package de.griefed.serverpackcreator.web.serverpack -import de.griefed.serverpackcreator.web.data.ServerPack -import de.griefed.serverpackcreator.web.data.ServerPackView -import de.griefed.serverpackcreator.web.modpack.ModpackService +import de.griefed.serverpackcreator.web.modpack.ModPackService import org.springframework.beans.factory.annotation.Autowired import org.springframework.core.io.ByteArrayResource import org.springframework.core.io.Resource @@ -33,7 +31,7 @@ import org.springframework.web.bind.annotation.* /** * RestController for everything server pack related, like downloads.<br></br> All requests are in - * `/api/v1/packs`. + * `/api/v2/serverpacks`. * * @author Griefed */ @@ -42,7 +40,7 @@ import org.springframework.web.bind.annotation.* @RequestMapping("/api/v2/serverpacks") class ServerPackController @Autowired constructor( private val serverPackService: ServerPackService, - private val modpackService: ModpackService + private val modpackService: ModPackService ) { /** @@ -62,7 +60,7 @@ class ServerPackController @Autowired constructor( ResponseEntity.notFound().build() } else { val modPack = modpackService.getByServerPack(serverPack.get()) - serverPackService.updateDownloadCounter(id) + serverPackService.updateDownloadStats(id) val fileName = modPack.get().name.replace(".zip","",ignoreCase = true) ResponseEntity.ok() .contentType(MediaType.parseMediaType("application/zip")) @@ -114,7 +112,7 @@ class ServerPackController @Autowired constructor( */ @GetMapping("/all", produces = ["application/json"]) @ResponseBody - fun getAllServerPacks(): ResponseEntity<List<ServerPackView>> { + fun getAllServerPacks(): ResponseEntity<List<ServerPack>> { return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( serverPackService.getServerPacks() ) @@ -122,10 +120,10 @@ class ServerPackController @Autowired constructor( @GetMapping("/{id:[0-9]+}", produces = ["application/json"]) @ResponseBody - fun getServerPack(@PathVariable id: Int): ResponseEntity<ServerPackView> { - return if (serverPackService.getServerPackView(id).isPresent) { + fun getServerPack(@PathVariable id: Int): ResponseEntity<ServerPack> { + return if (serverPackService.getServerPack(id).isPresent) { ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( - serverPackService.getServerPackView(id).get() + serverPackService.getServerPack(id).get() ) } else { ResponseEntity.notFound().build() diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownload.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownload.kt new file mode 100644 index 0000000000000000000000000000000000000000..39268f0bea4cbe9b02b0b7a99f3feb9fbf44513f --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownload.kt @@ -0,0 +1,18 @@ +package de.griefed.serverpackcreator.web.serverpack + +import jakarta.persistence.* +import org.hibernate.annotations.CreationTimestamp +import java.sql.Timestamp + +@Entity +class ServerPackDownload(@ManyToOne var serverPack: ServerPack) { + + @Id + @GeneratedValue + @Column(updatable = false, nullable = false) + var id: Int = 0 + + @CreationTimestamp + @Column + var downloadedAt: Timestamp? = null +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownloadRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownloadRepository.kt new file mode 100644 index 0000000000000000000000000000000000000000..d26b9facdeb94ea76bd837b7f01fa9ff8fc8d38a --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackDownloadRepository.kt @@ -0,0 +1,9 @@ +package de.griefed.serverpackcreator.web.serverpack + +import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.stereotype.Repository + +@Repository +interface ServerPackDownloadRepository : JpaRepository<ServerPackDownload, Int> { + fun findAllByServerPack(serverPack: ServerPack): List<ServerPackDownload> +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackRepository.kt index 39194cdc6f90ef6cff115e3876cd305e0c205960..0336c1a363e4ced91a9683b081475e718439b758 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackRepository.kt @@ -19,16 +19,8 @@ */ package de.griefed.serverpackcreator.web.serverpack -import de.griefed.serverpackcreator.web.data.ServerPack -import de.griefed.serverpackcreator.web.data.ServerPackView -import org.springframework.data.domain.Sort import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository -import java.util.* @Repository -interface ServerPackRepository : JpaRepository<ServerPack, Int> { - fun findAllProjectedBy(): MutableList<ServerPackView> - fun findAllProjectedBy(sort: Sort): MutableList<ServerPackView> - fun findProjectedById(id: Int): Optional<ServerPackView> -} \ No newline at end of file +interface ServerPackRepository : JpaRepository<ServerPack, Int> \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackService.kt index 9215675607d7576d12c2d08d24cc683864f25132..987bbff8338459b7c12889f9b147528e03bc5f95 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/ServerPackService.kt @@ -20,10 +20,7 @@ package de.griefed.serverpackcreator.web.serverpack import de.griefed.serverpackcreator.api.ApiProperties -import de.griefed.serverpackcreator.web.data.ServerPack -import de.griefed.serverpackcreator.web.data.ServerPackView import de.griefed.serverpackcreator.web.storage.StorageSystem -import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.springframework.beans.factory.annotation.Autowired import org.springframework.data.domain.Sort import org.springframework.http.ResponseEntity @@ -42,10 +39,10 @@ import kotlin.io.path.moveTo @Service class ServerPackService @Autowired constructor( private val serverPackRepository: ServerPackRepository, + private val serverPackDownloadRepository: ServerPackDownloadRepository, messageDigestInstance: MessageDigest, apiProperties: ApiProperties ) { - private val log = cachedLoggerOf(this.javaClass) private val rootLocation: Path = apiProperties.serverPacksDirectory.toPath() private val storage: StorageSystem = StorageSystem(rootLocation, messageDigestInstance) @@ -60,11 +57,12 @@ class ServerPackService @Autowired constructor( * @param id The database id of the server pack. * @author Griefed */ - fun updateDownloadCounter(id: Int): Optional<ServerPack> { + fun updateDownloadStats(id: Int): Optional<ServerPack> { val request = serverPackRepository.findById(id) if (request.isPresent) { val pack = request.get() pack.downloads++ + serverPackDownloadRepository.save(ServerPackDownload(pack)) return Optional.of(serverPackRepository.save(pack)) } else { return Optional.empty() @@ -78,7 +76,7 @@ class ServerPackService @Autowired constructor( * @param serverPack The server pack for which to update the download counter. * @author Griefed */ - fun updateDownloadCounter(serverPack: ServerPack) { + fun updateDownloadStats(serverPack: ServerPack) { serverPack.downloads++ serverPackRepository.save(serverPack) } @@ -117,8 +115,8 @@ class ServerPackService @Autowired constructor( * @return List ServerPackModel. Returns a list of all available server packs. * @author Griefed */ - fun getServerPacks(): List<ServerPackView> { - return serverPackRepository.findAllProjectedBy(Sort.by(Sort.Direction.DESC, "dateCreated")) + fun getServerPacks(): List<ServerPack> { + return serverPackRepository.findAll(Sort.by(Sort.Direction.DESC, "dateCreated")) } /** @@ -178,7 +176,7 @@ class ServerPackService @Autowired constructor( return storage.load(id) } - fun getServerPackView(id: Int): Optional<ServerPackView> { - return serverPackRepository.findProjectedById(id) + fun getServerPackView(id: Int): Optional<ServerPack> { + return serverPackRepository.findById(id) } } diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ClientMod.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientMod.kt similarity index 96% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ClientMod.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientMod.kt index d14a4fdd85d875b24679fc1da077e5ef08860ef4..0b0ee7c3c9f200751f64532549beb3384183a96a 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ClientMod.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientMod.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.serverpack.customizing import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ClientModRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientModRepository.kt similarity index 90% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ClientModRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientModRepository.kt index f110392e9066b32d6662816102d8278e8d174913..525af8c641aa8e0ea1be9bed067e706da04f1657 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ClientModRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ClientModRepository.kt @@ -17,9 +17,8 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.customizing +package de.griefed.serverpackcreator.web.serverpack.customizing -import de.griefed.serverpackcreator.web.data.ClientMod import org.springframework.stereotype.Repository @Repository diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ModRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ModRepository.kt similarity index 94% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ModRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ModRepository.kt index dcc2927b9f6580558259f7673997ec9f12239615..2053b68723657599912eeeec36610549b92fa3e8 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/ModRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/ModRepository.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.customizing +package de.griefed.serverpackcreator.web.serverpack.customizing import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.repository.NoRepositoryBean diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/RunConfiguration.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/RunConfiguration.kt similarity index 98% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/RunConfiguration.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/RunConfiguration.kt index 3452ba070e60b39edb61bf3c739ef1f9c659ee4c..175beadd22ea876ae4597bb7ff91dd4d07f1cdff 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/RunConfiguration.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/RunConfiguration.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.serverpack.customizing import jakarta.persistence.* diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/StartArgument.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgument.kt similarity index 92% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/StartArgument.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgument.kt index bd4e6b744cc8d49f2520d27c78d6d512ebcde26d..c762ec8e79d121041cdbfc9df248f766ddd1058a 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/StartArgument.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgument.kt @@ -1,4 +1,4 @@ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.serverpack.customizing import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/StartArgumentRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgumentRepository.kt similarity index 91% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/StartArgumentRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgumentRepository.kt index 7610bb23c404e9536109f1c3a5515fcf37cfc365..890ee6676a516b979ee607b72d5ca56298bb5a57 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/StartArgumentRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/StartArgumentRepository.kt @@ -17,9 +17,8 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.customizing +package de.griefed.serverpackcreator.web.serverpack.customizing -import de.griefed.serverpackcreator.web.data.StartArgument import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository import java.util.* diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/WhitelistedMod.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedMod.kt similarity index 96% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/WhitelistedMod.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedMod.kt index 1d7daa956753ec90de317584d2e0ac84d11c4541..e21e5740c951cf588909893038471fe3054db578 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/WhitelistedMod.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedMod.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.serverpack.customizing import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/WhitelistedModRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedModRepository.kt similarity index 89% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/WhitelistedModRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedModRepository.kt index 47f897834e489e1abb0ad1c3a0f9ce9fb3ff3152..9d5367239fcd03630700cb4c153cd9e000eda7a8 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/customizing/WhitelistedModRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/customizing/WhitelistedModRepository.kt @@ -17,9 +17,8 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.customizing +package de.griefed.serverpackcreator.web.serverpack.customizing -import de.griefed.serverpackcreator.web.data.WhitelistedMod import org.springframework.stereotype.Repository @Repository diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationController.kt similarity index 93% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationController.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationController.kt index 2a7a1aa12d5499c86336d82eb82d74c72e0c125e..5d49e91697ed50c0a7d16c027b40b18d4be742f9 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationController.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationController.kt @@ -17,9 +17,9 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.runconfiguration +package de.griefed.serverpackcreator.web.serverpack.runconfiguration -import de.griefed.serverpackcreator.web.data.RunConfiguration +import de.griefed.serverpackcreator.web.serverpack.customizing.RunConfiguration import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpHeaders import org.springframework.http.ResponseEntity diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationRepository.kt similarity index 83% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationRepository.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationRepository.kt index 150b6865dd1801c5ca4417d959a49d46300a0903..4437f240aed19c145e7ffeac4532927ecc586949 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationRepository.kt @@ -17,12 +17,12 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.runconfiguration +package de.griefed.serverpackcreator.web.serverpack.runconfiguration -import de.griefed.serverpackcreator.web.data.ClientMod -import de.griefed.serverpackcreator.web.data.RunConfiguration -import de.griefed.serverpackcreator.web.data.StartArgument -import de.griefed.serverpackcreator.web.data.WhitelistedMod +import de.griefed.serverpackcreator.web.serverpack.customizing.ClientMod +import de.griefed.serverpackcreator.web.serverpack.customizing.RunConfiguration +import de.griefed.serverpackcreator.web.serverpack.customizing.StartArgument +import de.griefed.serverpackcreator.web.serverpack.customizing.WhitelistedMod import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository import java.util.* diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationService.kt similarity index 91% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationService.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationService.kt index 5d9e12139e5c6f0ff35c2918a7b647ef8cc9d73e..64b8414c13a900a628f7441310db6bd866e110e1 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/runconfiguration/RunConfigurationService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/serverpack/runconfiguration/RunConfigurationService.kt @@ -17,16 +17,10 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.runconfiguration +package de.griefed.serverpackcreator.web.serverpack.runconfiguration import de.griefed.serverpackcreator.api.ApiProperties -import de.griefed.serverpackcreator.web.customizing.ClientModRepository -import de.griefed.serverpackcreator.web.customizing.StartArgumentRepository -import de.griefed.serverpackcreator.web.customizing.WhitelistedModRepository -import de.griefed.serverpackcreator.web.data.ClientMod -import de.griefed.serverpackcreator.web.data.RunConfiguration -import de.griefed.serverpackcreator.web.data.StartArgument -import de.griefed.serverpackcreator.web.data.WhitelistedMod +import de.griefed.serverpackcreator.web.serverpack.customizing.* import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Service import java.util.* @@ -131,14 +125,16 @@ class RunConfigurationService @Autowired constructor( clientMods: MutableList<ClientMod>, whitelistedMods: MutableList<WhitelistedMod> ): RunConfiguration { - return save(RunConfiguration( + return save( + RunConfiguration( minecraftVersion = minecraftVersion, modloader = modloader, modloaderVersion = modloaderVersion, startArgs = startArgs, clientMods = clientMods, whitelistedMods = whitelistedMods - )) + ) + ) } fun load(id: Int): Optional<RunConfiguration> { diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/StatsController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/StatsController.kt new file mode 100644 index 0000000000000000000000000000000000000000..2221c3f939a174eddebbaab3c536cd8b060b53e2 --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/StatsController.kt @@ -0,0 +1,107 @@ +package de.griefed.serverpackcreator.web.stats + +import de.griefed.serverpackcreator.web.modpack.ModPackDownload +import de.griefed.serverpackcreator.web.serverpack.ServerPackDownload +import de.griefed.serverpackcreator.web.stats.creation.AmountPerDate +import de.griefed.serverpackcreator.web.stats.creation.CreationStatsService +import de.griefed.serverpackcreator.web.stats.disk.DiskStatsData +import de.griefed.serverpackcreator.web.stats.disk.DiskStatsService +import de.griefed.serverpackcreator.web.stats.downloads.DownloadStatsService +import de.griefed.serverpackcreator.web.stats.packs.AmountStatsData +import de.griefed.serverpackcreator.web.stats.packs.AmountStatsService +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.http.HttpHeaders +import org.springframework.http.ResponseEntity +import org.springframework.util.MimeTypeUtils +import org.springframework.web.bind.annotation.* + +@RestController +@CrossOrigin(origins = ["*"]) +@RequestMapping("/api/v2/stats") +class StatsController @Autowired constructor( + private val downloadStatsService: DownloadStatsService, + private val diskStatsService: DiskStatsService, + private val creationStatsService: CreationStatsService, + private val amountStatsService: AmountStatsService +) { + + @GetMapping("/downloads/modpacks") + @ResponseBody + fun modPackDownloads(): ResponseEntity<List<AmountPerDate>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.modPackDownloads() + ) + } + + @GetMapping("/downloads/serverpacks") + @ResponseBody + fun serverPackDownloads(): ResponseEntity<List<AmountPerDate>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.serverPackDownloads() + ) + } + + @GetMapping("/downloads/modpacks/history") + @ResponseBody + fun modPackDownloadHistory(): ResponseEntity<List<ModPackDownload>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.allModPackDownloadsHistory() + ) + } + + @GetMapping("/downloads/serverpacks/history") + @ResponseBody + fun serverPackDownloadHistory(): ResponseEntity<List<ServerPackDownload>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.allServerPackDownloadsHistory() + ) + } + + @GetMapping("/downloads/modpacks/{modPackID}") + @ResponseBody + fun allDownloadsForModPack(@PathVariable modPackID: Int): ResponseEntity<List<ModPackDownload>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.downloadHistoryForModPack(modPackID) + ) + } + + @GetMapping("/downloads/modpacks/{serverPackID}") + @ResponseBody + fun allDownloadsForServerPack(@PathVariable serverPackID: Int): ResponseEntity<List<ServerPackDownload>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + downloadStatsService.downloadHistoryForServerPack(serverPackID) + ) + } + + @GetMapping("/disk") + @ResponseBody + fun diskStats(): ResponseEntity<List<DiskStatsData>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + diskStatsService.stats + ) + } + + @GetMapping("/creation/modpacks") + @ResponseBody + fun modPacksCreationTimes(): ResponseEntity<List<AmountPerDate>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + creationStatsService.getModpackTimeStamps() + ) + } + + @GetMapping("/creation/serverpacks") + @ResponseBody + fun serverPacksCreationTimes(): ResponseEntity<List<AmountPerDate>> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + creationStatsService.getServerPackTimeStamps() + ) + } + + @GetMapping("/packs") + @ResponseBody + fun amountStats(): ResponseEntity<AmountStatsData> { + return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE).body( + amountStatsService.stats + ) + } +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/AmountPerDate.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/AmountPerDate.kt new file mode 100644 index 0000000000000000000000000000000000000000..751387b71ec9e5d60c3b6da8b2bffe717389012e --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/AmountPerDate.kt @@ -0,0 +1,3 @@ +package de.griefed.serverpackcreator.web.stats.creation + +data class AmountPerDate(val creations: Int, val date: String) diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/CreationStatsService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/CreationStatsService.kt new file mode 100644 index 0000000000000000000000000000000000000000..4d0fe4e827c7ca3c1610b8dec2e542853191306c --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/creation/CreationStatsService.kt @@ -0,0 +1,50 @@ +package de.griefed.serverpackcreator.web.stats.creation + +import de.griefed.serverpackcreator.web.modpack.ModPackService +import de.griefed.serverpackcreator.web.serverpack.ServerPackService +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service +import java.time.LocalDateTime + +@Service +class CreationStatsService @Autowired constructor( + private val serverPackService: ServerPackService, + private val modpackService: ModPackService +) { + + fun getModpackTimeStamps(): List<AmountPerDate> { + val dates = mutableListOf<LocalDateTime>() + for (pack in modpackService.getModpacks()) { + dates.add(pack.dateCreated!!.toLocalDateTime()) + } + return count(dates) + } + + fun getServerPackTimeStamps(): List<AmountPerDate> { + val dates = mutableListOf<LocalDateTime>() + for (pack in serverPackService.getServerPacks()) { + dates.add(pack.dateCreated!!.toLocalDateTime()) + } + return count(dates) + } + + private fun count(dates: List<LocalDateTime>): List<AmountPerDate> { + val creations = mutableListOf<AmountPerDate>() + for (date in dates) { + //skip if the date was already checked + if (creations.any { it.date == dateToString(date) }) { + continue + } + val dateStr = dateToString(date) + val count = dates.count { stamp -> + dateToString(stamp) == dateStr + } + creations.add(AmountPerDate(count, dateStr)) + } + return creations + } + + private fun dateToString(date: LocalDateTime): String { + return "${date.year}-${date.monthValue}-${date.dayOfMonth}" + } +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsData.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsData.kt new file mode 100644 index 0000000000000000000000000000000000000000..32e44f06a26aded2adfc5eb5ea5cf690844250b6 --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsData.kt @@ -0,0 +1,10 @@ +package de.griefed.serverpackcreator.web.stats.disk + +data class DiskStatsData( + val identifier: String, + val dirName: String, + val rootName: String, + val totalSpace: Long, + val freeSpace: Long, + val usedBySPC: Long +) diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsService.kt new file mode 100644 index 0000000000000000000000000000000000000000..a6e1855a0802941a84718cdc0faa9132e04ebffa --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/disk/DiskStatsService.kt @@ -0,0 +1,59 @@ +package de.griefed.serverpackcreator.web.stats.disk + +import de.griefed.serverpackcreator.api.ApiProperties +import de.griefed.serverpackcreator.api.utilities.common.size +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service +import java.io.File +import java.util.* + +@Service +class DiskStatsService @Autowired constructor( + private val apiProperties: ApiProperties +) { + val stats: MutableList<DiskStatsData> = mutableListOf() + + init { + val task = object : TimerTask() { + override fun run() { + refreshStats() + } + } + val timer = Timer("DiskStatsTimer") + timer.scheduleAtFixedRate(task, 0, 300000L) + } + + private fun refreshStats() { + stats.clear() + stats.addAll(computeStats()) + } + + private fun computeStats(): List<DiskStatsData> { + val stats = mutableListOf<DiskStatsData>() + stats.add(computeStatsFromDirectory(apiProperties.homeDirectory, "Home")) + stats.add(computeStatsFromDirectory(apiProperties.modpacksDirectory, "ModPacks")) + stats.add(computeStatsFromDirectory(apiProperties.serverPacksDirectory, "Server Packs")) + stats.add(computeStatsFromDirectory(apiProperties.propertiesDirectory, "Properties")) + stats.add(computeStatsFromDirectory(apiProperties.configsDirectory, "Configs")) + stats.add(computeStatsFromDirectory(apiProperties.serverFilesDirectory, "Server Files")) + stats.add(computeStatsFromDirectory(apiProperties.iconsDirectory, "Icons")) + stats.add(computeStatsFromDirectory(apiProperties.pluginsDirectory, "Plugins")) + stats.add(computeStatsFromDirectory(apiProperties.pluginsConfigsDirectory, "Plugin Configs")) + stats.add(computeStatsFromDirectory(apiProperties.manifestsDirectory, "Manifests")) + stats.add(computeStatsFromDirectory(apiProperties.minecraftServerManifestsDirectory, "MC Server Manifests")) + stats.add(computeStatsFromDirectory(apiProperties.installerCacheDirectory, "Installer Cache")) + stats.add(computeStatsFromDirectory(apiProperties.logsDirectory, "Logs")) + stats.add(computeStatsFromDirectory(apiProperties.tomcatBaseDirectory, "Tomcat Base")) + stats.add(computeStatsFromDirectory(apiProperties.tomcatLogsDirectory, "Tomcat Logs")) + stats.add(computeStatsFromDirectory(apiProperties.workDirectory, "Work")) + stats.add(computeStatsFromDirectory(apiProperties.tempDirectory, "Temp")) + return stats + } + + private fun computeStatsFromDirectory(directory: File, identifier: String): DiskStatsData { + val root: File = directory.absoluteFile.toPath().root.toFile() + val directorySize = directory.size() + val stats = DiskStatsData(identifier, directory.name, root.toString(), root.totalSpace, root.freeSpace, directorySize.toLong()) + return stats + } +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/downloads/DownloadStatsService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/downloads/DownloadStatsService.kt new file mode 100644 index 0000000000000000000000000000000000000000..6af445281088b632906ba2331ca5a433024dcb2e --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/downloads/DownloadStatsService.kt @@ -0,0 +1,93 @@ +package de.griefed.serverpackcreator.web.stats.downloads + +import de.griefed.serverpackcreator.web.modpack.ModPack +import de.griefed.serverpackcreator.web.modpack.ModPackDownload +import de.griefed.serverpackcreator.web.modpack.ModPackDownloadRepository +import de.griefed.serverpackcreator.web.modpack.ModPackRepository +import de.griefed.serverpackcreator.web.serverpack.ServerPack +import de.griefed.serverpackcreator.web.serverpack.ServerPackDownload +import de.griefed.serverpackcreator.web.serverpack.ServerPackDownloadRepository +import de.griefed.serverpackcreator.web.serverpack.ServerPackRepository +import de.griefed.serverpackcreator.web.stats.creation.AmountPerDate +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service +import java.time.LocalDateTime + +@Service +class DownloadStatsService @Autowired constructor( + private val modPackDownloadRepository: ModPackDownloadRepository, + private val serverPackDownloadRepository: ServerPackDownloadRepository, + private val modpackRepository: ModPackRepository, + private val serverPackRepository: ServerPackRepository, +) { + + fun modPackDownloads(): List<AmountPerDate> { + val dates = mutableListOf<LocalDateTime>() + for (download in modPackDownloadRepository.findAll().filter { it.downloadedAt != null }) { + dates.add(download.downloadedAt!!.toLocalDateTime()) + } + return count(dates) + } + + fun serverPackDownloads(): List<AmountPerDate> { + val dates = mutableListOf<LocalDateTime>() + for (download in serverPackDownloadRepository.findAll().filter { it.downloadedAt != null }) { + dates.add(download.downloadedAt!!.toLocalDateTime()) + } + return count(dates) + } + + private fun count(dates: List<LocalDateTime>): List<AmountPerDate> { + val creations = mutableListOf<AmountPerDate>() + for (date in dates) { + //skip if the date was already checked + if (creations.any { it.date == dateToString(date) }) { + continue + } + val dateStr = dateToString(date) + val count = dates.count { stamp -> + dateToString(stamp) == dateStr + } + creations.add(AmountPerDate(count, dateStr)) + } + return creations + } + + private fun dateToString(date: LocalDateTime): String { + return "${date.year}-${date.monthValue}-${date.dayOfMonth}" + } + + fun allModPackDownloadsHistory(): List<ModPackDownload> { + return modPackDownloadRepository.findAll() + } + + fun allServerPackDownloadsHistory(): List<ServerPackDownload> { + return serverPackDownloadRepository.findAll() + } + + fun downloadHistoryForModPack(modPackID: Int): List<ModPackDownload> { + val pack = modpackRepository.findById(modPackID) + return if (pack.isPresent) { + downloadHistoryForModPack(pack.get()) + } else { + listOf() + } + } + + fun downloadHistoryForModPack(modPack: ModPack): List<ModPackDownload> { + return modPackDownloadRepository.findAllByModPack(modPack) + } + + fun downloadHistoryForServerPack(serverPackID: Int): List<ServerPackDownload> { + val pack = serverPackRepository.findById(serverPackID) + return if (pack.isPresent) { + downloadHistoryForServerPack(pack.get()) + } else { + listOf() + } + } + + fun downloadHistoryForServerPack(serverPack: ServerPack): List<ServerPackDownload> { + return serverPackDownloadRepository.findAllByServerPack(serverPack) + } +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsData.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsData.kt new file mode 100644 index 0000000000000000000000000000000000000000..07b85ff16ef4a7df71796858c736496b1b7ea717 --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsData.kt @@ -0,0 +1,3 @@ +package de.griefed.serverpackcreator.web.stats.packs + +data class AmountStatsData(val modPacks: Int, val serverPacks: Int, val runConfigurations: Int) diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsService.kt new file mode 100644 index 0000000000000000000000000000000000000000..f0587c8f3cbb3e9849ffd8b8a41d96a5eace8f51 --- /dev/null +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/stats/packs/AmountStatsService.kt @@ -0,0 +1,19 @@ +package de.griefed.serverpackcreator.web.stats.packs + +import de.griefed.serverpackcreator.web.modpack.ModPackRepository +import de.griefed.serverpackcreator.web.serverpack.ServerPackRepository +import de.griefed.serverpackcreator.web.serverpack.runconfiguration.RunConfigurationRepository +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service + +@Service +class AmountStatsService @Autowired constructor( + private val serverPackRepository: ServerPackRepository, + private val modpackRepository: ModPackRepository, + private val runConfigurationRepository: RunConfigurationRepository +) { + val stats: AmountStatsData + get() { + return AmountStatsData(modpackRepository.findAll().size, serverPackRepository.findAll().size, runConfigurationRepository.findAll().size) + } +} \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/FileSystemStorageService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/FileSystemStorageService.kt index 7615100e3d381c0303a374b7e2776c762c33d90b..efb70ac6559450d119c2cb7c9341ab1b0814bdd4 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/FileSystemStorageService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/FileSystemStorageService.kt @@ -20,8 +20,6 @@ package de.griefed.serverpackcreator.web.storage import de.griefed.serverpackcreator.api.utilities.common.size -import de.griefed.serverpackcreator.web.data.SavedFile -import org.apache.logging.log4j.kotlin.KotlinLogger import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.bouncycastle.util.encoders.Hex import org.springframework.util.FileSystemUtils @@ -37,7 +35,7 @@ class FileSystemStorageService(private val rootLocation: Path, private val messa constructor(rootLocation: Path) : this(rootLocation, MessageDigest.getInstance("SHA-256")) - private val logger: KotlinLogger = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } @Throws(StorageException::class) fun store(file: MultipartFile): Optional<SavedFile> { @@ -52,7 +50,7 @@ class FileSystemStorageService(private val rootLocation: Path, private val messa throw StorageException("Cannot store file outside current directory.") } file.transferTo(destinationFile) - logger.debug("Stored file to $destinationFile.") + log.debug("Stored file to $destinationFile.") val sha256 = String(Hex.encode(messageDigestInstance.digest(destinationFile.toFile().readBytes()))) return Optional.of( SavedFile( @@ -73,7 +71,7 @@ class FileSystemStorageService(private val rootLocation: Path, private val messa return if (file != null && file.exists()) { Optional.of(file) } else { - logger.warn("Filesystem does not contain a file for $id.") + log.warn("Filesystem does not contain a file for $id.") Optional.empty() } } diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/SavedFile.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/SavedFile.kt similarity index 95% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/SavedFile.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/SavedFile.kt index a0f9cd5c4857e0c21a70b59362666592360122b8..4422c358db9c16beb494bb92a4c3cbce4d2eead7 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/SavedFile.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/SavedFile.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.storage import java.nio.file.Path diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/StorageSystem.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/StorageSystem.kt index b7e1c6498b8aca76a2c464b3573823da87cb43a8..0022361929cfb5c18696359b3fe8aad0decb511a 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/StorageSystem.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/storage/StorageSystem.kt @@ -19,8 +19,6 @@ */ package de.griefed.serverpackcreator.web.storage -import de.griefed.serverpackcreator.web.data.SavedFile -import org.apache.logging.log4j.kotlin.KotlinLogger import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.springframework.web.multipart.MultipartFile import java.io.File @@ -29,7 +27,7 @@ import java.security.MessageDigest import java.util.* class StorageSystem(private val fileSystemStorageService: FileSystemStorageService) { - private val logger: KotlinLogger = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } constructor(rootLocation: Path, messageDigest: MessageDigest) : this( FileSystemStorageService(rootLocation, messageDigest) @@ -48,7 +46,7 @@ class StorageSystem(private val fileSystemStorageService: FileSystemStorageServi if (fileSys.isPresent) { return fileSys } - logger.error("File with ID $id could not be found.") + log.error("File with ID $id could not be found.") return Optional.empty() } diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ErrorEntry.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorEntry.kt similarity index 97% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ErrorEntry.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorEntry.kt index 01fb1d760c7877092bdab2725f4ec11d437f60ca..c200cef513128492e41c5b74be44fba08de04b5a 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/ErrorEntry.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorEntry.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.task import jakarta.persistence.Column import jakarta.persistence.Entity diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorRepository.kt index 7ec62647eead827ec2e70b0a941d8ac40675636e..55e03ab2c0e4efec99996a2528f386f2b9e459e9 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/ErrorRepository.kt @@ -19,7 +19,6 @@ */ package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.data.ErrorEntry import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository import java.util.* diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventController.kt index 8d715e00c21f3ef462481298542403579966e0c3..13f4b2391013805ab1c2b27464996e70e18a7f22 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventController.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventController.kt @@ -19,8 +19,7 @@ */ package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.data.QueueEvent -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPackStatus import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpHeaders import org.springframework.http.ResponseEntity @@ -55,7 +54,7 @@ class EventController @Autowired constructor(private val eventService: EventServ @GetMapping("/status/{status:[A-Z]+}", produces = ["application/json"]) @ResponseBody - fun getStatusEvents(@PathVariable status: ModpackStatus): ResponseEntity<List<QueueEvent>> { + fun getStatusEvents(@PathVariable status: ModPackStatus): ResponseEntity<List<QueueEvent>> { return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE) .body(eventService.loadAllByStatus(status)) } diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventService.kt index fa7ce25b850536c7082821b1e82e41262dfe43fd..017d0d4698577b7eed7f653dbdeccc30663c4a73 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/EventService.kt @@ -19,9 +19,7 @@ */ package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.data.ErrorEntry -import de.griefed.serverpackcreator.web.data.QueueEvent -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPackStatus import org.springframework.beans.factory.annotation.Autowired import org.springframework.data.domain.Sort import org.springframework.stereotype.Service @@ -35,7 +33,7 @@ class EventService @Autowired constructor( fun submit( modPackId: Int?, serverPackId: Int?, - status: ModpackStatus?, + status: ModPackStatus?, message: String, errors: List<String>? = null ) { @@ -71,7 +69,7 @@ class EventService @Autowired constructor( return queueEventRepository.findAllByServerPackId(serverPackId) } - fun loadAllByStatus(status: ModpackStatus): MutableList<QueueEvent> { + fun loadAllByStatus(status: ModPackStatus): MutableList<QueueEvent> { return queueEventRepository.findAllByStatus(status) } } \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/QueueEvent.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEvent.kt similarity index 94% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/QueueEvent.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEvent.kt index c93424d5cbb765bbc2d51e5f5affecaaff0f3c39..3ba7a7b81092c6ae081d5e02d708243a345d5c0e 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/QueueEvent.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEvent.kt @@ -17,9 +17,9 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPackStatus import jakarta.persistence.* import org.hibernate.annotations.CreationTimestamp import java.sql.Timestamp @@ -39,7 +39,7 @@ class QueueEvent() { var serverPackId: Int? = null @Column - var status: ModpackStatus? = null + var status: ModPackStatus? = null @Column var message: String = "" @@ -54,7 +54,7 @@ class QueueEvent() { constructor( modPackId: Int, serverPackId: Int?, - status: ModpackStatus?, + status: ModPackStatus?, message: String, timestamp: Timestamp?, errors: MutableList<ErrorEntry> diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEventRepository.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEventRepository.kt index 42ef50b9475eddb630034e5f8b0bbfde9847783a..2936678eb8961ce6f467bc640df9585ffe7a573d 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEventRepository.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/QueueEventRepository.kt @@ -19,8 +19,7 @@ */ package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.data.QueueEvent -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPackStatus import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository @@ -28,5 +27,5 @@ import org.springframework.stereotype.Repository interface QueueEventRepository : JpaRepository<QueueEvent, Int> { fun findAllByModPackId(modPackId: Int): MutableList<QueueEvent> fun findAllByServerPackId(serverPackId: Int): MutableList<QueueEvent> - fun findAllByStatus(status: ModpackStatus): MutableList<QueueEvent> + fun findAllByStatus(status: ModPackStatus): MutableList<QueueEvent> } \ No newline at end of file diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskDetail.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskDetail.kt index bf60871a59304a87ecd5c0bb1f47408cf1da1802..152941e3682e924d87c99cf723de6aee2448ad67 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskDetail.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskDetail.kt @@ -20,9 +20,9 @@ package de.griefed.serverpackcreator.web.task import de.griefed.serverpackcreator.api.PackConfig -import de.griefed.serverpackcreator.web.data.ModPack -import de.griefed.serverpackcreator.web.data.RunConfiguration -import de.griefed.serverpackcreator.web.data.ServerPack +import de.griefed.serverpackcreator.web.modpack.ModPack +import de.griefed.serverpackcreator.web.serverpack.ServerPack +import de.griefed.serverpackcreator.web.serverpack.customizing.RunConfiguration import java.io.File class TaskDetail(val modpack: ModPack) { diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionService.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionService.kt index ff99d281bfa7c739611c94364c85c01c5e736a6d..a513e5c8de57d83fecae22f9c3de238dcbeb18ea 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionService.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionService.kt @@ -19,7 +19,7 @@ */ package de.griefed.serverpackcreator.web.task -import de.griefed.serverpackcreator.web.data.ModPack +import de.griefed.serverpackcreator.web.modpack.ModPack interface TaskExecutionService { fun submitTaskInQueue(taskDetail: TaskDetail) diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionServiceImpl.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionServiceImpl.kt index 705ab089462a5f844108b16ed082cab6dcc5c8c1..48795ad878853f7638f3ba95e4cf39328ebc26d1 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionServiceImpl.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/task/TaskExecutionServiceImpl.kt @@ -23,14 +23,12 @@ import de.griefed.serverpackcreator.api.ConfigurationHandler import de.griefed.serverpackcreator.api.ServerPackHandler import de.griefed.serverpackcreator.api.utilities.common.deleteQuietly import de.griefed.serverpackcreator.api.utilities.common.size -import de.griefed.serverpackcreator.web.data.ModPack -import de.griefed.serverpackcreator.web.data.ServerPack -import de.griefed.serverpackcreator.web.modpack.ModpackService -import de.griefed.serverpackcreator.web.modpack.ModpackSource -import de.griefed.serverpackcreator.web.modpack.ModpackStatus +import de.griefed.serverpackcreator.web.modpack.ModPack +import de.griefed.serverpackcreator.web.modpack.ModPackService +import de.griefed.serverpackcreator.web.modpack.ModPackStatus +import de.griefed.serverpackcreator.web.serverpack.ServerPack import de.griefed.serverpackcreator.web.serverpack.ServerPackService import de.griefed.serverpackcreator.web.storage.StorageException -import org.apache.logging.log4j.kotlin.KotlinLogger import org.apache.logging.log4j.kotlin.cachedLoggerOf import org.bouncycastle.util.encoders.Hex import org.springframework.beans.factory.annotation.Autowired @@ -42,7 +40,7 @@ import java.util.concurrent.LinkedBlockingDeque @Service class TaskExecutionServiceImpl @Autowired constructor( - private val modpackService: ModpackService, + private val modpackService: ModPackService, private val serverPackService: ServerPackService, private val configurationHandler: ConfigurationHandler, private val serverPackHandler: ServerPackHandler, @@ -50,7 +48,7 @@ class TaskExecutionServiceImpl @Autowired constructor( private val eventService: EventService ) : TaskExecutionService { - private val logger: KotlinLogger = cachedLoggerOf(this.javaClass) + private val log by lazy { cachedLoggerOf(this.javaClass) } private val blockingQueue: BlockingQueue<TaskDetail> = LinkedBlockingDeque() init { @@ -65,21 +63,21 @@ class TaskExecutionServiceImpl @Autowired constructor( while (true) { try { if (!blockingQueue.isEmpty()) { - logger.info("Processing Next Task from Queue") + log.info("Processing Next Task from Queue") val taskDetail = blockingQueue.take() processTask(taskDetail) } else { Thread.sleep(1000) } } catch (e: InterruptedException) { - logger.error("There was an error while processing ", e) + log.error("There was an error while processing ", e) Thread.currentThread().interrupt() } } } thread.name = "GenerationThread" thread.start() - logger.info("Worker Thread ${thread.name} initiated successfully") + log.info("Worker Thread ${thread.name} initiated successfully") } /** @@ -96,19 +94,12 @@ class TaskExecutionServiceImpl @Autowired constructor( } private fun processTask(taskDetail: TaskDetail) { - logger.info("Running on Thread ${Thread.currentThread().name}") + log.info("Running on Thread ${Thread.currentThread().name}") when (taskDetail.modpack.status) { - ModpackStatus.QUEUED -> checkModpack(taskDetail) - ModpackStatus.CHECKED -> { - if (taskDetail.modpack.source == ModpackSource.ZIP) { - generateFromZip(taskDetail) - } else { - generateFromModrinth(taskDetail.modpack) - } - } - - ModpackStatus.GENERATED, ModpackStatus.ERROR -> finishing(taskDetail) - else -> logger.error("${taskDetail.modpack.status} does not merit unique processing.") + ModPackStatus.QUEUED -> checkModpack(taskDetail) + ModPackStatus.CHECKED -> generateFromZip(taskDetail) + ModPackStatus.GENERATED, ModPackStatus.ERROR -> finishing(taskDetail) + else -> log.error("${taskDetail.modpack.status} does not merit unique processing.") } } @@ -130,16 +121,16 @@ class TaskExecutionServiceImpl @Autowired constructor( ) } Runtime.getRuntime().gc() - logger.info("Remaining tasks in queue: ${getQueueSize()}") + log.info("Remaining tasks in queue: ${getQueueSize()}") } private fun checkModpack(taskDetail: TaskDetail) { - logger.info("Performing Modpack check for modpack : ${taskDetail.modpack.id}") + log.info("Performing Modpack check for modpack : ${taskDetail.modpack.id}") val zipFile = modpackService.getModPackArchive(taskDetail.modpack) if (zipFile.isEmpty) { throw StorageException("ModPack-file for ${taskDetail.modpack.id} not found.") } - taskDetail.modpack.status = ModpackStatus.CHECKING + taskDetail.modpack.status = ModPackStatus.CHECKING eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -151,8 +142,13 @@ class TaskExecutionServiceImpl @Autowired constructor( taskDetail.modPackFile = File(packConfig.modpackDir) val check = configurationHandler.checkConfiguration(packConfig) if (check.allChecksPassed) { - taskDetail.modpack.status = ModpackStatus.CHECKED + taskDetail.modpack.status = ModPackStatus.CHECKED taskDetail.packConfig = packConfig + if (packConfig.projectID != null && packConfig.versionID != null) { + taskDetail.modpack.projectID = packConfig.projectID!! + taskDetail.modpack.versionID = packConfig.versionID!! + taskDetail.modpack.source = packConfig.source + } eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -160,7 +156,7 @@ class TaskExecutionServiceImpl @Autowired constructor( "ModPack checks passed." ) } else { - taskDetail.modpack.status = ModpackStatus.ERROR + taskDetail.modpack.status = ModPackStatus.ERROR eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -173,15 +169,9 @@ class TaskExecutionServiceImpl @Autowired constructor( submitTaskInQueue(taskDetail) } - private fun generateFromModrinth(modpack: ModPack) { - logger.info("Server Pack will be generated from Modrinth modpack : ${modpack.id}") - logger.warn("Modrinth API will be available in Milestone 6.") - /*logger.info("Server Pack generated.")*/ - } - private fun generateFromZip(taskDetail: TaskDetail) { - logger.info("Server Pack will be generated from uploaded, zipped, modpack : ${taskDetail.modpack.id}") - taskDetail.modpack.status = ModpackStatus.GENERATING + log.info("Server Pack will be generated from uploaded, zipped, modpack : ${taskDetail.modpack.id}") + taskDetail.modpack.status = ModPackStatus.GENERATING eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -206,7 +196,7 @@ class TaskExecutionServiceImpl @Autowired constructor( serverPack.sha256 = String(Hex.encode(messageDigestInstance.digest(serverPackFile.readBytes()))) serverPackService.saveServerPack(serverPack) taskDetail.modpack.serverPacks.addLast(serverPack) - taskDetail.modpack.status = ModpackStatus.GENERATED + taskDetail.modpack.status = ModPackStatus.GENERATED eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -218,7 +208,7 @@ class TaskExecutionServiceImpl @Autowired constructor( File(destination).deleteQuietly() File(taskDetail.packConfig!!.modpackDir).deleteQuietly() } else { - taskDetail.modpack.status = ModpackStatus.ERROR + taskDetail.modpack.status = ModPackStatus.ERROR eventService.submit( taskDetail.modpack.id, taskDetail.serverPack?.id, @@ -228,7 +218,7 @@ class TaskExecutionServiceImpl @Autowired constructor( } modpackService.saveModpack(taskDetail.modpack) submitTaskInQueue(taskDetail) - logger.info("Server Pack generated.") + log.info("Server Pack generated.") } /** diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/VersionMetaResponse.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionMetaResponse.kt similarity index 95% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/VersionMetaResponse.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionMetaResponse.kt index 40b0c49b16a6f6e7ff4dbb9b73d71aef3175fd09..7caf3beb97cbdeee72dd5f9c5eed14a5be502d23 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/data/VersionMetaResponse.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionMetaResponse.kt @@ -17,7 +17,7 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web.data +package de.griefed.serverpackcreator.web.versions class VersionMetaResponse( val minecraft: List<String>, diff --git a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/VersionsController.kt b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionsController.kt similarity index 98% rename from serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/VersionsController.kt rename to serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionsController.kt index f989707e051f21eb7cfef91c8909d19b426c4fea..bb7f61b4ecbadc4b44e75f55bef1651cd5033c21 100644 --- a/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/VersionsController.kt +++ b/serverpackcreator-web/src/main/kotlin/de/griefed/serverpackcreator/web/versions/VersionsController.kt @@ -17,10 +17,9 @@ * * The full license can be found at https:github.com/Griefed/ServerPackCreator/blob/main/LICENSE */ -package de.griefed.serverpackcreator.web +package de.griefed.serverpackcreator.web.versions import de.griefed.serverpackcreator.api.versionmeta.VersionMeta -import de.griefed.serverpackcreator.web.data.VersionMetaResponse import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpHeaders import org.springframework.http.ResponseEntity diff --git a/serverpackcreator-web/src/main/resources/application.properties b/serverpackcreator-web/src/main/resources/application.properties index 9381d26b4f61a1d2582f8ea10fc1d60f9b7e933c..c8e7adebd3d1e4db680a38baae23da65298592be 100644 --- a/serverpackcreator-web/src/main/resources/application.properties +++ b/serverpackcreator-web/src/main/resources/application.properties @@ -26,4 +26,4 @@ spring.transaction.default-timeout=3600 spring.servlet.multipart.max-file-size=5000MB spring.servlet.multipart.max-request-size=5000MB spring.jpa.properties.hibernate.jdbc.use_streams_for_binary=true -spring.config.import=classpath:/application.properties,classpath:/serverpackcreator.properties,optional:file:./serverpackcreator.properties \ No newline at end of file +spring.config.import=classpath:/application.properties,classpath:/serverpackcreator.properties,optional:file:./serverpackcreator.properties,optional:file:./overrides.properties \ No newline at end of file diff --git a/serverpackcreator-web/src/test/kotlin/de/griefed/serverpackcreator/web/WebServiceTest.kt b/serverpackcreator-web/src/test/kotlin/de/griefed/serverpackcreator/web/WebServiceTest.kt index 0a96e248d2af082d737be277ff93b284a429ce22..6a19de46bedd82ddfa81645b78e1ea0068480cb9 100644 --- a/serverpackcreator-web/src/test/kotlin/de/griefed/serverpackcreator/web/WebServiceTest.kt +++ b/serverpackcreator-web/src/test/kotlin/de/griefed/serverpackcreator/web/WebServiceTest.kt @@ -14,7 +14,7 @@ class WebServiceTest internal constructor() { ApiWrapper.api( File( File("").absoluteFile.parent, - "serverpackcreator-api/src/jvmTest/resources/serverpackcreator.properties" + "serverpackcreator-api/src/test/resources/serverpackcreator.properties" ) ) ) diff --git a/serverpackcreator-web/src/test/resources/log4j2.xml b/serverpackcreator-web/src/test/resources/log4j2.xml index 318b1c6b673cd736f07cf4510ad882550437c920..d3fa2dcbf2d53b760b1d6444bb2d4d48e83e9414 100644 --- a/serverpackcreator-web/src/test/resources/log4j2.xml +++ b/serverpackcreator-web/src/test/resources/log4j2.xml @@ -35,22 +35,6 @@ <DefaultRolloverStrategy max="5" /> </RollingFile> - <RollingFile name="InstallerLogger" fileName="${log-path}/modloader_installer.log" filePattern="${archive}/modloader_installer.log.%i"> - <PatternLayout> - <Charset> - ${charset} - </Charset> - <Pattern> - ${pattern} - </Pattern> - </PatternLayout> - <Policies> - <OnStartupTriggeringPolicy /> - <SizeBasedTriggeringPolicy size="10 MB" /> - </Policies> - <DefaultRolloverStrategy max="5" /> - </RollingFile> - <RollingFile name="PluginsLogger" fileName="${log-path}/plugins.log" filePattern="${archive}/plugins.log.%i"> <PatternLayout> <Charset> @@ -79,10 +63,6 @@ <AppenderRef ref="ApplicationLogger" level="${log-level-spc}" /> </Logger> - <Logger name="InstallerLogger" level="ALL" additivity="false"> - <AppenderRef ref="InstallerLogger" level="${log-level-spc}" /> - </Logger> - <Logger name="PluginsLogger" level="ALL" additivity="false"> <AppenderRef ref="PluginsLogger" level="${log-level-spc}" /> </Logger> diff --git a/spc.install4j b/spc.install4j new file mode 100644 index 0000000000000000000000000000000000000000..313a43ae41fc7a58779a22d9ba837b386c793629 --- /dev/null +++ b/spc.install4j @@ -0,0 +1,2313 @@ +<?xml version="1.0" encoding="UTF-8"?> +<install4j version="10.0.7" transformSequenceNumber="10"> + <directoryPresets config="./img" /> + <application name="ServerPackCreator" applicationId="3565-3228-6904-0931" mediaDir="./media" compression="9" lzmaCompression="true" commonExternalFiles="true" shrinkRuntime="false" shortName="SPC" publisher="Griefed" publisherWeb="https://serverpackcreator.de" version="${compiler:projectVersion}" allPathsRelative="true" autoSave="true" macVolumeId="521d0a10ddf6d897" javaMinVersion="21"> + <variables> + <variable name="projectDir" value="F:\GitLab\ServerPackCreator" description="Project directory of ServerPackCreator on your system" /> + <variable name="projectVersion" value="dev" description="The version with which to build this installer." /> + <variable name="projectYear" value="2024" /> + </variables> + <jreBundles jdkProviderId="Zulu" release="21/21.0.3"> + <modules> + <defaultModules set="all" /> + </modules> + </jreBundles> + </application> + <files defaultOverwriteMode="1" defaultUninstallMode="2" launcherOverwriteMode="1" defaultFileMode="755"> + <mountPoints> + <mountPoint id="26" /> + </mountPoints> + <entries> + <fileEntry mountPoint="26" file="${compiler:projectDir}/CHANGELOG.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/serverpackcreator-api/src/main/resources/log4j2.xml" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/serverpackcreator-api/src/main/resources/serverpackcreator.properties" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/CODE_OF_CONDUCT.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/CONTRIBUTING.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/HELP.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/LICENSE" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/README.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <fileEntry mountPoint="26" file="${compiler:projectDir}/SECURITY.md" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" /> + <dirEntry mountPoint="26" file="${compiler:projectDir}/serverpackcreator-app/build/libs" overwriteMode="1" fileMode="755" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="libs" excludeSuffixes="plain.jar" /> + </entries> + </files> + <launchers> + <launcher name="ServerPackCreator-GUI" id="183" excludeFromMenu="true" icnsFile="${compiler:projectDir}/img/app.icns"> + <executable name="ServerPackCreator-GUI" iconSet="true" iconFile="${compiler:projectDir}/img/icon.ico" redirectStderr="false" stderrFile="error.log${installer:sys.installationDir}/logs/run.log" stderrMode="append" stdoutFile="error.log${installer:sys.installationDir}/logs/run.log" stdoutMode="append" executableMode="gui" singleInstance="true" checkConsoleParameter="true" globalSingleInstance="true" windowsSessionSingleInstance="false"> + <versionInfo include="true" fileDescription="Create server packs from Minecraft modpacks." legalCopyright="Copyright (C) ${compiler:projectYear} Griefed" internalName="ServerPackCreator" /> + </executable> + <java mainClass="org.springframework.boot.loader.launch.JarLauncher" arguments="-gui"> + <classPath> + <scanDirectory location="." failOnError="false" /> + </classPath> + <modulePath> + <directory location="lib" failOnError="false" /> + </modulePath> + </java> + <iconImageFiles> + <file path="${compiler:projectDir}/img/app.png" /> + </iconImageFiles> + </launcher> + <launcher name="ServerPackCreator" id="232" excludeFromMenu="true" icnsFile="${compiler:projectDir}/img/app.icns"> + <executable name="ServerPackCreator" iconSet="true" iconFile="${compiler:projectDir}/img/icon.ico" redirectStderr="false" stderrFile="error.log${installer:sys.installationDir}/logs/run.log" stderrMode="append" stdoutFile="error.log${installer:sys.installationDir}/logs/run.log" stdoutMode="append" executableMode="console" singleInstance="true" checkConsoleParameter="true" globalSingleInstance="true"> + <versionInfo include="true" fileDescription="Create server packs from Minecraft modpacks." legalCopyright="Copyright (C) ${compiler:projectYear} Griefed" internalName="ServerPackCreator" /> + </executable> + <java mainClass="org.springframework.boot.loader.launch.JarLauncher"> + <classPath> + <scanDirectory location="." failOnError="false" /> + </classPath> + <modulePath> + <directory location="lib" failOnError="false" /> + </modulePath> + </java> + <iconImageFiles> + <file path="${compiler:projectDir}/img/app.png" /> + </iconImageFiles> + </launcher> + <launcher name="ServerPackCreator-WEB" id="234" excludeFromMenu="true" icnsFile="${compiler:projectDir}/img/app.icns"> + <executable name="ServerPackCreator-WEB" iconSet="true" iconFile="${compiler:projectDir}/img/icon.ico" redirectStderr="false" stderrFile="~/ServerPackCreator/serverpackcreator.log" stderrMode="append" stdoutFile="~/ServerPackCreator/serverpackcreator.log" stdoutMode="append" executableMode="service" singleInstance="true" checkConsoleParameter="true" globalSingleInstance="true" dpiAware="false"> + <versionInfo include="true" fileDescription="Create server packs from Minecraft modpacks." legalCopyright="Copyright (C) ${compiler:projectYear} Griefed" internalName="ServerPackCreator" /> + </executable> + <java mainClass="org.springframework.boot.loader.launch.JarLauncher" arguments="-web"> + <classPath> + <scanDirectory location="." failOnError="false" /> + </classPath> + <modulePath> + <directory location="lib" failOnError="false" /> + </modulePath> + </java> + <iconImageFiles> + <file path="${compiler:projectDir}/img/app.png" /> + </iconImageFiles> + </launcher> + </launchers> + <installerGui> + <applications> + <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication"> + <serializedBean> + <property name="customIconImageFiles"> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_16x16.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_32x32.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_48x48.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_128x128.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_256x256.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/install_512x512.png</string> + </object> + </add> + </property> + <property name="frameWidth" type="int" value="600" /> + <property name="useCustomIcon" type="boolean" value="true" /> + </serializedBean> + <startup> + <screen id="1" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0"> + <actions> + <action id="22" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="failIfNotObtainedLinux" type="boolean" value="true" /> + <property name="linuxPrivilegeRequirement" type="enum" class="com.install4j.runtime.beans.actions.misc.PrivilegeRequirement" value="OBTAIN" /> + <property name="obtainIfAdminMac" type="boolean" value="true" /> + <property name="obtainIfNormalMac" type="boolean" value="true" /> + <property name="obtainIfNormalWin" type="boolean" value="true" /> + </serializedBean> + </action> + </actions> + </screen> + </startup> + <screens> + <screen id="2" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" styleId="7" rollbackBarrierExitCode="0"> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="46" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <actions> + <action id="7" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true"> + <serializedBean> + <property name="excludedVariables" type="array" elementType="string" length="1"> + <element index="0">sys.installationDir</element> + </property> + </serializedBean> + <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition> + </action> + </actions> + <formComponents> + <formComponent id="3" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent"> + <serializedBean> + <property name="labelText" type="string">${form:welcomeMessage}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + </formComponent> + <formComponent id="4" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent"> + <serializedBean> + <property name="consoleScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName()); +return console.askOkCancel(message, true); +</property> + </object> + </property> + </serializedBean> + </formComponent> + <formComponent id="5" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include"> + <externalParametrizationPropertyNames> + <propertyName>updateCheck</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="6" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20"> + <serializedBean> + <property name="labelText" type="string">${i18n:ClickNext}</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen id="320" beanClass="com.install4j.runtime.beans.screens.LicenseScreen" rollbackBarrierExitCode="0"> + <formComponents> + <formComponent id="321" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:LicenseLabel3}</property> + </serializedBean> + </formComponent> + <formComponent id="322" beanClass="com.install4j.runtime.beans.formcomponents.LicenseComponent" useExternalParametrization="true" externalParametrizationName="License Agreement" externalParametrizationMode="include"> + <serializedBean> + <property name="displayedTextFile" id="LocalizedExternalFile0"> + <property name="languageIdToExternalFile"> + <entry> + <string>en</string> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/licenses/LICENSE-AGREEMENT.txt</string> + </object> + </entry> + </property> + </property> + <property name="fillVertical" type="boolean" value="true" /> + <property name="readAllRequired" type="boolean" value="true" /> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>textSource</propertyName> + <propertyName>displayedText</propertyName> + <propertyName>displayedTextFile</propertyName> + <propertyName>variableName</propertyName> + <propertyName>acceptInitiallySelected</propertyName> + <propertyName>readAllRequired</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <screen id="8" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" actionElevationType="none" rollbackBarrierExitCode="0"> + <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition> + <actions> + <action id="11" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true"> + <serializedBean> + <property name="excludedVariables" type="array" elementType="string" length="1"> + <element index="0">sys.installationDir</element> + </property> + </serializedBean> + <condition>context.getVariable("sys.responseFile") == null</condition> + </action> + <action id="252" beanClass="com.install4j.runtime.beans.actions.registry.LoadInstallerVariablesAction" commentSet="true" comment="This action loads the installer variables from the preference store that have been saved by the "Save installer variables to the Java preference store" action on the "Installation" screen. 

It overrides installer variables that are loaded from the response file. The response file holds the settings as they were last made in the installer, but the settings that are actually usd by the application live in the preference store." actionElevationType="elevated" rollbackBarrierExitCode="0" multiExec="true"> + <serializedBean> + <property name="packageName" type="string">${compiler:sys.applicationId}</property> + </serializedBean> + </action> + </actions> + <formComponents> + <formComponent id="9" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25"> + <serializedBean> + <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property> + </serializedBean> + </formComponent> + <formComponent id="10" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include"> + <serializedBean> + <property name="requestFocus" type="boolean" value="true" /> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>allowSpacesOnUnix</propertyName> + <propertyName>checkFreeSpace</propertyName> + <propertyName>checkWritable</propertyName> + <propertyName>existingDirWarning</propertyName> + <propertyName>manualEntryAllowed</propertyName> + <propertyName>showFreeDiskSpace</propertyName> + <propertyName>showRequiredDiskSpace</propertyName> + <propertyName>standardValidation</propertyName> + <propertyName>suggestAppDir</propertyName> + <propertyName>validateApplicationId</propertyName> + <propertyName>validationScript</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <screen name="Configure Webservice" id="48" beanClass="com.install4j.runtime.beans.screens.FormScreen" enabled="false"> + <serializedBean> + <property name="subTitle" type="string">Please choose options for the webservice</property> + <property name="title" type="string">Webservice Options</property> + </serializedBean> + <validation>if (!context.getBooleanVariable("specialUserAccount")) { + context.setVariable("serviceAccount", "NT AUTHORITY\\System"); + context.setVariable("servicePassword", ""); +} +return true;</validation> + <formComponents> + <formComponent id="49" beanClass="com.install4j.runtime.beans.formcomponents.MultilineHtmlLabelComponent"> + <serializedBean> + <property name="labelHtml" type="string">ServerPackCreator can be run as a webservice to generate server packs from your browser.</property> + </serializedBean> + </formComponent> + <formComponent id="50" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">Install ServerPackCreator webservice</property> + <property name="coupledComponentIds"> + <add type="string">51</add> + </property> + <property name="variableName" type="string">installService</property> + </serializedBean> + </formComponent> + <group id="51" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup"> + <serializedBean> + <property name="insets"> + <object class="java.awt.Insets"> + <int>0</int> + <int>20</int> + <int>0</int> + <int>0</int> + </object> + </property> + <property name="visibilityScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string" /> + </object> + </property> + </serializedBean> + <beans> + <group id="57" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup"> + <beans> + <group id="67" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup"> + <beans> + <formComponent name="Database Host" id="62" beanClass="com.install4j.runtime.beans.formcomponents.TextfieldComponent"> + <serializedBean> + <property name="helpText" type="string">Hostname on which your database runs.</property> + <property name="initialText" type="string">localhost</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Database Host</property> + <property name="variableName" type="string">databaseHost</property> + </serializedBean> + </formComponent> + <formComponent name="Database Port" id="63" beanClass="com.install4j.runtime.beans.formcomponents.IntegerTextfieldComponent"> + <serializedBean> + <property name="helpText" type="string">Port at which the database listens at on the database host.</property> + <property name="initialText" type="string">5432</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Database Port</property> + <property name="variableName" type="string">databasePort</property> + </serializedBean> + </formComponent> + </beans> + </group> + <formComponent name="Database Name" id="64" beanClass="com.install4j.runtime.beans.formcomponents.TextfieldComponent"> + <serializedBean> + <property name="helpText" type="string">The database to use with the webservice. </property> + <property name="initialText" type="string">serverpackcreator</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Database Name</property> + <property name="variableName" type="string">databaseName</property> + </serializedBean> + </formComponent> + <group id="68" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup"> + <beans> + <formComponent name="Database Username" id="65" beanClass="com.install4j.runtime.beans.formcomponents.TextfieldComponent"> + <serializedBean> + <property name="helpText" type="string">Username with which the database will be accessed.</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Database Username</property> + <property name="variableName" type="string">databaseUser</property> + </serializedBean> + </formComponent> + <formComponent name="Database Password" id="66" beanClass="com.install4j.runtime.beans.formcomponents.PasswordComponent"> + <serializedBean> + <property name="helpText" type="string">Password used to access the database.</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Database Password</property> + <property name="variableName" type="string">databasePassword</property> + </serializedBean> + </formComponent> + </beans> + </group> + <formComponent name="WebService Port" id="78" beanClass="com.install4j.runtime.beans.formcomponents.IntegerTextfieldComponent"> + <serializedBean> + <property name="helpText" type="string">Port at which the webservice will be available at. Example: http://localhost:8080</property> + <property name="initialText" type="string">8080</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Webservice Port</property> + <property name="variableName" type="string">webservicePort</property> + </serializedBean> + </formComponent> + </beans> + </group> + </beans> + </group> + </formComponents> + </screen> + <screen name="Select Home-Directory" id="328" beanClass="com.install4j.runtime.beans.screens.FormScreen" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="subTitle" type="string">Configure ServerPackCreatos new home</property> + <property name="title" type="string">Home-Directory</property> + </serializedBean> + <formComponents> + <formComponent id="329" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">Set the home-directory in which ServerPackCreator will create and store initial data as well as created data. Initial data are files such as manifests and templates, created data are files such as generated server packs. + +If you are installing this on a multi-user system and intend other users to use ServerPackCreator, choose a directory to which all users have access to.</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="330" beanClass="com.install4j.runtime.beans.formcomponents.DirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Directory" externalParametrizationMode="include"> + <serializedBean> + <property name="helpText" type="string">An existing directory where ServerPackCreatos data will be stored in, such as server packs, manifest, templates etc.</property> + <property name="initialFile" type="string">${installer:sys.userHome}</property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Home-Directory</property> + <property name="nextOnEnter" type="boolean" value="true" /> + <property name="onlyWritable" type="boolean" value="true" /> + <property name="variableName" type="string">homeDirectory</property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>directoryDescription</propertyName> + <propertyName>initialFile</propertyName> + <propertyName>onlyWritable</propertyName> + <propertyName>standardDirectoryName</propertyName> + <propertyName>standardValidation</propertyName> + <propertyName>validationScript</propertyName> + <propertyName>variableName</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="333" beanClass="com.install4j.runtime.beans.formcomponents.LabelComponent"> + <serializedBean> + <property name="labelColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>0</int> + <int>0</int> + <int>255</int> + </object> + </property> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="labelText" type="string">Caution!</property> + </serializedBean> + </formComponent> + <formComponent id="332" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">Changing the home-directory after installation requires manual editing of ${installer:sys.installationDir}${installer:sys.fileSeparator}serverpackcreator.properties. Choose wisely!</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <screen id="47" beanClass="com.install4j.runtime.beans.screens.StandardProgramGroupScreen"> + <serializedBean> + <property name="programGroupName" type="string">${compiler:sys.fullName}</property> + </serializedBean> + <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition> + </screen> + <screen id="341" beanClass="com.install4j.runtime.beans.screens.AdditionalConfirmationsScreen" rollbackBarrierExitCode="0"> + <formComponents> + <formComponent id="342" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10"> + <serializedBean> + <property name="labelText" type="string">${form:confirmationMessage}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + </formComponent> + <formComponent name="Add an executable to the dock" id="343" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">${i18n:AddToDock}</property> + <property name="initiallySelected" type="boolean" value="true" /> + <property name="variableName" type="string">addToDockAction</property> + </serializedBean> + <visibilityScript>Util.isMacOS()</visibilityScript> + </formComponent> + <formComponent name="Add a desktop link" id="345" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property> + <property name="initiallySelected" type="boolean" value="true" /> + <property name="variableName" type="string">createDesktopLinkAction</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen id="15" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" actionElevationType="elevated" rollbackBarrier="true" rollbackBarrierExitCode="0"> + <actions> + <group name="Stop Services" id="69" beanClass="com.install4j.runtime.beans.groups.ActionGroup" enabled="false"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getBooleanVariable("installService")</property> + </object> + </property> + </serializedBean> + <beans> + <action id="70" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none"> + <serializedBean> + <property name="statusMessage" type="string">${i18n:StatusStoppingServices}</property> + <property name="useDetail" type="boolean" value="true" /> + <property name="useStatus" type="boolean" value="true" /> + </serializedBean> + </action> + <action id="71" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none"> + <serializedBean> + <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" /> + </serializedBean> + </action> + <action id="72" beanClass="com.install4j.runtime.beans.actions.services.StopServiceAction" commentSet="true" comment="This action is necessary otherwise the following "Delete a file an directories" action might fail on Windows, since the files that are to be deleted might be in use.

Otherwise, you do not have to stop services explicitly, the "Uninstall files" action will stop all services." actionElevationType="elevated"> + <serializedBean> + <property name="executable"> + <object class="java.io.File"> + <string>ServerPackCreator-WEB</string> + </object> + </property> + <property name="launcherId" type="string">234</property> + <property name="serviceName" type="string">ServerPackCreator-Webservice</property> + </serializedBean> + </action> + <action id="73" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none"> + <serializedBean> + <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_DETERMINATE" /> + </serializedBean> + </action> + </beans> + </group> + <action id="294" beanClass="com.install4j.runtime.beans.actions.control.SleepAction" actionElevationType="none" rollbackBarrierExitCode="0" /> + <action id="74" beanClass="com.install4j.runtime.beans.actions.misc.CheckRunningProcessesAction" commentSet="true" comment="Note that the "Install Files" action always checks that no process that are started from affected files are running. However, if you want to give your users the ability to close the applications automatically, you have to add this action before the "Install Files" action." actionElevationType="none" failureStrategy="quit"> + <serializedBean> + <property name="closeStrategy" type="enum" class="com.install4j.runtime.beans.actions.misc.CloseStrategy" value="ASK_FOR_CLOSE_AND_TERMINATE" /> + </serializedBean> + </action> + <action id="295" beanClass="com.install4j.runtime.beans.actions.control.SleepAction" actionElevationType="none" rollbackBarrierExitCode="0" /> + <action id="17" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" /> + <action id="18" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" enabled="false" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="addUninstaller" type="boolean" value="true" /> + <property name="categories" type="string">Application;Utilitiy;FileTools;Java</property> + <property name="programGroupEntryConfigs"> + <add> + <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig"> + <property name="iconFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/icon.ico</string> + </object> + </property> + <property name="name" type="string">Run ServerPackCreator</property> + <property name="runAsAdministrator" type="boolean" value="true" /> + <property name="target"> + <object class="java.io.File"> + <string>ServerPackCreator</string> + </object> + </property> + </object> + </add> + <add> + <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig"> + <property name="name" type="string">README</property> + <property name="target"> + <object class="java.io.File"> + <string>README.md</string> + </object> + </property> + </object> + </add> + <add> + <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig"> + <property name="name" type="string">Change Log</property> + <property name="target"> + <object class="java.io.File"> + <string>CHANGELOG.md</string> + </object> + </property> + </object> + </add> + </property> + <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property> + </serializedBean> + </action> + <action id="352" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="additionalDesktopFileEntries" type="string">Exec=sudo -i sh -c "${installer:sys.installationDir}/ServerPackCreator" +Terminal=true +Comment=Create server packs from Minecraft modpacks. +Categories=Application;Utility;FileTools;Java</property> + <property name="categories" type="string">Application;Utilitiy;FileTools;Java</property> + <property name="entryName" type="string">ServerPackCreator</property> + <property name="file"> + <object class="java.io.File"> + <string>ServerPackCreator</string> + </object> + </property> + <property name="icon"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/icon.ico</string> + </object> + </property> + <property name="runAsAdministrator" type="boolean" value="true" /> + <property name="unixIconFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/icon.png</string> + </object> + </property> + </serializedBean> + <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition> + </action> + <action id="19" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="icon"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/icon.ico</string> + </object> + </property> + <property name="iconSource" type="enum" class="com.install4j.runtime.beans.actions.desktop.IconSource" value="CUSTOM" /> + <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property> + </serializedBean> + </action> + <group name="Prepare Webservice" id="77" beanClass="com.install4j.runtime.beans.groups.ActionGroup" enabled="false"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getBooleanVariable("installService")</property> + </object> + </property> + </serializedBean> + <beans> + <action name="Install webservice" id="75" beanClass="com.install4j.runtime.beans.actions.services.InstallServiceAction" actionElevationType="elevated"> + <serializedBean> + <property name="accountNameOrSid" type="string">${installer:serviceAccount}</property> + <property name="autoStart" type="boolean" value="false" /> + <property name="description" type="string">Webservice to generate server packs from your browser.</property> + <property name="executable"> + <object class="java.io.File"> + <string>ServerPackCreator-WEB</string> + </object> + </property> + <property name="launcherId" type="string">234</property> + <property name="macosIdentifier" type="string">de.griefed.serverpackcreator</property> + <property name="password" type="string">${installer:servicePassword}</property> + <property name="serviceAccount" type="enum" class="com.install4j.runtime.beans.actions.services.ServiceAccount" value="OTHER" /> + <property name="serviceName" type="string">ServerPackCreator-Webservice</property> + <property name="windowsDisplayName" type="string">ServerPackCreator-Webservice</property> + </serializedBean> + <condition>context.getBooleanVariable("installService")</condition> + </action> + <action name="Set Webservice properties" id="327" beanClass="com.install4j.runtime.beans.actions.properties.WritePropertiesFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Couldn't writer properties!"> + <serializedBean> + <property name="encoding" type="enum" class="com.install4j.runtime.beans.actions.properties.PropertiesFileEncoding" value="JAVA_PROPERTIES" /> + <property name="file"> + <object class="java.io.File"> + <string>${installer:sys.installationDir}/serverpackcreator.properties</string> + </object> + </property> + <property name="propertiesSortMode" type="enum" class="com.install4j.runtime.beans.actions.properties.PropertiesSortMode" value="KEYS_ALPHABETICALLY" /> + <property name="sourcePropertyDefinitions" type="string">spring.datasource.url=jdbc\:postgresql\://${installer:databaseHost}\:${installer:databasePort}/${installer:databaseName} +spring.datasource.username=${installer:databaseUser} +spring.datasource.password=${installer:databasePassword} +server.port=${installer:webservicePort}</property> + <property name="updateExistingComments" type="boolean" value="true" /> + <property name="updateExistingKeys" type="boolean" value="true" /> + </serializedBean> + <condition>context.getBooleanVariable("installService")</condition> + </action> + </beans> + </group> + <action name="Set home-directory property" id="331" beanClass="com.install4j.runtime.beans.actions.properties.WritePropertiesFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Couldn't writer properties!"> + <serializedBean> + <property name="encoding" type="enum" class="com.install4j.runtime.beans.actions.properties.PropertiesFileEncoding" value="JAVA_PROPERTIES" /> + <property name="file"> + <object class="java.io.File"> + <string>${installer:sys.installationDir}/serverpackcreator.properties</string> + </object> + </property> + <property name="propertiesSortMode" type="enum" class="com.install4j.runtime.beans.actions.properties.PropertiesSortMode" value="KEYS_ALPHABETICALLY" /> + <property name="sourcePropertyDefinitions" type="string">de.griefed.serverpackcreator.home=${installer:homeDirectory}</property> + <property name="updateExistingComments" type="boolean" value="true" /> + <property name="updateExistingKeys" type="boolean" value="true" /> + </serializedBean> + </action> + <action name="Set Log Path" id="337" beanClass="com.install4j.runtime.beans.actions.text.ModifyTextFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="encoding" type="string">UTF-8</property> + <property name="files" type="array" class="java.io.File" length="1"> + <element index="0"> + <object class="java.io.File"> + <string>${installer:sys.installationDir}/log4j2.xml</string> + </object> + </element> + </property> + <property name="replaceValue" type="string"><Property name="log-path">${installer:homeDirectory}\logs</Property></property> + <property name="searchValue" type="string"><Property name="log-path">logs</Property></property> + </serializedBean> + </action> + <action name="Set Log Level" id="338" beanClass="com.install4j.runtime.beans.actions.text.ModifyTextFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="encoding" type="string">UTF-8</property> + <property name="files" type="array" class="java.io.File" length="1"> + <element index="0"> + <object class="java.io.File"> + <string>${installer:sys.installationDir}/log4j2.xml</string> + </object> + </element> + </property> + <property name="replaceValue" type="string"><Property name="log-level-spc">DEBUG</Property></property> + <property name="searchValue" type="string"><Property name="log-level-spc">INFO</Property></property> + </serializedBean> + <condition>context.getCompilerVariable("projectVersion").contains("dev") || context.getCompilerVariable("projectVersion").contains("alpha") || context.getCompilerVariable("projectVersion").contains("beta") </condition> + </action> + <action id="254" beanClass="com.install4j.runtime.beans.actions.registry.SaveInstallerVariablesAction" commentSet="true" comment="The launchers will access the user-defined greeting by loading the installer variables saved to the preference store by this action. They do this through a helper class provided by the install4j API.

Another way would have been to load the variable from the automatically created response file (through the same helper class). However, we want to save the settings on a per-user basis." actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="installerVariables" type="array" elementType="string" length="9"> + <element index="0">databaseHost</element> + <element index="1">databaseName</element> + <element index="2">databasePort</element> + <element index="3">databaseUser</element> + <element index="4">installService</element> + <element index="5">serviceAccount</element> + <element index="6">specialUserAccount</element> + <element index="7">sys.installationDir</element> + <element index="8">:webservicePort</element> + </property> + <property name="packageName" type="string">${compiler:sys.applicationId}</property> + </serializedBean> + </action> + <action id="346" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="additionalDesktopFileEntries" type="string">Exec=sudo -i sh -c "${installer:sys.installationDir}/ServerPackCreator" +Terminal=true +Comment=Create server packs from Minecraft modpacks. +Categories=Utility;FileTools;Java</property> + <property name="allUsers" type="boolean" value="false" /> + <property name="description" type="string">Create server packs from Minecraft modpacks.</property> + <property name="file"> + <object class="java.io.File"> + <string>ServerPackCreator-GUI</string> + </object> + </property> + <property name="name" type="string">${compiler:sys.fullName}</property> + <property name="runAsAdministrator" type="boolean" value="true" /> + <property name="unixIconFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/app.png</string> + </object> + </property> + <property name="winIconFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/icon.ico</string> + </object> + </property> + </serializedBean> + <textOverrides> + <property name="allUsers" value="${installer:sys.programGroupAllUsers}" /> + </textOverrides> + <condition>context.getBooleanVariable("createDesktopLinkAction")</condition> + </action> + <action id="340" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="executable"> + <object class="java.io.File"> + <string>ServerPackCreator-GUI</string> + </object> + </property> + </serializedBean> + <condition>context.getBooleanVariable("addToDockAction")</condition> + </action> + </actions> + <formComponents> + <formComponent id="16" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent"> + <serializedBean> + <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen id="20" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" styleId="7" rollbackBarrierExitCode="0" finishScreen="true"> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="80" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <actions> + <action id="81" beanClass="com.install4j.runtime.beans.actions.finish.ExecuteLauncherAction" actionElevationType="elevated"> + <serializedBean> + <property name="launcherId" type="string">232</property> + </serializedBean> + <condition>context.getBooleanVariable("executeLauncherAction") && context.isGui()</condition> + </action> + <action id="79" beanClass="com.install4j.runtime.beans.actions.services.StartServiceAction" enabled="false" actionElevationType="elevated"> + <serializedBean> + <property name="executable"> + <object class="java.io.File"> + <string>ServerPackCreator-WEB</string> + </object> + </property> + <property name="launcherId" type="string">234</property> + <property name="serviceName" type="string">ServerPackCreator Webservice</property> + </serializedBean> + <condition>context.getBooleanVariable("executeServiceAction")</condition> + </action> + <action id="264" beanClass="com.install4j.runtime.beans.actions.misc.CreateResponseFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0"> + <serializedBean> + <property name="excludedVariables" type="array" elementType="string" length="2"> + <element index="0">databasePassword</element> + <element index="1">servicePassword</element> + </property> + <property name="file"> + <object class="java.io.File"> + <string>${installer:sys.installationDir}/varfile</string> + </object> + </property> + </serializedBean> + </action> + </actions> + <formComponents> + <formComponent id="21" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10"> + <serializedBean> + <property name="labelText" type="string">${form:finishedMessage}</property> + </serializedBean> + </formComponent> + <formComponent name="Execute Launcher" id="82" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">${i18n:RunEntryExec("${compiler:sys.fullName}")}</property> + <property name="initiallySelected" type="boolean" value="true" /> + <property name="variableName" type="string">executeLauncherAction</property> + </serializedBean> + <visibilityScript>context.isGui()</visibilityScript> + </formComponent> + <formComponent name="Execute Service" id="319" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">${i18n:RunEntryExec("${compiler:sys.fullName}")} Service</property> + <property name="variableName" type="string">executeServiceAction</property> + </serializedBean> + <visibilityScript>context.isGui() && context.getBooleanVariable("installService")</visibilityScript> + </formComponent> + </formComponents> + </screen> + </screens> + </application> + <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication"> + <serializedBean> + <property name="customIconImageFiles"> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_16x16.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_32x32.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_48x48.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_128x128.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_256x256.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/uninstall_512x512.png</string> + </object> + </add> + </property> + <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property> + <property name="frameWidth" type="int" value="600" /> + <property name="unixMode" type="string">755</property> + <property name="useCustomIcon" type="boolean" value="true" /> + <property name="useCustomMacosExecutableName" type="boolean" value="true" /> + </serializedBean> + <startup> + <screen id="23" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0"> + <actions> + <action id="33" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true"> + <condition>context.getVariable("sys.responseFile") == null</condition> + </action> + <action id="34" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0" /> + </actions> + </screen> + </startup> + <screens> + <screen id="24" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" styleId="7" rollbackBarrierExitCode="0"> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="83" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <formComponents> + <formComponent id="25" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10"> + <serializedBean> + <property name="labelText" type="string">${form:welcomeMessage}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + </formComponent> + <formComponent id="26" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent"> + <serializedBean> + <property name="consoleScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName()); +return console.askYesNo(message, true); +</property> + </object> + </property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen name="Service options" id="272" beanClass="com.install4j.runtime.beans.screens.FormScreen" enabled="false"> + <serializedBean> + <property name="subTitle" type="string">Please choose options for the webservice</property> + <property name="title" type="string">Webservice Options</property> + </serializedBean> + <validation>if (!context.getBooleanVariable("specialUserAccount")) { + context.setVariable("serviceAccount", "NT AUTHORITY\\System"); + context.setVariable("servicePassword", ""); +} +return true;</validation> + <formComponents> + <formComponent id="273" beanClass="com.install4j.runtime.beans.formcomponents.MultilineHtmlLabelComponent"> + <serializedBean> + <property name="labelHtml" type="string">Delete the ServerPackCreator directory in your users home-directory, if it exists?</property> + </serializedBean> + </formComponent> + <formComponent id="274" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">Delete Home-Directory</property> + <property name="variableName" type="string">deleteHome</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen id="27" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" rollbackBarrierExitCode="0"> + <actions> + <link id="84" targetId="69" /> + <action id="293" beanClass="com.install4j.runtime.beans.actions.control.SleepAction" actionElevationType="none" rollbackBarrierExitCode="0" /> + <action id="29" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" /> + </actions> + <formComponents> + <formComponent id="28" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent"> + <serializedBean> + <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen id="32" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" rollbackBarrierExitCode="0" finishScreen="true" /> + <screen id="30" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="7" rollbackBarrierExitCode="0" finishScreen="true"> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="86" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <formComponents> + <formComponent id="31" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10"> + <serializedBean> + <property name="labelText" type="string">${form:successMessage}</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + </screens> + </application> + <application name="Standalone update downloader" id="87" beanClass="com.install4j.runtime.beans.applications.CustomApplication" enabled="false" launchInNewProcess="false"> + <serializedBean> + <property name="customIconImageFiles"> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:sys.install4jHome}/resource/updater_16.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:sys.install4jHome}/resource/updater_32.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:sys.install4jHome}/resource/updater_48.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:sys.install4jHome}/resource/updater_128.png</string> + </object> + </add> + <add> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:sys.install4jHome}/resource/updater_256.png</string> + </object> + </add> + </property> + <property name="executableName" type="string">ServerPackCreator_update</property> + <property name="useCustomIcon" type="boolean" value="true" /> + <property name="windowTitle" type="string">${i18n:updater.WindowTitle("${compiler:sys.fullName}")}</property> + </serializedBean> + <startup> + <screen id="88" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0" /> + </startup> + <screens> + <screen name="Welcome" id="89" beanClass="com.install4j.runtime.beans.screens.FormScreen" styleId="7"> + <serializedBean> + <property name="title" type="string">${i18n:updater.WelcomeTitle("${compiler:sys.fullName}")}</property> + </serializedBean> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="149" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <formComponents> + <formComponent id="90" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">${i18n:updater.WelcomeInfoText("${compiler:sys.fullName}")}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <screen name="Check for update" id="91" beanClass="com.install4j.runtime.beans.screens.FormScreen"> + <serializedBean> + <property name="subTitle" type="string">${i18n:updater.CheckForUpdateSubtitle}</property> + <property name="title" type="string">${i18n:updater.CheckForUpdateTitle}</property> + </serializedBean> + <postActivation>context.getWizardContext().setControlButtonVisible(ControlButtonType.NEXT, false); +context.getWizardContext().setControlButtonVisible(ControlButtonType.PREVIOUS, false); +context.goForward(1, true, true); +</postActivation> + <actions> + <action id="92" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none"> + <serializedBean> + <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" /> + </serializedBean> + </action> + <action id="93" beanClass="com.install4j.runtime.beans.actions.update.CheckForUpdateAction" actionElevationType="none" failureStrategy="quit"> + <serializedBean> + <property name="url" type="string">${compiler:sys.updatesUrl}</property> + <property name="variable" type="string">updateDescriptor</property> + </serializedBean> + </action> + <action id="94" beanClass="com.install4j.runtime.beans.actions.control.SleepAction" actionElevationType="none" /> + <action name="Update descriptor entry" id="95" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptor)context.getVariable("updateDescriptor")).getPossibleUpdateEntry()</property> + </object> + </property> + <property name="variableName" type="string">updateDescriptorEntry</property> + </serializedBean> + </action> + <group name="Update available" id="96" beanClass="com.install4j.runtime.beans.groups.ActionGroup"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getVariable("updateDescriptorEntry") != null</property> + </object> + </property> + </serializedBean> + <beans> + <action name="New version" id="97" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getNewVersion()</property> + </object> + </property> + <property name="variableName" type="string">updaterNewVersion</property> + </serializedBean> + </action> + <action name="Download size" id="98" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getFileSizeVerbose()</property> + </object> + </property> + <property name="variableName" type="string">updaterDownloadSize</property> + </serializedBean> + </action> + <action name="Comment" id="99" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getComment()</property> + </object> + </property> + <property name="variableName" type="string">updaterComment</property> + </serializedBean> + </action> + <action name="Download URL" id="100" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getURL().toExternalForm()</property> + </object> + </property> + <property name="variableName" type="string">updaterDownloadUrl</property> + </serializedBean> + </action> + <action name="Archive" id="101" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).isArchive() ? Boolean.TRUE : Boolean.FALSE</property> + </object> + </property> + <property name="variableName" type="string">isArchive</property> + </serializedBean> + </action> + <action name="DMG" id="102" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getFileName().toLowerCase().endsWith(".dmg")</property> + </object> + </property> + <property name="variableName" type="string">isDmg</property> + </serializedBean> + </action> + </beans> + </group> + </actions> + <formComponents> + <formComponent id="103" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent" useExternalParametrization="true" externalParametrizationName="Directory" externalParametrizationMode="include"> + <serializedBean> + <property name="initialStatusMessage" type="string">${i18n:updater.CheckForUpdateLabel}</property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>statusVisible</propertyName> + <propertyName>initialStatusMessage</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <group name="Up to date" id="104" beanClass="com.install4j.runtime.beans.groups.ScreenGroup"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getVariable("updateDescriptorEntry") == null</property> + </object> + </property> + </serializedBean> + <beans> + <screen name="Up to date notification" id="105" beanClass="com.install4j.runtime.beans.screens.FormScreen" styleId="7" finishScreen="true"> + <serializedBean> + <property name="title" type="string">${i18n:updater.UpToDateTitle}</property> + </serializedBean> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="150" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <formComponents> + <formComponent id="106" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">${i18n:updater.UpToDateInfoText("${compiler:sys.fullName}")}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + </beans> + </group> + <group name="Update available" id="107" beanClass="com.install4j.runtime.beans.groups.ScreenGroup"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getVariable("updateDescriptorEntry") != null</property> + </object> + </property> + </serializedBean> + <beans> + <screen name="New version available" id="108" beanClass="com.install4j.runtime.beans.screens.FormScreen"> + <serializedBean> + <property name="subTitle" type="string">${i18n:updater.NewVersionAvailableSubtitle("${compiler:sys.fullName}")}</property> + <property name="title" type="string">${i18n:updater.NewVersionAvailableTitle}</property> + </serializedBean> + <condition>!context.getBooleanVariable("skipNewVersionAvailable")</condition> + <formComponents> + <formComponent id="109" beanClass="com.install4j.runtime.beans.formcomponents.KeyValuePairComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.CurrentVersionLabel}</property> + <property name="valueLabelColor"> + <object class="java.awt.Color"> + <int>128</int> + <int>0</int> + <int>0</int> + <int>255</int> + </object> + </property> + <property name="valueLabelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="valueLabelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="valueLabelText" type="string">${installer:sys.version}</property> + </serializedBean> + </formComponent> + <group id="110" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup"> + <beans> + <formComponent id="111" beanClass="com.install4j.runtime.beans.formcomponents.KeyValuePairComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.NewVersionLabel}</property> + <property name="valueLabelColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>128</int> + <int>0</int> + <int>255</int> + </object> + </property> + <property name="valueLabelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="valueLabelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + <property name="valueLabelText" type="string">${installer:updaterNewVersion}</property> + </serializedBean> + </formComponent> + <formComponent id="112" beanClass="com.install4j.runtime.beans.formcomponents.HyperlinkActionLabelComponent" insetLeft="5"> + <serializedBean> + <property name="actionScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.goForward(1, false, false);</property> + </object> + </property> + <property name="hyperlinkText" type="string">${i18n:updater.ShowComments}</property> + </serializedBean> + <visibilityScript> ((String)context.getVariable("updaterComment")).length() > 0</visibilityScript> + </formComponent> + </beans> + </group> + <formComponent id="113" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent" /> + <formComponent id="114" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.DownloadLocationLabel}</property> + </serializedBean> + </formComponent> + <formComponent id="115" beanClass="com.install4j.runtime.beans.formcomponents.DirectoryChooserComponent"> + <serializedBean> + <property name="initialFile" type="string">${installer:sys.downloadsDir}</property> + <property name="labelText" type="string">${i18n:updater.DownloadToLabel}</property> + <property name="manualEntryAllowed" type="boolean" value="false" /> + <property name="variableName" type="string">updaterDownloadLocation</property> + </serializedBean> + </formComponent> + <formComponent id="116" beanClass="com.install4j.runtime.beans.formcomponents.KeyValuePairComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.DownloadSizeLabel}</property> + <property name="valueLabelText" type="string">${installer:updaterDownloadSize}</property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen name="Update message" id="117" beanClass="com.install4j.runtime.beans.screens.FormScreen"> + <serializedBean> + <property name="scrollable" type="boolean" value="false" /> + <property name="subTitle" type="string">${i18n:updater.CommentsSubTitle}</property> + <property name="title" type="string">${i18n:updater.CommentsTitle}</property> + </serializedBean> + <condition>false // This screen is only shown if the user clicks the "Show comments" hyperlink label in the previous screen. +</condition> + <validation>if (context.isConsole()) { + context.goBackInHistory(1); +} +return true;</validation> + <postActivation>WizardContext wizardContext = context.getWizardContext(); +wizardContext.setControlButtonVisible(ControlButtonType.NEXT, false); +wizardContext.setControlButtonVisible(ControlButtonType.CANCEL, false);</postActivation> + <formComponents> + <formComponent id="118" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">${i18n:updater.CommentsLabel}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="119" beanClass="com.install4j.runtime.beans.formcomponents.HtmlDisplayFormComponent" useExternalParametrization="true" externalParametrizationName="HTML display" externalParametrizationMode="include"> + <serializedBean> + <property name="displayedText" type="string">${installer:updaterComment}</property> + <property name="fillVertical" type="boolean" value="true" /> + <property name="textSource" type="enum" class="com.install4j.runtime.beans.screens.components.TextSource" value="DIRECT" /> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>textSource</propertyName> + <propertyName>displayedText</propertyName> + <propertyName>displayedTextFile</propertyName> + <propertyName>variableName</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="120" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent"> + <serializedBean> + <property name="consoleScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">console.waitForEnter(); +return true; +</property> + </object> + </property> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen name="Download new version" id="121" beanClass="com.install4j.runtime.beans.screens.FormScreen"> + <serializedBean> + <property name="subTitle" type="string">${i18n:updater.DownloadSubTitle}</property> + <property name="title" type="string">${i18n:updater.DownloadTitle}</property> + </serializedBean> + <postActivation>context.getWizardContext().setControlButtonVisible(ControlButtonType.NEXT, false); +context.getWizardContext().setControlButtonVisible(ControlButtonType.PREVIOUS, false); +context.goForward(1, true, true); +</postActivation> + <actions> + <action name="Download location" id="122" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getVariable("updaterDownloadLocation") + File.separator + ((UpdateDescriptorEntry)context.getVariable("updateDescriptorEntry")).getFileName()</property> + </object> + </property> + <property name="variableName" type="string">updaterDownloadFile</property> + </serializedBean> + </action> + <action id="123" beanClass="com.install4j.runtime.beans.actions.net.DownloadFileAction" actionElevationType="elevated" failureStrategy="quit"> + <serializedBean> + <property name="targetFile"> + <object class="java.io.File"> + <string>${installer:updaterDownloadFile}</string> + </object> + </property> + <property name="url" type="string">${installer:updaterDownloadUrl}</property> + </serializedBean> + </action> + <action id="124" beanClass="com.install4j.runtime.beans.actions.files.SetModeAction" actionElevationType="elevated"> + <serializedBean> + <property name="files" type="array" class="java.io.File" length="1"> + <element index="0"> + <object class="java.io.File"> + <string>${installer:updaterDownloadFile}</string> + </object> + </element> + </property> + <property name="mode" type="string">755</property> + </serializedBean> + </action> + </actions> + <formComponents> + <formComponent id="125" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent" useExternalParametrization="true" externalParametrizationName="Directory" externalParametrizationMode="include"> + <externalParametrizationPropertyNames> + <propertyName>statusVisible</propertyName> + <propertyName>initialStatusMessage</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + </formComponents> + </screen> + <group name="Finish" id="126" beanClass="com.install4j.runtime.beans.groups.ScreenGroup"> + <beans> + <screen name="Finish" id="127" beanClass="com.install4j.runtime.beans.screens.FormScreen" styleId="7" finishScreen="true"> + <serializedBean> + <property name="title" type="string">${i18n:updater.FinishTitle}</property> + </serializedBean> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="151" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <condition>!(context.getBooleanVariable("isArchive") && context.getBooleanVariable("isDmg"))</condition> + <actions> + <group name="Execute installer" id="128" beanClass="com.install4j.runtime.beans.groups.ActionGroup"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">!context.getBooleanVariable("isArchive") && ((Integer)context.getVariable("updaterLaunchSelection")).intValue() == 0</property> + </object> + </property> + </serializedBean> + <beans> + <action name="Set installer arguments" id="129" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">List<String> args = new ArrayList<String>(); +String installationDirectory = context.getInstallationDirectory().getPath(); +if (context.isUnattended()) { + args.add("-q"); + args.add("-wait"); + args.add("20"); + ProgressInterface progressInterface = context.getProgressInterface(); + if (progressInterface.isUnattendedProgressDialog()) { + if (progressInterface.isAlertsShown()) { + args.add("-alerts"); + } + args.add("-splash"); + args.add("Installing"); + } +} else if (context.isConsole()) { + args.add("-c"); +} + args.add("-dir"); + args.add(installationDirectory); + + return args.toArray(new String[args.size()]); +</property> + </object> + </property> + <property name="variableName" type="string">installerArguments</property> + </serializedBean> + </action> + <action id="130" beanClass="com.install4j.runtime.beans.actions.update.ShutdownCallingLauncherAction" actionElevationType="none" /> + <action id="131" beanClass="com.install4j.runtime.beans.actions.misc.RunExecutableAction" actionElevationType="elevated" failureStrategy="quit" errorMessage="${i18n:updater.LaunchError}"> + <serializedBean> + <property name="arguments" type="array" elementType="string" length="1"> + <element index="0">${installer:installerArguments}</element> + </property> + <property name="executable"> + <object class="java.io.File"> + <string>${installer:updaterDownloadFile}</string> + </object> + </property> + <property name="workingDirectory"> + <object class="java.io.File"> + <string>${installer:updaterDownloadLocation}</string> + </object> + </property> + </serializedBean> + </action> + </beans> + </group> + </actions> + <formComponents> + <formComponent id="132" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="133" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">${i18n:updater.FinishInfoText("${compiler:sys.fullName}")}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="134" beanClass="com.install4j.runtime.beans.formcomponents.LabelComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.LaunchUpdaterQuestion}</property> + </serializedBean> + </formComponent> + <formComponent id="135" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent"> + <serializedBean> + <property name="height" type="int" value="5" /> + </serializedBean> + </formComponent> + <formComponent id="136" beanClass="com.install4j.runtime.beans.formcomponents.RadiobuttonsComponent"> + <serializedBean> + <property name="radioButtonLabels" type="array" elementType="string" length="2"> + <element index="0">${i18n:updater.LaunchUpdaterLabel}</element> + <element index="1">${i18n:updater.DoNotLaunchUpdaterLabel}</element> + </property> + <property name="variableName" type="string">updaterLaunchSelection</property> + </serializedBean> + <visibilityScript>!context.getBooleanVariable("isArchive")</visibilityScript> + </formComponent> + <formComponent id="137" beanClass="com.install4j.runtime.beans.formcomponents.HyperlinkActionLabelComponent"> + <serializedBean> + <property name="actionScript"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">Util.showPath((String)context.getVariable("updaterDownloadFile"));</property> + </object> + </property> + <property name="hyperlinkText" type="string">${i18n:updater.OpenContainingFolderLabel}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + </formComponent> + <formComponent id="138" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent"> + <serializedBean> + <property name="detailVisible" type="boolean" value="false" /> + <property name="hideInitially" type="boolean" value="true" /> + </serializedBean> + </formComponent> + </formComponents> + </screen> + <screen name="Finish DMG Archive" id="139" beanClass="com.install4j.runtime.beans.screens.FormScreen" styleId="7" finishScreen="true"> + <serializedBean> + <property name="title" type="string">${i18n:updater.FinishTitle}</property> + </serializedBean> + <styleOverrides> + <styleOverride name="Customize banner image" enabled="true"> + <group id="152" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>6</int> + <int>16</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + </styleOverride> + </styleOverrides> + <condition>context.getBooleanVariable("isArchive") && context.getBooleanVariable("isDmg")</condition> + <actions> + <group name="Execute installer" id="140" beanClass="com.install4j.runtime.beans.groups.ActionGroup"> + <serializedBean> + <property name="conditionExpression"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">context.getBooleanVariable("updaterOpenDmg")</property> + </object> + </property> + </serializedBean> + <beans> + <action id="141" beanClass="com.install4j.runtime.beans.actions.update.ShutdownCallingLauncherAction" actionElevationType="none" /> + <action name="Open DMG" id="142" beanClass="com.install4j.runtime.beans.actions.control.RunScriptAction"> + <serializedBean> + <property name="script"> + <object class="com.install4j.api.beans.ScriptProperty"> + <property name="value" type="string">Util.showPath((String)context.getVariable("updaterDownloadFile")); +return true;</property> + </object> + </property> + </serializedBean> + </action> + </beans> + </group> + </actions> + <formComponents> + <formComponent id="143" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="144" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="20" useExternalParametrization="true" externalParametrizationName="Header" externalParametrizationMode="include"> + <serializedBean> + <property name="hideIfBlank" type="boolean" value="true" /> + <property name="labelText" type="string">${i18n:updater.FinishInfoText("${compiler:sys.fullName}")}</property> + </serializedBean> + <visibilityScript>!context.isConsole()</visibilityScript> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent id="145" beanClass="com.install4j.runtime.beans.formcomponents.LabelComponent"> + <serializedBean> + <property name="labelText" type="string">${i18n:updater.LaunchUpdaterQuestion}</property> + </serializedBean> + </formComponent> + <formComponent id="146" beanClass="com.install4j.runtime.beans.formcomponents.SpacerComponent"> + <serializedBean> + <property name="height" type="int" value="5" /> + </serializedBean> + </formComponent> + <formComponent id="147" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent"> + <serializedBean> + <property name="checkboxText" type="string">${i18n:updater.OpenContainingFolderLabel}</property> + <property name="initiallySelected" type="boolean" value="true" /> + <property name="variableName" type="string">updaterOpenDmg</property> + </serializedBean> + </formComponent> + <formComponent id="148" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent"> + <serializedBean> + <property name="detailVisible" type="boolean" value="false" /> + <property name="hideInitially" type="boolean" value="true" /> + </serializedBean> + </formComponent> + </formComponents> + </screen> + </beans> + </group> + </beans> + </group> + </screens> + </application> + </applications> + <styles defaultStyleId="1"> + <style name="Standard" id="1" beanClass="com.install4j.runtime.beans.styles.FormStyle"> + <formComponents> + <formComponent name="Header" id="2" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0"> + <serializedBean> + <property name="styleId" type="string">14</property> + </serializedBean> + </formComponent> + <group name="Main" id="3" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup"> + <beans> + <formComponent id="4" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" /> + <formComponent name="Watermark" id="5" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="Custom watermark" externalParametrizationMode="include"> + <serializedBean> + <property name="enabledTitleText" type="boolean" value="false" /> + <property name="labelText" type="string">Copyright (C) ${compiler:projectYear} by Griefed</property> + </serializedBean> + <externalParametrizationPropertyNames> + <propertyName>labelText</propertyName> + </externalParametrizationPropertyNames> + </formComponent> + <formComponent name="Footer" id="6" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0"> + <serializedBean> + <property name="styleId" type="string">18</property> + </serializedBean> + </formComponent> + </beans> + </group> + </formComponents> + </style> + <style name="Banner" id="7" beanClass="com.install4j.runtime.beans.styles.FormStyle"> + <formComponents> + <group id="8" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="WEST" /> + <property name="imageEdgeBackgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>25</int> + <int>143</int> + <int>220</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>0</int> + <int>74</int> + <int>151</int> + <int>255</int> + </object> + </object> + </property> + <property name="imageEdgeBorder" type="boolean" value="true" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>${compiler:projectDir}/img/banner_installer_fin.png</string> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>5</int> + <int>10</int> + <int>10</int> + <int>10</int> + </object> + </property> + </serializedBean> + <beans> + <formComponent id="9" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0"> + <serializedBean> + <property name="labelFontSizePercent" type="int" value="130" /> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + </serializedBean> + </formComponent> + <formComponent id="10" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" /> + <formComponent id="11" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" /> + </beans> + <externalParametrizationPropertyNames> + <propertyName>imageAnchor</propertyName> + <propertyName>imageEdgeBackgroundColor</propertyName> + <propertyName>imageFile</propertyName> + </externalParametrizationPropertyNames> + </group> + <formComponent id="12" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetBottom="0"> + <serializedBean> + <property name="styleId" type="string">18</property> + </serializedBean> + </formComponent> + </formComponents> + </style> + <group name="Style components" id="13" beanClass="com.install4j.runtime.beans.groups.StyleGroup"> + <beans> + <style name="Standard header" id="14" beanClass="com.install4j.runtime.beans.styles.FormStyle"> + <serializedBean> + <property name="fillVertical" type="boolean" value="false" /> + <property name="standalone" type="boolean" value="false" /> + <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" /> + </serializedBean> + <formComponents> + <group id="15" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include"> + <serializedBean> + <property name="backgroundColor"> + <object class="com.install4j.runtime.beans.LightOrDarkColor"> + <object class="java.awt.Color"> + <int>255</int> + <int>255</int> + <int>255</int> + <int>255</int> + </object> + <object class="java.awt.Color"> + <int>49</int> + <int>52</int> + <int>53</int> + <int>255</int> + </object> + </object> + </property> + <property name="borderSides"> + <object class="com.install4j.runtime.beans.formcomponents.BorderSides"> + <property name="bottom" type="boolean" value="true" /> + </object> + </property> + <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" /> + <property name="imageEdgeBorderWidth" type="int" value="2" /> + <property name="imageFile"> + <object class="com.install4j.api.beans.ExternalFile"> + <string>icon:${installer:sys.installerApplicationMode}_header.png</string> + </object> + </property> + <property name="imageInsets"> + <object class="java.awt.Insets"> + <int>0</int> + <int>5</int> + <int>1</int> + <int>1</int> + </object> + </property> + <property name="insets"> + <object class="java.awt.Insets"> + <int>0</int> + <int>20</int> + <int>0</int> + <int>10</int> + </object> + </property> + </serializedBean> + <beans> + <formComponent name="Title" id="16" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent"> + <serializedBean> + <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" /> + <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" /> + </serializedBean> + </formComponent> + <formComponent name="Subtitle" id="17" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8"> + <serializedBean> + <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" /> + </serializedBean> + </formComponent> + </beans> + <externalParametrizationPropertyNames> + <propertyName>backgroundColor</propertyName> + <propertyName>foregroundColor</propertyName> + <propertyName>imageAnchor</propertyName> + <propertyName>imageFile</propertyName> + <propertyName>imageOverlap</propertyName> + </externalParametrizationPropertyNames> + </group> + </formComponents> + </style> + <style name="Standard footer" id="18" beanClass="com.install4j.runtime.beans.styles.FormStyle"> + <serializedBean> + <property name="fillVertical" type="boolean" value="false" /> + <property name="standalone" type="boolean" value="false" /> + <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" /> + </serializedBean> + <formComponents> + <group id="19" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup"> + <serializedBean> + <property name="alignFirstLabel" type="boolean" value="false" /> + <property name="insets"> + <object class="java.awt.Insets"> + <int>3</int> + <int>5</int> + <int>8</int> + <int>5</int> + </object> + </property> + </serializedBean> + <beans> + <formComponent id="20" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" /> + <formComponent name="Back button" id="21" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent"> + <serializedBean> + <property name="buttonText" type="string">< ${i18n:ButtonBack}</property> + <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" /> + </serializedBean> + </formComponent> + <formComponent name="Next button" id="22" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent"> + <serializedBean> + <property name="buttonText" type="string">${i18n:ButtonNext} ></property> + <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" /> + </serializedBean> + </formComponent> + <formComponent name="Cancel button" id="23" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5"> + <serializedBean> + <property name="buttonText" type="string">${i18n:ButtonCancel}</property> + <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" /> + </serializedBean> + </formComponent> + </beans> + </group> + </formComponents> + </style> + </beans> + </group> + </styles> + </installerGui> + <mediaSets> + <windows name="Windows 64-bit" id="154" mediaFileName="${compiler:sys.shortName}_${compiler:sys.platform}_${compiler:sys.version}" installDir="ServerPackCreator" architecture="64"> + <jreBundle usePack200="false"> + <modules> + <defaultModules set="all" /> + </modules> + </jreBundle> + </windows> + <unixInstaller name="Unix Installer" id="159" installDir="serverpackcreator"> + <jreBundle usePack200="false"> + <modules> + <defaultModules set="all" /> + </modules> + </jreBundle> + </unixInstaller> + <macosArchive name="macOS Single Bundle Archive" id="158" architecture="universal" launcherId="183"> + <jreBundle> + <modules> + <defaultModules set="all" /> + </modules> + </jreBundle> + </macosArchive> + </mediaSets> +</install4j>