From c5da331e0a340c025080423a896d6f32dbcdb1f5 Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Fri, 15 May 2026 18:06:44 +0200 Subject: [PATCH 1/7] #1922 : Add Task commandlet based on NpmBasedCommandlet with corresponding tests --- .../ide/commandlet/CommandletManagerImpl.java | 2 + .../com/devonfw/tools/ide/common/Tag.java | 4 ++ .../com/devonfw/tools/ide/tool/nest/Nest.java | 42 ++++++------- .../com/devonfw/tools/ide/tool/task/Task.java | 29 +++++++++ cli/src/main/resources/nls/Help.properties | 2 + cli/src/main/resources/nls/Help_de.properties | 2 + .../test/integration-tests/install-task.sh | 12 ++++ .../devonfw/tools/ide/tool/task/TaskTest.java | 63 +++++++++++++++++++ .../task/_ide/urls/node/node/v18.19.1/urls | 1 + .../task/_ide/urls/npm/npm/dependencies.json | 8 +++ .../task/project/home/.ide/ide.properties | 0 .../task/project/settings/ide.properties | 3 + .../task/project/workspaces/main/.gitkeep | 0 .../task/repository/node/node/default/npm | 6 ++ .../task/repository/node/node/default/npx | 2 + .../task/repository/node/node/default/task | 2 + .../task/repository/npmjs/@task/cli.json | 10 +++ 17 files changed, 167 insertions(+), 21 deletions(-) create mode 100644 cli/src/main/java/com/devonfw/tools/ide/tool/task/Task.java create mode 100644 cli/src/test/integration-tests/install-task.sh create mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/task/TaskTest.java create mode 100644 cli/src/test/resources/ide-projects/task/_ide/urls/node/node/v18.19.1/urls create mode 100644 cli/src/test/resources/ide-projects/task/_ide/urls/npm/npm/dependencies.json create mode 100644 cli/src/test/resources/ide-projects/task/project/home/.ide/ide.properties create mode 100644 cli/src/test/resources/ide-projects/task/project/settings/ide.properties create mode 100644 cli/src/test/resources/ide-projects/task/project/workspaces/main/.gitkeep create mode 100644 cli/src/test/resources/ide-projects/task/repository/node/node/default/npm create mode 100644 cli/src/test/resources/ide-projects/task/repository/node/node/default/npx create mode 100644 cli/src/test/resources/ide-projects/task/repository/node/node/default/task create mode 100644 cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json diff --git a/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java b/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java index 104f33954d..259059a373 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java @@ -56,6 +56,7 @@ import com.devonfw.tools.ide.tool.sonar.Sonar; import com.devonfw.tools.ide.tool.spring.Spring; import com.devonfw.tools.ide.tool.squirrelsql.SquirrelSql; +import com.devonfw.tools.ide.tool.task.Task; import com.devonfw.tools.ide.tool.terraform.Terraform; import com.devonfw.tools.ide.tool.tomcat.Tomcat; import com.devonfw.tools.ide.tool.uv.Uv; @@ -132,6 +133,7 @@ public CommandletManagerImpl(IdeContext context) { add(new KotlincNative(context)); add(new KubeCtl(context)); add(new Tomcat(context)); + add(new Task(context)); add(new Vscode(context)); add(new Azure(context)); add(new Aws(context)); diff --git a/cli/src/main/java/com/devonfw/tools/ide/common/Tag.java b/cli/src/main/java/com/devonfw/tools/ide/common/Tag.java index 559259eae4..6a0b47a8b5 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/common/Tag.java +++ b/cli/src/main/java/com/devonfw/tools/ide/common/Tag.java @@ -332,6 +332,10 @@ public final class Tag { /** {@link Tag} for Nest. */ public static final Tag NEST = create("nest", FRAMEWORK, false, new String[] { "nestjs", "nestcli" }, TYPE_SCRIPT); + /** {@link Tag} for Task (Taskfile). */ + public static final Tag TASK = create("task", BUILD, false, "taskfile", "gotask"); + + private final String id; private final Tag parent; diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java b/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java index 30ad153999..eb1cf2a42b 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java @@ -1,30 +1,30 @@ -package com.devonfw.tools.ide.tool.nest; + package com.devonfw.tools.ide.tool.nest; -import java.util.Set; + import java.util.Set; -import com.devonfw.tools.ide.common.Tag; -import com.devonfw.tools.ide.context.IdeContext; -import com.devonfw.tools.ide.tool.ToolCommandlet; -import com.devonfw.tools.ide.tool.npm.NpmBasedCommandlet; - -/** - * {@link ToolCommandlet} for Nest CLI. - */ -public class Nest extends NpmBasedCommandlet { + import com.devonfw.tools.ide.common.Tag; + import com.devonfw.tools.ide.context.IdeContext; + import com.devonfw.tools.ide.tool.ToolCommandlet; + import com.devonfw.tools.ide.tool.npm.NpmBasedCommandlet; /** - * The constructor. - * - * @param context the {@link IdeContext}. + * {@link ToolCommandlet} for Nest CLI. */ - public Nest(IdeContext context) { + public class Nest extends NpmBasedCommandlet { - super(context, "nest", Set.of(Tag.NEST, Tag.BUILD)); - } + /** + * The constructor. + * + * @param context the {@link IdeContext}. + */ + public Nest(IdeContext context) { + + super(context, "nest", Set.of(Tag.NEST, Tag.BUILD)); + } - @Override - public String getPackageName() { + @Override + public String getPackageName() { - return "@nestjs/cli"; + return "@nestjs/cli"; + } } -} diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/task/Task.java b/cli/src/main/java/com/devonfw/tools/ide/tool/task/Task.java new file mode 100644 index 0000000000..cefdc5c203 --- /dev/null +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/task/Task.java @@ -0,0 +1,29 @@ +package com.devonfw.tools.ide.tool.task; + + +import java.util.Set; + +import com.devonfw.tools.ide.common.Tag; +import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.tool.ToolCommandlet; +import com.devonfw.tools.ide.tool.npm.NpmBasedCommandlet; + +/** + * {@link ToolCommandlet} for Task CLI. + */ +public class Task extends NpmBasedCommandlet { + + /** + * The constructor. + * + * @param context the {@link IdeContext}. + */ + public Task(IdeContext context) { + super(context, "task", Set.of(Tag.TASK)); + } + + @Override + public String getPackageName() { + return "@go-task/cli"; + } +} diff --git a/cli/src/main/resources/nls/Help.properties b/cli/src/main/resources/nls/Help.properties index 34a6b8b72b..23f88da61c 100644 --- a/cli/src/main/resources/nls/Help.properties +++ b/cli/src/main/resources/nls/Help.properties @@ -124,6 +124,8 @@ cmd.squirrel-sql=Tool commandlet for SQuirreL SQL Client. cmd.squirrel-sql.detail=SQuirreL SQL Client is a graphical Java program that allows you to manage JDBC compliant databases. Detailed documentation can be found at https://squirrel-sql.sourceforge.io/ cmd.status=Prints the status report about your IDEasy. cmd.status.detail=To check your IDE-status (e.g. duplicated or legacy variables) as well as potential information about updates to settings you should apply\nwith ide update, run the following command: 'ide status'. +cmd.task=Tool commandlet for Task CLI. +cmd.task.detail=The Task CLI is a task runner and build tool inspired by Make that helps you automate development workflows using simple and readable configuration. Detailed documentation can be found at https://taskfile.dev/ cmd.terraform=Tool commandlet for Terraform. cmd.terraform.detail=Terraform is an infrastructure as code tool for managing cloud resources. Detailed documentation can be found at https://www.terraform.io/docs/index.html cmd.tomcat=Tool commandlet for Tomcat diff --git a/cli/src/main/resources/nls/Help_de.properties b/cli/src/main/resources/nls/Help_de.properties index ab3062fd2a..b3ca2daf43 100644 --- a/cli/src/main/resources/nls/Help_de.properties +++ b/cli/src/main/resources/nls/Help_de.properties @@ -124,6 +124,8 @@ cmd.squirrel-sql=Werkzeug Kommando für den SQuirreL SQL Client. cmd.squirrel-sql.detail=SQuirreL SQL Client ist ein grafisches Java-Programm zur Verwaltung von JDBC-kompatiblen Datenbanken. Ausführliche Dokumentation ist zu finden unter https://squirrel-sql.sourceforge.io/ cmd.status=Gibt einen Statusbericht über IDEasy aus cmd.status.detail=Um den Status Ihrer IDE zu überprüfen (z.B. doppelte oder veraltete Variablen) sowie potenzielle Informationen über Updates zu den Einstellungen,\ndie Sie mit dem Befehl 'ide update' anwenden sollten, führen Sie den folgenden Befehl aus: 'ide status'. +cmd.task=Werkzeugkommando für Task CLI. +cmd.task.detail=Die Task CLI ist ein Task‑Runner und Build‑Tool, inspiriert von Make, das dabei hilft, Entwicklungsabläufe mithilfe einfacher und lesbarer Konfiguration zu automatisieren. Detaillierte Dokumentation ist zu finden unter https://taskfile.dev/ cmd.terraform=Werkzeug Kommando für Terraform. cmd.terraform.detail=Terraform ist ein Tool für Infrastructure as Code zur Verwaltung von Cloud-Ressourcen. Detaillierte Dokumentation ist zu finden unter https://www.terraform.io/docs/index.html cmd.tomcat=Werkzeug Kommando für Tomcat diff --git a/cli/src/test/integration-tests/install-task.sh b/cli/src/test/integration-tests/install-task.sh new file mode 100644 index 0000000000..3cef7b226e --- /dev/null +++ b/cli/src/test/integration-tests/install-task.sh @@ -0,0 +1,12 @@ +echo "Running install task integration test" +ide -d install task + +task_location="" +if doIsWindows +then + task_location="" +else + task_location="bin/" +fi + +assertThat "${IDE_ROOT}/${TEST_PROJECT_NAME}/software/node/${task_location}task" exists diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/task/TaskTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/task/TaskTest.java new file mode 100644 index 0000000000..9771c923ea --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/task/TaskTest.java @@ -0,0 +1,63 @@ +package com.devonfw.tools.ide.tool.task; + + +import org.junit.jupiter.api.Test; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.devonfw.tools.ide.context.IdeTestContext; +import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo; +import com.github.tomakehurst.wiremock.junit5.WireMockTest; + + +/** + * Test of {@link Task}. + */ +@WireMockTest +class TaskTest extends AbstractIdeContextTest { + + private static final String PROJECT_TASK = "task"; + + @Test + void testTaskInstall(WireMockRuntimeInfo wireMockRuntimeInfo) { + + IdeTestContext context = newContext(PROJECT_TASK, wireMockRuntimeInfo); + Task commandlet = new Task(context); + + commandlet.install(); + + checkInstallation(context); + } + + @Test + void testTaskUninstall(WireMockRuntimeInfo wireMockRuntimeInfo) { + + IdeTestContext context = newContext(PROJECT_TASK, wireMockRuntimeInfo); + Task commandlet = new Task(context); + + commandlet.install(); + checkInstallation(context); + + commandlet.uninstall(); + + assertThat(context).logAtInfo().hasMessageContaining("npm uninstall -g @go-task/cli"); + assertThat(context).logAtSuccess().hasMessage("Successfully uninstalled task"); + } + + @Test + void testTaskRun(WireMockRuntimeInfo wireMockRuntimeInfo) { + + IdeTestContext context = newContext(PROJECT_TASK, wireMockRuntimeInfo); + Task commandlet = new Task(context); + commandlet.arguments.setValue("--version"); + + commandlet.run(); + + assertThat(context).logAtInfo().hasMessageContaining("task --version"); + } + + private void checkInstallation(IdeTestContext context) { + + assertThat(context).logAtInfo().hasMessageContaining("npm install -gf @go-task/cli@3.43.3"); + assertThat(context).logAtSuccess().hasMessageContaining("Successfully installed task in version 3.43.3"); + } +} diff --git a/cli/src/test/resources/ide-projects/task/_ide/urls/node/node/v18.19.1/urls b/cli/src/test/resources/ide-projects/task/_ide/urls/node/node/v18.19.1/urls new file mode 100644 index 0000000000..a07d5a1205 --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/_ide/urls/node/node/v18.19.1/urls @@ -0,0 +1 @@ +${testbaseurl}/download/node/node/v18.19.1/node-v18.19.1.tgz diff --git a/cli/src/test/resources/ide-projects/task/_ide/urls/npm/npm/dependencies.json b/cli/src/test/resources/ide-projects/task/_ide/urls/npm/npm/dependencies.json new file mode 100644 index 0000000000..b84a1b86c9 --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/_ide/urls/npm/npm/dependencies.json @@ -0,0 +1,8 @@ +{ + "[9.0, 10.0)": [ + { + "tool": "node", + "versionRange": "[18.0.0,)" + } + ] +} diff --git a/cli/src/test/resources/ide-projects/task/project/home/.ide/ide.properties b/cli/src/test/resources/ide-projects/task/project/home/.ide/ide.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cli/src/test/resources/ide-projects/task/project/settings/ide.properties b/cli/src/test/resources/ide-projects/task/project/settings/ide.properties new file mode 100644 index 0000000000..26c4916237 --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/project/settings/ide.properties @@ -0,0 +1,3 @@ +NODE_VERSION=v18.19.1 +NPM_VERSION=9.9.2 +TASK_VERSION=3.43.3 diff --git a/cli/src/test/resources/ide-projects/task/project/workspaces/main/.gitkeep b/cli/src/test/resources/ide-projects/task/project/workspaces/main/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/npm b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npm new file mode 100644 index 0000000000..ee633ea32e --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npm @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$1" == "--version" ]; then + echo "9.9.2" + exit +fi +echo "npm $*" diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/npx b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npx new file mode 100644 index 0000000000..0723c2041b --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npx @@ -0,0 +1,2 @@ +#!/bin/bash +echo "npx $*" diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/task b/cli/src/test/resources/ide-projects/task/repository/node/node/default/task new file mode 100644 index 0000000000..ed5106f23c --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/repository/node/node/default/task @@ -0,0 +1,2 @@ +#!/bin/bash +echo "task $*" diff --git a/cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json b/cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json new file mode 100644 index 0000000000..e5ba173c08 --- /dev/null +++ b/cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json @@ -0,0 +1,10 @@ +{ + "versions": { + "3.43.3": { + "version": "3.43.3", + "dist": { + "tarball": "${testbaseurl}/@go-task/-/cli-3.43.3.tgz" + } + } + } +} From 6253df065b4e42fcb5f2e8baae48ce3e14ae6460 Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Fri, 15 May 2026 18:09:13 +0200 Subject: [PATCH 2/7] #1922 : Add to CHANGELOG.adoc --- CHANGELOG.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index be30974030..d670dbbf1b 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -29,6 +29,9 @@ Release with new features and bugfixes: * https://github.com/devonfw/IDEasy/issues/1685[#1685]: Add Nest CLI to IDEasy commandlets * https://github.com/devonfw/IDEasy/issues/1882[#1882]: Add AWS CDK to IDEasy commandlets * https://github.com/devonfw/IDEasy/issues/800[#800]: Fix infinite recursion in Sonar start/stop on macOS +* https://github.com/devonfw/IDEasy/issues/1922[#1922]: Add Task CLI to IDEasy commandlets + + The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/44?closed=1[milestone 2026.05.001]. From baa5a51866a0c954b0c1cd457efab4f871225524 Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Fri, 15 May 2026 18:24:26 +0200 Subject: [PATCH 3/7] revert unintended styling changes --- .../com/devonfw/tools/ide/tool/nest/Nest.java | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java b/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java index eb1cf2a42b..30ad153999 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/nest/Nest.java @@ -1,30 +1,30 @@ - package com.devonfw.tools.ide.tool.nest; +package com.devonfw.tools.ide.tool.nest; - import java.util.Set; +import java.util.Set; - import com.devonfw.tools.ide.common.Tag; - import com.devonfw.tools.ide.context.IdeContext; - import com.devonfw.tools.ide.tool.ToolCommandlet; - import com.devonfw.tools.ide.tool.npm.NpmBasedCommandlet; +import com.devonfw.tools.ide.common.Tag; +import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.tool.ToolCommandlet; +import com.devonfw.tools.ide.tool.npm.NpmBasedCommandlet; + +/** + * {@link ToolCommandlet} for Nest CLI. + */ +public class Nest extends NpmBasedCommandlet { /** - * {@link ToolCommandlet} for Nest CLI. + * The constructor. + * + * @param context the {@link IdeContext}. */ - public class Nest extends NpmBasedCommandlet { - - /** - * The constructor. - * - * @param context the {@link IdeContext}. - */ - public Nest(IdeContext context) { + public Nest(IdeContext context) { - super(context, "nest", Set.of(Tag.NEST, Tag.BUILD)); - } + super(context, "nest", Set.of(Tag.NEST, Tag.BUILD)); + } - @Override - public String getPackageName() { + @Override + public String getPackageName() { - return "@nestjs/cli"; - } + return "@nestjs/cli"; } +} From d217be415e4c1f12ec4b26836c10576726d3e21d Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Fri, 15 May 2026 18:30:08 +0200 Subject: [PATCH 4/7] #1922 : Add to LICENSE.adoc --- documentation/LICENSE.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/LICENSE.adoc b/documentation/LICENSE.adoc index 7f86c05c18..088c2bc596 100644 --- a/documentation/LICENSE.adoc +++ b/documentation/LICENSE.adoc @@ -105,6 +105,7 @@ The column `inclusion` indicates the way the component is included: |https://squirrel-sql.sourceforge.io/[SQuirreL SQL Client]|Optional|https://github.com/squirrel-sql-client/squirrel-sql-stable-releases/blob/main/LICENSE[LGPL 2.1] |https://docs.nestjs.com/cli/overview[NestJS CLI] |Optional|https://github.com/nestjs/nest-cli/blob/master/LICENSE[MIT License] |https://docs.aws.amazon.com/cdk/v2/guide/home.html[AWS CDK CLI] |Optional|https://github.com/aws/aws-cdk-cli/blob/main/LICENSE[Apache 2.0] +https://taskfile.dev/[Task CLI] |Optional|https://github.com/go-task/task/blob/main/LICENSE[MIT License] |=== == Apache Software License - Version 2.0 From 4389a903f1950b6fb5f0456c4f1c5592cd94488d Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Mon, 18 May 2026 10:41:28 +0200 Subject: [PATCH 5/7] #1922 : Fix error in LICENSE.adoc --- documentation/LICENSE.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/LICENSE.adoc b/documentation/LICENSE.adoc index 088c2bc596..93b97c997e 100644 --- a/documentation/LICENSE.adoc +++ b/documentation/LICENSE.adoc @@ -105,7 +105,7 @@ The column `inclusion` indicates the way the component is included: |https://squirrel-sql.sourceforge.io/[SQuirreL SQL Client]|Optional|https://github.com/squirrel-sql-client/squirrel-sql-stable-releases/blob/main/LICENSE[LGPL 2.1] |https://docs.nestjs.com/cli/overview[NestJS CLI] |Optional|https://github.com/nestjs/nest-cli/blob/master/LICENSE[MIT License] |https://docs.aws.amazon.com/cdk/v2/guide/home.html[AWS CDK CLI] |Optional|https://github.com/aws/aws-cdk-cli/blob/main/LICENSE[Apache 2.0] -https://taskfile.dev/[Task CLI] |Optional|https://github.com/go-task/task/blob/main/LICENSE[MIT License] +|https://taskfile.dev/[Task CLI] |Optional|https://github.com/go-task/task/blob/main/LICENSE[MIT License] |=== == Apache Software License - Version 2.0 From 6778140cd6e35f82a71995ce42bfe394f0f5841c Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Mon, 18 May 2026 10:55:44 +0200 Subject: [PATCH 6/7] #1922 : Fix directory naming of cli.json --- .../task/repository/npmjs/{@task => @go-task}/cli.json | 1 + 1 file changed, 1 insertion(+) rename cli/src/test/resources/ide-projects/task/repository/npmjs/{@task => @go-task}/cli.json (99%) diff --git a/cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json b/cli/src/test/resources/ide-projects/task/repository/npmjs/@go-task/cli.json similarity index 99% rename from cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json rename to cli/src/test/resources/ide-projects/task/repository/npmjs/@go-task/cli.json index e5ba173c08..789ec1d56e 100644 --- a/cli/src/test/resources/ide-projects/task/repository/npmjs/@task/cli.json +++ b/cli/src/test/resources/ide-projects/task/repository/npmjs/@go-task/cli.json @@ -8,3 +8,4 @@ } } } + From 492a8d765ca8b328eb8db7e981466c1d1d891e79 Mon Sep 17 00:00:00 2001 From: KarimALotfy Date: Mon, 18 May 2026 13:57:36 +0200 Subject: [PATCH 7/7] #1922 : Make scripts executable --- .../resources/ide-projects/task/repository/node/node/default/npm | 0 .../resources/ide-projects/task/repository/node/node/default/npx | 0 .../resources/ide-projects/task/repository/node/node/default/task | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 cli/src/test/resources/ide-projects/task/repository/node/node/default/npm mode change 100644 => 100755 cli/src/test/resources/ide-projects/task/repository/node/node/default/npx mode change 100644 => 100755 cli/src/test/resources/ide-projects/task/repository/node/node/default/task diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/npm b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npm old mode 100644 new mode 100755 diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/npx b/cli/src/test/resources/ide-projects/task/repository/node/node/default/npx old mode 100644 new mode 100755 diff --git a/cli/src/test/resources/ide-projects/task/repository/node/node/default/task b/cli/src/test/resources/ide-projects/task/repository/node/node/default/task old mode 100644 new mode 100755