Merge branch 'main' of https://github.com/spring-projects/sts4 into main
This commit is contained in:
@@ -259,12 +259,12 @@ resources:
|
||||
username: ((docker_hub_username))
|
||||
password: ((docker_hub_password))
|
||||
repository: springci/sts4-build-env
|
||||
- name: theia-docker-image
|
||||
type: docker-image
|
||||
source:
|
||||
username: ((docker_hub_username))
|
||||
password: ((docker_hub_password))
|
||||
repository: springci/sts4-theia-snapshot
|
||||
# - name: theia-docker-image
|
||||
# type: docker-image
|
||||
# source:
|
||||
# username: ((docker_hub_username))
|
||||
# password: ((docker_hub_password))
|
||||
# repository: springci/sts4-theia-snapshot
|
||||
- name: maven-cache
|
||||
type: s3
|
||||
source:
|
||||
@@ -401,40 +401,40 @@ jobs:
|
||||
params:
|
||||
rebase: true
|
||||
repository: sts4-wiki-out
|
||||
- name: build-theia-docker-snapshot-image
|
||||
serial: true
|
||||
on_failure:
|
||||
put: slack-notification
|
||||
params:
|
||||
text: |
|
||||
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
|
||||
https://ci.spring.io/teams/tools/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}
|
||||
plan:
|
||||
- in_parallel:
|
||||
- get: s3-concourse-vsix-snapshot
|
||||
trigger: true
|
||||
passed:
|
||||
- build-consourse-vsix-snapshot
|
||||
- get: s3-spring-boot-vsix-snapshot
|
||||
trigger: true
|
||||
passed:
|
||||
- build-spring-boot-vsix-snapshot
|
||||
- get: s3-bosh-vsix-snapshot
|
||||
trigger: true
|
||||
passed:
|
||||
- build-bosh-vsix-snapshot
|
||||
- get: s3-manifest-yaml-vsix-snapshot
|
||||
trigger: true
|
||||
passed:
|
||||
- build-manifest-yaml-vsix-snapshot
|
||||
- get: sts4
|
||||
- task: prepare-theia-docker-image
|
||||
file: sts4/concourse/tasks/prepare-theia-docker-image.yml
|
||||
- put: theia-docker-image
|
||||
params:
|
||||
build: output
|
||||
get_params:
|
||||
skip_download: true
|
||||
# - name: build-theia-docker-snapshot-image
|
||||
# serial: true
|
||||
# on_failure:
|
||||
# put: slack-notification
|
||||
# params:
|
||||
# text: |
|
||||
# Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
|
||||
# https://ci.spring.io/teams/tools/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}
|
||||
# plan:
|
||||
# - in_parallel:
|
||||
# - get: s3-concourse-vsix-snapshot
|
||||
# trigger: true
|
||||
# passed:
|
||||
# - build-consourse-vsix-snapshot
|
||||
# - get: s3-spring-boot-vsix-snapshot
|
||||
# trigger: true
|
||||
# passed:
|
||||
# - build-spring-boot-vsix-snapshot
|
||||
# - get: s3-bosh-vsix-snapshot
|
||||
# trigger: true
|
||||
# passed:
|
||||
# - build-bosh-vsix-snapshot
|
||||
# - get: s3-manifest-yaml-vsix-snapshot
|
||||
# trigger: true
|
||||
# passed:
|
||||
# - build-manifest-yaml-vsix-snapshot
|
||||
# - get: sts4
|
||||
# - task: prepare-theia-docker-image
|
||||
# file: sts4/concourse/tasks/prepare-theia-docker-image.yml
|
||||
# - put: theia-docker-image
|
||||
# params:
|
||||
# build: output
|
||||
# get_params:
|
||||
# skip_download: true
|
||||
- name: build-docker-image
|
||||
serial: true
|
||||
plan:
|
||||
@@ -1025,13 +1025,13 @@ groups:
|
||||
- bump-version-patch
|
||||
- bump-version-minor
|
||||
- bump-version-major
|
||||
- name: theia-snapshots
|
||||
jobs:
|
||||
- build-theia-docker-snapshot-image
|
||||
- build-consourse-vsix-snapshot
|
||||
- build-manifest-yaml-vsix-snapshot
|
||||
- build-spring-boot-vsix-snapshot
|
||||
- build-bosh-vsix-snapshot
|
||||
# - name: theia-snapshots
|
||||
# jobs:
|
||||
# - build-theia-docker-snapshot-image
|
||||
# - build-consourse-vsix-snapshot
|
||||
# - build-manifest-yaml-vsix-snapshot
|
||||
# - build-spring-boot-vsix-snapshot
|
||||
# - build-bosh-vsix-snapshot
|
||||
- name: setup
|
||||
jobs:
|
||||
- build-mvn-cache
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site pack200="true">
|
||||
<description url="https://spring.io/tools">
|
||||
Spring Tool Suite 4
|
||||
</description>
|
||||
|
||||
<category-def name="Spring Tools" label="Spring Tools"/>
|
||||
<category-def name="Spring Tools - Developer Resources" label="Spring Tools - Developer Resources"/>
|
||||
|
||||
<!-- STS4 branding and custom features -->
|
||||
<feature
|
||||
id="org.springframework.boot.ide.main.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.boot.ide.main.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature id="org.springframework.boot.ide.branding.feature" version="0.0.0" />
|
||||
|
||||
<feature
|
||||
id="org.springframework.boot.ide.branding.feature.source" version="0.0.0">
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.boot.dash.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.boot.dash.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.xml.namespaces.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.xml.namespaces.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.cloudfoundry.manifest.ls.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.cloudfoundry.manifest.ls.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.boot.ls.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.boot.ls.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.bosh.ls.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.bosh.ls.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.concourse.ls.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.tooling.concourse.ls.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
<!--
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.xterm.feature" version="0.0.0">
|
||||
<category name="Spring Tools" />
|
||||
</feature>
|
||||
|
||||
<feature
|
||||
id="org.springframework.ide.eclipse.xterm.feature.source" version="0.0.0">
|
||||
<category name="Spring Tools - Developer Resources" />
|
||||
</feature>
|
||||
|
||||
<feature id="com.make.chromium.cef.feature"/>
|
||||
--> <feature id="org.eclipse.wildwebdeveloper.embedder.node.feature"/>
|
||||
|
||||
<bundle id="org.springframework.tooling.ls.eclipse.commons" />
|
||||
<bundle id="org.springframework.tooling.ls.eclipse.commons.source" />
|
||||
<bundle id="org.springsource.ide.eclipse.commons.boot.ls" />
|
||||
<bundle id="org.springsource.ide.eclipse.commons.boot.ls.source"/>
|
||||
<bundle id="org.springframework.tooling.jdt.ls.commons"/>
|
||||
<bundle id="org.springframework.tooling.jdt.ls.commons.source"/>
|
||||
<bundle id="org.springframework.tooling.ls.eclipse.gotosymbol"/>
|
||||
<bundle id="org.springframework.tooling.ls.eclipse.gotosymbol.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.core"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.core.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.ui"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.ui.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.frameworks.core"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.frameworks.core.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.frameworks.ui"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.frameworks.ui.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.livexp"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.livexp.source"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.tests.util"/>
|
||||
<bundle id="org.springsource.ide.eclipse.commons.tests.util.source"/>
|
||||
|
||||
<bundle id="io.projectreactor.reactor-core"/>
|
||||
<bundle id="io.projectreactor.reactor-core.source"/>
|
||||
<bundle id="org.reactivestreams.reactive-streams"/>
|
||||
<bundle id="org.reactivestreams.reactive-streams.source"/>
|
||||
|
||||
<feature id="org.eclipse.mylyn.wikitext_feature"/>
|
||||
<feature id="org.eclipse.tm4e.feature"/>
|
||||
|
||||
<bundle id="javassist"/>
|
||||
<bundle id="javassist.source"/>
|
||||
<bundle id="javax.activation"/>
|
||||
<bundle id="javax.activation.source"/>
|
||||
<bundle id="javax.annotation"/>
|
||||
<bundle id="javax.annotation.source"/>
|
||||
<bundle id="javax.ws.rs"/>
|
||||
<bundle id="javax.xml.bind"/>
|
||||
<bundle id="javax.xml.bind.source"/>
|
||||
<bundle id="javax.xml.stream"/>
|
||||
<bundle id="org.aopalliance"/>
|
||||
<bundle id="org.apache.log4j"/>
|
||||
<bundle id="org.dadacoalition.yedit"/>
|
||||
<bundle id="org.yaml.snakeyaml"/>
|
||||
<bundle id="org.eclipse.lsp4e"/>
|
||||
<bundle id="org.eclipse.lsp4e.jdt"/>
|
||||
<bundle id="org.eclipse.lsp4j"/>
|
||||
<bundle id="org.eclipse.lsp4j.jsonrpc"/>
|
||||
<bundle id="org.eclipse.xtext.xbase.lib"/>
|
||||
<bundle id="org.eclipse.zest.core"/>
|
||||
<bundle id="org.eclipse.zest.layouts"/>
|
||||
<bundle id="com.google.gson"/>
|
||||
<bundle id="org.jcodings"/>
|
||||
<bundle id="org.joni"/>
|
||||
<bundle id="org.json"/>
|
||||
<bundle id="org.apache.commons.lang3"/>
|
||||
<bundle id="org.apache.commons.collections"/>
|
||||
<bundle id="org.bouncycastle.bcpg"/>
|
||||
<bundle id="org.bouncycastle.bcpg.source"/>
|
||||
<bundle id="org.bouncycastle.bcpkix"/>
|
||||
<bundle id="org.bouncycastle.bcpkix.source"/>
|
||||
<bundle id="org.bouncycastle.bcprov"/>
|
||||
<bundle id="org.bouncycastle.bcprov.source"/>
|
||||
<bundle id="com.hierynomus.sshj"/>
|
||||
<bundle id="com.hierynomus.sshj.source"/>
|
||||
<bundle id="com.jcraft.jzlib"/>
|
||||
<bundle id="com.jcraft.jzlib.source"/>
|
||||
<bundle id="com.fasterxml.jackson.core.jackson-annotations"/>
|
||||
<bundle id="com.fasterxml.jackson.core.jackson-core"/>
|
||||
<bundle id="com.fasterxml.jackson.core.jackson-databind"/>
|
||||
<bundle id="net.i2p.crypto.eddsa"/>
|
||||
<bundle id="net.i2p.crypto.eddsa.source"/>
|
||||
|
||||
<!-- additional test bundles, required for other tests that might reuse this, e.g. from STS3 -->
|
||||
<bundle id="org.springframework.ide.eclipse.boot.dash.test"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.dash.test.source"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.launch.test"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.launch.test.source"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.refactoring.test"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.refactoring.test.source"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.test"/>
|
||||
<bundle id="org.springframework.ide.eclipse.boot.test.source"/>
|
||||
<bundle id="org.springframework.ide.eclipse.maven.pom.tests"/>
|
||||
<bundle id="org.springframework.ide.eclipse.maven.pom.tests.source"/>
|
||||
|
||||
</site>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-executable-page-protection</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.debugger</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DMG=$1
|
||||
NOTARIZE_SERVICE_URL=$2
|
||||
|
||||
echo "Notarize DMG"
|
||||
echo ${DMG}
|
||||
|
||||
RESPONSE=\
|
||||
$(curl -s -X POST \
|
||||
-F file=@${DMG} \
|
||||
-F 'options={"primaryBundleId": "SpringTools4", "staple": true};type=application/json' \
|
||||
${NOTARIZE_SERVICE_URL}/macos-notarization-service/notarize)
|
||||
|
||||
echo "Notarization request submitted"
|
||||
echo ${RESPONSE}
|
||||
|
||||
UUID=$(echo ${RESPONSE} | jq -r '.uuid')
|
||||
|
||||
STATUS=$(echo ${RESPONSE} | jq -r '.notarizationStatus.status')
|
||||
|
||||
echo "Status after submitting"
|
||||
echo ${STATUS}
|
||||
|
||||
while [[ ${STATUS} == 'IN_PROGRESS' ]]; do
|
||||
sleep 60
|
||||
RESPONSE=$(curl -s ${NOTARIZE_SERVICE_URL}/macos-notarization-service/${UUID}/status)
|
||||
STATUS=$(echo ${RESPONSE} | jq -r '.notarizationStatus.status')
|
||||
|
||||
echo "Waiting for status to change"
|
||||
echo ${RESPONSE}
|
||||
echo ${STATUS}
|
||||
done
|
||||
|
||||
echo "Status is not in progress anymore"
|
||||
echo ${RESPONSE}
|
||||
echo ${STATUS}
|
||||
|
||||
if [[ ${STATUS} != 'COMPLETE' ]]; then
|
||||
echo "Notarization failed: ${RESPONSE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv "${DMG}" "${DMG}-unnotarized"
|
||||
|
||||
curl -o ${DMG} -J ${NOTARIZE_SERVICE_URL}/macos-notarization-service/${UUID}/download
|
||||
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?pde version="3.5"?>
|
||||
<product name="Spring Tool Suite 4" id="org.springframework.boot.ide.branding.sts4" uid="org.springframework.boot.ide.branding.sts4" application="org.eclipse.ui.ide.workbench" version="4.13.1.qualifier" useFeatures="true" includeLaunchers="true">
|
||||
|
||||
<configIni use="default">
|
||||
</configIni>
|
||||
|
||||
<launcherArgs>
|
||||
<programArgs>-product org.springframework.boot.ide.branding.sts4
|
||||
--launcher.defaultAction openFile
|
||||
</programArgs>
|
||||
<vmArgs>-Dosgi.requiredJavaVersion=11
|
||||
-Dosgi.dataAreaRequiresExplicitInit=true
|
||||
-Xms256m
|
||||
-Xmx2048m
|
||||
--illegal-access=permit
|
||||
--add-modules=ALL-SYSTEM
|
||||
</vmArgs>
|
||||
<vmArgsLin>
|
||||
</vmArgsLin>
|
||||
<vmArgsMac>-XstartOnFirstThread
|
||||
-Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon=../Resources/sts4.icns
|
||||
</vmArgsMac>
|
||||
<vmArgsWin>
|
||||
</vmArgsWin>
|
||||
</launcherArgs>
|
||||
|
||||
<windowImages i16="/org.springframework.boot.ide.branding/sts4-16.png" i32="/org.springframework.boot.ide.branding/sts4-32.png" i48="/orgorg.springframework.boot.ide.branding/sts4-48.png" i64="/org.springframework.boot.ide.branding/sts4-64.png" i128="/org.springframework.boot.ide.branding/sts4-128.png"/>
|
||||
|
||||
<splash
|
||||
location="org.springframework.boot.ide.branding"
|
||||
startupProgressRect="0,225,455,15"
|
||||
startupMessageRect="7,220,441,20"
|
||||
startupForegroundColor="c1d72e" />
|
||||
|
||||
<launcher name="SpringToolSuite4">
|
||||
<macosx icon="../org.springframework.boot.ide.branding/sts4.icns"/>
|
||||
<solaris/>
|
||||
<win useIco="true">
|
||||
<ico path="../org.springframework.boot.ide.branding/sts4.ico"/>
|
||||
<bmp/>
|
||||
</win>
|
||||
<linux icon="../org.springframework.boot.ide.branding/sts4.xpm"/>
|
||||
</launcher>
|
||||
|
||||
<plugins>
|
||||
</plugins>
|
||||
|
||||
<features>
|
||||
<feature id="org.eclipse.platform"/>
|
||||
<feature id="org.eclipse.pde" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.buildship" installMode="root"/>
|
||||
<feature id="org.eclipse.egit" installMode="root"/>
|
||||
<feature id="org.eclipse.egit.gitflow.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.equinox.p2.user.ui" installMode="root"/>
|
||||
<feature id="org.eclipse.help" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.jdt" installMode="root"/>
|
||||
<feature id="org.eclipse.jgit" installMode="root"/>
|
||||
<feature id="org.eclipse.jgit.lfs" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.mylyn.wikitext.editors_feature" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.m2e.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.m2e.lemminx.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.m2e.logback.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.m2e.wtp.feature" installMode="root"/>
|
||||
<!-- <feature id="org.eclipse.m2e.wtp.jaxrs.feature" installMode="root"/> -->
|
||||
<!-- <feature id="org.eclipse.m2e.wtp.jsf.feature" installMode="root"/> -->
|
||||
<feature id="org.jboss.tools.maven.apt.feature" installMode="root"/>
|
||||
|
||||
<!-- <feature id="org.eclipse.wst.web_ui.feature" installMode="root"/> -->
|
||||
<!-- <feature id="org.eclipse.wst.xml_ui.feature" installMode="root"/> -->
|
||||
<feature id="org.eclipse.wst.server_ui.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.wst.server_adapters.feature" installMode="root"/>
|
||||
|
||||
<!-- <feature id="org.eclipse.wst.json_ui.feature" installMode="root"/> -->
|
||||
<!-- <feature id="org.eclipse.wst.jsdt.feature" installMode="root"/> -->
|
||||
<!-- <feature id="org.eclipse.wst.jsdt.chromium.debug.feature" installMode="root"/> -->
|
||||
|
||||
<feature id="org.eclipse.jst.server_adapters.ext.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.jst.server_adapters.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.wildwebdeveloper.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.wildwebdeveloper.xml.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.tm.terminal.feature" installMode="root"/>
|
||||
<!-- <feature id="org.eclipse.rse" installMode="root"/> -->
|
||||
<feature id="org.eclipse.tips.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.epp.mpc" installMode="root"/>
|
||||
|
||||
<feature id="org.sonatype.m2e.buildhelper.feature" installMode="root"/>
|
||||
<feature id="org.sonatype.m2e.mavenarchiver.feature" installMode="root"/>
|
||||
<!-- <feature id="org.sonatype.m2e.egit.feature" installMode="root"/> -->
|
||||
<feature id="org.jboss.tools.m2e.wro4j.feature" installMode="root"/>
|
||||
<feature id="com.ianbrandt.tools.m2e.mdp.feature" installMode="root"/>
|
||||
<feature id="m2e.chromatic.feature" installMode="root"/>
|
||||
|
||||
<feature id="net.mihai-nita.ansicon" installMode="root"/>
|
||||
|
||||
<feature id="org.eclipse.linuxtools.docker.feature" installMode="root"/>
|
||||
<feature id="org.eclipse.linuxtools.jdt.docker.launcher.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.springframework.ide.eclipse.boot.dash.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.springframework.boot.ide.branding.feature"/>
|
||||
<feature id="org.springframework.boot.ide.main.feature" installMode="root"/>
|
||||
<feature id="org.springframework.ide.eclipse.xml.namespaces.feature" installMode="root"/>
|
||||
|
||||
<feature id="org.springframework.tooling.boot.ls.feature" installMode="root"/>
|
||||
<feature id="org.springframework.tooling.cloudfoundry.manifest.ls.feature" installMode="root"/>
|
||||
<feature id="org.springframework.tooling.bosh.ls.feature" installMode="root"/>
|
||||
<feature id="org.springframework.tooling.concourse.ls.feature" installMode="root"/>
|
||||
|
||||
<!-- <feature id="org.eclipse.justj.openjdk.hotspot.jre.full" installMode="root"/> -->
|
||||
|
||||
<!-- <feature id="com.make.chromium.cef.feature" installMode="root"/> -->
|
||||
</features>
|
||||
|
||||
<configurations>
|
||||
<property name="eclipse.buildId" value="${unqualifiedVersion}.${buildQualifier}"/>
|
||||
<property name="osgi.instance.area.default" value="@user.home/Documents/workspace-spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}"/>
|
||||
|
||||
<plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
|
||||
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
|
||||
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
|
||||
<plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
|
||||
<plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
|
||||
<plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
|
||||
<plugin id="org.eclipse.update.configurator" autoStart="false" startLevel="4" />
|
||||
</configurations>
|
||||
|
||||
</product>
|
||||
@@ -0,0 +1,16 @@
|
||||
instructions.configure=\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:0,location:https${#58}//download.eclipse.org/releases/latest,name:Latest Eclipse Release);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:1,location:https${#58}//download.eclipse.org/releases/latest,name:Latest Eclipse Release);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:0,location:https${#58}//download.springsource.com/release/TOOLS/sts4/update/latest,name:Spring Tool Suite 4);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:1,location:https${#58}//download.springsource.com/release/TOOLS/sts4/update/latest,name:Spring Tool Suite 4);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:0,location:https${#58}//download.springsource.com/release/TOOLS/sts4-language-server-integrations,name:Spring Tools 4 Language Servers for Eclipse);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:1,location:https${#58}//download.springsource.com/release/TOOLS/sts4-language-server-integrations,name:Spring Tools 4 Language Servers for Eclipse);\
|
||||
org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/dropins);
|
||||
|
||||
instructions.unconfigure=\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:0,location:https${#58}//download.eclipse.org/releases/latest);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:1,location:https${#58}//download.eclipse.org/releases/latest);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:0,location:https${#58}//download.springsource.com/release/TOOLS/sts4/update/latest);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:1,location:https${#58}//download.springsource.com/release/TOOLS/sts4/update/latest);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:0,location:https${#58}//download.springsource.com/release/TOOLS/sts4-language-server-integrations);\
|
||||
org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:1,location:https${#58}//download.springsource.com/release/TOOLS/sts4-language-server-integrations);
|
||||
@@ -0,0 +1,655 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot.ide</groupId>
|
||||
<artifactId>org.springframework.boot.ide</artifactId>
|
||||
<version>4.13.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>org.springframework.boot.ide.product</artifactId>
|
||||
|
||||
<packaging>eclipse-repository</packaging>
|
||||
|
||||
<properties>
|
||||
<justj.repository>https://download.eclipse.org/justj/jres/17/updates/release/latest/</justj.repository>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<version>2.5.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-install</id>
|
||||
<phase>none</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>tycho-p2-repository-plugin</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<includeAllDependencies>false</includeAllDependencies>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>tycho-p2-publisher-plugin</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<publishArtifacts>true</publishArtifacts>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!--
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>target-platform-configuration</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<executionEnvironment>none</executionEnvironment>
|
||||
</configuration>
|
||||
</plugin>
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>tycho-p2-director-plugin</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>materialize-products</id>
|
||||
<goals>
|
||||
<goal>materialize-products</goal>
|
||||
</goals>
|
||||
<phase>package</phase>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>archive-products</id>
|
||||
<goals>
|
||||
<goal>archive-products</goal>
|
||||
</goals>
|
||||
<phase>verify</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<products>
|
||||
<product>
|
||||
<id>org.springframework.boot.ide.branding.sts4</id>
|
||||
<rootFolder>sts-${unqualifiedVersion}.${p2.qualifier}</rootFolder>
|
||||
<rootFolders>
|
||||
<macosx>SpringToolSuite4.app</macosx>
|
||||
</rootFolders>
|
||||
<archiveFileName>spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}</archiveFileName>
|
||||
</product>
|
||||
</products>
|
||||
<formats>
|
||||
<linux>tar.gz</linux>
|
||||
<macosx>tar.gz</macosx>
|
||||
</formats>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho.extras</groupId>
|
||||
<artifactId>tycho-eclipserun-plugin</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>2021-06</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/releases/2021-06</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<argLine>-Declipse.p2.mirrors=false -Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=100000 -Dorg.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=30 -Dorg.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=100000</argLine>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.pde.api.tools</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.pde.build</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.pde.core</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.launcher</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.osgi.compatibility.state</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>javax.annotation</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.transport.ecf</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.repository</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.touchpoint.natives</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.touchpoint.eclipse</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.artifact.repository
|
||||
</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.p2.director.app</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.equinox.ds</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<artifactId>org.eclipse.core.net</artifactId>
|
||||
<type>eclipse-plugin</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>macos-x86_64</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>eclipse-run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<appArgLine>-consoleLog -application org.eclipse.equinox.p2.director -nosplash -destination ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app -repository ${justj.repository} -installIUs org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</appArgLine>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>macos-aarch_64</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>eclipse-run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<appArgLine>-consoleLog -application org.eclipse.equinox.p2.director -nosplash -destination ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolSuite4.app -repository ${justj.repository} -installIUs org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</appArgLine>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>windows-x86_64</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>eclipse-run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<appArgLine>-consoleLog -application org.eclipse.equinox.p2.director -nosplash -destination ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier} -repository ${justj.repository} -installIUs org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</appArgLine>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>linux_x86_64</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>eclipse-run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<appArgLine>-consoleLog -application org.eclipse.equinox.p2.director -nosplash -destination ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier} -repository ${justj.repository} -installIUs org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</appArgLine>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-license-files</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>java</executable>
|
||||
<arguments>
|
||||
<argument>-jar</argument>
|
||||
<argument>${project.build.directory}/../../common/eclipse-distribution-license-file-generator.jar</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app/Contents/Eclipse/plugins/</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app/Contents/Eclipse/open-source-licenses.txt</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolSuite4.app/Contents/Eclipse/plugins/</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolSuite4.app/Contents/Eclipse/open-source-licenses.txt</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/</argument>
|
||||
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>generate-self-extracting-jar</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>java</executable>
|
||||
<arguments>
|
||||
<argument>-jar</argument>
|
||||
<argument>${project.build.directory}/../../common/self-extracting-jar-creator.jar</argument>
|
||||
<argument>${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.zip</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
|
||||
<!-- win exe signing reguires the npm module osslsigncode to be installed on the build machine and the corresponding keys to be around in PKCS#12 format -->
|
||||
<execution>
|
||||
<id>win-exe-signing</id>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<skip>${skip.win.signing}</skip>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
|
||||
<exec executable="osslsigncode" failonerror="true">
|
||||
<arg value="sign"/>
|
||||
<arg value="-pkcs12"/>
|
||||
<arg value="${env.WIN_KEY_LOCATION}"/>
|
||||
<arg value="-pass"/>
|
||||
<arg value="${env.bamboo_signing_store_password}"/>
|
||||
<arg value="-n"/>
|
||||
<arg value="Spring Tools 4"/>
|
||||
<arg value="-i"/>
|
||||
<arg value="https://spring.io"/>
|
||||
<arg value="-t"/>
|
||||
<arg value="http://timestamp.digicert.com"/>
|
||||
<arg value="-in"/>
|
||||
<arg value="${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/SpringToolSuite4.exe"/>
|
||||
<arg value="-out"/>
|
||||
<arg value="${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/SpringToolSuite4.exe"/>
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<!-- macos code signing requires the build to run on a macOS machine with Xcode installed, including the appropriate Apple Developer certificates for code signing -->
|
||||
<execution>
|
||||
<id>osx-app-signing</id>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<skip>${skip.osx.signing}</skip>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
|
||||
<exec executable="codesign" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="--deep"/>
|
||||
<arg value="--force"/>
|
||||
<arg value="--entitlements"/>
|
||||
<arg value="${project.build.directory}/../entitlements.plist"/>
|
||||
<arg value="--options=runtime"/>
|
||||
<arg value="--keychain"/>
|
||||
<arg value="${env.KEYCHAIN}"/>
|
||||
<arg value="-s"/>
|
||||
<arg value="${env.MACOS_CERTIFICATE_ID}"/>
|
||||
<arg value="${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app"/>
|
||||
</exec>
|
||||
|
||||
<exec executable="codesign" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="--deep"/>
|
||||
<arg value="--force"/>
|
||||
<arg value="--entitlements"/>
|
||||
<arg value="${project.build.directory}/../entitlements.plist"/>
|
||||
<arg value="--options=runtime"/>
|
||||
<arg value="--keychain"/>
|
||||
<arg value="${env.KEYCHAIN}"/>
|
||||
<arg value="-s"/>
|
||||
<arg value="${env.MACOS_CERTIFICATE_ID}"/>
|
||||
<arg value="${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolSuite4.app"/>
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<!-- the creation of the DMG file is based on appdmg: https://www.npmjs.com/package/appdmg -->
|
||||
<execution>
|
||||
<id>osx-dmg-creation</id>
|
||||
<phase>verify</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
|
||||
<exec executable="/usr/local/bin/appdmg" failonerror="true">
|
||||
<arg value="${project.build.directory}/../spring-tool-suite-4-dmg-config-${dist.target.major}-x86.json"/>
|
||||
<arg value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.dmg"/>
|
||||
</exec>
|
||||
|
||||
<delete file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.tar.gz"/>
|
||||
|
||||
<exec executable="/usr/local/bin/appdmg" failonerror="true">
|
||||
<arg value="${project.build.directory}/../spring-tool-suite-4-dmg-config-${dist.target.major}-aarch64.json"/>
|
||||
<arg value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.dmg"/>
|
||||
</exec>
|
||||
|
||||
<delete file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.tar.gz"/>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>osx-dmg-signing</id>
|
||||
<phase>verify</phase>
|
||||
<configuration>
|
||||
<skip>${skip.osx.signing}</skip>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
|
||||
<property name="dmgName" value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.dmg" />
|
||||
|
||||
<exec executable="codesign" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="--keychain"/>
|
||||
<arg value="${env.KEYCHAIN}"/>
|
||||
<arg value="-s"/>
|
||||
<arg value="${env.MACOS_CERTIFICATE_ID}"/>
|
||||
<arg value="${dmgName}"/>
|
||||
</exec>
|
||||
|
||||
<property name="dmgName-aarch" value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.dmg" />
|
||||
|
||||
<exec executable="codesign" failonerror="true">
|
||||
<arg value="--verbose"/>
|
||||
<arg value="--keychain"/>
|
||||
<arg value="${env.KEYCHAIN}"/>
|
||||
<arg value="-s"/>
|
||||
<arg value="${env.MACOS_CERTIFICATE_ID}"/>
|
||||
<arg value="${dmgName-aarch}"/>
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<!-- the notarizing of the DMG file needs this service running somewhere: https://github.com/eclipse-cbi/macos-notarization-service -->
|
||||
<execution>
|
||||
<id>osx-dmg-notarizing</id>
|
||||
<phase>verify</phase>
|
||||
<configuration>
|
||||
<skip>${skip.osx.notarizing}</skip>
|
||||
<target>
|
||||
|
||||
<property name="dmgName" value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.dmg" />
|
||||
|
||||
<exec executable="/bin/bash" failonerror="true">
|
||||
<arg value="${project.build.directory}/../macos-notarize.sh"/>
|
||||
<arg value="${dmgName}"/>
|
||||
<arg value="${env.MACOS_NOTARIZATION_SERVICE_URL}"/>
|
||||
</exec>
|
||||
|
||||
<property name="dmgName-aarch64" value="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.dmg" />
|
||||
|
||||
<exec executable="/bin/bash" failonerror="true">
|
||||
<arg value="${project.build.directory}/../macos-notarize.sh"/>
|
||||
<arg value="${dmgName-aarch64}"/>
|
||||
<arg value="${env.MACOS_NOTARIZATION_SERVICE_URL}"/>
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>upload-product-bundles</id>
|
||||
<phase>deploy</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
<taskdef resource="org/springframework/build/aws/ant/antlib.xml" />
|
||||
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.dmg" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.x86_64.dmg" algorithm="MD5" fileext=".md5" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.dmg" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-macosx.cocoa.aarch64.dmg" algorithm="MD5" fileext=".md5" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-linux.gtk.x86_64.tar.gz" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-linux.gtk.x86_64.tar.gz" algorithm="MD5" fileext=".md5" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.zip" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.zip" algorithm="MD5" fileext=".md5" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.self-extracting.jar" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.self-extracting.jar" algorithm="MD5" fileext=".md5" />
|
||||
|
||||
<s3 accessKey="${dist.accessKey}" secretKey="${dist.secretKey}">
|
||||
|
||||
<delete bucketName="${dist.bucket}">
|
||||
<fileset dir="${dist.path.product}">
|
||||
<include name="spring-tool-suite-4*.zip" />
|
||||
<include name="spring-tool-suite-4*.zip.md5" />
|
||||
<include name="spring-tool-suite-4*.zip.sha1" />
|
||||
<include name="spring-tool-suite-4*.jar" />
|
||||
<include name="spring-tool-suite-4*.jar.md5" />
|
||||
<include name="spring-tool-suite-4*.jar.sha1" />
|
||||
<include name="spring-tool-suite-4*.tar.gz" />
|
||||
<include name="spring-tool-suite-4*.tar.gz.md5" />
|
||||
<include name="spring-tool-suite-4*.tar.gz.sha1" />
|
||||
<include name="spring-tool-suite-4*.dmg" />
|
||||
<include name="spring-tool-suite-4*.dmg.md5" />
|
||||
<include name="spring-tool-suite-4*.dmg.sha1" />
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<upload bucketName="${dist.bucket}" toDir="${dist.path.product}"
|
||||
publicRead="true">
|
||||
<fileset dir="${project.build.directory}/products">
|
||||
<include name="spring-tool-suite-4*.zip" />
|
||||
<include name="spring-tool-suite-4*.zip.md5" />
|
||||
<include name="spring-tool-suite-4*.zip.sha1" />
|
||||
<include name="spring-tool-suite-4*.jar" />
|
||||
<include name="spring-tool-suite-4*.jar.md5" />
|
||||
<include name="spring-tool-suite-4*.jar.sha1" />
|
||||
<include name="spring-tool-suite-4*.tar.gz" />
|
||||
<include name="spring-tool-suite-4*.tar.gz.md5" />
|
||||
<include name="spring-tool-suite-4*.tar.gz.sha1" />
|
||||
<include name="spring-tool-suite-4*.dmg" />
|
||||
<include name="spring-tool-suite-4*.dmg.md5" />
|
||||
<include name="spring-tool-suite-4*.dmg.sha1" />
|
||||
</fileset>
|
||||
</upload>
|
||||
|
||||
</s3>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>update-nightly-downloads</id>
|
||||
<phase>deploy</phase>
|
||||
<configuration>
|
||||
<skip>${skip.update-nightly-download-page}</skip>
|
||||
<target>
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
<taskdef resource="org/springframework/build/aws/ant/antlib.xml" />
|
||||
|
||||
<copy file="${project.build.directory}/../../common/html/nightly-generic-snippet-incl-apple-m1.html" tofile="${project.build.directory}/../../common/html/sts4-nightly-${dist.target.major}.html" overwrite="true"/>
|
||||
|
||||
<replace file="${project.build.directory}/../../common/html/sts4-nightly-${dist.target.major}.html" token="@QUALIFIER@" value="${unqualifiedVersion}.${p2.qualifier}" summary="yes" />
|
||||
<replace file="${project.build.directory}/../../common/html/sts4-nightly-${dist.target.major}.html" token="@TARGET@" value="${dist.target}" summary="yes" />
|
||||
<replace file="${project.build.directory}/../../common/html/sts4-nightly-${dist.target.major}.html" token="@MAJOR-TARGET@" value="${dist.target.major}" summary="yes" />
|
||||
|
||||
<s3 accessKey="${dist.accessKey}" secretKey="${dist.secretKey}">
|
||||
<upload bucketName="${dist.bucket}" file="${project.build.directory}/../../common/html/sts4-nightly-${dist.target.major}.html"
|
||||
toFile="snapshot/STS4/sts4-nightly-${dist.target.major}.html" publicRead="true">
|
||||
</upload>
|
||||
</s3>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>zip-sts-repository</id>
|
||||
<phase>install</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
<taskdef resource="org/springframework/build/aws/ant/antlib.xml" />
|
||||
|
||||
<property name="dist.full.version" value="${unqualifiedVersion}.${p2.qualifier}-${dist.target}" />
|
||||
<property name="dist.file.name" value="${dist.project}-${dist.full.version}-updatesite.zip" />
|
||||
|
||||
<zip zipfile="${project.build.directory}/repository/${dist.file.name}" filesonly="true">
|
||||
<zipfileset
|
||||
dir="${project.build.directory}/repository">
|
||||
<exclude name="*.zip" />
|
||||
<exclude name="**/*.gz" />
|
||||
</zipfileset>
|
||||
</zip>
|
||||
|
||||
<checksum file="${project.build.directory}/repository/${dist.file.name}" algorithm="SHA1" fileext=".sha1" />
|
||||
<checksum file="${project.build.directory}/repository/${dist.file.name}" algorithm="MD5" fileext=".md5" />
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>upload-sts-repository</id>
|
||||
<phase>deploy</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
|
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
||||
<taskdef resource="org/springframework/build/aws/ant/antlib.xml" />
|
||||
|
||||
<s3 accessKey="${dist.accessKey}" secretKey="${dist.secretKey}">
|
||||
|
||||
<delete bucketName="${dist.bucket}">
|
||||
<fileset dir="${dist.path.repo}">
|
||||
<include name="p2.index" />
|
||||
<include name="site.xml" />
|
||||
<include name="content.jar" />
|
||||
<include name="artifacts.xml.xz" />
|
||||
<include name="content.jar" />
|
||||
<include name="content.xml.xz" />
|
||||
<include name="plugins/**" />
|
||||
<include name="features/**" />
|
||||
<include name="binary/**" />
|
||||
<include name="*.zip" />
|
||||
<include name="*.sha1" />
|
||||
<include name="*.md5" />
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<upload bucketName="${dist.bucket}" toDir="${dist.path.repo}" publicRead="true">
|
||||
<fileset
|
||||
dir="${project.build.directory}/repository">
|
||||
<include name="**/*" />
|
||||
<include name="**" />
|
||||
</fileset>
|
||||
</upload>
|
||||
|
||||
</s3>
|
||||
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.build</groupId>
|
||||
<artifactId>org.springframework.build.aws.ant</artifactId>
|
||||
<version>3.0.6.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.java.dev.jets3t</groupId>
|
||||
<artifactId>jets3t</artifactId>
|
||||
<version>0.8.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ant-contrib</groupId>
|
||||
<artifactId>ant-contrib</artifactId>
|
||||
<version>20020829</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
<!--
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>target-platform-configuration</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<dependency-resolution>
|
||||
<profileProperties>
|
||||
<org.eclipse.justj.buildtime>true</org.eclipse.justj.buildtime>
|
||||
</profileProperties>
|
||||
</dependency-resolution>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement> -->
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"title": "Spring Tool Suite 4",
|
||||
"icon": "../org.springframework.boot.ide.branding/sts4.icns",
|
||||
"contents": [
|
||||
{ "x": 192, "y": 100, "type": "file", "path": "target/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolSuite4.app" },
|
||||
{ "x": 448, "y": 100, "type": "link", "path": "/Applications" },
|
||||
{ "x": 1000, "y": 2000, "type": "file", "path": "../org.springframework.boot.ide.branding/sts4.icns", "name": ".VolumeIcon.icns" }
|
||||
],
|
||||
"format": "UDZO"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"title": "Spring Tool Suite 4",
|
||||
"icon": "../org.springframework.boot.ide.branding/sts4.icns",
|
||||
"contents": [
|
||||
{ "x": 192, "y": 100, "type": "file", "path": "target/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app" },
|
||||
{ "x": 448, "y": 100, "type": "link", "path": "/Applications" },
|
||||
{ "x": 1000, "y": 2000, "type": "file", "path": "../org.springframework.boot.ide.branding/sts4.icns", "name": ".VolumeIcon.icns" }
|
||||
],
|
||||
"format": "UDZO"
|
||||
}
|
||||
@@ -828,20 +828,15 @@
|
||||
<package.qualifierPrefix>e422</package.qualifierPrefix>
|
||||
</properties>
|
||||
<repositories>
|
||||
<!-- <repository>
|
||||
<repository>
|
||||
<id>2021-12</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/releases/2021-12/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>2021-12-staging</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/staging/2021-12/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>orbit</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/R20210825222808/repository</url>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/R20211213173813/repository</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>m2e</id>
|
||||
@@ -978,6 +973,168 @@
|
||||
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>e423</id>
|
||||
<properties>
|
||||
<dist.target>e4.23.0</dist.target>
|
||||
<dist.target.major>e4.23</dist.target.major>
|
||||
<dist.platform.name>2022-03</dist.platform.name>
|
||||
<dist.platform.name.long>2022-03 (4.23)</dist.platform.name.long>
|
||||
<dist.platform.id>2022-03</dist.platform.id>
|
||||
<dist.platform.version>4.23</dist.platform.version>
|
||||
<package.qualifierPrefix>e423</package.qualifierPrefix>
|
||||
</properties>
|
||||
<repositories>
|
||||
<!-- <repository>
|
||||
<id>2022-03</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/releases/2022-03/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>2022-03-staging</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/staging/2022-03/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>orbit</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/I20220106214959/repository</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>m2e</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/technology/m2e/releases/latest/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>latest-m2e-wtp</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/m2e-wtp/snapshots/1.4/m2e-wtp/</url>
|
||||
</repository>
|
||||
<!-- <repository>
|
||||
<id>latest-m2e-wtp</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/m2e-wtp/milestones/1.4/1.4.4.20200220-1005/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>maven-extras-mirror</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.springsource.com/release/TOOLS/third-party/m2e-sts310-signed/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>maven-egit</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-egit/0.15.1/N/LATEST</url>
|
||||
</repository>
|
||||
<!-- <repository>
|
||||
<id>maven-wro4j</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.jboss.org/jbosstools/updates/m2e-wro4j/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>maven-wro4j</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.jboss.org/jbosstools/updates/m2e-extensions/m2e-wro4j/1.1.0-2014-06-25_06-16-31-H26/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>m2e-chromatic</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://sidespin.github.io/m2e-chromatic/update/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>maven-devtools</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://dist.springsource.com/release/TOOLS/mavendevtools/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>maven-dependency-support</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://ianbrandt.github.io/m2e-maven-dependency-plugin/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>ansi-console</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://www.mihai-nita.net/eclipse</url>
|
||||
</repository>
|
||||
<!-- <repository>
|
||||
<id>xtext-base</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/modeling/tmf/xtext/updates/milestones/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>mylyn-markdown</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/mylyn/docs/releases/3.0/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>wildwebdeveloper</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/wildwebdeveloper/releases/latest</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>lsp4e</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/lsp4e/snapshots/</url>
|
||||
</repository>
|
||||
<!-- <repository>
|
||||
<id>lsp4e</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/lsp4e/releases/latest/</url>
|
||||
</repository> -->
|
||||
<!-- <repository>
|
||||
<id>chromium-binaries</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://dl.maketechnology.io/chromium-cef/rls/repository</url>
|
||||
</repository> -->
|
||||
</repositories>
|
||||
<modules>
|
||||
<!-- Xterm modules -->
|
||||
<!-- <module>../eclipse-extensions/org.springframework.ide.eclipse.xterm</module>
|
||||
<module>../eclipse-extensions/org.springframework.ide.eclipse.xterm.feature</module>
|
||||
<module>../eclipse-extensions/org.springframework.ide.eclipse.xterm.linux.x86_64</module>
|
||||
<module>../eclipse-extensions/org.springframework.ide.eclipse.xterm.macosx.x86_64</module>
|
||||
<module>../eclipse-extensions/org.springframework.ide.eclipse.xterm.win32.x86_64</module>
|
||||
-->
|
||||
<module>org.springframework.boot.ide.product.e423</module>
|
||||
</modules>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.tycho</groupId>
|
||||
<artifactId>target-platform-configuration</artifactId>
|
||||
<version>${tycho-version}</version>
|
||||
<configuration>
|
||||
<environments>
|
||||
<environment>
|
||||
<os>macosx</os>
|
||||
<ws>cocoa</ws>
|
||||
<arch>x86_64</arch>
|
||||
</environment>
|
||||
<environment>
|
||||
<os>macosx</os>
|
||||
<ws>cocoa</ws>
|
||||
<arch>aarch64</arch>
|
||||
</environment>
|
||||
<environment>
|
||||
<os>win32</os>
|
||||
<ws>win32</ws>
|
||||
<arch>x86_64</arch>
|
||||
</environment>
|
||||
<environment>
|
||||
<os>linux</os>
|
||||
<ws>gtk</ws>
|
||||
<arch>x86_64</arch>
|
||||
</environment>
|
||||
</environments>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>build.springsource.com</id>
|
||||
<activation>
|
||||
|
||||
@@ -378,20 +378,66 @@
|
||||
<package.qualifierPrefix>e422</package.qualifierPrefix>
|
||||
</properties>
|
||||
<repositories>
|
||||
<!-- <repository>
|
||||
<repository>
|
||||
<id>2021-12</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/releases/2021-12/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>2021-12-staging</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/staging/2021-12/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>orbit</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/R20210825222808/repository</url>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/R20211213173813/repository</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>mylyn-markdown</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/mylyn/docs/releases/3.0/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>lsp4e</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/lsp4e/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>tm4e</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/tm4e/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>wwd</id>
|
||||
<layout>p2</layout>
|
||||
<!-- <url>https://download.eclipse.org/wildwebdeveloper/releases/latest/</url> -->
|
||||
<url>https://download.eclipse.org/wildwebdeveloper/snapshots</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>e423</id>
|
||||
<properties>
|
||||
<dist.target>e4.23.0</dist.target>
|
||||
<dist.target.major>e4.23</dist.target.major>
|
||||
<dist.platform.name>2022-03</dist.platform.name>
|
||||
<dist.platform.name.long>2022-03 (4.23)</dist.platform.name.long>
|
||||
<dist.platform.id>2022-03</dist.platform.id>
|
||||
<dist.platform.version>4.23</dist.platform.version>
|
||||
<package.qualifierPrefix>e423</package.qualifierPrefix>
|
||||
</properties>
|
||||
<repositories>
|
||||
<!-- <repository>
|
||||
<id>2022-03</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/releases/2022-03/</url>
|
||||
</repository> -->
|
||||
<repository>
|
||||
<id>2022-03-staging</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/staging/2022-03/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>orbit</id>
|
||||
<layout>p2</layout>
|
||||
<url>https://download.eclipse.org/tools/orbit/downloads/drops/I20220106214959/repository</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>mylyn-markdown</id>
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
@@ -41,6 +42,7 @@ import org.junit.Test;
|
||||
* 1. Takes 40 mins to execute for the concourse build
|
||||
* 2. The project is only used by tests and highly unlikely to be changed
|
||||
*/
|
||||
@Ignore
|
||||
public class DependencyTreeTest {
|
||||
|
||||
private void testMavenClasspath(String projectName) throws Exception {
|
||||
|
||||
@@ -27,6 +27,7 @@ import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaModuleData;
|
||||
import org.springframework.ide.vscode.commons.java.IMethod;
|
||||
@@ -43,6 +44,7 @@ import com.google.common.cache.LoadingCache;
|
||||
|
||||
import reactor.util.function.Tuple2;
|
||||
|
||||
@Ignore
|
||||
public class JavaIndexTest {
|
||||
|
||||
private static BasicFileObserver fileObserver = new BasicFileObserver();
|
||||
|
||||
@@ -39,6 +39,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
@@ -64,6 +65,7 @@ import com.google.common.collect.ImmutableList;
|
||||
* @author Alex Boyko
|
||||
*
|
||||
*/
|
||||
@Ignore
|
||||
public class MavenProjectCacheTest {
|
||||
|
||||
private static final int TIMEOUT_SECONDS = 60;
|
||||
|
||||
@@ -28,7 +28,7 @@ import javolution.text.Text;
|
||||
public class TextDocument implements IDocument {
|
||||
|
||||
ILineTracker lineTracker = new DefaultLineTracker();
|
||||
private static final Pattern NEWLINE = Pattern.compile("\\r|\\n|\\r\\n|\\n\\r");
|
||||
private static final Pattern NEWLINE = Pattern.compile("\\n|\\r\\n");
|
||||
|
||||
private final LanguageId languageId;
|
||||
private final String uri;
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.springframework.ide.vscode.commons.util.Streams;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YType;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YTypeUtil;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YTypedProperty;
|
||||
import org.springframework.ide.vscode.commons.yaml.structure.YamlDocument;
|
||||
import org.springframework.ide.vscode.commons.yaml.util.YamlIndentUtil;
|
||||
|
||||
/**
|
||||
@@ -29,7 +30,7 @@ public class AppendTextBuilder {
|
||||
this.typeUtil = typeUtil;
|
||||
}
|
||||
|
||||
public String buildFor(YType type) {
|
||||
public String buildFor(YType type, YamlDocument doc) {
|
||||
//Note that caller is responsible for proper indentation
|
||||
//to align with the parent. The strings created here only need to contain
|
||||
//indentation spaces to indent *more* than the parent node.
|
||||
@@ -39,22 +40,22 @@ public class AppendTextBuilder {
|
||||
//(or potentially do a lot of string copying)
|
||||
|
||||
StringBuilder text = new StringBuilder();
|
||||
build(type, 0, text);
|
||||
build(type, 0, text, doc);
|
||||
return text.toString();
|
||||
}
|
||||
|
||||
private void build(YType type, int indent, StringBuilder text) {
|
||||
private void build(YType type, int indent, StringBuilder text, YamlDocument doc) {
|
||||
if (type==null) {
|
||||
//Assume its some kind of pojo bean
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY);
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY, doc);
|
||||
} else if (typeUtil.isMap(type)) {
|
||||
//ready to enter nested map key on next line
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY);
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY, doc);
|
||||
} else if (typeUtil.isSequencable(type)) {
|
||||
//ready to enter sequence element on next line
|
||||
newline(text, indent);
|
||||
newline(text, indent, doc);
|
||||
text.append("- ");
|
||||
singleMostImportantProperty(typeUtil.getDomainType(type), indent+2, text);
|
||||
singleMostImportantProperty(typeUtil.getDomainType(type), indent+2, text, doc);
|
||||
//Yes using 2 here instead of YamlIndentUtil.INDENT_BY is deliberate. It's the same value (now),
|
||||
// but the 2 used here is the width of the "- " which should determine nested indent level for things to
|
||||
// line up properly.
|
||||
@@ -62,11 +63,11 @@ public class AppendTextBuilder {
|
||||
//ready to enter whatever on the same line
|
||||
text.append(" ");
|
||||
} else {
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY);
|
||||
newline(text, indent+YamlIndentUtil.INDENT_BY, doc);
|
||||
}
|
||||
}
|
||||
|
||||
private void singleMostImportantProperty(YType type, int indent, StringBuilder text) {
|
||||
private void singleMostImportantProperty(YType type, int indent, StringBuilder text, YamlDocument doc) {
|
||||
if (type!=null) {
|
||||
YTypedProperty singleProp = Streams.getSingle(typeUtil.getProperties(type).stream()
|
||||
.filter(p -> p.isPrimary()));
|
||||
@@ -77,13 +78,13 @@ public class AppendTextBuilder {
|
||||
if (singleProp!=null) {
|
||||
text.append(singleProp.getName());
|
||||
text.append(':');
|
||||
build(singleProp.getType(), indent+YamlIndentUtil.INDENT_BY, text);
|
||||
build(singleProp.getType(), indent+YamlIndentUtil.INDENT_BY, text, doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void newline(StringBuilder text, int indent) {
|
||||
text.append("\n");
|
||||
private void newline(StringBuilder text, int indent, YamlDocument doc) {
|
||||
text.append(doc == null || doc.getDocument() == null ? System.lineSeparator() : doc.getDocument().getDefaultLineDelimiter());
|
||||
for (int i = 0; i < indent; i++) {
|
||||
text.append(' ');
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ public class YTypeAssistContext extends AbstractYamlAssistContext {
|
||||
}
|
||||
snippet.append(p.getName());
|
||||
snippet.append(":");
|
||||
snippet.append(appendTextFor(YType));
|
||||
snippet.append(appendTextFor(YType, doc));
|
||||
edits.insert(queryOffset, indenter.applyIndentation(snippet.toString(), referenceIndent));
|
||||
}
|
||||
ICompletionProposal completion = completionFactory().beanProperty(doc.getDocument(),
|
||||
@@ -262,9 +262,10 @@ public class YTypeAssistContext extends AbstractYamlAssistContext {
|
||||
/**
|
||||
* Computes the text that should be appended at the end of a completion
|
||||
* proposal depending on what type of value is expected.
|
||||
* @param doc
|
||||
*/
|
||||
protected String appendTextFor(YType type) {
|
||||
return new AppendTextBuilder(typeUtil).buildFor(type);
|
||||
protected String appendTextFor(YType type, YamlDocument doc) {
|
||||
return new AppendTextBuilder(typeUtil).buildFor(type, doc);
|
||||
}
|
||||
|
||||
private List<ICompletionProposal> getValueCompletions(YamlDocument doc, SNode node, int offset, String query) {
|
||||
@@ -461,7 +462,7 @@ public class YTypeAssistContext extends AbstractYamlAssistContext {
|
||||
@Override
|
||||
protected DocumentEdits transformEdit(DocumentEdits textEdit) {
|
||||
textEdit.transformFirstNonWhitespaceEdit((Integer offset, String insertText) -> {
|
||||
YamlIndentUtil indenter = new YamlIndentUtil("\n");
|
||||
YamlIndentUtil indenter = new YamlIndentUtil(doc);
|
||||
if (needNewline(textEdit)) {
|
||||
return insertText.substring(0, offset)
|
||||
+ "\n" +Strings.repeat(" ", node.getIndent())+"- "
|
||||
|
||||
@@ -114,7 +114,7 @@ public class YamlCompletionEngine implements ICompletionEngine {
|
||||
protected Collection<? extends ICompletionProposal> getRelaxedCompletions(int offset, YamlDocument doc, SNode current, SNode contextNode, int baseIndent, double deempasizeBy) {
|
||||
try {
|
||||
return fixIndentations(getBaseCompletions(offset, doc, current, contextNode),
|
||||
current, contextNode, baseIndent, deempasizeBy);
|
||||
current, contextNode, baseIndent, deempasizeBy, doc);
|
||||
} catch (Exception e) {
|
||||
Log.log(e);
|
||||
}
|
||||
@@ -122,14 +122,14 @@ public class YamlCompletionEngine implements ICompletionEngine {
|
||||
}
|
||||
|
||||
protected Collection<? extends ICompletionProposal> fixIndentations(Collection<ICompletionProposal> completions, SNode currentNode,
|
||||
SNode contextNode, int baseIndent, double deempasizeBy) {
|
||||
SNode contextNode, int baseIndent, double deempasizeBy, YamlDocument doc) {
|
||||
if (!completions.isEmpty()) {
|
||||
int dashyIndent = getTargetIndent(contextNode, currentNode, true);
|
||||
int plainIndent = getTargetIndent(contextNode, currentNode, false);
|
||||
List<ICompletionProposal> transformed = new ArrayList<>();
|
||||
for (ICompletionProposal p : completions) {
|
||||
int targetIndent = p.getLabel().startsWith("- ") ? dashyIndent : plainIndent;
|
||||
ScoreableProposal p_fixed = indentFix((ScoreableProposal)p, targetIndent - baseIndent, currentNode, contextNode);
|
||||
ScoreableProposal p_fixed = indentFix((ScoreableProposal)p, targetIndent - baseIndent, currentNode, contextNode, doc);
|
||||
if (p_fixed!=null) {
|
||||
p_fixed.deemphasize(deempasizeBy);
|
||||
transformed.add(p_fixed);
|
||||
@@ -140,12 +140,12 @@ public class YamlCompletionEngine implements ICompletionEngine {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
protected ScoreableProposal indentFix(ScoreableProposal p, int fixIndentBy, SNode currentNode, SNode contextNode) {
|
||||
protected ScoreableProposal indentFix(ScoreableProposal p, int fixIndentBy, SNode currentNode, SNode contextNode, YamlDocument doc) {
|
||||
if (fixIndentBy==0) {
|
||||
return p;
|
||||
} else if (fixIndentBy>0) {
|
||||
if (isExtraIndentRelaxable(contextNode, fixIndentBy)) {
|
||||
return indented(p, Strings.repeat(" ", fixIndentBy));
|
||||
return indented(p, Strings.repeat(" ", fixIndentBy), doc);
|
||||
}
|
||||
} else { // fixIndentBy < 0
|
||||
if (isLesserIndentRelaxable(currentNode, contextNode)) {
|
||||
@@ -228,7 +228,7 @@ public class YamlCompletionEngine implements ICompletionEngine {
|
||||
return null;
|
||||
}
|
||||
|
||||
public ScoreableProposal indented(ICompletionProposal proposal, String indentStr) {
|
||||
public ScoreableProposal indented(ICompletionProposal proposal, String indentStr, YamlDocument doc) {
|
||||
int numArrows = (indentStr.length()+1)/2;
|
||||
ScoreableProposal transformed = new TransformedCompletion(proposal) {
|
||||
@Override public String tranformLabel(String originalLabel) {
|
||||
@@ -236,7 +236,7 @@ public class YamlCompletionEngine implements ICompletionEngine {
|
||||
}
|
||||
@Override public DocumentEdits transformEdit(DocumentEdits originalEdit) {
|
||||
// originalEdit.indentFirstEdit(indentStr);
|
||||
YamlIndentUtil indenter = new YamlIndentUtil("\n");
|
||||
YamlIndentUtil indenter = new YamlIndentUtil(doc);
|
||||
if (originalEdit.hasRelativeIndents()) {
|
||||
originalEdit.transformFirstNonWhitespaceEdit((Integer offset, String insertText) -> {
|
||||
String prefix = insertText.substring(0, offset);
|
||||
|
||||
@@ -40,7 +40,7 @@ public class YamlIndentUtil {
|
||||
*/
|
||||
public final String NEWLINE;
|
||||
|
||||
public YamlIndentUtil(String newline) {
|
||||
private YamlIndentUtil(String newline) {
|
||||
this.NEWLINE = newline;
|
||||
Assert.isNotNull(NEWLINE);
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ public class Editor {
|
||||
if (selectionStart<selectionEnd) {
|
||||
text = text.substring(0,selectionStart) + CURSOR + text.substring(selectionStart);
|
||||
}
|
||||
return deWindowsify(text);
|
||||
return text;
|
||||
}
|
||||
|
||||
public void setText(String content) throws Exception {
|
||||
@@ -270,11 +270,6 @@ public class Editor {
|
||||
return doc.getText(range);
|
||||
}
|
||||
|
||||
private String deWindowsify(String text) {
|
||||
return text.replaceAll("\\r\\n", "\n");
|
||||
}
|
||||
|
||||
|
||||
private boolean matchProblem(Diagnostic problem, String expect) {
|
||||
String[] parts = expect.split("\\|");
|
||||
assertEquals(2, parts.length);
|
||||
|
||||
@@ -6,7 +6,6 @@ cd ../jdt-ls-extension
|
||||
if command -v xvfb-run ; then
|
||||
echo "Using xvfb to run in headless environment..."
|
||||
xvfb-run ../mvnw \
|
||||
-DskipTests \
|
||||
-DtrimStackTrace=false \
|
||||
-f ../pom.xml \
|
||||
-pl $modules \
|
||||
@@ -14,7 +13,6 @@ if command -v xvfb-run ; then
|
||||
clean install
|
||||
else
|
||||
../mvnw \
|
||||
-DskipTests \
|
||||
-DtrimStackTrace=false \
|
||||
-f ../pom.xml \
|
||||
-pl $modules \
|
||||
@@ -24,7 +22,6 @@ fi
|
||||
cd ../xml-ls-extension
|
||||
../mvnw \
|
||||
-DtrimStackTrace=false \
|
||||
-DskipTests \
|
||||
-f ../pom.xml \
|
||||
-pl xml-ls-extension \
|
||||
-am \
|
||||
|
||||
@@ -525,8 +525,9 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
|
||||
Editor editor;
|
||||
|
||||
editor = newEditor("");
|
||||
editor.assertContextualCompletions("springactcloti",
|
||||
editor = newEditor("<*>\n");
|
||||
editor.assertContextualCompletions(ci -> ci.getLabel().contains("spring.activemq.close-timeout"),
|
||||
"springactcloti<*>",
|
||||
"spring:\n" +
|
||||
" activemq:\n" +
|
||||
" close-timeout: <*>"
|
||||
@@ -1435,7 +1436,9 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
|
||||
@Test public void testContentAssistSimple() throws Exception {
|
||||
defaultTestData();
|
||||
assertCompletion("port<*>",
|
||||
Editor editor = newEditor("<*>\n");
|
||||
editor.assertContextualCompletions(ci -> ci.getLabel().contains("server.port"),
|
||||
"port<*>",
|
||||
"server:\n"+
|
||||
" port: <*>");
|
||||
assertCompletion(
|
||||
@@ -1462,6 +1465,21 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
// => nothing
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* https://github.com/spring-projects/sts4/issues/709
|
||||
*/
|
||||
@Test public void testGH709() throws Exception {
|
||||
data("server.port", "java.lang.Integer", null, "Server http port");
|
||||
|
||||
Editor editor = newEditor("logging:\r\n"
|
||||
+ " enabled: true\r\n"
|
||||
+ "ser<*>");
|
||||
editor.assertCompletions("logging:\r\n"
|
||||
+ " enabled: true\r\n"
|
||||
+ "server:\r\n"
|
||||
+ " port: <*>");
|
||||
}
|
||||
|
||||
@Test public void testContentAssistNested() throws Exception {
|
||||
data("server.port", "java.lang.Integer", null, "Server http port");
|
||||
@@ -1893,7 +1911,8 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
defaultTestData();
|
||||
|
||||
//Ensure this test is not trivially passing because of missing test data
|
||||
assertCompletion(
|
||||
Editor editor = newEditor("<*>\n");
|
||||
editor.assertContextualCompletions(ci -> ci.getLabel().contains("server.port"),
|
||||
"po<*>"
|
||||
,
|
||||
"server:\n"+
|
||||
@@ -2249,7 +2268,9 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
useProject(createPredefinedMavenProject("enums-boot-1.3.2-app"));
|
||||
data("foo.color", "demo.Color", null, "A foonky colour");
|
||||
|
||||
assertCompletion("foo.c<*>",
|
||||
Editor editor = newEditor("<*>\n");
|
||||
editor.assertContextualCompletions(ci -> ci.getLabel().equals("foo.color"),
|
||||
"foo.c<*>",
|
||||
"foo:\n" +
|
||||
" color: <*>" //Should complete on same line because enums are 'simple' values.
|
||||
);
|
||||
@@ -2393,11 +2414,12 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
);
|
||||
|
||||
//Map Enum -> Pojo:
|
||||
assertCompletions("foo.coldat<*>",
|
||||
Editor editor = newEditor("<*>\n");
|
||||
editor.assertContextualCompletions("foo.coldat<*>",
|
||||
"foo:\n" +
|
||||
" color-data:\n" +
|
||||
" <*>");
|
||||
assertCompletions(
|
||||
editor.assertContextualCompletions(
|
||||
"foo:\n" +
|
||||
" color-data:\n" +
|
||||
" <*>",
|
||||
@@ -2415,7 +2437,7 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
" red:\n" +
|
||||
" <*>"
|
||||
);
|
||||
assertCompletions(
|
||||
editor.assertContextualCompletions(
|
||||
"foo:\n" +
|
||||
" color-data:\n" +
|
||||
" B<*>",
|
||||
@@ -2426,7 +2448,7 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
" <*>"
|
||||
);
|
||||
|
||||
assertCompletions(
|
||||
editor.assertContextualCompletions(
|
||||
"foo:\n" +
|
||||
" color-data:\n" +
|
||||
" b<*>",
|
||||
@@ -2437,7 +2459,7 @@ public class ApplicationYamlEditorTest extends AbstractPropsEditorTest {
|
||||
" <*>"
|
||||
);
|
||||
|
||||
assertCompletions(
|
||||
editor.assertContextualCompletions(
|
||||
"foo:\n" +
|
||||
" color-data: b<*>",
|
||||
//=>
|
||||
|
||||
Reference in New Issue
Block a user