diff --git a/.github/workflows/update-urls.yml b/.github/workflows/update-urls.yml index 491077e5a..56f89e71d 100644 --- a/.github/workflows/update-urls.yml +++ b/.github/workflows/update-urls.yml @@ -25,7 +25,7 @@ jobs: cache: 'maven' - name: Build and run url updater run: | - cd cli + cd url-updater mvn -B -ntp -Dstyle.color=always install mvn -B -ntp -Dstyle.color=always exec:java -Dexec.mainClass="com.devonfw.tools.ide.url.UpdateInitiator" -Dexec.args="../ide-urls PT5H30M" - name: Commit and push to ide-urls diff --git a/cli/pom.xml b/cli/pom.xml index 8e018dcb6..2adbf0d35 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -40,6 +40,11 @@ parsson 1.1.7 + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + com.fasterxml.jackson.core jackson-databind @@ -93,9 +98,9 @@ - com.github.tomakehurst - wiremock-jre8 - 2.35.2 + org.wiremock + wiremock + 3.11.0 test diff --git a/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelper.java b/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelper.java index a0a9a6eb7..266b4f817 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelper.java +++ b/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelper.java @@ -40,5 +40,4 @@ static WindowsHelper get(IdeContext context) { // IdeContext API is already too large return ((AbstractIdeContext) context).getWindowsHelper(); } - } diff --git a/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelperImpl.java b/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelperImpl.java index 6836440ff..363891f6a 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelperImpl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/os/WindowsHelperImpl.java @@ -57,6 +57,17 @@ public String getRegistryValue(String path, String key) { ProcessResult result = this.context.newProcess().executable("reg").addArgs("query", path, "/v", key).run(ProcessMode.DEFAULT_CAPTURE); List out = result.getOut(); + return retrieveRegString(key, out); + } + + /** + * Parses the result of a registry query and outputs the given key. + * + * @param key the key to look for. + * @param out List of keys from registry query result. + * @return the registry value. + */ + protected String retrieveRegString(String key, List out) { for (String line : out) { int i = line.indexOf(key); if (i >= 0) { diff --git a/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeTestContext.java b/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeTestContext.java index 57eeb520d..8fd3e2c2c 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeTestContext.java +++ b/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeTestContext.java @@ -326,4 +326,7 @@ protected Path getIdeRootPathFromEnv() { return null; } + public void setUserEnvironmentVariable(String userEnvironmentVariable) { + + } } diff --git a/cli/src/test/java/com/devonfw/tools/ide/io/FileAccessImplTest.java b/cli/src/test/java/com/devonfw/tools/ide/io/FileAccessImplTest.java index cf5fd149e..86b41ec25 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/io/FileAccessImplTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/io/FileAccessImplTest.java @@ -8,10 +8,16 @@ import java.nio.file.LinkOption; import java.nio.file.NoSuchFileException; import java.nio.file.Path; +import java.nio.file.StandardOpenOption; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermissions; +import java.util.ArrayList; +import java.util.List; import java.util.Set; +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -579,4 +585,95 @@ public void testGeneratePermissionString() { } + /** + * Tests if extract was called with disabled extract param, the archive will be moved. + * + * @param tempDir temporary directory to use. + */ + @Test + public void testDisabledExtractMovesArchive(@TempDir Path tempDir) { + // arrange + IdeContext context = IdeTestContextMock.get(); + FileAccessImpl fileAccess = new FileAccessImpl(context); + Path downloadArchive = tempDir.resolve("downloaded.zip"); + fileAccess.touch(downloadArchive); + Path installationPath = tempDir.resolve("installation"); + Path targetPath = installationPath.resolve("downloaded.zip"); + boolean extract = false; + // act + fileAccess.extract(downloadArchive, installationPath, this::postExtract, extract); + // assert + assertThat(targetPath).exists(); + } + + /** + * Tests if a tgz archive with a sub folder can be extracted to a target folder properly. + * + * @param tempDir temporary directory to use. + * @throws IOException when a file could not be created. + */ + @Test + public void testExtractTgzArchive(@TempDir Path tempDir) throws IOException { + // arrange + IdeContext context = IdeTestContextMock.get(); + FileAccessImpl fileAccess = new FileAccessImpl(context); + Path downloadedTgz = tempDir.resolve("downloaded.tgz"); + fileAccess.touch(downloadedTgz); + try (GzipCompressorOutputStream gzipOut = new GzipCompressorOutputStream(Files.newOutputStream(downloadedTgz, StandardOpenOption.WRITE)); + TarArchiveOutputStream tarOut = new TarArchiveOutputStream(gzipOut)) { + + // Create a subfolder entry + TarArchiveEntry subfolderEntry = new TarArchiveEntry("subfolder/"); + subfolderEntry.setMode(TarArchiveEntry.DEFAULT_DIR_MODE); + tarOut.putArchiveEntry(subfolderEntry); + tarOut.closeArchiveEntry(); + + // Add a file to the subfolder + TarArchiveEntry fileEntry = new TarArchiveEntry("subfolder/testfile2.txt"); + fileEntry.setSize(12); + tarOut.putArchiveEntry(fileEntry); + tarOut.write("Hello World2".getBytes()); + tarOut.closeArchiveEntry(); + + // create a file in the root of the archive + TarArchiveEntry entry = new TarArchiveEntry("testfile.txt"); + entry.setSize(11); + tarOut.putArchiveEntry(entry); + tarOut.write("Hello World".getBytes()); + tarOut.closeArchiveEntry(); + } + Path installationPath = tempDir.resolve("installation"); + // act + fileAccess.extractTar(downloadedTgz, installationPath, TarCompression.GZ); + // assert + assertThat(installationPath.resolve("testfile.txt")).exists(); + assertThat(installationPath.resolve("subfolder").resolve("testfile2.txt")).exists(); + } + + /** + * Tests if a file can be found within a list of folders. + * + * @param tempDir temporary directory to use. + */ + @Test + public void testFindExistingFileInFolders(@TempDir Path tempDir) { + IdeContext context = IdeTestContextMock.get(); + FileAccessImpl fileAccess = new FileAccessImpl(context); + Path subfolder1 = tempDir.resolve("subfolder1"); + fileAccess.mkdirs(subfolder1); + fileAccess.touch(subfolder1.resolve("testfile")); + Path subfolder2 = tempDir.resolve("subfolder2"); + fileAccess.mkdirs(subfolder2); + fileAccess.touch(subfolder2.resolve("targetfile")); + List pathList = new ArrayList<>(); + pathList.add(subfolder1); + pathList.add(subfolder2); + Path foundFile = fileAccess.findExistingFile("targetfile", pathList); + assertThat(foundFile).exists(); + } + + private void postExtract(Path path) { + } + + } diff --git a/cli/src/test/java/com/devonfw/tools/ide/os/WindowsHelperImplTest.java b/cli/src/test/java/com/devonfw/tools/ide/os/WindowsHelperImplTest.java new file mode 100644 index 000000000..5add21cfa --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/os/WindowsHelperImplTest.java @@ -0,0 +1,51 @@ +package com.devonfw.tools.ide.os; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.Test; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.devonfw.tools.ide.context.AbstractIdeTestContext; +import com.devonfw.tools.ide.context.IdeSlf4jContext; + +/** + * Tests for {@link WindowsHelperImpl}. + */ +public class WindowsHelperImplTest extends AbstractIdeContextTest { + + /** + * Tests if the USER_PATH registry entry can be parsed properly. + */ + @Test + public void testWindowsHelperParseRegString() { + // arrange + AbstractIdeTestContext context = new IdeSlf4jContext(); + WindowsHelperImpl helper = new WindowsHelperImpl(context); + List output = new ArrayList<>(); + output.add(""); + output.add("HKEY_CURRENT_USER\\Environment"); + output.add(" PATH REG_SZ D:\\projects\\_ide\\installation\\bin;"); + output.add(""); + // act + String regString = helper.retrieveRegString("PATH", output); + // assert + assertThat(regString).isEqualTo("D:\\projects\\_ide\\installation\\bin;"); + } + + /** + * Tests if an empty list of outputs will result in null. + */ + @Test + public void testWindowsHelperParseEmptyRegStringReturnsNull() { + // arrange + AbstractIdeTestContext context = new IdeSlf4jContext(); + WindowsHelperImpl helper = new WindowsHelperImpl(context); + List output = new ArrayList<>(); + // act + String regString = helper.retrieveRegString("PATH", output); + // assert + assertThat(regString).isNull(); + } + +} diff --git a/cli/src/test/java/com/devonfw/tools/ide/url/model/file/json/ToolDependenciesTest.java b/cli/src/test/java/com/devonfw/tools/ide/url/model/file/json/ToolDependenciesTest.java index fd7ba382f..91a307e72 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/url/model/file/json/ToolDependenciesTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/url/model/file/json/ToolDependenciesTest.java @@ -11,7 +11,7 @@ import com.devonfw.tools.ide.version.VersionRange; /** - * Test of {@link com.devonfw.tools.ide.url.model.file.json.ToolDependencies} and {@link AbstractUrlToolOrEdition#getDependencyFile()}. + * Test of {@link ToolDependencies} and {@link AbstractUrlToolOrEdition#getDependencyFile()}. */ public class ToolDependenciesTest extends AbstractUrlModelTest { @@ -23,7 +23,8 @@ public void testEditionSpecific() { IdeContext context = newContext(); // act - Collection dependencies = context.getDefaultToolRepository().findDependencies("tomcat", "tomcat", VersionIdentifier.of("11.0.0")); + Collection dependencies = context.getDefaultToolRepository() + .findDependencies("tomcat", "tomcat", VersionIdentifier.of("11.0.0")); // assert assertThat(dependencies).containsExactly(new ToolDependency("java", VersionRange.of("[17,)"))); @@ -36,10 +37,12 @@ public void testEditionFallback() { IdeContext context = newContext(); // act - Collection dependencies = context.getDefaultToolRepository().findDependencies("tomcat", "undefined", VersionIdentifier.of("11.0.0")); + Collection dependencies = context.getDefaultToolRepository() + .findDependencies("tomcat", "undefined", VersionIdentifier.of("11.0.0")); // assert - assertThat(dependencies).containsExactly(new ToolDependency("this-is-the-wrong-file-only-for-testing", VersionRange.of("[1.0,2.0]"))); + assertThat(dependencies).containsExactly( + new ToolDependency("this-is-the-wrong-file-only-for-testing", VersionRange.of("[1.0,2.0]"))); } @Test @@ -49,7 +52,8 @@ public void testEditionUnspecific() { IdeContext context = newContext(); // act - Collection dependencies = context.getDefaultToolRepository().findDependencies("mvn", "undefined", VersionIdentifier.of("3.9.0")); + Collection dependencies = context.getDefaultToolRepository() + .findDependencies("mvn", "undefined", VersionIdentifier.of("3.9.0")); // assert assertThat(dependencies).containsExactly(new ToolDependency("java", VersionRange.of("[8,)"))); diff --git a/pom.xml b/pom.xml index c523126a9..46af3d001 100644 --- a/pom.xml +++ b/pom.xml @@ -41,6 +41,7 @@ documentation cli gui + url-updater 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 85% 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..dfddf9662 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; @@ -9,6 +9,8 @@ */ public class AwsUrlUpdater extends GithubUrlUpdater { + private static final String BASE_URL = "https://awscli.amazonaws.com/"; + @Override protected String getTool() { @@ -27,6 +29,13 @@ protected String getGithubRepository() { return "aws-cli"; } + /** + * @return the base url. + */ + protected String getBaseUrl() { + return BASE_URL; + } + @Override protected String mapVersion(String version) { @@ -52,7 +61,7 @@ protected String mapVersion(String version) { @Override protected void addVersion(UrlVersion urlVersion) { - String baseUrl = "https://awscli.amazonaws.com/"; + String baseUrl = getBaseUrl(); boolean ok = doAddVersion(urlVersion, baseUrl + "AWSCLIV2-${version}.msi", OperatingSystem.WINDOWS); if (!ok) { return; 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/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterMock.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterMock.java new file mode 100644 index 000000000..f4f61d329 --- /dev/null +++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterMock.java @@ -0,0 +1,33 @@ +package com.devonfw.tools.ide.url.tool.aws; + +import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo; + +/** + * Mock of {@link AwsUrlUpdater} to allow integration testing with wiremock. + */ +public class AwsGithubUrlUpdaterMock extends AwsUrlUpdater { + + private final WireMockRuntimeInfo wmRuntimeInfo; + + /** + * The constructor + * + * @param wmRuntimeInfo the {@link WireMockRuntimeInfo} holding the http url and port of the wiremock server. + */ + public AwsGithubUrlUpdaterMock(WireMockRuntimeInfo wmRuntimeInfo) { + this.wmRuntimeInfo = wmRuntimeInfo; + } + + @Override + protected String getBaseUrl() { + return this.wmRuntimeInfo.getHttpBaseUrl() + "/download/"; + } + + @Override + protected String doGetVersionUrl() { + + return this.wmRuntimeInfo.getHttpBaseUrl() + "/repos/" + getGithubOrganization() + "/" + getGithubRepository() + "/git/refs/tags"; + + } + +} diff --git a/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterTest.java b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterTest.java new file mode 100644 index 000000000..6c9cb9c14 --- /dev/null +++ b/url-updater/src/test/java/com/devonfw/tools/ide/url/tool/aws/AwsGithubUrlUpdaterTest.java @@ -0,0 +1,60 @@ +package com.devonfw.tools.ide.url.tool.aws; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.any; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import com.devonfw.tools.ide.url.model.folder.UrlRepository; +import com.devonfw.tools.ide.url.tool.AbstractUrlUpdaterTest; +import com.devonfw.tools.ide.url.updater.JsonUrlUpdater; +import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo; +import com.github.tomakehurst.wiremock.junit5.WireMockTest; + +/** + * Test class for integrations of the {@link AwsUrlUpdater} + */ +@WireMockTest +public class AwsGithubUrlUpdaterTest extends AbstractUrlUpdaterTest { + + /** + * Test resource location + */ + private final static String TEST_DATA_ROOT = "src/test/resources/integrationtest/AwsGithubUrlUpdater"; + + /** + * Test of {@link JsonUrlUpdater} for the creation of {@link AwsUrlUpdater} download URLs and checksums. + * + * @param tempDir Path to a temporary directory + * @param wmRuntimeInfo the {@link WireMockRuntimeInfo}. + * @throws IOException test fails + */ + @Test + public void testAwsGithubUrlUpdater(@TempDir Path tempDir, WireMockRuntimeInfo wmRuntimeInfo) throws IOException { + + // arrange + stubFor(get(urlMatching("/repos/.*")).willReturn(aResponse().withStatus(200) + .withBody(Files.readAllBytes(Path.of(TEST_DATA_ROOT).resolve("github-tags.json"))))); + + stubFor(any(urlMatching("/download/.*")).willReturn(aResponse().withStatus(200).withBody("aBody"))); + + UrlRepository urlRepository = UrlRepository.load(tempDir); + AwsGithubUrlUpdaterMock updater = new AwsGithubUrlUpdaterMock(wmRuntimeInfo); + + // act + updater.update(urlRepository); + + // assert + assertThat(tempDir.resolve("aws").resolve("aws").resolve("2.7.22").resolve("status.json")).exists(); + + } + +} 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/url-updater/src/test/resources/integrationtest/AwsGithubUrlUpdater/github-tags.json b/url-updater/src/test/resources/integrationtest/AwsGithubUrlUpdater/github-tags.json new file mode 100644 index 000000000..580f2102c --- /dev/null +++ b/url-updater/src/test/resources/integrationtest/AwsGithubUrlUpdater/github-tags.json @@ -0,0 +1,32 @@ +[ + { + "ref": "refs/tags/2.7.22", + "node_id": "MDM6UmVmNjc4MDc2NzpyZWZzL3RhZ3MvMi43LjIy", + "url": "${testbaseurl}/repos/aws/aws-cli/git/refs/tags/2.7.22", + "object": { + "sha": "9c35fe49b1d5620e0c1fa9de8e2dc129e983428e", + "type": "tag", + "url": "${testbaseurl}/repos/aws/aws-cli/git/tags/9c35fe49b1d5620e0c1fa9de8e2dc129e983428e" + } + }, + { + "ref": "refs/tags/2.7.23", + "node_id": "MDM6UmVmNjc4MDc2NzpyZWZzL3RhZ3MvMi43LjIz", + "url": "${testbaseurl}/repos/aws/aws-cli/git/refs/tags/2.7.23", + "object": { + "sha": "7a6d67fecfa29d433ff54f9600f84ef6b7537dcf", + "type": "tag", + "url": "${testbaseurl}/repos/aws/aws-cli/git/tags/7a6d67fecfa29d433ff54f9600f84ef6b7537dcf" + } + }, + { + "ref": "refs/tags/2.7.24", + "node_id": "MDM6UmVmNjc4MDc2NzpyZWZzL3RhZ3MvMi43LjI0", + "url": "${testbaseurl}/repos/aws/aws-cli/git/refs/tags/2.7.24", + "object": { + "sha": "544732f08cd7f8a725f62248189fcc8a14fb0253", + "type": "tag", + "url": "${testbaseurl}/repos/aws/aws-cli/git/tags/544732f08cd7f8a725f62248189fcc8a14fb0253" + } + } +] 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