Skip to content

Commit 351f206

Browse files
snjezafbricon
andauthored
Add *.gradle.kts support (#2077)
* [WIP] Add *.gradle.kts support Signed-off-by: Fred Bricon <fbricon@gmail.com> * Polish *.gradle.kts support Signed-off-by: Snjezana Peco <snjezana.peco@redhat.com> Co-authored-by: Fred Bricon <fbricon@gmail.com>
1 parent 6460ad8 commit 351f206

File tree

7 files changed

+20
-14
lines changed

7 files changed

+20
-14
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,17 @@
3939
"onLanguage:java",
4040
"workspaceContains:pom.xml",
4141
"workspaceContains:build.gradle",
42+
"workspaceContains:settings.gradle",
43+
"workspaceContains:build.gradle.kts",
44+
"workspaceContains:settings.gradle.kts",
4245
"workspaceContains:.classpath",
4346
"onCommand:_java.templateVariables"
4447
],
4548
"main": "./dist/extension",
4649
"contributes": {
4750
"javaBuildFilePatterns": [
48-
"^pom.xml$",
49-
".*\\.gradle$"
51+
"^pom\\.xml$",
52+
".*\\.gradle(\\.kts)?$"
5053
],
5154
"semanticTokenTypes": [
5255
{
@@ -942,7 +945,7 @@
942945
"explorer/context": [
943946
{
944947
"command": "java.projectConfiguration.update",
945-
"when": "resourceFilename =~ /(.*\\.gradle)|(pom.xml)$/",
948+
"when": "resourceFilename =~ /(.*\\.gradle)|(.*\\.gradle\\.kts)|(pom\\.xml)$/",
946949
"group": "1_javaactions"
947950
},
948951
{
@@ -964,7 +967,7 @@
964967
},
965968
{
966969
"command": "java.projectConfiguration.update",
967-
"when": "resourceFilename =~ /(.*\\.gradle)|(pom.xml)$/",
970+
"when": "resourceFilename =~ /(.*\\.gradle)|(.*\\.gradle\\.kts)|(pom\\.xml)$/",
968971
"group": "1_javaactions"
969972
},
970973
{

src/extension.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,8 @@ async function hasBuildToolConflicts(): Promise<boolean> {
451451
const eclipseDirectories = getDirectoriesByBuildFile(projectConfigurationFsPaths, [], ".project");
452452
// ignore the folders that already has .project file (already imported before)
453453
const gradleDirectories = getDirectoriesByBuildFile(projectConfigurationFsPaths, eclipseDirectories, ".gradle");
454+
const gradleDirectoriesKts = getDirectoriesByBuildFile(projectConfigurationFsPaths, eclipseDirectories, ".gradle.kts");
455+
gradleDirectories.concat(gradleDirectoriesKts);
454456
const mavenDirectories = getDirectoriesByBuildFile(projectConfigurationFsPaths, eclipseDirectories, "pom.xml");
455457
return gradleDirectories.some((gradleDir) => {
456458
return mavenDirectories.includes(gradleDir);

src/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export function getBuildFilePatterns(): string[] {
5656
}
5757
if (isGradleImporterEnabled) {
5858
patterns.push("**/*.gradle");
59+
patterns.push("**/*.gradle.kts");
5960
}
6061

6162
return patterns;

test/resources/packageExample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"./bin/java.extend.jar"
1717
],
1818
"javaBuildFilePatterns": [
19-
"^pom.xml$", ".*\\.gradle$"
19+
"^pom.xml$", ".*\\.gradle(\\.kts)?$"
2020
]
2121
},
2222
"extensionDependencies": [

test/standard-mode-suite/extension.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ suite('Java Language Extension - Standard', () => {
121121
const result = plugin.collectBuildFilePattern(extensions);
122122
assert(result.length === 2);
123123
assert(result[0].endsWith("^pom.xml$"));
124-
assert(result[1].endsWith(".*\\.gradle$"));
124+
assert(result[1].endsWith(".*\\.gradle(\\.kts)?$"));
125125
});
126126

127127
test('should collect java extensions', () => {

test/standard-mode-suite/utils.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ suite('Utils Test', () => {
3737

3838
const result: string[] = getBuildFilePatterns();
3939

40-
assert.deepEqual(result, ["**/pom.xml", "**/*.gradle"]);
40+
assert.deepEqual(result, ["**/pom.xml", "**/*.gradle", "**/*.gradle.kts"]);
4141
});
4242

4343
test('getBuildFilePatterns() - no importers is enabled', async function () {

0 commit comments

Comments
 (0)