diff --git a/url-updater/pom.xml b/url-updater/pom.xml
new file mode 100644
index 000000000..aae26640a
--- /dev/null
+++ b/url-updater/pom.xml
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+
+ com.devonfw.tools.IDEasy.dev
+ ide
+ dev-SNAPSHOT
+ ../pom.xml
+
+ com.devonfw.tools.IDEasy
+ url-updater
+ ${revision}
+ ${project.artifactId}
+
+
+ 21
+ 21
+ UTF-8
+
+
+
+
+ ${project.groupId}
+ ide-cli
+ ${project.version}
+
+
+ ch.qos.logback
+ logback-classic
+ 1.5.16
+
+
+ org.wiremock
+ wiremock
+ 3.11.0
+ test
+
+
+
+
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/UpdateInitiator.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/UpdateInitiator.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/UpdateInitiator.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/UpdateInitiator.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdater.java
similarity index 89%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdater.java
index 315e32110..50fa57f41 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdater.java
@@ -1,10 +1,13 @@
-package com.devonfw.tools.ide.tool.androidstudio;
+package com.devonfw.tools.ide.url.tool.androidstudio;
import java.util.Collection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.devonfw.tools.ide.tool.androidstudio.AndroidJsonDownload;
+import com.devonfw.tools.ide.tool.androidstudio.AndroidJsonItem;
+import com.devonfw.tools.ide.tool.androidstudio.AndroidJsonObject;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/aws/AwsUrlUpdater.java
similarity index 97%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/aws/AwsUrlUpdater.java
index 7f9df6110..4ebddd4b1 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/aws/AwsUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.aws;
+package com.devonfw.tools.ide.url.tool.aws;
import com.devonfw.tools.ide.os.OperatingSystem;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/az/AzureUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/az/AzureUrlUpdater.java
index 9aca42153..b729df51a 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/az/AzureUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.az;
+package com.devonfw.tools.ide.url.tool.az;
import com.devonfw.tools.ide.os.OperatingSystem;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerDesktopUrlUpdater.java
similarity index 97%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerDesktopUrlUpdater.java
index f4dd68754..924a21deb 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerDesktopUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.docker;
+package com.devonfw.tools.ide.url.tool.docker;
import java.util.Set;
import java.util.regex.Matcher;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerRancherDesktopUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerRancherDesktopUrlUpdater.java
index 4c5c820fa..ced6ae9c6 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/docker/DockerRancherDesktopUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.docker;
+package com.devonfw.tools.ide.url.tool.docker;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/dotnet/DotNetUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/dotnet/DotNetUrlUpdater.java
index 237298c39..98b8ca8c7 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/dotnet/DotNetUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.dotnet;
+package com.devonfw.tools.ide.url.tool.dotnet;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseCppUrlUpdater.java
similarity index 81%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseCppUrlUpdater.java
index d1d127e24..02f3a6e2e 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseCppUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.eclipse;
+package com.devonfw.tools.ide.url.tool.eclipse;
/**
* {@link EclipseUrlUpdater} for "cpp" (C++) edition of Eclipse.
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJavaUrlUpdater.java
similarity index 84%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJavaUrlUpdater.java
index 07ec659a7..28ad2cf50 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJavaUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.eclipse;
+package com.devonfw.tools.ide.url.tool.eclipse;
/**
* {@link EclipseUrlUpdater} for "java" edition of Eclipse.
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJeeUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJeeUrlUpdater.java
similarity index 81%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJeeUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJeeUrlUpdater.java
index d4a420595..9d410be10 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJeeUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseJeeUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.eclipse;
+package com.devonfw.tools.ide.url.tool.eclipse;
/**
* {@link EclipseUrlUpdater} for "jee" (C++) edition of Eclipse.
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseUrlUpdater.java
similarity index 98%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseUrlUpdater.java
index ccefb8079..b98bc3c7c 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/eclipse/EclipseUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.eclipse;
+package com.devonfw.tools.ide.url.tool.eclipse;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcloud/GCloudUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcloud/GCloudUrlUpdater.java
index 45f62d2b6..6acc212e9 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcloud/GCloudUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.gcloud;
+package com.devonfw.tools.ide.url.tool.gcloud;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcviewer/GcViewerUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcviewer/GcViewerUrlUpdater.java
index 44f10a242..d9d33c68a 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gcviewer/GcViewerUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.gcviewer;
+package com.devonfw.tools.ide.url.tool.gcviewer;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gh/GhUrlUpdater.java
similarity index 97%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gh/GhUrlUpdater.java
index bd8a30dbc..903541560 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gh/GhUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.gh;
+package com.devonfw.tools.ide.url.tool.gh;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmCommunityUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmCommunityUpdater.java
index a6a7f70e3..e1b423443 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmCommunityUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.graalvm;
+package com.devonfw.tools.ide.url.tool.graalvm;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmOracleUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmOracleUrlUpdater.java
index e169436c4..2abc6f203 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmOracleUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.graalvm;
+package com.devonfw.tools.ide.url.tool.graalvm;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmUrlUpdater.java
similarity index 90%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmUrlUpdater.java
index 5925ffa03..e4d17b9ef 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/graalvm/GraalVmUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.graalvm;
+package com.devonfw.tools.ide.url.tool.graalvm;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gradle/GradleUrlUpdater.java
similarity index 98%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gradle/GradleUrlUpdater.java
index 62d441b39..439be91c8 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/gradle/GradleUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.gradle;
+package com.devonfw.tools.ide.url.tool.gradle;
import java.util.HashSet;
import java.util.Set;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/helm/HelmUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/helm/HelmUrlUpdater.java
index 6515a3fe2..73f6cf012 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/helm/HelmUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.helm;
+package com.devonfw.tools.ide.url.tool.helm;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdater.java
index 1fc2ca03b..9ee40b8d8 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.intellij;
+package com.devonfw.tools.ide.url.tool.intellij;
import java.util.Collection;
import java.util.List;
@@ -7,6 +7,9 @@
import com.devonfw.tools.ide.json.JsonVersionItem;
import com.devonfw.tools.ide.os.OperatingSystem;
import com.devonfw.tools.ide.os.SystemArchitecture;
+import com.devonfw.tools.ide.tool.intellij.IntellijJsonDownloadsItem;
+import com.devonfw.tools.ide.tool.intellij.IntellijJsonObject;
+import com.devonfw.tools.ide.tool.intellij.IntellijJsonRelease;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jasypt/JasyptUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jasypt/JasyptUrlUpdater.java
index a56caf0e2..499f66bcd 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jasypt/JasyptUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.jasypt;
+package com.devonfw.tools.ide.url.tool.jasypt;
import com.devonfw.tools.ide.url.updater.MavenBasedUrlUpdater;
import com.devonfw.tools.ide.version.VersionIdentifier;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdater.java
index c57f54e0d..3456396c1 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdater.java
@@ -1,7 +1,9 @@
-package com.devonfw.tools.ide.tool.java;
+package com.devonfw.tools.ide.url.tool.java;
import java.util.Collection;
+import com.devonfw.tools.ide.tool.java.JavaJsonObject;
+import com.devonfw.tools.ide.tool.java.JavaJsonVersion;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jenkins/JenkinsUrlUpdater.java
similarity index 93%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jenkins/JenkinsUrlUpdater.java
index 873648087..e31123ff3 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jenkins/JenkinsUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.jenkins;
+package com.devonfw.tools.ide.url.tool.jenkins;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jmc/JmcUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jmc/JmcUrlUpdater.java
index 699b5a9b7..9f2fcdaae 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/jmc/JmcUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.jmc;
+package com.devonfw.tools.ide.url.tool.jmc;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincNativeUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincNativeUrlUpdater.java
index da7bb9d54..a96355990 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincNativeUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.kotlinc;
+package com.devonfw.tools.ide.url.tool.kotlinc;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincUrlUpdater.java
index 79968ab7c..6dba1e871 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/kotlinc/KotlincUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.kotlinc;
+package com.devonfw.tools.ide.url.tool.kotlinc;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/lazydocker/LazyDockerUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/lazydocker/LazyDockerUrlUpdater.java
index 168e35953..24eadc1ff 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/lazydocker/LazyDockerUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.lazydocker;
+package com.devonfw.tools.ide.url.tool.lazydocker;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn4UrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/Mvn4UrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn4UrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/Mvn4UrlUpdater.java
index e6c855e93..c71e4dfc5 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/Mvn4UrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/Mvn4UrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.mvn;
+package com.devonfw.tools.ide.url.tool.mvn;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/MvnUrlUpdater.java
similarity index 94%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/MvnUrlUpdater.java
index 5c7ab55ef..423c60e5d 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/mvn/MvnUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.mvn;
+package com.devonfw.tools.ide.url.tool.mvn;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/node/NodeUrlUpdater.java
similarity index 97%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/node/NodeUrlUpdater.java
index 8f0e40b78..229b90b21 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/node/NodeUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.node;
+package com.devonfw.tools.ide.url.tool.node;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdater.java
similarity index 88%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdater.java
index ae910b1ca..8be230a23 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.npm;
+package com.devonfw.tools.ide.url.tool.npm;
import com.devonfw.tools.ide.url.updater.NpmBasedUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/oc/OcUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/oc/OcUrlUpdater.java
index b8f20c7aa..e81a81441 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/oc/OcUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.oc;
+package com.devonfw.tools.ide.url.tool.oc;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/pgadmin/PgAdminUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pgadmin/PgAdminUrlUpdater.java
similarity index 96%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/pgadmin/PgAdminUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pgadmin/PgAdminUrlUpdater.java
index f43600137..615813863 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/pgadmin/PgAdminUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pgadmin/PgAdminUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.pgadmin;
+package com.devonfw.tools.ide.url.tool.pgadmin;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdater.java
index a1a601479..693b72a6d 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.pip;
+package com.devonfw.tools.ide.url.tool.pip;
import java.util.regex.Pattern;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdater.java
similarity index 93%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdater.java
index de17bef4e..f45f64bd1 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.python;
+package com.devonfw.tools.ide.url.tool.python;
import java.util.Collection;
import java.util.List;
@@ -7,6 +7,9 @@
import org.slf4j.LoggerFactory;
import com.devonfw.tools.ide.json.JsonMapping;
+import com.devonfw.tools.ide.tool.python.PythonFile;
+import com.devonfw.tools.ide.tool.python.PythonJsonObject;
+import com.devonfw.tools.ide.tool.python.PythonRelease;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/quarkus/QuarkusUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/quarkus/QuarkusUrlUpdater.java
index f79129d33..addffe8d0 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/quarkus/QuarkusUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.quarkus;
+package com.devonfw.tools.ide.url.tool.quarkus;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/sonar/SonarUrlUpdater.java
similarity index 93%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/sonar/SonarUrlUpdater.java
index edb86b50c..b902afa8a 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/sonar/SonarUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.sonar;
+package com.devonfw.tools.ide.url.tool.sonar;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/terraform/TerraformUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/terraform/TerraformUrlUpdater.java
index 241b73965..bf16fa056 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/terraform/TerraformUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.terraform;
+package com.devonfw.tools.ide.url.tool.terraform;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/tomcat/TomcatUrlUpdater.java
similarity index 93%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/tomcat/TomcatUrlUpdater.java
index 7a3381510..09e800c43 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/tomcat/TomcatUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.tomcat;
+package com.devonfw.tools.ide.url.tool.tomcat;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/vscode/VsCodeUrlUpdater.java
similarity index 95%
rename from cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/tool/vscode/VsCodeUrlUpdater.java
index fc12b3e5b..a187b2c41 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/tool/vscode/VsCodeUrlUpdater.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.vscode;
+package com.devonfw.tools.ide.url.tool.vscode;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.updater.GithubUrlUpdater;
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractProcessorWithTimeout.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/AbstractProcessorWithTimeout.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractProcessorWithTimeout.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/AbstractProcessorWithTimeout.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java
similarity index 99%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java
index eba14898f..29e24e442 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java
@@ -38,6 +38,7 @@
import com.devonfw.tools.ide.url.model.folder.UrlTool;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
import com.devonfw.tools.ide.url.model.report.UrlUpdaterReport;
+import com.devonfw.tools.ide.url.tool.pip.PipUrlUpdater;
import com.devonfw.tools.ide.util.DateTimeUtil;
import com.devonfw.tools.ide.util.HexUtil;
@@ -363,8 +364,7 @@ private boolean isValidDownload(String url, String toolWithEdition, String versi
}
/**
- * Checks if the content type was not of type text (this method is required because {@link com.devonfw.tools.ide.tool.pip.PipUrlUpdater} returns text and
- * needs to be overridden)
+ * Checks if the content type was not of type text (this method is required because {@link PipUrlUpdater} returns text and needs to be overridden)
*
* See: #1343 for reference.
*
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/GithubUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/GithubUrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/GithubUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/GithubUrlUpdater.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/JsonUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/JsonUrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/JsonUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/JsonUrlUpdater.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/MavenBasedUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/MavenBasedUrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/MavenBasedUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/MavenBasedUrlUpdater.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/NpmBasedUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/NpmBasedUrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/NpmBasedUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/NpmBasedUrlUpdater.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java
similarity index 61%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java
index be8954257..8fe278f9e 100644
--- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java
+++ b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java
@@ -8,45 +8,45 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.devonfw.tools.ide.tool.androidstudio.AndroidStudioUrlUpdater;
-import com.devonfw.tools.ide.tool.aws.AwsUrlUpdater;
-import com.devonfw.tools.ide.tool.az.AzureUrlUpdater;
-import com.devonfw.tools.ide.tool.docker.DockerDesktopUrlUpdater;
-import com.devonfw.tools.ide.tool.docker.DockerRancherDesktopUrlUpdater;
-import com.devonfw.tools.ide.tool.dotnet.DotNetUrlUpdater;
-import com.devonfw.tools.ide.tool.eclipse.EclipseCppUrlUpdater;
-import com.devonfw.tools.ide.tool.eclipse.EclipseJavaUrlUpdater;
-import com.devonfw.tools.ide.tool.eclipse.EclipseJeeUrlUpdater;
-import com.devonfw.tools.ide.tool.gcloud.GCloudUrlUpdater;
-import com.devonfw.tools.ide.tool.gcviewer.GcViewerUrlUpdater;
-import com.devonfw.tools.ide.tool.gh.GhUrlUpdater;
-import com.devonfw.tools.ide.tool.graalvm.GraalVmCommunityUpdater;
-import com.devonfw.tools.ide.tool.graalvm.GraalVmOracleUrlUpdater;
-import com.devonfw.tools.ide.tool.gradle.GradleUrlUpdater;
-import com.devonfw.tools.ide.tool.helm.HelmUrlUpdater;
-import com.devonfw.tools.ide.tool.intellij.IntellijUrlUpdater;
-import com.devonfw.tools.ide.tool.jasypt.JasyptUrlUpdater;
-import com.devonfw.tools.ide.tool.java.JavaUrlUpdater;
-import com.devonfw.tools.ide.tool.jenkins.JenkinsUrlUpdater;
-import com.devonfw.tools.ide.tool.jmc.JmcUrlUpdater;
-import com.devonfw.tools.ide.tool.kotlinc.KotlincNativeUrlUpdater;
-import com.devonfw.tools.ide.tool.kotlinc.KotlincUrlUpdater;
-import com.devonfw.tools.ide.tool.lazydocker.LazyDockerUrlUpdater;
-import com.devonfw.tools.ide.tool.mvn.Mvn4UrlUpdater;
-import com.devonfw.tools.ide.tool.mvn.MvnUrlUpdater;
-import com.devonfw.tools.ide.tool.node.NodeUrlUpdater;
-import com.devonfw.tools.ide.tool.npm.NpmUrlUpdater;
-import com.devonfw.tools.ide.tool.oc.OcUrlUpdater;
-import com.devonfw.tools.ide.tool.pgadmin.PgAdminUrlUpdater;
-import com.devonfw.tools.ide.tool.pip.PipUrlUpdater;
-import com.devonfw.tools.ide.tool.python.PythonUrlUpdater;
-import com.devonfw.tools.ide.tool.quarkus.QuarkusUrlUpdater;
-import com.devonfw.tools.ide.tool.sonar.SonarUrlUpdater;
-import com.devonfw.tools.ide.tool.terraform.TerraformUrlUpdater;
-import com.devonfw.tools.ide.tool.tomcat.TomcatUrlUpdater;
-import com.devonfw.tools.ide.tool.vscode.VsCodeUrlUpdater;
import com.devonfw.tools.ide.url.model.folder.UrlRepository;
import com.devonfw.tools.ide.url.model.report.UrlFinalReport;
+import com.devonfw.tools.ide.url.tool.androidstudio.AndroidStudioUrlUpdater;
+import com.devonfw.tools.ide.url.tool.aws.AwsUrlUpdater;
+import com.devonfw.tools.ide.url.tool.az.AzureUrlUpdater;
+import com.devonfw.tools.ide.url.tool.docker.DockerDesktopUrlUpdater;
+import com.devonfw.tools.ide.url.tool.docker.DockerRancherDesktopUrlUpdater;
+import com.devonfw.tools.ide.url.tool.dotnet.DotNetUrlUpdater;
+import com.devonfw.tools.ide.url.tool.eclipse.EclipseCppUrlUpdater;
+import com.devonfw.tools.ide.url.tool.eclipse.EclipseJavaUrlUpdater;
+import com.devonfw.tools.ide.url.tool.eclipse.EclipseJeeUrlUpdater;
+import com.devonfw.tools.ide.url.tool.gcloud.GCloudUrlUpdater;
+import com.devonfw.tools.ide.url.tool.gcviewer.GcViewerUrlUpdater;
+import com.devonfw.tools.ide.url.tool.gh.GhUrlUpdater;
+import com.devonfw.tools.ide.url.tool.graalvm.GraalVmCommunityUpdater;
+import com.devonfw.tools.ide.url.tool.graalvm.GraalVmOracleUrlUpdater;
+import com.devonfw.tools.ide.url.tool.gradle.GradleUrlUpdater;
+import com.devonfw.tools.ide.url.tool.helm.HelmUrlUpdater;
+import com.devonfw.tools.ide.url.tool.intellij.IntellijUrlUpdater;
+import com.devonfw.tools.ide.url.tool.jasypt.JasyptUrlUpdater;
+import com.devonfw.tools.ide.url.tool.java.JavaUrlUpdater;
+import com.devonfw.tools.ide.url.tool.jenkins.JenkinsUrlUpdater;
+import com.devonfw.tools.ide.url.tool.jmc.JmcUrlUpdater;
+import com.devonfw.tools.ide.url.tool.kotlinc.KotlincNativeUrlUpdater;
+import com.devonfw.tools.ide.url.tool.kotlinc.KotlincUrlUpdater;
+import com.devonfw.tools.ide.url.tool.lazydocker.LazyDockerUrlUpdater;
+import com.devonfw.tools.ide.url.tool.mvn.Mvn4UrlUpdater;
+import com.devonfw.tools.ide.url.tool.mvn.MvnUrlUpdater;
+import com.devonfw.tools.ide.url.tool.node.NodeUrlUpdater;
+import com.devonfw.tools.ide.url.tool.npm.NpmUrlUpdater;
+import com.devonfw.tools.ide.url.tool.oc.OcUrlUpdater;
+import com.devonfw.tools.ide.url.tool.pgadmin.PgAdminUrlUpdater;
+import com.devonfw.tools.ide.url.tool.pip.PipUrlUpdater;
+import com.devonfw.tools.ide.url.tool.python.PythonUrlUpdater;
+import com.devonfw.tools.ide.url.tool.quarkus.QuarkusUrlUpdater;
+import com.devonfw.tools.ide.url.tool.sonar.SonarUrlUpdater;
+import com.devonfw.tools.ide.url.tool.terraform.TerraformUrlUpdater;
+import com.devonfw.tools.ide.url.tool.tomcat.TomcatUrlUpdater;
+import com.devonfw.tools.ide.url.tool.vscode.VsCodeUrlUpdater;
/**
* The {@code UpdateManager} class manages the update process for various tools by using a list of {@link AbstractUrlUpdater}s to update the
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/UrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/UrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/UrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/UrlUpdater.java
diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/WebsiteUrlUpdater.java b/url-updater/src/main/java/com/devonfw/tools/ide/url/updater/WebsiteUrlUpdater.java
similarity index 100%
rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/WebsiteUrlUpdater.java
rename to url-updater/src/main/java/com/devonfw/tools/ide/url/updater/WebsiteUrlUpdater.java
diff --git a/cli/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java
similarity index 98%
rename from cli/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java
index 7ac5e32a8..c918208a9 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/report/UrlUpdaterReportTest.java
@@ -13,11 +13,11 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
-import com.devonfw.tools.ide.tool.AbstractUrlUpdaterTest;
-import com.devonfw.tools.ide.tool.UrlUpdaterMock;
import com.devonfw.tools.ide.url.model.folder.UrlRepository;
import com.devonfw.tools.ide.url.model.report.UrlFinalReport;
import com.devonfw.tools.ide.url.model.report.UrlUpdaterReport;
+import com.devonfw.tools.ide.url.tool.AbstractUrlUpdaterTest;
+import com.devonfw.tools.ide.url.tool.UrlUpdaterMock;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
import com.github.tomakehurst.wiremock.junit5.WireMockTest;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/AbstractUrlUpdaterTest.java
similarity index 96%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/AbstractUrlUpdaterTest.java
index 09f0fd5c1..042971657 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/AbstractUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool;
+package com.devonfw.tools.ide.url.tool;
import org.assertj.core.api.Assertions;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMock.java
similarity index 97%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMock.java
index 9911aca7c..cdb98c21b 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool;
+package com.devonfw.tools.ide.url.tool;
import java.util.Arrays;
import java.util.HashSet;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMockSingle.java
similarity index 96%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMockSingle.java
index b31272829..3ca4b4407 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterMockSingle.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool;
+package com.devonfw.tools.ide.url.tool;
import java.util.HashSet;
import java.util.List;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterTest.java
similarity index 96%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterTest.java
index b312a98a5..45bd77a3a 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/UrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool;
+package com.devonfw.tools.ide.url.tool;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
@@ -27,11 +27,12 @@
import com.devonfw.tools.ide.url.model.folder.UrlRepository;
import com.devonfw.tools.ide.url.model.folder.UrlTool;
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
+import com.devonfw.tools.ide.url.updater.UrlUpdater;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
import com.github.tomakehurst.wiremock.junit5.WireMockTest;
/**
- * Test of {@link com.devonfw.tools.ide.url.updater.UrlUpdater} using wiremock to simulate network downloads.
+ * Test of {@link UrlUpdater} using wiremock to simulate network downloads.
*/
@WireMockTest
public class UrlUpdaterTest extends AbstractUrlUpdaterTest {
@@ -42,7 +43,7 @@ public class UrlUpdaterTest extends AbstractUrlUpdaterTest {
private final static String TEST_DATA_ROOT = "src/test/resources/integrationtest/UrlUpdaterTest";
/**
- * Tests if the {@link com.devonfw.tools.ide.url.updater.UrlUpdater} can automatically add a missing OS (in this case the linux_x64)
+ * Tests if the {@link UrlUpdater} can automatically add a missing OS (in this case the linux_x64)
*
* @param tempDir Temporary directory
* @param wmRuntimeInfo wireMock server on a random port
@@ -254,7 +255,7 @@ public void testVersionRemovedIfErrorPersists(@TempDir Path tempDir, WireMockRun
}
/**
- * Tests if the {@link com.devonfw.tools.ide.url.updater.UrlUpdater} will fail resolving a server with a Content-Type:text header response.
+ * Tests if the {@link UrlUpdater} will fail resolving a server with a Content-Type:text header response.
*
* See: #1343 for reference.
*
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java
similarity index 99%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java
index bb88cd62d..2190f1818 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.androidstudio;
+package com.devonfw.tools.ide.url.tool.androidstudio;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdaterMock.java
similarity index 92%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdaterMock.java
index 67fd8919e..7d7dcb13f 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/androidstudio/AndroidStudioUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.androidstudio;
+package com.devonfw.tools.ide.url.tool.androidstudio;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijJsonUrlUpdaterTest.java
similarity index 99%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijJsonUrlUpdaterTest.java
index 523b1b6dd..683994e84 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijJsonUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.intellij;
+package com.devonfw.tools.ide.url.tool.intellij;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdaterMock.java
similarity index 92%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdaterMock.java
index 4c570ac31..65f898328 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/intellij/IntellijUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.intellij;
+package com.devonfw.tools.ide.url.tool.intellij;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterMock.java
similarity index 92%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterMock.java
index a69777927..8fc377c56 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.java;
+package com.devonfw.tools.ide.url.tool.java;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterTest.java
similarity index 97%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterTest.java
index bd89e5285..648bbba3b 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/java/JavaUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.java;
+package com.devonfw.tools.ide.url.tool.java;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
@@ -14,8 +14,8 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
-import com.devonfw.tools.ide.tool.npm.NpmUrlUpdater;
import com.devonfw.tools.ide.url.model.folder.UrlRepository;
+import com.devonfw.tools.ide.url.tool.npm.NpmUrlUpdater;
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
import com.github.tomakehurst.wiremock.junit5.WireMockTest;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmJsonUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmJsonUrlUpdaterTest.java
similarity index 99%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmJsonUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmJsonUrlUpdaterTest.java
index 0c740bc98..68575ad22 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmJsonUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmJsonUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.npm;
+package com.devonfw.tools.ide.url.tool.npm;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdaterMock.java
similarity index 91%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdaterMock.java
index c54b024af..d27158d12 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/npm/NpmUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.npm;
+package com.devonfw.tools.ide.url.tool.npm;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterMock.java
similarity index 95%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterMock.java
index c84ffc177..9fa92a0c2 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.pip;
+package com.devonfw.tools.ide.url.tool.pip;
import java.util.HashSet;
import java.util.List;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterTest.java
similarity index 89%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterTest.java
index dcb047704..007f47cc7 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/pip/PipUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.pip;
+package com.devonfw.tools.ide.url.tool.pip;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
@@ -11,10 +11,10 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
-import com.devonfw.tools.ide.tool.AbstractUrlUpdaterTest;
import com.devonfw.tools.ide.url.model.file.json.StatusJson;
import com.devonfw.tools.ide.url.model.file.json.UrlStatus;
import com.devonfw.tools.ide.url.model.folder.UrlRepository;
+import com.devonfw.tools.ide.url.tool.AbstractUrlUpdaterTest;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
import com.github.tomakehurst.wiremock.junit5.WireMockTest;
@@ -25,7 +25,7 @@
public class PipUrlUpdaterTest extends AbstractUrlUpdaterTest {
/**
- * Tests if the {@link com.devonfw.tools.ide.tool.pip.PipUrlUpdater} will successfully resolve a server with a Content-Type:text header response.
+ * Tests if the {@link PipUrlUpdater} will successfully resolve a server with a Content-Type:text header response.
*
* See: #1343 for reference.
*
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterMock.java
similarity index 92%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterMock.java
index 9de6ee14e..393f1488d 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterMock.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.python;
+package com.devonfw.tools.ide.url.tool.python;
import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterTest.java
similarity index 98%
rename from cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java
rename to url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterTest.java
index df7dd3c72..a6f56ffd9 100644
--- a/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java
+++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/python/PythonUrlUpdaterTest.java
@@ -1,4 +1,4 @@
-package com.devonfw.tools.ide.tool.python;
+package com.devonfw.tools.ide.url.tool.python;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.any;
diff --git a/cli/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version-without-checksum.json b/url-updater/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version-without-checksum.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version-without-checksum.json
rename to url-updater/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version-without-checksum.json
diff --git a/cli/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version.json b/url-updater/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version.json
rename to url-updater/src/test/resources/integrationtest/AndroidStudioJsonUrlUpdater/android-version.json
diff --git a/cli/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version-without-checksum.json b/url-updater/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version-without-checksum.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version-without-checksum.json
rename to url-updater/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version-without-checksum.json
diff --git a/cli/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version.json b/url-updater/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version.json
rename to url-updater/src/test/resources/integrationtest/IntellijJsonUrlUpdater/intellij-version.json
diff --git a/cli/src/test/resources/integrationtest/JavaJsonUrlUpdater/java-version.json b/url-updater/src/test/resources/integrationtest/JavaJsonUrlUpdater/java-version.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/JavaJsonUrlUpdater/java-version.json
rename to url-updater/src/test/resources/integrationtest/JavaJsonUrlUpdater/java-version.json
diff --git a/cli/src/test/resources/integrationtest/NpmJsonUrlUpdater/npm-version.json b/url-updater/src/test/resources/integrationtest/NpmJsonUrlUpdater/npm-version.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/NpmJsonUrlUpdater/npm-version.json
rename to url-updater/src/test/resources/integrationtest/NpmJsonUrlUpdater/npm-version.json
diff --git a/cli/src/test/resources/integrationtest/PythonJsonUrlUpdater/python-version.json b/url-updater/src/test/resources/integrationtest/PythonJsonUrlUpdater/python-version.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/PythonJsonUrlUpdater/python-version.json
rename to url-updater/src/test/resources/integrationtest/PythonJsonUrlUpdater/python-version.json
diff --git a/cli/src/test/resources/integrationtest/UrlUpdaterTest/mocked/mocked/1.0/status.json b/url-updater/src/test/resources/integrationtest/UrlUpdaterTest/mocked/mocked/1.0/status.json
similarity index 100%
rename from cli/src/test/resources/integrationtest/UrlUpdaterTest/mocked/mocked/1.0/status.json
rename to url-updater/src/test/resources/integrationtest/UrlUpdaterTest/mocked/mocked/1.0/status.json