diff --git a/.github/no-response.yml b/.github/no-response.yml
new file mode 100644
index 00000000..14bbe279
--- /dev/null
+++ b/.github/no-response.yml
@@ -0,0 +1,4 @@
+daysUntilClose: 14
+responseRequiredLabel: need more info
+closeComment: >
+ This issue has been closed automatically because it needs more information and has not had recent activity. Please reach out if you have or find the answers we need so that we can investigate further.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..f0907b41
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,150 @@
+name: CI
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ linux:
+ name: Linux
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup Build Environment
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
+ sudo /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
+ sleep 3
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: '11'
+
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v2
+ with:
+ node-version: 12
+
+ - name: Install Node.js modules
+ run: npm install
+
+ - name: Install Gulp
+ run: npm install -g gulp
+
+ - name: Install VSCE
+ run: npm install -g vsce
+
+ - name: Lint
+ run: gulp tslint
+
+ - name: Checkstyle
+ run: gulp checkstyle
+
+ - name: Build OSGi bundle
+ run: npm run build-server
+
+ - name: Build VSIX file
+ run: vsce package
+
+ - name: Test extension
+ run: DISPLAY=:99 npm test
+
+ - name: Print language server Log if job failed
+ if: ${{ failure() }}
+ run: find $HOME/.config/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log -print -exec cat '{}' \;;
+
+ windows:
+ name: Windows
+ runs-on: windows-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: '11'
+
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v2
+ with:
+ node-version: 12
+
+ - name: Install Node.js modules
+ run: npm install
+
+ - name: Install Gulp
+ run: npm install -g gulp --force
+
+ - name: Install VSCE
+ run: npm install -g vsce
+
+ - name: Lint
+ run: gulp tslint
+
+ - name: Checkstyle
+ run: gulp checkstyle
+
+ - name: Build OSGi bundle
+ run: npm run build-server
+
+ - name: Build VSIX file
+ run: vsce package
+
+ - name: Test extension
+ run: npm test
+
+ - name: Print language server Log if job failed
+ if: ${{ failure() }}
+ run: Get-ChildItem -Path $env:APPDATA/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log | cat
+
+ darwin:
+ name: macOS
+ runs-on: macos-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set up JDK 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: '11'
+
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v2
+ with:
+ node-version: 12
+
+ - name: Install Node.js modules
+ run: npm install
+
+ - name: Install Gulp
+ run: npm install -g gulp
+
+ - name: Install VSCE
+ run: npm install -g vsce
+
+ - name: Lint
+ run: gulp tslint
+
+ - name: Checkstyle
+ run: gulp checkstyle
+
+ - name: Build OSGi bundle
+ run: npm run build-server
+
+ - name: Build VSIX file
+ run: vsce package
+
+ - name: Test extension
+ run: npm test
+
+ - name: Print language server Log if job failed
+ if: ${{ failure() }}
+ run: find $HOME/Library/Application\ Support/Code/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log -print -exec cat '{}' \;;
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 754ecc3f..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-language: java
-
-matrix:
- include:
- - os: linux
- dist: trusty
- jdk: openjdk11
- env:
- - JDK_HOME=~/openjdk11 # force launching JLS using JDK11
- - os: osx
- osx_image: xcode10.1
- jdk: oraclejdk11
-
-addons:
- apt:
- packages:
- - libsecret-1-dev
-
-before_install:
- - |
- if [ $TRAVIS_OS_NAME == "linux" ]; then
- export CXX="g++-4.9" CC="gcc-4.9"
- export DISPLAY=':99.0'
- /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- sleep 3
- fi
- - nvm install 12
- - nvm use 12
-
-install:
-- npm install -g vsce
-- npm install -g typescript
-- npm install -g gulp
-- npm install
-
-script:
-- gulp tslint
-- gulp checkstyle
-- gulp build_server
-- vsce package
-- npm test
diff --git a/.vscodeignore b/.vscodeignore
index 18599adb..7887b29a 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -16,6 +16,7 @@ node_modules
scripts
extension.bundle.ts
javaConfig.json
+.github/**
# Ignore output of code sign
server/*.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f944003b..a9c54d48 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,37 @@ All notable changes to the "vscode-java-dependency" extension will be documented
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+## 0.18.3
+### Added
+- Add new unmanaged folder metadata for the project node. [PR#479](https://github.com/microsoft/vscode-java-dependency/pull/479)
+### Changed
+- Rename sorting group `9_sync` to `9_configuration`. [PR#480](https://github.com/microsoft/vscode-java-dependency/pull/480)
+
+## 0.18.2
+
+### Changed
+- Update dependencies. [PR#470](https://github.com/microsoft/vscode-java-dependency/pull/470)
+
+### Fixed
+- [Bugs fixed](https://github.com/microsoft/vscode-java-dependency/issues?q=is%3Aissue+label%3Abug+milestone%3A0.18.2+is%3Aclosed)
+
+## 0.18.1
+### Added
+- Add welcome view in Java Project explorer when there is no Java projects in the workspace. [PR#461](https://github.com/microsoft/vscode-java-dependency/pull/461)
+
+### Changed
+- Apply the new extension icon. [PR#462](https://github.com/microsoft/vscode-java-dependency/pull/462)
+
+### Fixed
+- [Bugs fixed](https://github.com/microsoft/vscode-java-dependency/issues?q=is%3Aissue+label%3Abug+milestone%3A0.18.1+is%3Aclosed)
+
+## 0.18.0
+### Added
+- Adopt the resource URI API to the Java Project explorer. [PR#453](https://github.com/microsoft/vscode-java-dependency/pull/453)
+
+### Fixed
+- [Bugs fixed](https://github.com/microsoft/vscode-java-dependency/issues?q=is%3Aissue+label%3Abug+milestone%3A0.18.0+is%3Aclosed)
+
## 0.17.0
### Added
- Add contextual title and icon for `Java Project` explorer. [#396](https://github.com/microsoft/vscode-java-dependency/issues/396)
diff --git a/README.md b/README.md
index 0e60a38e..ca9c4219 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
> Manage Java projects in Visual Studio Code
-[](https://travis-ci.org/Microsoft/vscode-java-dependency)
+[](https://github.com/microsoft/vscode-java-dependency/actions?query=workflow%3ACI+branch%3Amaster)
## Overview
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.activator/META-INF/MANIFEST.MF b/jdtls.ext/com.microsoft.jdtls.ext.activator/META-INF/MANIFEST.MF
index 7c687f60..d35e3e4c 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.activator/META-INF/MANIFEST.MF
+++ b/jdtls.ext/com.microsoft.jdtls.ext.activator/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: JDTLS EXT Activator
Bundle-SymbolicName: com.microsoft.jdtls.ext.activator;singleton:=true
-Bundle-Version: 0.17.0
+Bundle-Version: 0.18.3
Bundle-Activator: com.microsoft.jdtls.ext.activator.JdtlsExtActivator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.eclipse.jdt.core,
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.activator/pom.xml b/jdtls.ext/com.microsoft.jdtls.ext.activator/pom.xml
index fd23b09e..3bcf524a 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.activator/pom.xml
+++ b/jdtls.ext/com.microsoft.jdtls.ext.activator/pom.xml
@@ -5,7 +5,7 @@
com.microsoft.jdtls.ext
jdtls-ext-parent
- 0.17.0
+ 0.18.3
com.microsoft.jdtls.ext.activator
eclipse-plugin
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/.classpath b/jdtls.ext/com.microsoft.jdtls.ext.core/.classpath
index c664027f..67efab8e 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/.classpath
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/.classpath
@@ -1,6 +1,6 @@
-
+
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/META-INF/MANIFEST.MF b/jdtls.ext/com.microsoft.jdtls.ext.core/META-INF/MANIFEST.MF
index 611f1849..3e389be2 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/META-INF/MANIFEST.MF
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: JDTLS EXT Core
Bundle-SymbolicName: com.microsoft.jdtls.ext.core;singleton:=true
-Bundle-Version: 0.17.0
+Bundle-Version: 0.18.3
Bundle-Activator: com.microsoft.jdtls.ext.core.JdtlsExtActivator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/pom.xml b/jdtls.ext/com.microsoft.jdtls.ext.core/pom.xml
index add92078..17b26881 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/pom.xml
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/pom.xml
@@ -5,7 +5,7 @@
com.microsoft.jdtls.ext
jdtls-ext-parent
- 0.17.0
+ 0.18.3
com.microsoft.jdtls.ext.core
eclipse-plugin
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/PackageCommand.java b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/PackageCommand.java
index 1e5be9f1..b5de200d 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/PackageCommand.java
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/PackageCommand.java
@@ -610,7 +610,8 @@ public static IJavaProject getJavaProject(String projectUri) {
}
// For multi-module scenario, findContainersForLocationURI API may return a container array,
- // need put the result from the nearest project in front.
+ // need filter out non-Java project and put the result from the nearest project in front.
+ containers = Arrays.stream(containers).filter(c -> ProjectUtils.isJavaProject(c.getProject())).toArray(IContainer[]::new);
Arrays.sort(containers, (Comparator) (IContainer a, IContainer b) -> {
return a.getFullPath().toPortableString().length() - b.getFullPath().toPortableString().length();
});
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
index cc2a7b94..12c2899d 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
@@ -199,7 +199,7 @@ public static List getMainClasses(List