diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0caf31844..e9b314064 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,7 @@ on: pull_request: env: - JAVA_VERSION: '22' + JAVA_VERSION: '23' jobs: verify: diff --git a/.github/workflows/bundles-kit.yml b/.github/workflows/bundles-kit.yml index ced47d5d2..a0ba1638e 100644 --- a/.github/workflows/bundles-kit.yml +++ b/.github/workflows/bundles-kit.yml @@ -7,7 +7,7 @@ on: required: true type: string java-version: - default: '22' + default: '23' required: false type: string diff --git a/.github/workflows/bundles-linux.yml b/.github/workflows/bundles-linux.yml index 09bdc6ac5..837b4aa32 100644 --- a/.github/workflows/bundles-linux.yml +++ b/.github/workflows/bundles-linux.yml @@ -10,11 +10,11 @@ on: required: true type: string java-version: - default: '22' + default: '23' required: false type: string javafx-version: - default: '22' + default: '23' required: false type: string test: @@ -38,8 +38,11 @@ jobs: release: ${{ inputs.java-version }} - name: Setup JavaFX + id: javafx run: | - wget -P /tmp https://download2.gluonhq.com/openjfx/${{ inputs.javafx-version }}/openjfx-${{ inputs.javafx-version }}_linux-x64_bin-jmods.zip + JAVAFX_MAJOR_VERSION=$(echo ${{ inputs.javafx-version }} | cut -d- -f1) + echo JAVAFX_MAJOR_VERSION=$JAVAFX_MAJOR_VERSION >> $GITHUB_OUTPUT + wget -P /tmp https://download2.gluonhq.com/openjfx/$JAVAFX_MAJOR_VERSION/openjfx-${{ inputs.javafx-version }}_linux-x64_bin-jmods.zip unzip /tmp/openjfx-${{ inputs.javafx-version }}_linux-x64_bin-jmods.zip -d /tmp - name: Cache Maven packages @@ -89,7 +92,7 @@ jobs: ls ${{ env.INSTALL_DIR }} env: MAIN_CLASS: com.oracle.javafx.scenebuilder.app.SceneBuilderApp - JAVAFX_HOME: /tmp/javafx-jmods-${{ inputs.javafx-version }}/ + JAVAFX_HOME: /tmp/javafx-jmods-${{ steps.javafx.outputs.JAVAFX_MAJOR_VERSION }}/ JPACKAGE_HOME: ${{ env.JAVA_HOME }} PROJECT_VERSION: ${{ inputs.project-version }} APP_VERSION: ${{ inputs.app-version }} diff --git a/.github/workflows/bundles-mac.yml b/.github/workflows/bundles-mac.yml index 53631d237..feade7064 100644 --- a/.github/workflows/bundles-mac.yml +++ b/.github/workflows/bundles-mac.yml @@ -10,11 +10,11 @@ on: required: true type: string java-version: - default: '22' + default: '23' required: false type: string javafx-version: - default: '22' + default: '23' required: false type: string test: @@ -52,8 +52,11 @@ jobs: p12-password: ${{ secrets.CERTIFICATES_PASSWORD }} - name: Setup JavaFX + id: javafx run: | - wget -P /tmp https://download2.gluonhq.com/openjfx/${{ inputs.javafx-version }}/openjfx-${{ inputs.javafx-version }}_osx-x64_bin-jmods.zip + JAVAFX_MAJOR_VERSION=$(echo ${{ inputs.javafx-version }} | cut -d- -f1) + echo JAVAFX_MAJOR_VERSION=$JAVAFX_MAJOR_VERSION >> $GITHUB_OUTPUT + wget -P /tmp https://download2.gluonhq.com/openjfx/$JAVAFX_MAJOR_VERSION/openjfx-${{ inputs.javafx-version }}_osx-x64_bin-jmods.zip unzip /tmp/openjfx-${{ inputs.javafx-version }}_osx-x64_bin-jmods.zip -d /tmp - name: Cache Maven packages @@ -89,10 +92,10 @@ jobs: --mac-sign mv ${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.APP_VERSION }}.dmg ${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-amd64.dmg ls ${{ env.INSTALL_DIR }} - echo ::set-output name=path::${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-amd64.dmg + echo path=${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-amd64.dmg >> $GITHUB_OUTPUT env: MAIN_CLASS: com.oracle.javafx.scenebuilder.app.SceneBuilderApp - JAVAFX_HOME: /tmp/javafx-jmods-${{ inputs.javafx-version }}/ + JAVAFX_HOME: /tmp/javafx-jmods-${{ steps.javafx.outputs.JAVAFX_MAJOR_VERSION }}/ JPACKAGE_HOME: ${{ env.JAVA_HOME }} MACSIGN_PREFIX: ${{ secrets.MACSIGN_PREFIX }} MACSIGN_USER: ${{ secrets.MACSIGN_USER }} diff --git a/.github/workflows/bundles-mac_aarch64.yml b/.github/workflows/bundles-mac_aarch64.yml index 1918ac8ab..cf319b69b 100644 --- a/.github/workflows/bundles-mac_aarch64.yml +++ b/.github/workflows/bundles-mac_aarch64.yml @@ -10,11 +10,11 @@ on: required: true type: string java-version: - default: '22' + default: '23' required: false type: string javafx-version: - default: '22' + default: '23' required: false type: string test: @@ -53,8 +53,11 @@ jobs: p12-password: ${{ secrets.CERTIFICATES_PASSWORD }} - name: Setup JavaFX + id: javafx run: | - wget -P /tmp https://download2.gluonhq.com/openjfx/${{ inputs.javafx-version }}/openjfx-${{ inputs.javafx-version }}_osx-aarch64_bin-jmods.zip + JAVAFX_MAJOR_VERSION=$(echo ${{ inputs.javafx-version }} | cut -d- -f1) + echo JAVAFX_MAJOR_VERSION=$JAVAFX_MAJOR_VERSION >> $GITHUB_OUTPUT + wget -P /tmp https://download2.gluonhq.com/openjfx/$JAVAFX_MAJOR_VERSION/openjfx-${{ inputs.javafx-version }}_osx-aarch64_bin-jmods.zip unzip /tmp/openjfx-${{ inputs.javafx-version }}_osx-aarch64_bin-jmods.zip -d /tmp - name: Cache Maven packages @@ -90,10 +93,10 @@ jobs: --mac-sign mv ${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.APP_VERSION }}.dmg ${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-aarch64.dmg ls ${{ env.INSTALL_DIR }} - echo ::set-output name=path::${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-aarch64.dmg + echo path=${{ env.INSTALL_DIR }}/SceneBuilder-${{ env.PROJECT_VERSION }}-aarch64.dmg >> $GITHUB_OUTPUT env: MAIN_CLASS: com.oracle.javafx.scenebuilder.app.SceneBuilderApp - JAVAFX_HOME: /tmp/javafx-jmods-${{ inputs.javafx-version }}/ + JAVAFX_HOME: /tmp/javafx-jmods-${{ steps.javafx.outputs.JAVAFX_MAJOR_VERSION }}/ JPACKAGE_HOME: ${{ env.JAVA_HOME }} MACSIGN_PREFIX: ${{ secrets.MACSIGN_PREFIX }} MACSIGN_USER: ${{ secrets.MACSIGN_USER }} diff --git a/.github/workflows/bundles-windows.yml b/.github/workflows/bundles-windows.yml index cc1c72bbe..75b537119 100644 --- a/.github/workflows/bundles-windows.yml +++ b/.github/workflows/bundles-windows.yml @@ -10,11 +10,11 @@ on: required: true type: string java-version: - default: '22' + default: '23' required: false type: string javafx-version: - default: '22' + default: '23' required: false type: string test: @@ -42,9 +42,12 @@ jobs: release: ${{ inputs.java-version }} - name: Setup JavaFX + id: javafx shell: pwsh run: | - Invoke-WebRequest -Uri https://download2.gluonhq.com/openjfx/${{ inputs.javafx-version }}/openjfx-${{ inputs.javafx-version }}_windows-x64_bin-jmods.zip -OutFile D:\openjfx-${{ inputs.javafx-version }}_windows-x64_bin-jmods.zip + $JAVAFX_MAJOR_VERSION = '${{ inputs.javafx-version }}' -split '-' | Select-Object -Index 0 + echo "JAVAFX_MAJOR_VERSION=$JAVAFX_MAJOR_VERSION" >> $env:GITHUB_OUTPUT + Invoke-WebRequest -Uri https://download2.gluonhq.com/openjfx/$JAVAFX_MAJOR_VERSION/openjfx-${{ inputs.javafx-version }}_windows-x64_bin-jmods.zip -OutFile D:\openjfx-${{ inputs.javafx-version }}_windows-x64_bin-jmods.zip Expand-Archive -Force D:\openjfx-${{ inputs.javafx-version }}_windows-x64_bin-jmods.zip D:\ - name: Cache Maven packages @@ -75,7 +78,7 @@ jobs: call dir ${{ env.INSTALL_DIR }} env: MAIN_CLASS: com.oracle.javafx.scenebuilder.app.SceneBuilderApp - JAVAFX_HOME: D:\javafx-jmods-${{ inputs.javafx-version }} + JAVAFX_HOME: D:\javafx-jmods-${{ steps.javafx.outputs.JAVAFX_MAJOR_VERSION }} JPACKAGE_HOME: ${{ env.JAVA_HOME }} PROJECT_VERSION: ${{ inputs.project-version }} APP_VERSION: ${{ inputs.app-version }} diff --git a/.github/workflows/early-access.yml b/.github/workflows/early-access.yml index eb413e9bf..3b0c59b3b 100644 --- a/.github/workflows/early-access.yml +++ b/.github/workflows/early-access.yml @@ -5,8 +5,8 @@ on: branches: [ master ] env: - JAVAFX_VERSION: '22' - JAVA_VERSION: '22' + JAVA_VERSION: '23' + JAVAFX_VERSION: '23-ea+27' jobs: precheck: @@ -41,12 +41,12 @@ jobs: PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) APP_VERSION=$PROJECT_VERSION APP_VERSION=${APP_VERSION%-*} - echo ::set-output name=APP_VERSION::$APP_VERSION - echo ::set-output name=PROJECT_VERSION::$PROJECT_VERSION + echo APP_VERSION=$APP_VERSION >> $GITHUB_OUTPUT + echo PROJECT_VERSION=$PROJECT_VERSION >> $GITHUB_OUTPUT linux-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-linux.yml@master + uses: ./.github/workflows/bundles-linux.yml with: javafx-version: ${{ needs.precheck.outputs.JAVAFX_VERSION }} java-version: ${{ needs.precheck.outputs.JAVA_VERSION }} @@ -56,7 +56,7 @@ jobs: windows-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-windows.yml@master + uses: ./.github/workflows/bundles-windows.yml secrets: WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} WINDOWS_PASSWORD: ${{ secrets.WINDOWS_PASSWORD }} @@ -70,7 +70,7 @@ jobs: mac-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-mac.yml@master + uses: ./.github/workflows/bundles-mac.yml secrets: CERTIFICATES_FILE_BASE64: ${{ secrets.CERTIFICATES_FILE_BASE64 }} CERTIFICATES_PASSWORD: ${{ secrets.CERTIFICATES_PASSWORD }} @@ -87,7 +87,7 @@ jobs: mac_aarch64-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-mac_aarch64.yml@master + uses: ./.github/workflows/bundles-mac_aarch64.yml secrets: CERTIFICATES_FILE_BASE64: ${{ secrets.CERTIFICATES_FILE_BASE64 }} CERTIFICATES_PASSWORD: ${{ secrets.CERTIFICATES_PASSWORD }} @@ -104,7 +104,7 @@ jobs: kit-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-kit.yml@master + uses: ./.github/workflows/bundles-kit.yml with: java-version: ${{ needs.precheck.outputs.JAVA_VERSION }} project-version: ${{ needs.precheck.outputs.PROJECT_VERSION }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca95d84fb..fad68a505 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,8 +11,8 @@ on: - GA env: - JAVAFX_VERSION: '22' - JAVA_VERSION: '22' + JAVAFX_VERSION: '23' + JAVA_VERSION: '23' jobs: precheck: @@ -54,13 +54,13 @@ jobs: S3_PATH=RC/$PROJECT_VERSION fi echo "Releasing.. "$PROJECT_VERSION - echo ::set-output name=APP_VERSION::$APP_VERSION - echo ::set-output name=PROJECT_VERSION::$PROJECT_VERSION - echo ::set-output name=S3_PATH::$S3_PATH + echo APP_VERSION=$APP_VERSION >> $GITHUB_OUTPUT + echo PROJECT_VERSION=$PROJECT_VERSION >> $GITHUB_OUTPUT + echo S3_PATH=$S3_PATH >> $GITHUB_OUTPUT linux-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-linux.yml@master + uses: ./.github/workflows/bundles-linux.yml with: javafx-version: ${{ needs.precheck.outputs.JAVAFX_VERSION }} java-version: ${{ needs.precheck.outputs.JAVA_VERSION }} @@ -70,7 +70,7 @@ jobs: windows-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-windows.yml@master + uses: ./.github/workflows/bundles-windows.yml secrets: WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} WINDOWS_PASSWORD: ${{ secrets.WINDOWS_PASSWORD }} @@ -84,7 +84,7 @@ jobs: mac-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-mac.yml@master + uses: ./.github/workflows/bundles-mac.yml secrets: CERTIFICATES_FILE_BASE64: ${{ secrets.CERTIFICATES_FILE_BASE64 }} CERTIFICATES_PASSWORD: ${{ secrets.CERTIFICATES_PASSWORD }} @@ -101,7 +101,7 @@ jobs: mac_aarch64-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-mac_aarch64.yml@master + uses: ./.github/workflows/bundles-mac_aarch64.yml secrets: CERTIFICATES_FILE_BASE64: ${{ secrets.CERTIFICATES_FILE_BASE64 }} CERTIFICATES_PASSWORD: ${{ secrets.CERTIFICATES_PASSWORD }} @@ -118,7 +118,7 @@ jobs: kit-bundles: needs: [precheck] - uses: gluonhq/scenebuilder/.github/workflows/bundles-kit.yml@master + uses: ./.github/workflows/bundles-kit.yml with: java-version: ${{ needs.precheck.outputs.JAVA_VERSION }} project-version: ${{ needs.precheck.outputs.PROJECT_VERSION }} diff --git a/app/pom.xml b/app/pom.xml index daec5e6bd..22288a872 100644 --- a/app/pom.xml +++ b/app/pom.xml @@ -7,7 +7,7 @@ com.gluonhq.scenebuilder parent - 22.0.1-SNAPSHOT + 23.0.0-SNAPSHOT diff --git a/kit/pom.xml b/kit/pom.xml index c205135b6..174e821f7 100644 --- a/kit/pom.xml +++ b/kit/pom.xml @@ -7,7 +7,7 @@ com.gluonhq.scenebuilder parent - 22.0.1-SNAPSHOT + 23.0.0-SNAPSHOT diff --git a/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/library/util/ExplorerBase.java b/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/library/util/ExplorerBase.java index 6b711d4a4..1ddf56ebd 100644 --- a/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/library/util/ExplorerBase.java +++ b/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/library/util/ExplorerBase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Gluon and/or its affiliates. + * Copyright (c) 2020, 2024, Gluon and/or its affiliates. * Copyright (c) 2012, 2014, Oracle and/or its affiliates. * All rights reserved. Use is subject to license terms. * @@ -102,8 +102,10 @@ JarReportEntry exploreEntry(String entryName, ClassLoader classLoader, String cl // http://stackoverflow.com/questions/8100376/class-forname-vs-classloader-loadclass-which-to-use-for-dynamic-loading entryClass = classLoader.loadClass(className); // Note: static intializers of entryClass are not run, this doesn't seem to be an issue - if (Modifier.isAbstract(entryClass.getModifiers()) - || !Node.class.isAssignableFrom(entryClass)) { + final int modifiers = entryClass.getModifiers(); + if (Modifier.isAbstract(modifiers) + || !Node.class.isAssignableFrom(entryClass) + || !(Modifier.isPublic(modifiers) || Modifier.isProtected(modifiers))) { status = JarReportEntry.Status.IGNORED; entryClass = null; entryException = null; diff --git a/pom.xml b/pom.xml index b50ac0059..1dbbbc06f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.gluonhq.scenebuilder parent pom - 22.0.1-SNAPSHOT + 23.0.0-SNAPSHOT Scene Builder Scene Builder is a visual, drag n drop, layout tool for designing JavaFX application user interfaces 2012 @@ -16,11 +16,11 @@ - 22 + 23 ${java.version} ${java.version} ${java.version} - 22 + 23-ea+27 1.1.0 6.2.2 4.0.19