From 7af9fc54262d16b5d22b6bd557e8841a4f04720e Mon Sep 17 00:00:00 2001 From: Kian Date: Wed, 2 Oct 2024 14:49:32 +0200 Subject: [PATCH 01/18] #765: Fix typos in DoD asciidoc --- documentation/DoD.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/DoD.adoc b/documentation/DoD.adoc index 4a29de515..69dce4b52 100644 --- a/documentation/DoD.adoc +++ b/documentation/DoD.adoc @@ -21,11 +21,11 @@ Otherwise if a check failed (red cross) you need to click the `Details` link, re ** [ ] The build and all automated tests succeeded. If failed and you clicked on `Details` add read the logs to find the error. ** [ ] The contributors license agreement (CLA) is signed by all contributors of the PR. -** [ ] Git-Gardian did not report any security issue +** [ ] Git-Guardian did not report any security issue * [ ] The feature branch of the PR is up-to-date with the `main` branch. If you see `This branch is out-of-date with the base branch` in the PR click the `Update branch` button to fix (or manually merge with the `main` from upstream locally and push your changes). In case you see `This branch has conflicts that must be resolved` instead, you need to resolve conflicts. -Very simple conficts may be resolved in the browser on github. +Very simple conflicts may be resolved in the browser on github. But as a general recommendation you should resolve the conflicts locally with proper merge tool support and rerun tests before you push the merged changes. * [ ] You followed all link:coding-conventions.adoc[coding conventions] * [ ] You have already added the issue implemented by your PR in https://github.com/devonfw/ide/blob/master/CHANGELOG.adoc[CHANGELOG.adoc] to the next open release (see milestones or https://github.com/devonfw/IDEasy/blob/main/.mvn/maven.config[maven.config]). @@ -41,11 +41,11 @@ There are very few tools as exception to this rule like `Docker` that extend `Gl ** [ ] The tool can be configured locally inside `$IDE_HOME/conf` and not from a global location (e.g. in `$HOME`). Note: If a tool reads configuration files from the users home directory this is not given as two IDEasy projects using the same tool then would read the same config so one installation would influence the other. ** [ ] The help page displays information about the commandlet and its properties (CLI parameters) explaining how to use it properly. -There are no warnings logged in the help output (like `Cound not find key 'cmd-gcviewer' in ResourceBundle nls.Ide.properties`). +There are no warnings logged in the help output (like `Could not find key 'cmd-gcviewer' in ResourceBundle nls.Ide.properties`). Therefore add proper help texts for all supported languages https://github.com/devonfw/IDEasy/tree/main/cli/src/main/resources/nls[here]. -** [ ] The new tool is added to the table of tools in https://github.com/devonfw/ide/blob/master/documentation/LICENSE.asciidoc#license[LICENSE.asciidoc] with its according licesne. +** [ ] The new tool is added to the table of tools in https://github.com/devonfw/ide/blob/master/documentation/LICENSE.asciidoc#license[LICENSE.asciidoc] with its according license. If that license is not yet included, the full license text needs to be added. ** [ ] The new commandlet installs potential dependencies automatically (e.g. `getCommandlet(«DependentTool».class).install()` in overridden `install` method). ** [ ] The variables `«TOOL»_VERSION` and `«TOOL»_EDITION` are honored by your commandlet so if present that edition and version will be downloaded and installed (happens by default but important if you implement custom installation logic). -** [ ] The new commandlet is tested on all plattforms it is availible for. +** [ ] The new commandlet is tested on all platforms it is available for. Assuming you are using Windows, testing for Linux can be done with WSL or Virtual Box and for MacOS we have a virtual cloud instance. From c1e29fa4827bd3fc20a1ae5946c5572e650a2d1c Mon Sep 17 00:00:00 2001 From: KianRolf Date: Thu, 17 Oct 2024 16:37:24 +0200 Subject: [PATCH 02/18] egal --- .../ide/commandlet/CommandletManagerImpl.java | 2 + .../tools/ide/tool/kubectl/KubeCtl.java | 28 +++ cli/src/main/resources/nls/Help.properties | 2 + cli/src/main/resources/nls/Help_de.properties | 2 + .../tools/ide/merge/XmlMergerTest.java | 2 + .../tools/ide/tool/kubectl/KubeCtlTest.java | 7 + pom.xml | 217 ++++++++++++++++-- 7 files changed, 242 insertions(+), 18 deletions(-) create mode 100644 cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java create mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java 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 2c4601735..2af9a4e03 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 @@ -26,6 +26,7 @@ import com.devonfw.tools.ide.tool.jmc.Jmc; import com.devonfw.tools.ide.tool.kotlinc.Kotlinc; import com.devonfw.tools.ide.tool.kotlinc.KotlincNative; +import com.devonfw.tools.ide.tool.kubectl.KubeCtl; import com.devonfw.tools.ide.tool.lazydocker.LazyDocker; import com.devonfw.tools.ide.tool.mvn.Mvn; import com.devonfw.tools.ide.tool.node.Node; @@ -96,6 +97,7 @@ public CommandletManagerImpl(IdeContext context) { add(new Quarkus(context)); add(new Kotlinc(context)); add(new KotlincNative(context)); + add(new KubeCtl(context)); add(new Tomcat(context)); add(new Vscode(context)); add(new Azure(context)); diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java new file mode 100644 index 000000000..6118166c8 --- /dev/null +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -0,0 +1,28 @@ +package com.devonfw.tools.ide.tool.kubectl; + +import java.util.Set; + +import com.devonfw.tools.ide.common.Tag; +import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.tool.GlobalToolCommandlet; +import com.devonfw.tools.ide.tool.docker.Docker; + +public class KubeCtl extends GlobalToolCommandlet { + + /** + * The constructor. + * + * @param context the {@link IdeContext}. + */ + public KubeCtl(IdeContext context) { + + super(context, "kubectl", Set.of(Tag.DOCKER)); + } + + @Override + public boolean install() { + // TODO create kubectl/kubectl/dependencies.json file in ide-urls and delete this method + getCommandlet(Docker.class).install(); + return super.install(); + } +} diff --git a/cli/src/main/resources/nls/Help.properties b/cli/src/main/resources/nls/Help.properties index 0ebd40e67..df0b553b8 100644 --- a/cli/src/main/resources/nls/Help.properties +++ b/cli/src/main/resources/nls/Help.properties @@ -62,6 +62,8 @@ cmd.kotlinc=Tool commandlet for Kotlin (compiler for JRE language). cmd.kotlinc.detail=Kotlin Compiler (kotlinc) is the command-line tool for compiling Kotlin code. Detailed documentation can be found at https://kotlinlang.org/docs/home.html cmd.kotlincnative=Tool commandlet for Kotlin-Native (compiler for JRE language). cmd.kotlincnative.detail=Kotlin/Native Compiler (kotlincnative) compiles Kotlin code to native executables. Detailed documentation can be found at https://kotlinlang.org/docs/reference/native-overview.html +cmd.kubectl=Tool commandlet for kubernetes. Detailed documentation can be found at https://kubernetes.io/docs/home/ +cmd.kubectl.detail=The kubectl commandlet allows to install and use kubernetes. On Windows WSL 2 (Windows Subsystem for Linux) has to be installed properly as a prerequisite. The setup on windows will then install kubernetes with K3D. K3D will create a cluster with a single node with a default name as "ideasy-cluster" cmd.lazydocker=Tool commandlet for LazyDocker. cmd.lazydocker.detail=Lazydocker is a simple terminal UI for both docker and docker-compose. Detailed documentation can be found at https://github.com/jesseduffield/lazydocker cmd.list-editions=List the available editions of the selected tool. diff --git a/cli/src/main/resources/nls/Help_de.properties b/cli/src/main/resources/nls/Help_de.properties index bfa1d2a55..f4c92ded3 100644 --- a/cli/src/main/resources/nls/Help_de.properties +++ b/cli/src/main/resources/nls/Help_de.properties @@ -62,6 +62,8 @@ cmd.kotlinc=Werkzeug Kommando für Kotlin (Compiler für JRE Sprache). cmd.kotlinc.detail=Der Kotlin-Compiler (kotlinc) ist das Befehlszeilentool zum Kompilieren von Kotlin-Code. Detaillierte Dokumentation ist zu finden unter https://kotlinlang.org/docs/home.html cmd.kotlincnative=Werkzeug Kommando für Kotlin-Native (Compiler für JRE Sprache). cmd.kotlincnative.detail=Der Kotlin/Native-Compiler (kotlincnative) kompiliert Kotlin-Code in native ausführbare Dateien. Detaillierte Dokumentation ist zu finden unter https://kotlinlang.org/docs/reference/native-overview.html +cmd.kubectl=Toolbefehl für Kubernetes. Detaillierte Dokumentation findest du unter https://kubernetes.io/docs/home/ +cmd.kubectl.detail=Der kubectl-Befehl ermöglicht die Installation und Nutzung von Kubernetes. Unter Windows muss WSL 2 (Windows Subsystem for Linux) ordnungsgemäß installiert sein. Die Einrichtung unter Windows erfolgt dann mit K3D, das einen Cluster mit einem einzelnen Knoten erstellt, der standardmäßig den Namen „ideasy-cluster“ trägt. cmd.lazydocker=Werkzeug Kommando für LazyDocker. cmd.lazydocker.detail=Lazydocker ist ein einfaches Kommandozeilen-Benutzer-Interface für Docker und Docker-compose. Detaillierte Dokumentation ist zu finden unter https://github.com/jesseduffield/lazydocker cmd.list-editions=Listet die verfügbaren Editionen des selektierten Werkzeugs auf. diff --git a/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java b/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java index fb69c5ce5..55670ddea 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java @@ -30,6 +30,8 @@ class XmlMergerTest extends AbstractIdeContextTest { private static final String RESULT_XML = "result.xml"; + private static final String TEST_XML = "trusted-paths.xml"; + private IdeContext context = newContext(PROJECT_BASIC, null, false); private XmlMerger merger = new XmlMerger(this.context); diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java new file mode 100644 index 000000000..1e1ebbc06 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java @@ -0,0 +1,7 @@ +package com.devonfw.tools.ide.tool.kubectl; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; + +public class KubeCtlTest extends AbstractIdeContextTest { + +} diff --git a/pom.xml b/pom.xml index beeccff3e..2fa46fa9d 100644 --- a/pom.xml +++ b/pom.xml @@ -1,199 +1,380 @@ - - - + + + 4.0.0 + + com.devonfw + maven-parent + 13 + + com.devonfw.tools.IDEasy.dev + ide + pom + + dev-SNAPSHOT + ${project.artifactId} + This project provides automatic setup and update of the local development environment. - + + IDEasy + ${revision} + 17 + - + + + org.junit.jupiter + junit-jupiter + 5.9.2 + test + + + org.assertj + assertj-core + 3.24.2 + test + + + org.mockito + mockito-core + 5.10.0 + test + + + uk.org.webcompere + system-stubs-jupiter + 2.1.3 + test + + - + + documentation + cli + gui + + my-app + - + + + + org.codehaus.mojo + flatten-maven-plugin + + true + + - + + org.jacoco + jacoco-maven-plugin + 0.8.11 + + + + prepare-agent + + + + report + prepare-package + + report + + + + + + org.pitest + pitest-maven + 1.16.1 + + + org.pitest + pitest-junit5-plugin + 1.2.1 + + + + + - + + + deploy + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + true + + repository + https://s01.oss.sonatype.org/ + true + + + + + + - + + + hohwille - Jörg Hohwiller + + Jörg Hohwiller + hohwille@users.sourceforge.net + Capgemini + + + admin + designer + developer + + +1 + + + + trippl + Thomas Rippl - - + + + + + + + developer + + +1 + + + + markusschuh + Markus Schuh - + + + Capgemini + + + contributor + + +1 + + + + maybeec + Malte Brunnlieb - + + + Capgemini + + + contributor + + +1 + + + + ediekman + Erik Diekmann - + + + Capgemini + + + contributor + + +1 + + + + nricheton + Nicolas Richeton - + + + Capgemini + + + contributor + + +1 + + + + From d34a028f031ce84b80420226f9426ebc0f245064 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Fri, 18 Oct 2024 13:59:39 +0200 Subject: [PATCH 03/18] #81: created kubectl commandlet --- .../java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index 6118166c8..213435a86 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -4,6 +4,7 @@ import com.devonfw.tools.ide.common.Tag; import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.process.EnvironmentContext; import com.devonfw.tools.ide.tool.GlobalToolCommandlet; import com.devonfw.tools.ide.tool.docker.Docker; @@ -20,9 +21,8 @@ public KubeCtl(IdeContext context) { } @Override - public boolean install() { + public boolean install(boolean silent, EnvironmentContext environmentContext) { // TODO create kubectl/kubectl/dependencies.json file in ide-urls and delete this method - getCommandlet(Docker.class).install(); - return super.install(); + return getCommandlet(Docker.class).install(silent, environmentContext); } } From 46d64459f81454e31e1ab31b80c4e4c13d1c7130 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Fri, 18 Oct 2024 14:10:39 +0200 Subject: [PATCH 04/18] #81: revert weird unwanted changes --- .../tools/ide/merge/XmlMergerTest.java | 2 - pom.xml | 217 ++---------------- 2 files changed, 18 insertions(+), 201 deletions(-) diff --git a/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java b/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java index 55670ddea..fb69c5ce5 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/merge/XmlMergerTest.java @@ -30,8 +30,6 @@ class XmlMergerTest extends AbstractIdeContextTest { private static final String RESULT_XML = "result.xml"; - private static final String TEST_XML = "trusted-paths.xml"; - private IdeContext context = newContext(PROJECT_BASIC, null, false); private XmlMerger merger = new XmlMerger(this.context); diff --git a/pom.xml b/pom.xml index 2fa46fa9d..beeccff3e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,380 +1,199 @@ - - - + + + 4.0.0 - - com.devonfw - maven-parent - 13 - - com.devonfw.tools.IDEasy.dev - ide - pom - - dev-SNAPSHOT - ${project.artifactId} - This project provides automatic setup and update of the local development environment. - + - IDEasy - ${revision} - 17 - - + - - org.junit.jupiter - junit-jupiter - 5.9.2 - test - - - org.assertj - assertj-core - 3.24.2 - test - - - org.mockito - mockito-core - 5.10.0 - test - - - uk.org.webcompere - system-stubs-jupiter - 2.1.3 - test - - - + - documentation - cli - gui - - my-app - - + - - - org.codehaus.mojo - flatten-maven-plugin - - true - - - + - org.jacoco - jacoco-maven-plugin - 0.8.11 - - - - prepare-agent - - - - report - prepare-package - - report - - - - - - org.pitest - pitest-maven - 1.16.1 - - - org.pitest - pitest-junit5-plugin - 1.2.1 - - - - - - + - - deploy - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.13 - true - - repository - https://s01.oss.sonatype.org/ - true - - - - - - - + - - hohwille - - Jörg Hohwiller - + Jörg Hohwiller hohwille@users.sourceforge.net - Capgemini - - - admin - designer - developer - - +1 - - - - trippl - Thomas Rippl - - - - - + + - - developer - - +1 - - - - markusschuh - Markus Schuh - - - + Capgemini - - - contributor - - +1 - - - - maybeec - Malte Brunnlieb - - - + Capgemini - - - contributor - - +1 - - - - ediekman - Erik Diekmann - - - + Capgemini - - - contributor - - +1 - - - - nricheton - Nicolas Richeton - - - + Capgemini - - - contributor - - +1 - - - - From aee647b8194f5ef367dba9061a1e12eb92dec346 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Fri, 18 Oct 2024 14:14:42 +0200 Subject: [PATCH 05/18] #81: remove unfinished Test --- .../com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java deleted file mode 100644 index 1e1ebbc06..000000000 --- a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.devonfw.tools.ide.tool.kubectl; - -import com.devonfw.tools.ide.context.AbstractIdeContextTest; - -public class KubeCtlTest extends AbstractIdeContextTest { - -} From 7b4d6e74cb75f73528d62f08faa541821d88654b Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 23 Oct 2024 11:14:51 +0200 Subject: [PATCH 06/18] Update cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jörg Hohwiller --- .../main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index 213435a86..1751137fa 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -17,7 +17,7 @@ public class KubeCtl extends GlobalToolCommandlet { */ public KubeCtl(IdeContext context) { - super(context, "kubectl", Set.of(Tag.DOCKER)); + super(context, "kubectl", Set.of(Tag.KUBERNETES)); } @Override From 2c8a4c7026cfd4ffd94082235cdc2384240205f6 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 23 Oct 2024 11:18:16 +0200 Subject: [PATCH 07/18] Update cli/src/main/resources/nls/Help_de.properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jörg Hohwiller --- cli/src/main/resources/nls/Help_de.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/main/resources/nls/Help_de.properties b/cli/src/main/resources/nls/Help_de.properties index f4c92ded3..47d05e0da 100644 --- a/cli/src/main/resources/nls/Help_de.properties +++ b/cli/src/main/resources/nls/Help_de.properties @@ -62,7 +62,7 @@ cmd.kotlinc=Werkzeug Kommando für Kotlin (Compiler für JRE Sprache). cmd.kotlinc.detail=Der Kotlin-Compiler (kotlinc) ist das Befehlszeilentool zum Kompilieren von Kotlin-Code. Detaillierte Dokumentation ist zu finden unter https://kotlinlang.org/docs/home.html cmd.kotlincnative=Werkzeug Kommando für Kotlin-Native (Compiler für JRE Sprache). cmd.kotlincnative.detail=Der Kotlin/Native-Compiler (kotlincnative) kompiliert Kotlin-Code in native ausführbare Dateien. Detaillierte Dokumentation ist zu finden unter https://kotlinlang.org/docs/reference/native-overview.html -cmd.kubectl=Toolbefehl für Kubernetes. Detaillierte Dokumentation findest du unter https://kubernetes.io/docs/home/ +cmd.kubectl=Werkzeug Kommando für Kubernetes. Detaillierte Dokumentation ist zu finden unter https://kubernetes.io/docs/home/ cmd.kubectl.detail=Der kubectl-Befehl ermöglicht die Installation und Nutzung von Kubernetes. Unter Windows muss WSL 2 (Windows Subsystem for Linux) ordnungsgemäß installiert sein. Die Einrichtung unter Windows erfolgt dann mit K3D, das einen Cluster mit einem einzelnen Knoten erstellt, der standardmäßig den Namen „ideasy-cluster“ trägt. cmd.lazydocker=Werkzeug Kommando für LazyDocker. cmd.lazydocker.detail=Lazydocker ist ein einfaches Kommandozeilen-Benutzer-Interface für Docker und Docker-compose. Detaillierte Dokumentation ist zu finden unter https://github.com/jesseduffield/lazydocker From 5a59b839e63797bd6077ed83f1524917d33c8ac9 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 23 Oct 2024 11:18:22 +0200 Subject: [PATCH 08/18] Update cli/src/main/resources/nls/Help_de.properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jörg Hohwiller --- cli/src/main/resources/nls/Help_de.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/main/resources/nls/Help_de.properties b/cli/src/main/resources/nls/Help_de.properties index 47d05e0da..6fabad90d 100644 --- a/cli/src/main/resources/nls/Help_de.properties +++ b/cli/src/main/resources/nls/Help_de.properties @@ -63,7 +63,7 @@ cmd.kotlinc.detail=Der Kotlin-Compiler (kotlinc) ist das Befehlszeilentool zum K cmd.kotlincnative=Werkzeug Kommando für Kotlin-Native (Compiler für JRE Sprache). cmd.kotlincnative.detail=Der Kotlin/Native-Compiler (kotlincnative) kompiliert Kotlin-Code in native ausführbare Dateien. Detaillierte Dokumentation ist zu finden unter https://kotlinlang.org/docs/reference/native-overview.html cmd.kubectl=Werkzeug Kommando für Kubernetes. Detaillierte Dokumentation ist zu finden unter https://kubernetes.io/docs/home/ -cmd.kubectl.detail=Der kubectl-Befehl ermöglicht die Installation und Nutzung von Kubernetes. Unter Windows muss WSL 2 (Windows Subsystem for Linux) ordnungsgemäß installiert sein. Die Einrichtung unter Windows erfolgt dann mit K3D, das einen Cluster mit einem einzelnen Knoten erstellt, der standardmäßig den Namen „ideasy-cluster“ trägt. +cmd.kubectl.detail=Der Befehl kubectl ermöglicht die Installation und Nutzung von Kubernetes. Unter Windows muss WSL 2 (Windows Subsystem for Linux) ordnungsgemäß installiert sein. cmd.lazydocker=Werkzeug Kommando für LazyDocker. cmd.lazydocker.detail=Lazydocker ist ein einfaches Kommandozeilen-Benutzer-Interface für Docker und Docker-compose. Detaillierte Dokumentation ist zu finden unter https://github.com/jesseduffield/lazydocker cmd.list-editions=Listet die verfügbaren Editionen des selektierten Werkzeugs auf. From 8aa75a4f6eb0e1c84d32c6ab516fe4060c8f2054 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 23 Oct 2024 11:18:28 +0200 Subject: [PATCH 09/18] Update cli/src/main/resources/nls/Help.properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jörg Hohwiller --- cli/src/main/resources/nls/Help.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/main/resources/nls/Help.properties b/cli/src/main/resources/nls/Help.properties index df0b553b8..227dbf8df 100644 --- a/cli/src/main/resources/nls/Help.properties +++ b/cli/src/main/resources/nls/Help.properties @@ -63,7 +63,7 @@ cmd.kotlinc.detail=Kotlin Compiler (kotlinc) is the command-line tool for compil cmd.kotlincnative=Tool commandlet for Kotlin-Native (compiler for JRE language). cmd.kotlincnative.detail=Kotlin/Native Compiler (kotlincnative) compiles Kotlin code to native executables. Detailed documentation can be found at https://kotlinlang.org/docs/reference/native-overview.html cmd.kubectl=Tool commandlet for kubernetes. Detailed documentation can be found at https://kubernetes.io/docs/home/ -cmd.kubectl.detail=The kubectl commandlet allows to install and use kubernetes. On Windows WSL 2 (Windows Subsystem for Linux) has to be installed properly as a prerequisite. The setup on windows will then install kubernetes with K3D. K3D will create a cluster with a single node with a default name as "ideasy-cluster" +cmd.kubectl.detail=The kubectl commandlet allows to install and use kubernetes. On Windows WSL 2 (Windows Subsystem for Linux) has to be installed properly as a prerequisite. cmd.lazydocker=Tool commandlet for LazyDocker. cmd.lazydocker.detail=Lazydocker is a simple terminal UI for both docker and docker-compose. Detailed documentation can be found at https://github.com/jesseduffield/lazydocker cmd.list-editions=List the available editions of the selected tool. From 42da84f98814d28d68fa2a429857fffee06dbca9 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Fri, 25 Oct 2024 13:41:40 +0200 Subject: [PATCH 10/18] #81: Correction --- .../tools/ide/tool/ProxyToolCommandlet.java | 25 +++++++++++++++++++ .../tools/ide/tool/kubectl/KubeCtl.java | 24 +++++++++++++++--- 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java new file mode 100644 index 000000000..1c546b2a1 --- /dev/null +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java @@ -0,0 +1,25 @@ +package com.devonfw.tools.ide.tool; + +import java.util.Set; + +import com.devonfw.tools.ide.common.Tag; +import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.process.EnvironmentContext; + +public abstract class ProxyToolCommandlet extends ToolCommandlet { + + public ProxyToolCommandlet(IdeContext context, String tool, Set tags) { + + super(context, tool, tags); + } + + @Override + public final boolean install(boolean silent, EnvironmentContext environmentContext) { + return callInstaller(silent, environmentContext); + } + + protected boolean callInstaller(boolean silent, EnvironmentContext environmentContext) { + return false; + } + +} diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index 1751137fa..c7c62de6b 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -5,10 +5,11 @@ import com.devonfw.tools.ide.common.Tag; import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.process.EnvironmentContext; -import com.devonfw.tools.ide.tool.GlobalToolCommandlet; +import com.devonfw.tools.ide.tool.ProxyToolCommandlet; import com.devonfw.tools.ide.tool.docker.Docker; +import com.devonfw.tools.ide.version.VersionIdentifier; -public class KubeCtl extends GlobalToolCommandlet { +public class KubeCtl extends ProxyToolCommandlet { /** * The constructor. @@ -21,8 +22,25 @@ public KubeCtl(IdeContext context) { } @Override - public boolean install(boolean silent, EnvironmentContext environmentContext) { + public boolean callInstaller(boolean silent, EnvironmentContext environmentContext) { // TODO create kubectl/kubectl/dependencies.json file in ide-urls and delete this method return getCommandlet(Docker.class).install(silent, environmentContext); } + + @Override + public VersionIdentifier getInstalledVersion() { + + return null; + } + + @Override + public String getInstalledEdition() { + + return null; + } + + @Override + public void uninstall() { + + } } From a5356a6c26c19b6fc1c1b819b6d8a33fbc87d299 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Thu, 31 Oct 2024 11:14:32 +0100 Subject: [PATCH 11/18] #81: Delegating commandlet --- ...yToolCommandlet.java => DelegatingToolCommandlet.java} | 8 ++++---- .../java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) rename cli/src/main/java/com/devonfw/tools/ide/tool/{ProxyToolCommandlet.java => DelegatingToolCommandlet.java} (56%) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java similarity index 56% rename from cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java index 1c546b2a1..7f5e25740 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/ProxyToolCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java @@ -6,19 +6,19 @@ import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.process.EnvironmentContext; -public abstract class ProxyToolCommandlet extends ToolCommandlet { +public abstract class DelegatingToolCommandlet extends ToolCommandlet { - public ProxyToolCommandlet(IdeContext context, String tool, Set tags) { + public DelegatingToolCommandlet(IdeContext context, String tool, Set tags) { super(context, tool, tags); } @Override public final boolean install(boolean silent, EnvironmentContext environmentContext) { - return callInstaller(silent, environmentContext); + return delegate(silent, environmentContext); } - protected boolean callInstaller(boolean silent, EnvironmentContext environmentContext) { + protected boolean delegate(boolean silent, EnvironmentContext environmentContext) { return false; } diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index c7c62de6b..fdeb235d8 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -5,11 +5,11 @@ import com.devonfw.tools.ide.common.Tag; import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.process.EnvironmentContext; -import com.devonfw.tools.ide.tool.ProxyToolCommandlet; +import com.devonfw.tools.ide.tool.DelegatingToolCommandlet; import com.devonfw.tools.ide.tool.docker.Docker; import com.devonfw.tools.ide.version.VersionIdentifier; -public class KubeCtl extends ProxyToolCommandlet { +public class KubeCtl extends DelegatingToolCommandlet { /** * The constructor. @@ -22,7 +22,7 @@ public KubeCtl(IdeContext context) { } @Override - public boolean callInstaller(boolean silent, EnvironmentContext environmentContext) { + protected boolean delegate(boolean silent, EnvironmentContext environmentContext) { // TODO create kubectl/kubectl/dependencies.json file in ide-urls and delete this method return getCommandlet(Docker.class).install(silent, environmentContext); } From 52c3e7727ca76e5a14ae3081671b515d886cd996 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Mon, 4 Nov 2024 15:13:16 +0100 Subject: [PATCH 12/18] devonfw#81: Delegating commandlet --- .../ide/tool/DelegatingToolCommandlet.java | 26 +++++++++++++------ .../tools/ide/tool/kubectl/KubeCtl.java | 13 ++++------ .../tools/ide/tool/kubectl/KubeCtlTest.java | 9 +++++++ 3 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java index 7f5e25740..34f3c4ed1 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java @@ -6,20 +6,30 @@ import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.process.EnvironmentContext; -public abstract class DelegatingToolCommandlet extends ToolCommandlet { - - public DelegatingToolCommandlet(IdeContext context, String tool, Set tags) { +/** + * {@link ToolCommandlet} that delegates to another ToolCommandlet. + */ +public abstract class DelegatingToolCommandlet extends ToolCommandlet { + + private Class delegateClass; + + /** + * The constructor. + * + * @param context the {@link IdeContext}. + * @param tool the {@link #getName() tool name}. + * @param tags the {@link #getTags() tags} classifying the tool. Should be created via {@link Set#of(Object) Set.of} method. + * @param delegateClass the {@link ToolCommandlet}. + */ + public DelegatingToolCommandlet(IdeContext context, String tool, Set tags, Class delegateClass) { super(context, tool, tags); + this.delegateClass = delegateClass; } @Override public final boolean install(boolean silent, EnvironmentContext environmentContext) { - return delegate(silent, environmentContext); - } - - protected boolean delegate(boolean silent, EnvironmentContext environmentContext) { - return false; + return getCommandlet(delegateClass).install(silent, environmentContext); } } diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index fdeb235d8..d746914b9 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -4,13 +4,16 @@ import com.devonfw.tools.ide.common.Tag; import com.devonfw.tools.ide.context.IdeContext; -import com.devonfw.tools.ide.process.EnvironmentContext; import com.devonfw.tools.ide.tool.DelegatingToolCommandlet; import com.devonfw.tools.ide.tool.docker.Docker; import com.devonfw.tools.ide.version.VersionIdentifier; +/** + * {@link DelegatingToolCommandlet} for Kubectl. + */ public class KubeCtl extends DelegatingToolCommandlet { + /** * The constructor. * @@ -18,13 +21,7 @@ public class KubeCtl extends DelegatingToolCommandlet { */ public KubeCtl(IdeContext context) { - super(context, "kubectl", Set.of(Tag.KUBERNETES)); - } - - @Override - protected boolean delegate(boolean silent, EnvironmentContext environmentContext) { - // TODO create kubectl/kubectl/dependencies.json file in ide-urls and delete this method - return getCommandlet(Docker.class).install(silent, environmentContext); + super(context, "kubectl", Set.of(Tag.KUBERNETES), Docker.class); } @Override diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java new file mode 100644 index 000000000..84dd534c6 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java @@ -0,0 +1,9 @@ +package com.devonfw.tools.ide.tool.kubectl; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.github.tomakehurst.wiremock.junit5.WireMockTest; + +@WireMockTest +public class KubeCtlTest extends AbstractIdeContextTest { + +} From f8da022f884b49aed256d5e64040d6d34c73fbc4 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 6 Nov 2024 11:01:25 +0100 Subject: [PATCH 13/18] #81: Remove Test --- .../com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java deleted file mode 100644 index 84dd534c6..000000000 --- a/cli/src/test/java/com/devonfw/tools/ide/tool/kubectl/KubeCtlTest.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.devonfw.tools.ide.tool.kubectl; - -import com.devonfw.tools.ide.context.AbstractIdeContextTest; -import com.github.tomakehurst.wiremock.junit5.WireMockTest; - -@WireMockTest -public class KubeCtlTest extends AbstractIdeContextTest { - -} From a485a7346d2a8c83456d2634f884200bea5f02ff Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 6 Nov 2024 11:08:38 +0100 Subject: [PATCH 14/18] #81: Changelog --- CHANGELOG.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 37d4d7bbe..efa33af09 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -7,7 +7,9 @@ This file documents all notable changes to https://github.com/devonfw/IDEasy[IDE Release with new features and bugfixes: * https://github.com/devonfw/IDEasy/issues/708[#708]: Open vscode in workspace path -* https://github.com/devonfw/IDEasy/issues/608[#608]: Enhanced error messages. Now logs missing command output and error messages +* https://github.com/devonfw/IDEasy/issues/608[#608]: Enhanced error messages. +Now logs missing command output and error messages +* https://github.com/devonfw/IDEasy/issues/81[#81]: Implement Toolcommandlet for Kubernetes The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/15?closed=1[milestone 2024.11.001]. From 5594cc6a1ab71e067a67a5102d8c3165fbf82849 Mon Sep 17 00:00:00 2001 From: KianRolf Date: Tue, 12 Nov 2024 10:17:14 +0100 Subject: [PATCH 15/18] Update cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java Co-authored-by: jan-vcapgemini <59438728+jan-vcapgemini@users.noreply.github.com> --- .../com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java index 34f3c4ed1..208bae008 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java @@ -29,7 +29,7 @@ public DelegatingToolCommandlet(IdeContext context, String tool, Set tags, @Override public final boolean install(boolean silent, EnvironmentContext environmentContext) { - return getCommandlet(delegateClass).install(silent, environmentContext); + return getCommandlet(this.delegateClass).install(silent, environmentContext); } } From 9137adbebd47203637e1263491572fd126de514a Mon Sep 17 00:00:00 2001 From: KianRolf Date: Tue, 12 Nov 2024 10:17:21 +0100 Subject: [PATCH 16/18] Update CHANGELOG.adoc Co-authored-by: jan-vcapgemini <59438728+jan-vcapgemini@users.noreply.github.com> --- CHANGELOG.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index efa33af09..872b6638c 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -7,8 +7,7 @@ This file documents all notable changes to https://github.com/devonfw/IDEasy[IDE Release with new features and bugfixes: * https://github.com/devonfw/IDEasy/issues/708[#708]: Open vscode in workspace path -* https://github.com/devonfw/IDEasy/issues/608[#608]: Enhanced error messages. -Now logs missing command output and error messages +* https://github.com/devonfw/IDEasy/issues/608[#608]: Enhanced error messages. Now logs missing command output and error messages * https://github.com/devonfw/IDEasy/issues/81[#81]: Implement Toolcommandlet for Kubernetes The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/15?closed=1[milestone 2024.11.001]. From 9af9dcde6fb6fe10c07b7e86f277d6a996b8c65d Mon Sep 17 00:00:00 2001 From: KianRolf Date: Wed, 20 Nov 2024 15:45:32 +0100 Subject: [PATCH 17/18] #81: Override additions --- .../ide/tool/DelegatingToolCommandlet.java | 42 ++++++++++++++++++- .../tools/ide/tool/kubectl/KubeCtl.java | 18 -------- 2 files changed, 41 insertions(+), 19 deletions(-) diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java index 208bae008..ffe188212 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/DelegatingToolCommandlet.java @@ -4,7 +4,9 @@ import com.devonfw.tools.ide.common.Tag; import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.environment.EnvironmentVariablesFiles; import com.devonfw.tools.ide.process.EnvironmentContext; +import com.devonfw.tools.ide.version.VersionIdentifier; /** * {@link ToolCommandlet} that delegates to another ToolCommandlet. @@ -27,9 +29,47 @@ public DelegatingToolCommandlet(IdeContext context, String tool, Set tags, this.delegateClass = delegateClass; } + private D getDelegate() { + return getCommandlet(this.delegateClass); + } + @Override public final boolean install(boolean silent, EnvironmentContext environmentContext) { - return getCommandlet(this.delegateClass).install(silent, environmentContext); + return getDelegate().install(silent, environmentContext); + } + + @Override + public VersionIdentifier getInstalledVersion() { + return getDelegate().getInstalledVersion(); + } + + @Override + public String getInstalledEdition() { + return getDelegate().getInstalledEdition(); + } + + @Override + public void uninstall() { + getDelegate().uninstall(); } + @Override + public void listEditions() { + getDelegate().listEditions(); + } + + @Override + public void listVersions() { + getDelegate().listVersions(); + } + + @Override + public void setVersion(VersionIdentifier version, boolean hint, EnvironmentVariablesFiles destination) { + getDelegate().setVersion(version, hint, destination); + } + + @Override + public void setEdition(String edition, boolean hint, EnvironmentVariablesFiles destination) { + getDelegate().setEdition(edition, hint, destination); + } } diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java index d746914b9..c976413ee 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kubectl/KubeCtl.java @@ -6,7 +6,6 @@ import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.tool.DelegatingToolCommandlet; import com.devonfw.tools.ide.tool.docker.Docker; -import com.devonfw.tools.ide.version.VersionIdentifier; /** * {@link DelegatingToolCommandlet} for Kubectl. @@ -23,21 +22,4 @@ public KubeCtl(IdeContext context) { super(context, "kubectl", Set.of(Tag.KUBERNETES), Docker.class); } - - @Override - public VersionIdentifier getInstalledVersion() { - - return null; - } - - @Override - public String getInstalledEdition() { - - return null; - } - - @Override - public void uninstall() { - - } } From 091b21d94bc4808eb775485ecd6a2a8185fd05ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Hohwiller?= Date: Mon, 25 Nov 2024 19:45:10 +0100 Subject: [PATCH 18/18] Update CHANGELOG.adoc: moved to correct release --- CHANGELOG.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 1cffdfb8d..2e69ec80f 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -9,6 +9,7 @@ Release with new features and bugfixes: * https://github.com/devonfw/IDEasy/issues/589[#589]: Fix NLS Bundles for Linux and MacOS * https://github.com/devonfw/IDEasy/issues/637[#637]: Added option to disable updates * https://github.com/devonfw/IDEasy/issues/764[#764]: IDEasy not working properly in CMD +* https://github.com/devonfw/IDEasy/issues/81[#81]: Implement Toolcommandlet for Kubernetes * https://github.com/devonfw/IDEasy/issues/754[#754]: Again messages break processable command output The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/16?closed=1[milestone 2024.12.001]. @@ -21,7 +22,6 @@ Release with new features and bugfixes: * https://github.com/devonfw/IDEasy/issues/415[#415]: Added a message that will inform the user for what process he will need to enter his sudo-password * https://github.com/devonfw/IDEasy/issues/708[#708]: Open vscode in workspace path * https://github.com/devonfw/IDEasy/issues/608[#608]: Enhanced error messages. Now logs missing command output and error messages -* https://github.com/devonfw/IDEasy/issues/81[#81]: Implement Toolcommandlet for Kubernetes * https://github.com/devonfw/IDEasy/issues/715[#715]: Show "cygwin is not supported" message for cygwin users * https://github.com/devonfw/IDEasy/issues/745[#745]: Maven install fails with NPE