diff --git a/.github/scripts/sign-exe.sh b/.github/scripts/sign-exe.sh index 02235f9e9..ef2c209bd 100755 --- a/.github/scripts/sign-exe.sh +++ b/.github/scripts/sign-exe.sh @@ -13,6 +13,6 @@ ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- /build/apps/signing/sign echo "Copying **signed** $in_filename back... (into $out_file)" scp -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com:/opt/bamboo/$id/$in_filename $out_file echo "Cleaning up remote machine..." -ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- rm -f /opt/bamboo/$id +ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- rm -rf /opt/bamboo/$id echo "Successfully signed $in_filename" diff --git a/.github/scripts/update-distro-download-page.sh b/.github/scripts/update-distro-download-page.sh new file mode 100755 index 000000000..0ac114b5b --- /dev/null +++ b/.github/scripts/update-distro-download-page.sh @@ -0,0 +1,20 @@ +dist_path=$1 +eclipse_version=$2 +build_type=$3 + +s3_url=s3://dist.springsource.com/${dist_path} +downloads_html="sts4-nightly-${eclipse_version}.html" +files=`aws s3 cp ${s3_url} . --recursive --exclude "*" --include "spring-tool-suite-4*.zip" --include "spring-tool-suite-4*.dmg" --include "spring-tool-suite-4*.self-extracting.jar" --include "spring-tool-suite-4*.tar.gz" --exclude "*/*" --dryrun` +rm -f ./${downloads_html} +echo '' >> $downloads_html +cat ./$downloads_html +aws s3 mv ./$downloads_html s3://dist.springsource.com/${build_type}/STS4/ --acl public-read --no-progress diff --git a/.github/workflows/eclipse-ls-extensions-build.yml b/.github/workflows/eclipse-ls-extensions-build.yml index 10bed3766..d39d69ff9 100644 --- a/.github/workflows/eclipse-ls-extensions-build.yml +++ b/.github/workflows/eclipse-ls-extensions-build.yml @@ -41,9 +41,9 @@ jobs: run: | cd headless-services if command -v xvfb-run ; then - xvfb-run ./mvnw --batch-mode clean install -DskipTests + xvfb-run ./mvnw --batch-mode clean install else - ./mvnw --batch-mode clean install -DskipTests + ./mvnw --batch-mode clean install fi - name: Install GPG key run: | diff --git a/.github/workflows/gen-nighly-downloads.yml b/.github/workflows/gen-nighly-downloads.yml new file mode 100644 index 000000000..0113e58be --- /dev/null +++ b/.github/workflows/gen-nighly-downloads.yml @@ -0,0 +1,36 @@ +name: Generate Nightly Downloads HTML + +# configure manual trigger +on: + workflow_dispatch: + +jobs: + gen_html: + runs-on: ubuntu-latest + steps: + - name: Update Nightly Distro Downloads page + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }} + AWS_DEFAULT_REGION: us-east-1 + run: | + dist_path="snapshot/STS4/nightly/dist/e4.28" + s3_url=s3://dist.springsource.com/${dist_path} + downloads_html="sts4-nightly-e4.28.html" + files=`aws s3 cp ${s3_url} . --recursive --exclude "*" --include "spring-tool-suite-4*.zip" --include "spring-tool-suite-4*.dmg" --include "spring-tool-suite-4*.self-extracting.jar" --include "spring-tool-suite-4*.tar.gz" --exclude "*/*" --dryrun` + echo '' >> $downloads_html + cat ./$downloads_html + aws s3 mv ./$downloads_html s3://dist.springsource.com/snapshot/STS4/ --acl public-read + aws s3 ls s3://dist.springsource.com/snapshot/STS4/ + + + diff --git a/.github/workflows/gh-hosted-eclipse-distro-build.yml b/.github/workflows/gh-hosted-eclipse-distro-build.yml index dc8af537e..4baf37a7e 100644 --- a/.github/workflows/gh-hosted-eclipse-distro-build.yml +++ b/.github/workflows/gh-hosted-eclipse-distro-build.yml @@ -28,6 +28,7 @@ jobs: with: ref: ${{ inputs.ref }} sparse-checkout: | + .github eclipse-distribution eclipse-extensions - name: Set up JDK 17 @@ -71,6 +72,17 @@ jobs: aws s3 rm s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*linux*.tar.gz*" --exclude "*/*" echo "Uploading new Linux .ta.gz files to s3..." aws s3 cp . s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*linux*.tar.gz*" --exclude "*/*" --acl public-read --no-progress + - name: Update Nightly Distro Downloads page + if: ${{ inputs.build_type == 'snapshot' && always() }} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }} + AWS_DEFAULT_REGION: us-east-1 + run: | + dist_path=`cat ${{ github.workspace }}/eclipse-distribution/org.springframework.boot.ide.product.${{ inputs.eclipse_profile }}/target/s3-dist-path.txt` + eclipse_profile=${{ inputs.eclipse_profile }} + eclipse_version=${eclipse_profile:0:2}.${eclipse_profile:2} + ${{ github.workspace }}/.github/scripts/update-distro-download-page.sh $dist_path $eclipse_version ${{ inputs.build_type }} - name: Upload Build Artifacts for Signing env: AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} @@ -89,6 +101,10 @@ jobs: needs: eclipse-distro-build runs-on: self-hosted steps: + - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 + with: + sparse-checkout: | + .github - name: Download Win Zips from S3 for Signing env: AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} @@ -126,6 +142,25 @@ jobs: aws s3 rm s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*win*.zip*" --include "spring-tool-suite-4*win*.self-extracting.jar*" --exclude "*/*" echo "Uploading new win zip and self extracting jar files to s3..." aws s3 mv . s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*win*.zip*" --include "spring-tool-suite-4*win*.self-extracting.jar*" --exclude "*/*" --acl public-read --no-progress + - name: Update Nightly Distro Downloads page + if: ${{ inputs.build_type == 'snapshot' && always() }} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }} + AWS_DEFAULT_REGION: us-east-1 + run: | + dist_path=`cat s3-dist-path.txt` + eclipse_profile=${{ inputs.eclipse_profile }} + eclipse_version=${eclipse_profile:0:2}.${eclipse_profile:2} + ${{ github.workspace }}/.github/scripts/update-distro-download-page.sh $dist_path $eclipse_version ${{ inputs.build_type }} + - name: Cleanup + if: ${{ always() }} + env: + SSH_KEY: ~/.ssh/id_rsa + SSH_USER: signer + run: | + ssh -i $SSH_KEY $SSH_USER@vm-tools.spring.vmware.com -- rm -rf /opt/bamboo/${{ github.run_id }} + rm -rf *spring-tool-suite-4*win* sign-osx-distros: needs: eclipse-distro-build @@ -206,6 +241,21 @@ jobs: aws s3 rm s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*macosx*.dmg*" --exclude "*/*" echo "Uploading new dmg files to s3..." aws s3 mv . s3://dist.springsource.com/${dist_path} --recursive --exclude "*" --include "spring-tool-suite-4*macosx*.dmg*" --exclude "*/*" --acl public-read --no-progress + - name: Update Nightly Distro Downloads page + if: ${{ inputs.build_type == 'snapshot' && always() }} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }} + AWS_DEFAULT_REGION: us-east-1 + run: | + dist_path=`cat s3-dist-path.txt` + eclipse_profile=${{ inputs.eclipse_profile }} + eclipse_version=${eclipse_profile:0:2}.${eclipse_profile:2} + ${{ github.workspace }}/.github/scripts/update-distro-download-page.sh $dist_path $eclipse_version ${{ inputs.build_type }} + - name: Cleanup + if: ${{ always() }} + run: | + rm -rf *spring-tool-suite-4*macosx* cleanup: needs: [ sign-win-distros, sign-osx-distros ] diff --git a/eclipse-distribution/pom.xml b/eclipse-distribution/pom.xml index 1b7fc6acc..e8b94bda8 100644 --- a/eclipse-distribution/pom.xml +++ b/eclipse-distribution/pom.xml @@ -146,6 +146,7 @@ ${env.tools_s3_secret_key} ${env.gpg_passphrase} ${env.gpg_keyname} + true diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java index 6e87b3e0c..18e068782 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexerJava.java @@ -68,6 +68,7 @@ import org.springframework.ide.vscode.commons.languageserver.ProgressService; import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder; import org.springframework.ide.vscode.commons.languageserver.reconcile.IProblemCollector; import org.springframework.ide.vscode.commons.languageserver.reconcile.ReconcileProblem; +import org.springframework.ide.vscode.commons.protocol.java.Classpath; import org.springframework.ide.vscode.commons.protocol.spring.Bean; import org.springframework.ide.vscode.commons.util.UriUtil; import org.springframework.ide.vscode.commons.util.text.TextDocument; @@ -755,7 +756,7 @@ public class SpringIndexerJava implements SpringIndexer { private IndexCacheKey getCacheKey(IJavaProject project, String elementType) { IClasspath classpath = project.getClasspath(); - Stream classpathEntries = IClasspathUtil.getAllBinaryRoots(classpath).stream(); + Stream classpathEntries = IClasspathUtil.getBinaryRoots(classpath, cpe -> !Classpath.ENTRY_KIND_SOURCE.equals(cpe.getKind())).stream(); String classpathIdentifier = classpathEntries .filter(file -> file.exists())