diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 05b481a8..534c66f4 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -20,7 +20,7 @@ on: - 'assets/**' env: - DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo + DEMO_MAVEN_MODULE: flow-demo jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3420b88..f6353427 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,9 +4,6 @@ on: push: branches: [ master ] -env: - PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }} - permissions: contents: write pull-requests: write @@ -66,10 +63,9 @@ jobs: - name: Get version id: version run: | - version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout) + version=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout) echo "release=$version" >> $GITHUB_OUTPUT echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} - name: Commit and Push run: | @@ -94,12 +90,14 @@ jobs: Add the following lines to your pom: ```XML - software.xdev - ${{ env.PRIMARY_MAVEN_MODULE }} + software.xdev.vaadin.maps-leaflet + flow ${{ steps.version.outputs.release }} ``` + You can also use the [BOM](https://github.com/${{ github.repository }}/tree/develop/bom) for easier dependency management. + ### Additional notes * [Spring-Boot] You may have to include ``software/xdev`` inside [``vaadin.allowed-packages``](https://vaadin.com/docs/latest/integrations/spring/configuration#configure-the-scanning-of-packages) @@ -125,14 +123,19 @@ jobs: server-password: PACKAGES_CENTRAL_TOKEN gpg-passphrase: MAVEN_GPG_PASSPHRASE gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - - - name: Publish to GitHub Packages Central - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + + - name: Publish to GitHub Packages + run: | + modules=("bom") + dependency_management_block=$(grep -ozP '(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0') + modules+=($(echo $dependency_management_block | grep -oP '(?<=)[^<]+')) + printf -v modules_joined '%s,' "${modules[@]}" + modules_arg=$(echo "${modules_joined%,}") + ./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central env: PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - + - name: Set up JDK uses: actions/setup-java@v4 with: # running setup-java again overwrites the settings.xml @@ -144,12 +147,17 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests + run: | + modules=("bom") + dependency_management_block=$(grep -ozP '(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0') + modules+=($(echo $dependency_management_block | grep -oP '(?<=)[^<]+')) + printf -v modules_joined '%s,' "${modules[@]}" + modules_arg=$(echo "${modules_joined%,}") + ./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish,publish-sonatype-central-portal -DskipTests env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} publish-pages: runs-on: ubuntu-latest @@ -172,14 +180,22 @@ jobs: cache: 'maven' - name: Build site - run: ../mvnw -B compile site -DskipTests -T2C - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: ./mvnw -B compile site -DskipTests -T2C + + - name: Aggregate site + run: | + modules=($(grep -ozP '(?<=module>)[^<]+' 'pom.xml' | tr -d '\0')) + for m in "${modules[@]}" + do + echo "$m/target/site -> ./target/site/$m" + cp -r $m/target/site ./target/site/$m + done - name: Deploy to Github pages uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./${{ env.PRIMARY_MAVEN_MODULE }}/target/site + publish_dir: ./target/site force_orphan: true after-release: diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 046be633..291ff7b9 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -13,23 +13,18 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK - uses: actions/setup-java@v4 - with: # running setup-java overwrites the settings.xml - distribution: 'temurin' - java-version: '17' - server-id: github-central - server-password: PACKAGES_CENTRAL_TOKEN - gpg-passphrase: MAVEN_GPG_PASSPHRASE - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - - - name: Publish to GitHub Packages Central - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + - name: Publish to GitHub Packages + run: | + modules=("bom") + dependency_management_block=$(grep -ozP '(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0') + modules+=($(echo $dependency_management_block | grep -oP '(?<=)[^<]+')) + printf -v modules_joined '%s,' "${modules[@]}" + modules_arg=$(echo "${modules_joined%,}") + ./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central env: PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - + - name: Set up JDK uses: actions/setup-java@v4 with: # running setup-java again overwrites the settings.xml @@ -41,8 +36,13 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: | + modules=("bom") + dependency_management_block=$(grep -ozP '(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0') + modules+=($(echo $dependency_management_block | grep -oP '(?<=)[^<]+')) + printf -v modules_joined '%s,' "${modules[@]}" + modules_arg=$(echo "${modules_joined%,}") + ./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish,publish-sonatype-central-portal -DskipTests env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} diff --git a/.run/Run Demo.run.xml b/.run/Run Demo.run.xml index 35fc9a23..61e43097 100644 --- a/.run/Run Demo.run.xml +++ b/.run/Run Demo.run.xml @@ -1,7 +1,7 @@