diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/category.xml b/eclipse-distribution/org.springframework.boot.ide.product.e416/category.xml
new file mode 100644
index 000000000..4a600281e
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/category.xml
@@ -0,0 +1,215 @@
+
+
+
+ Spring Tool Suite 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/entitlements.plist b/eclipse-distribution/org.springframework.boot.ide.product.e416/entitlements.plist
new file mode 100644
index 000000000..6a297d495
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/entitlements.plist
@@ -0,0 +1,18 @@
+
+
+
+
+ com.apple.security.cs.allow-jit
+
+ com.apple.security.cs.allow-unsigned-executable-memory
+
+ com.apple.security.cs.disable-executable-page-protection
+
+ com.apple.security.cs.allow-dyld-environment-variables
+
+ com.apple.security.cs.disable-library-validation
+
+ com.apple.security.cs.debugger
+
+
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/macos-notarize.sh b/eclipse-distribution/org.springframework.boot.ide.product.e416/macos-notarize.sh
new file mode 100755
index 000000000..eaf3bde2b
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/macos-notarize.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+DMG=$1
+NOTARIZE_SERVICE_URL=$2
+
+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')
+
+while [[ ${STATUS} == 'IN_PROGRESS' ]]; do
+ sleep 1m
+ RESPONSE=$(curl -s ${NOTARIZE_SERVICE_URL}/macos-notarization-service/${UUID}/status)
+ STATUS=$(echo ${RESPONSE} | jq -r '.notarizationStatus.status')
+done
+
+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
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/org.springframework.boot.ide.product b/eclipse-distribution/org.springframework.boot.ide.product.e416/org.springframework.boot.ide.product
new file mode 100644
index 000000000..3d9c76d34
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/org.springframework.boot.ide.product
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+ -product org.springframework.boot.ide.branding.sts4
+--launcher.defaultAction openFile
+
+ -Dosgi.requiredJavaVersion=1.8
+-Xms256m
+-Xmx1024m
+-XX:+UseG1GC
+-XX:+UseStringDeduplication
+--add-modules=ALL-SYSTEM
+
+
+
+ -XstartOnFirstThread
+-Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon=../Resources/sts4.icns
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/p2.inf b/eclipse-distribution/org.springframework.boot.ide.product.e416/p2.inf
new file mode 100644
index 000000000..7e7e563c0
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/p2.inf
@@ -0,0 +1,24 @@
+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);
+
+ # Bug 530093: make sure we have latest version of a.jre.javase included with product
+ requires.3.namespace=org.eclipse.equinox.p2.iu
+ requires.3.name=a.jre.javase
+ requires.3.range=[9.0.0,9.0.0]
+ requires.4.namespace=org.eclipse.equinox.p2.iu
+ requires.4.name=config.a.jre.javase
+ requires.4.range=[9.0.0,9.0.0]
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/pom.xml b/eclipse-distribution/org.springframework.boot.ide.product.e416/pom.xml
new file mode 100644
index 000000000..82f1ae30d
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/pom.xml
@@ -0,0 +1,479 @@
+
+
+ 4.0.0
+
+
+ org.springframework.boot.ide
+ org.springframework.boot.ide
+ 4.6.1-SNAPSHOT
+ ../pom.xml
+
+
+ org.springframework.boot.ide.product
+
+ eclipse-repository
+
+
+ ${accessKey}
+ ${secretKey}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 2.5.2
+
+
+ default-install
+ none
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-repository-plugin
+ ${tycho-version}
+
+ false
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-publisher-plugin
+ ${tycho-version}
+
+ true
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+ JavaSE-9
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-director-plugin
+ ${tycho-version}
+
+
+ materialize-products
+
+ materialize-products
+
+ package
+
+
+ archive-products
+
+ archive-products
+
+ verify
+
+
+
+
+
+ org.springframework.boot.ide.branding.sts4
+ sts-${unqualifiedVersion}.${p2.qualifier}
+
+ SpringToolSuite4.app
+
+ spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}
+
+
+
+ tar.gz
+ tar.gz
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ generate-license-files
+ package
+
+ exec
+
+
+ java
+
+ -jar
+ ${project.build.directory}/../../common/eclipse-distribution-license-file-generator.jar
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app/Contents/Eclipse/plugins/
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolSuite4.app/Contents/Eclipse/open-source-licenses.txt
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/
+ ${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt
+
+
+
+
+
+ generate-self-extracting-jar
+ verify
+
+ exec
+
+
+ java
+
+ -jar
+ ${project.build.directory}/../../common/self-extracting-jar-creator.jar
+ ${project.build.directory}/products/spring-tool-suite-4-${unqualifiedVersion}.${p2.qualifier}-${dist.target}-win32.win32.x86_64.zip
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 1.7
+
+
+
+
+ win-exe-signing
+ package
+
+ ${skip.win.signing}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ osx-app-signing
+ package
+
+ ${skip.osx.signing}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ osx-dmg-creation
+ verify
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ osx-dmg-signing
+ verify
+
+ ${skip.osx.signing}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ osx-dmg-notarizing
+ verify
+
+ ${skip.osx.notarizing}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ upload-product-bundles
+ deploy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ update-nightly-downloads
+ deploy
+
+ ${skip.update-nightly-download-page}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ zip-sts-repository
+ install
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+ upload-sts-repository
+ deploy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+ org.springframework.build
+ org.springframework.build.aws.ant
+ 3.1.0.RELEASE
+
+
+ net.java.dev.jets3t
+ jets3t
+ 0.8.1
+
+
+ ant-contrib
+ ant-contrib
+ 20020829
+
+
+
+
+
+
+
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e416/spring-tool-suite-4-dmg-config-e4.16.json b/eclipse-distribution/org.springframework.boot.ide.product.e416/spring-tool-suite-4-dmg-config-e4.16.json
new file mode 100644
index 000000000..c86b0023f
--- /dev/null
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e416/spring-tool-suite-4-dmg-config-e4.16.json
@@ -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"
+}
diff --git a/eclipse-distribution/pom.xml b/eclipse-distribution/pom.xml
index 932c61ec4..d19fd0942 100644
--- a/eclipse-distribution/pom.xml
+++ b/eclipse-distribution/pom.xml
@@ -399,6 +399,99 @@
+
+ e416
+
+ e4.16.0
+ e4.16
+ 2020-06
+ 2020-06 (4.16)
+ 2020-06
+ 4.16
+ e416
+
+
+
+ 2020-06
+ p2
+ https://download.eclipse.org/releases/2020-06/
+
+
+ 2020-06-staging
+ p2
+ https://download.eclipse.org/staging/2020-06/
+
+
+ orbit
+ p2
+ https://download.eclipse.org/tools/orbit/downloads/drops/R20200224183213/repository
+
+
+ latest-m2e-wtp
+ p2
+ https://download.eclipse.org/m2e-wtp/releases/1.4/
+
+
+ maven-extras-mirror
+ p2
+ https://download.springsource.com/release/TOOLS/third-party/m2e-sts310-signed/
+
+
+ maven-egit
+ p2
+ https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-egit/0.15.1/N/LATEST
+
+
+
+ maven-wro4j
+ p2
+ https://download.jboss.org/jbosstools/updates/m2e-extensions/m2e-wro4j/1.1.0-2014-06-25_06-16-31-H26/
+
+
+ m2e-chromatic
+ p2
+ https://dl.bintray.com/sidespin/repo/m2e-chromatic/1.0.1/
+
+
+ maven-devtools
+ p2
+ https://dist.springsource.com/release/TOOLS/mavendevtools/
+
+
+ maven-dependency-support
+ p2
+ https://ianbrandt.github.io/m2e-maven-dependency-plugin/
+
+
+ ansi-console
+ p2
+ https://www.mihai-nita.net/eclipse
+
+
+
+ mylyn-markdown
+ p2
+ https://download.eclipse.org/mylyn/docs/releases/3.0.36/
+
+
+ lsp4e
+ p2
+ https://download.eclipse.org/lsp4e/snapshots/
+
+
+
+ org.springframework.boot.ide.product.e416
+
+
+
build.springsource.com
diff --git a/eclipse-language-servers/pom.xml b/eclipse-language-servers/pom.xml
index 79e04d8a0..64d658845 100644
--- a/eclipse-language-servers/pom.xml
+++ b/eclipse-language-servers/pom.xml
@@ -231,11 +231,61 @@
p2
https://download.eclipse.org/releases/2020-03/
-
+
+ e-i-commons
+ p2
+ https://dist.springframework.org/snapshot/IDE/nightly
+
+
+ mylyn-markdown
+ p2
+ https://download.eclipse.org/mylyn/docs/releases/3.0.36/
+
+
+ lsp4e
+ p2
+ https://download.eclipse.org/lsp4e/snapshots/
+
+
+ tm4e
+ p2
+ https://download.eclipse.org/tm4e/snapshots/
+
+
+
+
+
+ e416
+
+ e4.16.0
+ e4.16
+ 2020-06
+ 2020-06 (4.16)
+ 2020-06
+ 4.16
+ e416
+
+
+
+ 2020-06
+ p2
+ https://download.eclipse.org/releases/2020-06/
+
+
+ 2020-06-staging
+ p2
+ https://download.eclipse.org/staging/2020-06/
+
orbit
p2
diff --git a/headless-services/jdt-ls-extension/pom.xml b/headless-services/jdt-ls-extension/pom.xml
index 71954f3d9..92b3f5f05 100644
--- a/headless-services/jdt-ls-extension/pom.xml
+++ b/headless-services/jdt-ls-extension/pom.xml
@@ -83,7 +83,7 @@
specific orbit
p2
- https://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository
+ https://download.eclipse.org/tools/orbit/downloads/drops/R20190827152740/repository