From cd3337405e9c295c3cd400a9c0ced90997bf01f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Hohwiller?= Date: Fri, 22 Sep 2023 11:28:38 +0200 Subject: [PATCH] #5: aligned packages, fixed env cmd, solved duplicate context issue, fixed bugs --- .../ide/commandlet/CommandletManagerImpl.java | 14 +++ .../ide/commandlet/EnvironmentCommandlet.java | 37 +++++++ .../tools/ide/context/AbstractIdeContext.java | 27 ++++- .../devonfw/tools/ide/context/IdeContext.java | 2 +- .../tools/ide/{tool => os}/MacOsHelper.java | 7 +- .../ide/{common => os}/OperatingSystem.java | 2 +- .../{common => os}/SystemArchitecture.java | 2 +- .../tools/ide/{common => os}/SystemInfo.java | 2 +- .../ide/{common => os}/SystemInfoImpl.java | 2 +- .../tools/ide/os/WindowsPathSyntax.java | 98 +++++++++++++++++++ .../tools/ide/property/BooleanProperty.java | 8 ++ .../ide/repo/AbstractToolRepository.java | 4 +- .../devonfw/tools/ide/repo/CustomTool.java | 6 +- .../tools/ide/repo/DefaultToolRepository.java | 2 +- .../tools/ide/tool/ToolCommandlet.java | 1 + .../androidstudio/AndroidJsonContent.java | 2 +- .../androidstudio/AndroidJsonDownload.java | 2 +- .../androidstudio/AndroidJsonItem.java | 2 +- .../androidstudio/AndroidJsonObject.java | 2 +- .../AndroidStudioUrlUpdater.java | 2 +- .../updater => tool}/aws/AwsUrlUpdater.java | 4 +- .../updater => tool}/az/AzureUrlUpdater.java | 4 +- .../cobigen/CobigenUrlUpdater.java | 2 +- .../docker/DockerDesktopUrlUpdater.java | 2 +- .../DockerRancherDesktopUrlUpdater.java | 2 +- .../dotnet/DotNetUrlUpdater.java | 2 +- .../eclipse/EclipseCppUrlUpdater.java | 2 +- .../eclipse/EclipseJavaUrlUpdater.java | 2 +- .../eclipse/EclipseUrlUpdater.java | 2 +- .../gcloud/GCloudUrlUpdater.java | 2 +- .../gcviewer/GcViewerUrlUpdater.java | 2 +- .../updater => tool}/gh/GhUrlUpdater.java | 2 +- .../graalvm/GraalVmCommunityUpdater.java | 2 +- .../graalvm/GraalVmOracleUrlUpdater.java | 2 +- .../graalvm/GraalVmUrlUpdater.java | 2 +- .../gradle/GradleUrlUpdater.java | 2 +- .../updater => tool}/helm/HelmUrlUpdater.java | 2 +- .../IntellijJsonDownloadItemProp.java | 2 +- .../intellij/IntellijJsonDownloads.java | 2 +- .../intellij/IntellijJsonDownloadsItem.java | 2 +- .../intellij/IntellijJsonObject.java | 2 +- .../intellij/IntellijJsonRelease.java | 2 +- .../intellij/IntellijUrlUpdater.java | 6 +- .../jasypt/JasyptUrlUpdater.java | 2 +- .../updater => tool}/java/JavaJsonObject.java | 2 +- .../java/JavaJsonVersion.java | 2 +- .../updater => tool}/java/JavaUrlUpdater.java | 2 +- .../jenkins/JenkinsUrlUpdater.java | 2 +- .../updater => tool}/jmc/JmcUrlUpdater.java | 2 +- .../kotlinc/KotlincNativeUrlUpdater.java | 2 +- .../kotlinc/KotlincUrlUpdater.java | 2 +- .../lazydocker/LazyDockerUrlUpdater.java | 2 +- .../updater => tool}/mvn/MvnUrlUpdater.java | 2 +- .../updater => tool}/node/NodeUrlUpdater.java | 2 +- .../updater => tool}/npm/NpmUrlUpdater.java | 2 +- .../updater => tool}/oc/OcUrlUpdater.java | 2 +- .../updater => tool}/pip/PipUrlUpdater.java | 2 +- .../updater => tool}/python/PythonFile.java | 2 +- .../python/PythonJsonObject.java | 2 +- .../python/PythonRelease.java | 2 +- .../python/PythonUrlUpdater.java | 2 +- .../quarkus/QuarkusUrlUpdater.java | 2 +- .../sonar/SonarUrlUpdater.java | 2 +- .../terraform/TerraformUrlUpdater.java | 2 +- .../tomcat/TomcatUrlUpdater.java | 2 +- .../vscode/VsCodeUrlUpdater.java | 2 +- .../ide/url/model/file/UrlDownloadFile.java | 4 +- .../model/file/UrlDownloadFileMetadata.java | 4 +- .../ide/url/model/folder/UrlVersion.java | 4 +- .../ide/url/updater/AbstractUrlUpdater.java | 6 +- .../tools/ide/url/updater/UpdateManager.java | 68 ++++++------- .../commandlet/CommandletManagerResetter.java | 16 +++ .../commandlet/EnvironmentCommandletTest.java | 46 +++++++++ .../ide/context/AbstractIdeContextTest.java | 11 ++- .../ide/context/AbstractIdeTestContext.java | 2 +- .../tools/ide/context/IdeContextTest.java | 2 +- .../tools/ide/context/IdeTestContextMock.java | 34 +++++++ .../ide/{tool => os}/MacOsHelperTest.java | 3 +- .../SystemInformationImplTest.java | 7 +- .../{common => os}/SystemInformationMock.java | 7 +- .../tools/ide/os/WindowsPathSyntaxTest.java | 45 +++++++++ .../tools/ide/repo/CustomToolTest.java | 2 +- .../AbstractUrlUpdaterTest.java | 2 +- .../UrlUpdaterMock.java | 2 +- .../UrlUpdaterMockSingle.java | 2 +- .../UrlUpdaterTest.java | 2 +- .../AndroidStudioJsonUrlUpdaterTest.java | 3 +- .../AndroidStudioUrlUpdaterMock.java | 3 +- .../intellij/IntellijJsonUrlUpdaterTest.java | 3 +- .../intellij/IntellijUrlUpdaterMock.java | 4 +- .../pip/PipUrlUpdaterMock.java | 3 +- .../pip/PipUrlUpdaterTest.java | 9 +- .../python/PythonUrlUpdaterMock.java | 4 +- .../python/PythonUrlUpdaterTest.java | 2 +- 94 files changed, 475 insertions(+), 149 deletions(-) rename cli/src/main/java/com/devonfw/tools/ide/{tool => os}/MacOsHelper.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{common => os}/OperatingSystem.java (97%) rename cli/src/main/java/com/devonfw/tools/ide/{common => os}/SystemArchitecture.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{common => os}/SystemInfo.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{common => os}/SystemInfoImpl.java (98%) create mode 100644 cli/src/main/java/com/devonfw/tools/ide/os/WindowsPathSyntax.java rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/androidstudio/AndroidJsonContent.java (88%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/androidstudio/AndroidJsonDownload.java (91%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/androidstudio/AndroidJsonItem.java (91%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/androidstudio/AndroidJsonObject.java (85%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/androidstudio/AndroidStudioUrlUpdater.java (98%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/aws/AwsUrlUpdater.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/az/AzureUrlUpdater.java (92%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/cobigen/CobigenUrlUpdater.java (89%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/docker/DockerDesktopUrlUpdater.java (97%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/docker/DockerRancherDesktopUrlUpdater.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/dotnet/DotNetUrlUpdater.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/eclipse/EclipseCppUrlUpdater.java (80%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/eclipse/EclipseJavaUrlUpdater.java (84%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/eclipse/EclipseUrlUpdater.java (98%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/gcloud/GCloudUrlUpdater.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/gcviewer/GcViewerUrlUpdater.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/gh/GhUrlUpdater.java (97%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/graalvm/GraalVmCommunityUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/graalvm/GraalVmOracleUrlUpdater.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/graalvm/GraalVmUrlUpdater.java (89%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/gradle/GradleUrlUpdater.java (98%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/helm/HelmUrlUpdater.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijJsonDownloadItemProp.java (92%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijJsonDownloads.java (90%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijJsonDownloadsItem.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijJsonObject.java (88%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijJsonRelease.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/intellij/IntellijUrlUpdater.java (97%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/jasypt/JasyptUrlUpdater.java (89%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/java/JavaJsonObject.java (90%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/java/JavaJsonVersion.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/java/JavaUrlUpdater.java (98%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/jenkins/JenkinsUrlUpdater.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/jmc/JmcUrlUpdater.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/kotlinc/KotlincNativeUrlUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/kotlinc/KotlincUrlUpdater.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/lazydocker/LazyDockerUrlUpdater.java (96%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/mvn/MvnUrlUpdater.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/node/NodeUrlUpdater.java (97%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/npm/NpmUrlUpdater.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/oc/OcUrlUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/pip/PipUrlUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/python/PythonFile.java (94%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/python/PythonJsonObject.java (89%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/python/PythonRelease.java (92%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/python/PythonUrlUpdater.java (98%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/quarkus/QuarkusUrlUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/sonar/SonarUrlUpdater.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/terraform/TerraformUrlUpdater.java (95%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/tomcat/TomcatUrlUpdater.java (93%) rename cli/src/main/java/com/devonfw/tools/ide/{url/updater => tool}/vscode/VsCodeUrlUpdater.java (94%) create mode 100644 cli/src/test/java/com/devonfw/tools/ide/commandlet/CommandletManagerResetter.java create mode 100644 cli/src/test/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandletTest.java create mode 100644 cli/src/test/java/com/devonfw/tools/ide/context/IdeTestContextMock.java rename cli/src/test/java/com/devonfw/tools/ide/{tool => os}/MacOsHelperTest.java (94%) rename cli/src/test/java/com/devonfw/tools/ide/{common => os}/SystemInformationImplTest.java (92%) rename cli/src/test/java/com/devonfw/tools/ide/{common => os}/SystemInformationMock.java (79%) create mode 100644 cli/src/test/java/com/devonfw/tools/ide/os/WindowsPathSyntaxTest.java rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/AbstractUrlUpdaterTest.java (96%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/UrlUpdaterMock.java (96%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/UrlUpdaterMockSingle.java (94%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/UrlUpdaterTest.java (99%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/androidstudio/AndroidStudioJsonUrlUpdaterTest.java (97%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/androidstudio/AndroidStudioUrlUpdaterMock.java (73%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/intellij/IntellijJsonUrlUpdaterTest.java (97%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/intellij/IntellijUrlUpdaterMock.java (71%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/pip/PipUrlUpdaterMock.java (84%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/pip/PipUrlUpdaterTest.java (88%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/python/PythonUrlUpdaterMock.java (69%) rename cli/src/test/java/com/devonfw/tools/ide/{integrationtest => tool}/python/PythonUrlUpdaterTest.java (97%) diff --git a/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java b/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java index 6e80b0d9a..4825cc0b7 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java +++ b/cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; +import com.devonfw.tools.ide.context.AbstractIdeContext; import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.property.KeywordProperty; import com.devonfw.tools.ide.property.Property; @@ -119,6 +120,11 @@ public static CommandletManager of(IdeContext context) { throw new IllegalStateException("Not initialized!"); } } else { + if (context instanceof AbstractIdeContext c) { + if (c.isMock()) { + return new CommandletManagerImpl(context); + } + } if (INSTANCE != null) { System.out.println("Multiple initializations!"); } @@ -127,4 +133,12 @@ public static CommandletManager of(IdeContext context) { return INSTANCE; } + /** + * Internal method to reset internal instance. May only be used for testing! + */ + static void reset() { + + INSTANCE = null; + } + } diff --git a/cli/src/main/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandlet.java index 32763e32e..cd1cac248 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandlet.java @@ -4,12 +4,17 @@ import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.environment.VariableLine; +import com.devonfw.tools.ide.os.WindowsPathSyntax; +import com.devonfw.tools.ide.property.FlagProperty; /** * {@link Commandlet} to print the environment variables. */ public final class EnvironmentCommandlet extends Commandlet { + /** {@link FlagProperty} to enable Bash (MSys) path conversion on Windows. */ + public final FlagProperty bash; + /** * The constructor. * @@ -19,6 +24,7 @@ public EnvironmentCommandlet(IdeContext context) { super(context); addKeyword(getName()); + this.bash = add(new FlagProperty("--bash", false, null)); } @Override @@ -38,7 +44,38 @@ public void run() { Collection variables = this.context.getVariables().collectVariables(); for (VariableLine line : variables) { + if (this.context.getSystemInfo().isWindows()) { + line = normalizeWindowsValue(line); + } this.context.info(line.toString()); } } + + VariableLine normalizeWindowsValue(VariableLine line) { + + String value = line.getValue(); + String normalized = normalizeWindowsValue(value); + if (normalized != value) { + line = line.withValue(value); + } + return line; + } + + String normalizeWindowsValue(String value) { + + WindowsPathSyntax pathSyntax; + WindowsPathSyntax driveSyntax; + if (this.bash.isTrue()) { + pathSyntax = WindowsPathSyntax.MSYS; + driveSyntax = WindowsPathSyntax.WINDOWS; + } else { + pathSyntax = WindowsPathSyntax.WINDOWS; + driveSyntax = WindowsPathSyntax.MSYS; + } + String drive = driveSyntax.getDrive(value); + if (drive != null) { + value = pathSyntax.replaceDrive(value, drive); + } + return value; + } } diff --git a/cli/src/main/java/com/devonfw/tools/ide/context/AbstractIdeContext.java b/cli/src/main/java/com/devonfw/tools/ide/context/AbstractIdeContext.java index 96de65e3c..6223bdd52 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/context/AbstractIdeContext.java +++ b/cli/src/main/java/com/devonfw/tools/ide/context/AbstractIdeContext.java @@ -14,8 +14,6 @@ import com.devonfw.tools.ide.commandlet.CommandletManager; import com.devonfw.tools.ide.commandlet.CommandletManagerImpl; -import com.devonfw.tools.ide.common.SystemInfo; -import com.devonfw.tools.ide.common.SystemInfoImpl; import com.devonfw.tools.ide.common.SystemPath; import com.devonfw.tools.ide.environment.AbstractEnvironmentVariables; import com.devonfw.tools.ide.environment.EnvironmentVariables; @@ -25,6 +23,8 @@ import com.devonfw.tools.ide.log.IdeLogLevel; import com.devonfw.tools.ide.log.IdeSubLogger; import com.devonfw.tools.ide.log.IdeSubLoggerNone; +import com.devonfw.tools.ide.os.SystemInfo; +import com.devonfw.tools.ide.os.SystemInfoImpl; import com.devonfw.tools.ide.process.ProcessContext; import com.devonfw.tools.ide.process.ProcessContextImpl; import com.devonfw.tools.ide.process.ProcessErrorHandling; @@ -146,7 +146,9 @@ public AbstractIdeContext(IdeLogLevel minLogLevel, Function= 1) { + name1 = currentDir.getName(nameCount - 1).toString(); + } currentDir = getParentPath(currentDir); } // detection completed, initializing variables @@ -208,7 +210,11 @@ public AbstractIdeContext(IdeLogLevel minLogLevel, Function= 3)) { + char c0 = path.charAt(0); + char c1 = path.charAt(1); + char c2 = path.charAt(2); + switch (this) { + case WINDOWS: // 'C:\' + if ((c1 == ':') && (c2 == '\\') && (c0 >= 'A') && (c0 <= 'Z')) { + return Character.toString(c0); + } + break; + case MSYS: // '/c/' + if ((c0 == '/') && (c2 == '/') && isLowerLatinLetter(c1)) { + return Character.toString(c1); + } + break; + default: + throw new IllegalArgumentException(toString()); + } + } + return null; + } + + private static boolean isLowerLatinLetter(char c) { + + return (c >= 'a') && (c <= 'z'); + } + + /** + * @param path the path where to replace the drive letter. + * @param drive the new {@link #getDrive(String) drive letter}. + * @return the new path pointing to the given {@code drive} in this {@link WindowsPathSyntax}. + */ + public String replaceDrive(String path, String drive) { + + Objects.requireNonNull(path); + Objects.requireNonNull(drive); + if (path.length() < 3) { + throw new IllegalArgumentException(path); + } + String restPath = path.substring(3); + switch (this) { + case WINDOWS: + restPath = restPath.replace('/', '\\'); + break; + case MSYS: + restPath = restPath.replace('\\', '/'); + break; + default: + throw new IllegalStateException(toString()); + } + return getRootPath(drive) + restPath; + } + + /** + * @param drive the drive letter (e.g. "C" or "D"). + * @return the root path for the given {@code drive} (e.g. "C:\\" or "/c/"). + */ + public String getRootPath(String drive) { + + Objects.requireNonNull(drive); + if ((drive.length() != 1) || !isLowerLatinLetter(Character.toLowerCase(drive.charAt(0)))) { + throw new IllegalArgumentException(drive); + } + switch (this) { + case WINDOWS: + return drive.toUpperCase(Locale.ROOT) + ":\\"; + case MSYS: + return "/" + drive.toLowerCase(Locale.ROOT) + "/"; + default: + throw new IllegalStateException(toString()); + } + } + +} diff --git a/cli/src/main/java/com/devonfw/tools/ide/property/BooleanProperty.java b/cli/src/main/java/com/devonfw/tools/ide/property/BooleanProperty.java index f27d2f8a5..942593b41 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/property/BooleanProperty.java +++ b/cli/src/main/java/com/devonfw/tools/ide/property/BooleanProperty.java @@ -33,6 +33,14 @@ public boolean isTrue() { return Boolean.TRUE.equals(getValue()); } + /** + * @param value the {@link #getValue() value} as primitive boolean. + */ + public void setValue(boolean value) { + + setValue(Boolean.valueOf(value)); + } + @Override public Boolean parse(String valueAsString) { diff --git a/cli/src/main/java/com/devonfw/tools/ide/repo/AbstractToolRepository.java b/cli/src/main/java/com/devonfw/tools/ide/repo/AbstractToolRepository.java index e1676733e..b64447ae6 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/repo/AbstractToolRepository.java +++ b/cli/src/main/java/com/devonfw/tools/ide/repo/AbstractToolRepository.java @@ -8,10 +8,10 @@ import java.util.Set; import com.devonfw.tools.ide.cli.CliException; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; import com.devonfw.tools.ide.context.IdeContext; import com.devonfw.tools.ide.log.IdeLogLevel; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.url.model.file.UrlDownloadFileMetadata; import com.devonfw.tools.ide.util.FilenameUtil; import com.devonfw.tools.ide.version.VersionIdentifier; diff --git a/cli/src/main/java/com/devonfw/tools/ide/repo/CustomTool.java b/cli/src/main/java/com/devonfw/tools/ide/repo/CustomTool.java index 9d997c7b9..474c6bf25 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/repo/CustomTool.java +++ b/cli/src/main/java/com/devonfw/tools/ide/repo/CustomTool.java @@ -2,9 +2,9 @@ import java.util.Set; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; -import com.devonfw.tools.ide.common.SystemInfo; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; +import com.devonfw.tools.ide.os.SystemInfo; import com.devonfw.tools.ide.url.model.file.UrlDownloadFileMetadata; import com.devonfw.tools.ide.version.VersionIdentifier; diff --git a/cli/src/main/java/com/devonfw/tools/ide/repo/DefaultToolRepository.java b/cli/src/main/java/com/devonfw/tools/ide/repo/DefaultToolRepository.java index 9283c3329..c15f44761 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/repo/DefaultToolRepository.java +++ b/cli/src/main/java/com/devonfw/tools/ide/repo/DefaultToolRepository.java @@ -1,7 +1,7 @@ package com.devonfw.tools.ide.repo; -import com.devonfw.tools.ide.common.SystemInfo; import com.devonfw.tools.ide.context.IdeContext; +import com.devonfw.tools.ide.os.SystemInfo; import com.devonfw.tools.ide.url.model.UrlMetadata; import com.devonfw.tools.ide.url.model.file.UrlDownloadFile; import com.devonfw.tools.ide.url.model.file.UrlDownloadFileMetadata; diff --git a/cli/src/main/java/com/devonfw/tools/ide/tool/ToolCommandlet.java b/cli/src/main/java/com/devonfw/tools/ide/tool/ToolCommandlet.java index a83c5880b..b66883298 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/tool/ToolCommandlet.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/ToolCommandlet.java @@ -16,6 +16,7 @@ import com.devonfw.tools.ide.io.FileCopyMode; import com.devonfw.tools.ide.io.TarCompression; import com.devonfw.tools.ide.log.IdeLogLevel; +import com.devonfw.tools.ide.os.MacOsHelper; import com.devonfw.tools.ide.process.ProcessContext; import com.devonfw.tools.ide.process.ProcessErrorHandling; import com.devonfw.tools.ide.property.StringListProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonContent.java b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonContent.java similarity index 88% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonContent.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonContent.java index 149d36277..0f9519b73 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonContent.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonContent.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonDownload.java b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonDownload.java similarity index 91% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonDownload.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonDownload.java index 3f40df6d8..314cf06eb 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonDownload.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonDownload.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import com.devonfw.tools.ide.common.JsonObject; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonItem.java b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonItem.java similarity index 91% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonItem.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonItem.java index 8e921d9ba..a343825c8 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonItem.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonItem.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonObject.java b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonObject.java similarity index 85% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonObject.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonObject.java index 2749feb21..583ee02ff 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidJsonObject.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidJsonObject.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import com.devonfw.tools.ide.common.JsonObject; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidStudioUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java similarity index 98% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidStudioUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java index 562260624..a4d5854b2 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/androidstudio/AndroidStudioUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import com.devonfw.tools.ide.json.mapping.JsonMapping; import com.devonfw.tools.ide.url.model.folder.UrlEdition; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/aws/AwsUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java similarity index 93% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/aws/AwsUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java index 24700b7da..7f9df6110 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/aws/AwsUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/aws/AwsUrlUpdater.java @@ -1,6 +1,6 @@ -package com.devonfw.tools.ide.url.updater.aws; +package com.devonfw.tools.ide.tool.aws; -import com.devonfw.tools.ide.common.OperatingSystem; +import com.devonfw.tools.ide.os.OperatingSystem; 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/az/AzureUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java similarity index 92% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/az/AzureUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java index 571aed964..9aca42153 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/az/AzureUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/az/AzureUrlUpdater.java @@ -1,6 +1,6 @@ -package com.devonfw.tools.ide.url.updater.az; +package com.devonfw.tools.ide.tool.az; -import com.devonfw.tools.ide.common.OperatingSystem; +import com.devonfw.tools.ide.os.OperatingSystem; import com.devonfw.tools.ide.url.model.folder.UrlVersion; import com.devonfw.tools.ide.url.updater.GithubUrlUpdater; import com.devonfw.tools.ide.version.VersionIdentifier; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/cobigen/CobigenUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java similarity index 89% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/cobigen/CobigenUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java index d2f0627bd..484118ee9 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/cobigen/CobigenUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/cobigen/CobigenUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.cobigen; +package com.devonfw.tools.ide.tool.cobigen; import com.devonfw.tools.ide.url.updater.MavenBasedUrlUpdater; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerDesktopUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java similarity index 97% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerDesktopUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java index 2135e5962..6b57fc794 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerDesktopUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerDesktopUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.docker; +package com.devonfw.tools.ide.tool.docker; import java.util.Set; import java.util.regex.Matcher; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerRancherDesktopUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerRancherDesktopUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java index d15f472f4..e4c65797c 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/docker/DockerRancherDesktopUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/docker/DockerRancherDesktopUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.docker; +package com.devonfw.tools.ide.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/url/updater/dotnet/DotNetUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/dotnet/DotNetUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java index 72fe2cbfb..ff1e57e62 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/dotnet/DotNetUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/dotnet/DotNetUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.dotnet; +package com.devonfw.tools.ide.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/url/updater/eclipse/EclipseCppUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java similarity index 80% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseCppUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java index 402cfbdb2..5b56bda5a 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseCppUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseCppUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.eclipse; +package com.devonfw.tools.ide.tool.eclipse; /** * {@link EclipseUrlUpdater} for "cpp" (C++) edition of Eclipse. diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseJavaUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java similarity index 84% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseJavaUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java index d9c57ecd7..78aa2ba71 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseJavaUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseJavaUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.eclipse; +package com.devonfw.tools.ide.tool.eclipse; /** * {@link EclipseUrlUpdater} for "java" edition of Eclipse. diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java similarity index 98% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java index 0f9caba61..63552aacb 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/eclipse/EclipseUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/eclipse/EclipseUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.eclipse; +package com.devonfw.tools.ide.tool.eclipse; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gcloud/GCloudUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/gcloud/GCloudUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java index 3390174e3..e046b0376 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gcloud/GCloudUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/gcloud/GCloudUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.gcloud; +package com.devonfw.tools.ide.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/url/updater/gcviewer/GcViewerUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/gcviewer/GcViewerUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java index a7f1fff95..d940e85db 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gcviewer/GcViewerUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/gcviewer/GcViewerUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.gcviewer; +package com.devonfw.tools.ide.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/url/updater/gh/GhUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java similarity index 97% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/gh/GhUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java index c0329e8dd..a0dd40801 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gh/GhUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/gh/GhUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.gh; +package com.devonfw.tools.ide.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/url/updater/graalvm/GraalVmCommunityUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmCommunityUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java index 114cc1852..a6a7f70e3 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmCommunityUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmCommunityUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.graalvm; +package com.devonfw.tools.ide.tool.graalvm; import com.devonfw.tools.ide.url.model.folder.UrlVersion; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmOracleUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmOracleUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java index 6c3f148af..b66a5e7df 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmOracleUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmOracleUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.graalvm; +package com.devonfw.tools.ide.tool.graalvm; import com.devonfw.tools.ide.url.model.folder.UrlVersion; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java similarity index 89% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java index 1629a22e9..5925ffa03 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/graalvm/GraalVmUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/graalvm/GraalVmUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.graalvm; +package com.devonfw.tools.ide.tool.graalvm; import com.devonfw.tools.ide.url.updater.GithubUrlUpdater; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gradle/GradleUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java similarity index 98% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/gradle/GradleUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java index e5877273c..9355be394 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/gradle/GradleUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/gradle/GradleUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.gradle; +package com.devonfw.tools.ide.tool.gradle; import java.util.HashSet; import java.util.Set; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/helm/HelmUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/helm/HelmUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java index d730db8cb..6515a3fe2 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/helm/HelmUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/helm/HelmUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.helm; +package com.devonfw.tools.ide.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/url/updater/intellij/IntellijJsonDownloadItemProp.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadItemProp.java similarity index 92% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloadItemProp.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadItemProp.java index 331a974a1..a1452f69e 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloadItemProp.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadItemProp.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloads.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloads.java similarity index 90% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloads.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloads.java index 6ef59abaf..deaf09a15 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloads.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloads.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloadsItem.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadsItem.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloadsItem.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadsItem.java index bd6f27821..f72f073f4 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonDownloadsItem.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonDownloadsItem.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import java.util.Map; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonObject.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonObject.java similarity index 88% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonObject.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonObject.java index 102aadd85..a8e08565e 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonObject.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonObject.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonRelease.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonRelease.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonRelease.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonRelease.java index efed93b89..43c2b3f1b 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijJsonRelease.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonRelease.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import java.util.Map; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java similarity index 97% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java index 77a2d6f6b..9ade7931d 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/intellij/IntellijUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.intellij; +package com.devonfw.tools.ide.tool.intellij; import java.util.Collection; import java.util.List; @@ -7,9 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; import com.devonfw.tools.ide.json.mapping.JsonMapping; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.url.model.folder.UrlEdition; import com.devonfw.tools.ide.url.model.folder.UrlRepository; import com.devonfw.tools.ide.url.model.folder.UrlTool; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jasypt/JasyptUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java similarity index 89% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/jasypt/JasyptUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java index f90e0c9c2..5dd1629a3 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jasypt/JasyptUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/jasypt/JasyptUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.jasypt; +package com.devonfw.tools.ide.tool.jasypt; import com.devonfw.tools.ide.url.updater.MavenBasedUrlUpdater; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonObject.java b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonObject.java similarity index 90% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonObject.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonObject.java index 322f9019f..cfc8d1530 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonObject.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonObject.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.java; +package com.devonfw.tools.ide.tool.java; import java.util.ArrayList; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonVersion.java b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonVersion.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonVersion.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonVersion.java index c7a40c6d1..813917611 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaJsonVersion.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaJsonVersion.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.java; +package com.devonfw.tools.ide.tool.java; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java similarity index 98% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java index 40151c3e3..b62957128 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/java/JavaUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/java/JavaUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.java; +package com.devonfw.tools.ide.tool.java; import java.util.Collection; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jenkins/JenkinsUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java similarity index 93% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/jenkins/JenkinsUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java index 61f7927fb..873648087 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jenkins/JenkinsUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/jenkins/JenkinsUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.jenkins; +package com.devonfw.tools.ide.tool.jenkins; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jmc/JmcUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/jmc/JmcUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java index 9eaefd50c..699b5a9b7 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/jmc/JmcUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/jmc/JmcUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.jmc; +package com.devonfw.tools.ide.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/url/updater/kotlinc/KotlincNativeUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/kotlinc/KotlincNativeUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java index 5ced5695f..c9171cb5f 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/kotlinc/KotlincNativeUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincNativeUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.kotlinc; +package com.devonfw.tools.ide.tool.kotlinc; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/kotlinc/KotlincUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java similarity index 93% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/kotlinc/KotlincUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java index 16787b246..8f42bdf68 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/kotlinc/KotlincUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/kotlinc/KotlincUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.kotlinc; +package com.devonfw.tools.ide.tool.kotlinc; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/lazydocker/LazyDockerUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java similarity index 96% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/lazydocker/LazyDockerUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java index fa211954b..94f3df860 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/lazydocker/LazyDockerUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/lazydocker/LazyDockerUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.lazydocker; +package com.devonfw.tools.ide.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/url/updater/mvn/MvnUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/mvn/MvnUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java index 178fb955a..eed6a91b6 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/mvn/MvnUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/mvn/MvnUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.mvn; +package com.devonfw.tools.ide.tool.mvn; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/node/NodeUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java similarity index 97% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/node/NodeUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java index d5ccbcea7..8f0e40b78 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/node/NodeUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/node/NodeUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.node; +package com.devonfw.tools.ide.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/url/updater/npm/NpmUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/npm/NpmUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java index b40bd056b..e1273404a 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/npm/NpmUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.npm; +package com.devonfw.tools.ide.tool.npm; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/oc/OcUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/oc/OcUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java index f84b94ee9..9a7ade068 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/oc/OcUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/oc/OcUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.oc; +package com.devonfw.tools.ide.tool.oc; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/pip/PipUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/pip/PipUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java index 6cdeb3d12..448f40e5c 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/pip/PipUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.pip; +package com.devonfw.tools.ide.tool.pip; import java.util.regex.Pattern; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonFile.java b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonFile.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonFile.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonFile.java index 1575c1c57..52711bd7c 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonFile.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonFile.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.python; +package com.devonfw.tools.ide.tool.python; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonJsonObject.java b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonJsonObject.java similarity index 89% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonJsonObject.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonJsonObject.java index 09ad63bc1..781221ead 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonJsonObject.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonJsonObject.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.python; +package com.devonfw.tools.ide.tool.python; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonRelease.java b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonRelease.java similarity index 92% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonRelease.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonRelease.java index 7f6a25988..9fa3487b7 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonRelease.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonRelease.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.python; +package com.devonfw.tools.ide.tool.python; import java.util.List; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java similarity index 98% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java index 09a4dd3e3..793ad52b2 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/python/PythonUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.python; +package com.devonfw.tools.ide.tool.python; import java.util.Collection; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/quarkus/QuarkusUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/quarkus/QuarkusUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java index a60a82b07..f79129d33 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/quarkus/QuarkusUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/quarkus/QuarkusUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.quarkus; +package com.devonfw.tools.ide.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/url/updater/sonar/SonarUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java similarity index 93% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/sonar/SonarUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java index a2f634dc5..f7bbd91af 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/sonar/SonarUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/sonar/SonarUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.sonar; +package com.devonfw.tools.ide.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/url/updater/terraform/TerraformUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java similarity index 95% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/terraform/TerraformUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java index 784b7d563..206cb630f 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/terraform/TerraformUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/terraform/TerraformUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.terraform; +package com.devonfw.tools.ide.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/url/updater/tomcat/TomcatUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java similarity index 93% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/tomcat/TomcatUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java index 880770180..7a3381510 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/tomcat/TomcatUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/tomcat/TomcatUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.tomcat; +package com.devonfw.tools.ide.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/url/updater/vscode/VsCodeUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java similarity index 94% rename from cli/src/main/java/com/devonfw/tools/ide/url/updater/vscode/VsCodeUrlUpdater.java rename to cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java index 8e74e09c6..fc12b3e5b 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/vscode/VsCodeUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/tool/vscode/VsCodeUrlUpdater.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.url.updater.vscode; +package com.devonfw.tools.ide.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/model/file/UrlDownloadFile.java b/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFile.java index e2d04e0ea..9675cedfa 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFile.java +++ b/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFile.java @@ -9,8 +9,8 @@ import java.util.HashSet; import java.util.Set; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.url.model.folder.UrlEdition; import com.devonfw.tools.ide.url.model.folder.UrlTool; import com.devonfw.tools.ide.url.model.folder.UrlVersion; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFileMetadata.java b/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFileMetadata.java index 9c1a73bb0..a7ddbe925 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFileMetadata.java +++ b/cli/src/main/java/com/devonfw/tools/ide/url/model/file/UrlDownloadFileMetadata.java @@ -2,8 +2,8 @@ import java.util.Set; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.version.VersionIdentifier; /** diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/model/folder/UrlVersion.java b/cli/src/main/java/com/devonfw/tools/ide/url/model/folder/UrlVersion.java index 16ac727a9..7e1f0fe2a 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/model/folder/UrlVersion.java +++ b/cli/src/main/java/com/devonfw/tools/ide/url/model/folder/UrlVersion.java @@ -5,8 +5,8 @@ import java.nio.file.Path; import java.util.Objects; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.url.model.AbstractUrlFolderWithParent; import com.devonfw.tools.ide.url.model.file.UrlChecksum; import com.devonfw.tools.ide.url.model.file.UrlDownloadFile; diff --git a/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java b/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java index dcd68d168..cb248d1cb 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java +++ b/cli/src/main/java/com/devonfw/tools/ide/url/updater/AbstractUrlUpdater.java @@ -19,8 +19,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.devonfw.tools.ide.common.OperatingSystem; -import com.devonfw.tools.ide.common.SystemArchitecture; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; import com.devonfw.tools.ide.url.model.file.UrlChecksum; import com.devonfw.tools.ide.url.model.file.UrlDownloadFile; import com.devonfw.tools.ide.url.model.file.UrlFile; @@ -273,7 +273,7 @@ private boolean isValidDownload(String url, String tool, String version, HttpRes } /** - * Checks if the content type was not of type text (this method is required because {@link com.devonfw.tools.ide.url.updater.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 com.devonfw.tools.ide.tool.pip.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/UpdateManager.java b/cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java index 1faab0154..14642205b 100644 --- a/cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java +++ b/cli/src/main/java/com/devonfw/tools/ide/url/updater/UpdateManager.java @@ -8,41 +8,41 @@ 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.cobigen.CobigenUrlUpdater; +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.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.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.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.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.updater.androidstudio.AndroidStudioUrlUpdater; -import com.devonfw.tools.ide.url.updater.aws.AwsUrlUpdater; -import com.devonfw.tools.ide.url.updater.az.AzureUrlUpdater; -import com.devonfw.tools.ide.url.updater.cobigen.CobigenUrlUpdater; -import com.devonfw.tools.ide.url.updater.docker.DockerDesktopUrlUpdater; -import com.devonfw.tools.ide.url.updater.docker.DockerRancherDesktopUrlUpdater; -import com.devonfw.tools.ide.url.updater.dotnet.DotNetUrlUpdater; -import com.devonfw.tools.ide.url.updater.eclipse.EclipseCppUrlUpdater; -import com.devonfw.tools.ide.url.updater.eclipse.EclipseJavaUrlUpdater; -import com.devonfw.tools.ide.url.updater.gcloud.GCloudUrlUpdater; -import com.devonfw.tools.ide.url.updater.gcviewer.GcViewerUrlUpdater; -import com.devonfw.tools.ide.url.updater.gh.GhUrlUpdater; -import com.devonfw.tools.ide.url.updater.graalvm.GraalVmCommunityUpdater; -import com.devonfw.tools.ide.url.updater.graalvm.GraalVmOracleUrlUpdater; -import com.devonfw.tools.ide.url.updater.gradle.GradleUrlUpdater; -import com.devonfw.tools.ide.url.updater.helm.HelmUrlUpdater; -import com.devonfw.tools.ide.url.updater.intellij.IntellijUrlUpdater; -import com.devonfw.tools.ide.url.updater.java.JavaUrlUpdater; -import com.devonfw.tools.ide.url.updater.jenkins.JenkinsUrlUpdater; -import com.devonfw.tools.ide.url.updater.jmc.JmcUrlUpdater; -import com.devonfw.tools.ide.url.updater.kotlinc.KotlincNativeUrlUpdater; -import com.devonfw.tools.ide.url.updater.kotlinc.KotlincUrlUpdater; -import com.devonfw.tools.ide.url.updater.lazydocker.LazyDockerUrlUpdater; -import com.devonfw.tools.ide.url.updater.mvn.MvnUrlUpdater; -import com.devonfw.tools.ide.url.updater.node.NodeUrlUpdater; -import com.devonfw.tools.ide.url.updater.npm.NpmUrlUpdater; -import com.devonfw.tools.ide.url.updater.oc.OcUrlUpdater; -import com.devonfw.tools.ide.url.updater.pip.PipUrlUpdater; -import com.devonfw.tools.ide.url.updater.python.PythonUrlUpdater; -import com.devonfw.tools.ide.url.updater.quarkus.QuarkusUrlUpdater; -import com.devonfw.tools.ide.url.updater.sonar.SonarUrlUpdater; -import com.devonfw.tools.ide.url.updater.terraform.TerraformUrlUpdater; -import com.devonfw.tools.ide.url.updater.tomcat.TomcatUrlUpdater; -import com.devonfw.tools.ide.url.updater.vscode.VsCodeUrlUpdater; /** * The {@code UpdateManager} class manages the update process for various tools by using a list of diff --git a/cli/src/test/java/com/devonfw/tools/ide/commandlet/CommandletManagerResetter.java b/cli/src/test/java/com/devonfw/tools/ide/commandlet/CommandletManagerResetter.java new file mode 100644 index 000000000..3385f0ca0 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/commandlet/CommandletManagerResetter.java @@ -0,0 +1,16 @@ +package com.devonfw.tools.ide.commandlet; + +/** + * Class to allow {@link #reset()} for testing. + */ +public class CommandletManagerResetter { + + /** + * Make {@link CommandletManagerImpl#reset()} visible for testing. + */ + public static void reset() { + + CommandletManagerImpl.reset(); + } + +} diff --git a/cli/src/test/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandletTest.java b/cli/src/test/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandletTest.java new file mode 100644 index 000000000..b52ba5d19 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/commandlet/EnvironmentCommandletTest.java @@ -0,0 +1,46 @@ +package com.devonfw.tools.ide.commandlet; + +import org.junit.jupiter.api.Test; + +import com.devonfw.tools.ide.context.AbstractIdeContextTest; +import com.devonfw.tools.ide.context.IdeTestContextMock; + +/** + * Test of {@link EnvironmentCommandlet}. + */ +public class EnvironmentCommandletTest extends AbstractIdeContextTest { + + /** + * Test of {@link EnvironmentCommandlet#normalizeWindowsValue(String)} for Windows. + */ + @Test + public void testNormalizeWindowsValue2Windows() { + + EnvironmentCommandlet env = new EnvironmentCommandlet(IdeTestContextMock.get()); + assertThat(env.normalizeWindowsValue("")).isEqualTo(""); + assertThat(env.normalizeWindowsValue("*")).isEqualTo("*"); + assertThat(env.normalizeWindowsValue("$:\\\\{garbage}§")).isEqualTo("$:\\\\{garbage}§"); + assertThat(env.normalizeWindowsValue("/c/Windows/system32/drivers/etc/hosts")) + .isEqualTo("C:\\Windows\\system32\\drivers\\etc\\hosts"); + assertThat(env.normalizeWindowsValue("C:\\Windows\\system32\\drivers\\etc\\hosts")) + .isEqualTo("C:\\Windows\\system32\\drivers\\etc\\hosts"); + } + + /** + * Test of {@link EnvironmentCommandlet#normalizeWindowsValue(String)} for (Git-)Bash. + */ + @Test + public void testNormalizeWindowsValue2Bash() { + + EnvironmentCommandlet env = new EnvironmentCommandlet(IdeTestContextMock.get()); + env.bash.setValue(true); + assertThat(env.normalizeWindowsValue("")).isEqualTo(""); + assertThat(env.normalizeWindowsValue("*")).isEqualTo("*"); + assertThat(env.normalizeWindowsValue("$:\\\\{garbage}§")).isEqualTo("$:\\\\{garbage}§"); + assertThat(env.normalizeWindowsValue("C:\\Windows\\system32\\drivers\\etc\\hosts")) + .isEqualTo("/c/Windows/system32/drivers/etc/hosts"); + assertThat(env.normalizeWindowsValue("/c/Windows/system32/drivers/etc/hosts")) + .isEqualTo("/c/Windows/system32/drivers/etc/hosts"); + } + +} diff --git a/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeContextTest.java b/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeContextTest.java index e4d6ba113..7f783216d 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeContextTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/context/AbstractIdeContextTest.java @@ -7,6 +7,7 @@ import org.assertj.core.api.Condition; import org.assertj.core.api.ListAssert; +import com.devonfw.tools.ide.commandlet.CommandletManagerResetter; import com.devonfw.tools.ide.io.FileAccess; import com.devonfw.tools.ide.io.FileAccessImpl; import com.devonfw.tools.ide.io.FileCopyMode; @@ -18,6 +19,9 @@ */ public abstract class AbstractIdeContextTest extends Assertions { + /** {@link #newContext(String) Name of test project} {@value}. */ + protected static final String PROJECT_BASIC = "basic"; + /** The source {@link Path} to the test projects. */ protected static final Path PATH_PROJECTS = Paths.get("src/test/resources/ide-projects"); @@ -58,16 +62,19 @@ protected static IdeContext newContext(String projectName, String projectPath, b if (projectPath != null) { userDir = sourceDir.resolve(projectPath); } - IdeContext context = new IdeTestContext(userDir); + CommandletManagerResetter.reset(); + IdeContext context; if (copyForMutation) { Path projectDir = PATH_PROJECTS_COPY.resolve(projectName); - FileAccess fileAccess = new FileAccessImpl(context); + FileAccess fileAccess = new FileAccessImpl(IdeTestContextMock.get()); fileAccess.delete(projectDir); fileAccess.mkdirs(PATH_PROJECTS_COPY); fileAccess.copy(sourceDir, projectDir, FileCopyMode.COPY_TREE_OVERRIDE_TREE); fileAccess.copy(PATH_PROJECTS.resolve(IdeContext.FOLDER_IDE), PATH_PROJECTS_COPY.resolve(IdeContext.FOLDER_IDE), FileCopyMode.COPY_TREE_OVERRIDE_TREE); context = new IdeTestContext(projectDir.resolve(projectPath)); + } else { + context = new IdeTestContext(userDir); } return context; } 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 5d27b7a2e..fa2c09e98 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 @@ -29,7 +29,7 @@ public AbstractIdeTestContext(Function factory, Path } @Override - protected boolean isTest() { + public boolean isTest() { return true; } diff --git a/cli/src/test/java/com/devonfw/tools/ide/context/IdeContextTest.java b/cli/src/test/java/com/devonfw/tools/ide/context/IdeContextTest.java index ca27d052b..6d7811f56 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/context/IdeContextTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/context/IdeContextTest.java @@ -24,7 +24,7 @@ public void testBasicProjectEnvironment() { // arrange String path = "workspaces/foo-test/my-git-repo"; // act - IdeContext context = newContext("basic", path, false); + IdeContext context = newContext(PROJECT_BASIC, path, false); // assert assertThat(context.getWorkspaceName()).isEqualTo("foo-test"); assertThat(IdeVariables.DOCKER_EDITION.get(context)).isEqualTo("docker"); diff --git a/cli/src/test/java/com/devonfw/tools/ide/context/IdeTestContextMock.java b/cli/src/test/java/com/devonfw/tools/ide/context/IdeTestContextMock.java new file mode 100644 index 000000000..0fec68a71 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/context/IdeTestContextMock.java @@ -0,0 +1,34 @@ +package com.devonfw.tools.ide.context; + +import java.nio.file.Paths; + +/** + * Mock instance of {@link com.devonfw.tools.ide.context.IdeContext}. + * + * @see #get() + */ +public class IdeTestContextMock extends IdeTestContext { + + private static final IdeTestContextMock INSTANCE = new IdeTestContextMock(); + + private IdeTestContextMock() { + + super(Paths.get("/")); + } + + @Override + public boolean isMock() { + + return true; + } + + /** + * @return the singleton mock instance of {@link com.devonfw.tools.ide.context.IdeContext}. Does NOT have + * {@link #getIdeHome() IDE_HOME}. + */ + public static IdeTestContextMock get() { + + return INSTANCE; + } + +} diff --git a/cli/src/test/java/com/devonfw/tools/ide/tool/MacOsHelperTest.java b/cli/src/test/java/com/devonfw/tools/ide/os/MacOsHelperTest.java similarity index 94% rename from cli/src/test/java/com/devonfw/tools/ide/tool/MacOsHelperTest.java rename to cli/src/test/java/com/devonfw/tools/ide/os/MacOsHelperTest.java index 73dc45168..bf05ebadc 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/tool/MacOsHelperTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/os/MacOsHelperTest.java @@ -1,11 +1,10 @@ -package com.devonfw.tools.ide.tool; +package com.devonfw.tools.ide.os; import java.nio.file.Path; import java.nio.file.Paths; import org.junit.jupiter.api.Test; -import com.devonfw.tools.ide.common.SystemInformationMock; import com.devonfw.tools.ide.context.AbstractIdeContextTest; import com.devonfw.tools.ide.context.IdeContext; diff --git a/cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationImplTest.java b/cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationImplTest.java similarity index 92% rename from cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationImplTest.java rename to cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationImplTest.java index 922fc048c..4c21e6ee9 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationImplTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationImplTest.java @@ -1,8 +1,13 @@ -package com.devonfw.tools.ide.common; +package com.devonfw.tools.ide.os; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; +import com.devonfw.tools.ide.os.SystemInfo; +import com.devonfw.tools.ide.os.SystemInfoImpl; + /** * Test of {@link SystemInfoImpl}. */ diff --git a/cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationMock.java b/cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationMock.java similarity index 79% rename from cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationMock.java rename to cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationMock.java index 84495bde1..c44d21b97 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/common/SystemInformationMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/os/SystemInformationMock.java @@ -1,4 +1,9 @@ -package com.devonfw.tools.ide.common; +package com.devonfw.tools.ide.os; + +import com.devonfw.tools.ide.os.OperatingSystem; +import com.devonfw.tools.ide.os.SystemArchitecture; +import com.devonfw.tools.ide.os.SystemInfo; +import com.devonfw.tools.ide.os.SystemInfoImpl; /** * Mock instances of {@link SystemInfo} to test OS specific behavior independent of the current OS running the test. diff --git a/cli/src/test/java/com/devonfw/tools/ide/os/WindowsPathSyntaxTest.java b/cli/src/test/java/com/devonfw/tools/ide/os/WindowsPathSyntaxTest.java new file mode 100644 index 000000000..a36fd92f9 --- /dev/null +++ b/cli/src/test/java/com/devonfw/tools/ide/os/WindowsPathSyntaxTest.java @@ -0,0 +1,45 @@ +package com.devonfw.tools.ide.os; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; + +/** + * Test of {@link WindowsPathSyntax}. + */ +public class WindowsPathSyntaxTest extends Assertions { + + /** Test of {@link WindowsPathSyntax#WINDOWS}. */ + @Test + public void testWindows() { + + // arrange + WindowsPathSyntax syntax = WindowsPathSyntax.WINDOWS; + // act && assert + assertThat(syntax.getDrive("C:\\Windows\\system32\\drivers\\etc\\hosts")).isEqualTo("C"); + assertThat(syntax.getDrive("D:\\projects\\ide\\settings\\ide.properties")).isEqualTo("D"); + assertThat(syntax.getDrive("https://host.com:8443/context/path/collection/id?key=value")).isNull(); + assertThat(syntax.getDrive("$:\\{garbage}§")).isNull(); + assertThat(syntax.getDrive(null)).isNull(); + assertThat(syntax.getRootPath("C")).isEqualTo("C:\\"); + assertThat(syntax.getRootPath("c")).isEqualTo("C:\\"); + assertThat(syntax.getRootPath("Z")).isEqualTo("Z:\\"); + } + + /** Test of {@link WindowsPathSyntax#MSYS}. */ + @Test + public void testMsys() { + + // arrange + WindowsPathSyntax syntax = WindowsPathSyntax.MSYS; + // act && assert + assertThat(syntax.getDrive("/c/Windows/system32/drivers/etc/hosts")).isEqualTo("c"); + assertThat(syntax.getDrive("/d/projects/ide/settings/ide.properties")).isEqualTo("d"); + assertThat(syntax.getDrive("https://host.com:8443/context/path/collection/id?key=value")).isNull(); + assertThat(syntax.getDrive("$:\\{garbage}§")).isNull(); + assertThat(syntax.getDrive(null)).isNull(); + assertThat(syntax.getRootPath("c")).isEqualTo("/c/"); + assertThat(syntax.getRootPath("C")).isEqualTo("/c/"); + assertThat(syntax.getRootPath("z")).isEqualTo("/z/"); + } + +} diff --git a/cli/src/test/java/com/devonfw/tools/ide/repo/CustomToolTest.java b/cli/src/test/java/com/devonfw/tools/ide/repo/CustomToolTest.java index 089e2a65b..bc1e922f3 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/repo/CustomToolTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/repo/CustomToolTest.java @@ -3,7 +3,7 @@ import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; -import com.devonfw.tools.ide.common.SystemInformationMock; +import com.devonfw.tools.ide.os.SystemInformationMock; import com.devonfw.tools.ide.version.VersionIdentifier; /** diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/AbstractUrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java similarity index 96% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/AbstractUrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java index 4e556e871..09f0fd5c1 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/AbstractUrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/AbstractUrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest; +package com.devonfw.tools.ide.tool; import org.assertj.core.api.Assertions; diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMock.java b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java similarity index 96% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMock.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java index b07a9e0c7..f5917062f 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMock.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest; +package com.devonfw.tools.ide.tool; import com.devonfw.tools.ide.url.model.folder.UrlRepository; import com.devonfw.tools.ide.url.model.folder.UrlVersion; diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMockSingle.java b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java similarity index 94% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMockSingle.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java index 5f5b22f95..dc4195f2b 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterMockSingle.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterMockSingle.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest; +package com.devonfw.tools.ide.tool; import java.util.Arrays; import java.util.HashSet; diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java similarity index 99% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java index 803781603..415604efa 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/UrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/UrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest; +package com.devonfw.tools.ide.tool; 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/integrationtest/androidstudio/AndroidStudioJsonUrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java similarity index 97% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/androidstudio/AndroidStudioJsonUrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java index 942ebe0a5..f7291ce2f 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/androidstudio/AndroidStudioJsonUrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioJsonUrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; @@ -17,7 +17,6 @@ import com.devonfw.tools.ide.url.model.folder.UrlRepository; import com.devonfw.tools.ide.url.updater.JsonUrlUpdater; -import com.devonfw.tools.ide.url.updater.androidstudio.AndroidStudioUrlUpdater; import com.github.tomakehurst.wiremock.junit5.WireMockTest; /** diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/androidstudio/AndroidStudioUrlUpdaterMock.java b/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java similarity index 73% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/androidstudio/AndroidStudioUrlUpdaterMock.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java index acfbadde6..bc799fcd0 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/androidstudio/AndroidStudioUrlUpdaterMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdaterMock.java @@ -1,7 +1,6 @@ -package com.devonfw.tools.ide.integrationtest.androidstudio; +package com.devonfw.tools.ide.tool.androidstudio; import com.devonfw.tools.ide.url.updater.JsonUrlUpdater; -import com.devonfw.tools.ide.url.updater.androidstudio.AndroidStudioUrlUpdater; /** * {@link JsonUrlUpdater} test mock for Android Studio. diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijJsonUrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java similarity index 97% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijJsonUrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java index 6524a6ad9..2f106da27 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijJsonUrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijJsonUrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.intellij; +package com.devonfw.tools.ide.tool.intellij; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; @@ -17,7 +17,6 @@ import com.devonfw.tools.ide.url.model.folder.UrlRepository; import com.devonfw.tools.ide.url.updater.JsonUrlUpdater; -import com.devonfw.tools.ide.url.updater.intellij.IntellijUrlUpdater; import com.github.tomakehurst.wiremock.junit5.WireMockTest; /** diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijUrlUpdaterMock.java b/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java similarity index 71% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijUrlUpdaterMock.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java index 64dc1a909..43f1e1c78 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/intellij/IntellijUrlUpdaterMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/intellij/IntellijUrlUpdaterMock.java @@ -1,6 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.intellij; - -import com.devonfw.tools.ide.url.updater.intellij.IntellijUrlUpdater; +package com.devonfw.tools.ide.tool.intellij; /** * Mock of {@link IntellijUrlUpdater} to allow integration testing with wiremock. diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterMock.java b/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java similarity index 84% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterMock.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java index e3658cc4e..ca93e2823 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterMock.java @@ -1,11 +1,10 @@ -package com.devonfw.tools.ide.integrationtest.pip; +package com.devonfw.tools.ide.tool.pip; import java.util.HashSet; import java.util.List; import java.util.Set; import com.devonfw.tools.ide.url.model.folder.UrlVersion; -import com.devonfw.tools.ide.url.updater.pip.PipUrlUpdater; /** * Test mock for {@link PipUrlUpdater} diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java similarity index 88% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java index c82aa5586..fa8496d34 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/pip/PipUrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/pip/PipUrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.pip; +package com.devonfw.tools.ide.tool.pip; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any; @@ -11,17 +11,20 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; -import com.devonfw.tools.ide.integrationtest.AbstractUrlUpdaterTest; +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.github.tomakehurst.wiremock.junit5.WireMockTest; +/** + * Test of {@link PipUrlUpdater} based on Wiremock. + */ @WireMockTest(httpPort = 8080) public class PipUrlUpdaterTest extends AbstractUrlUpdaterTest { /** - * Tests if the {@link com.devonfw.tools.ide.url.updater.pip.PipUrlUpdater} will successfully resolve a server with a + * Tests if the {@link com.devonfw.tools.ide.tool.pip.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/integrationtest/python/PythonUrlUpdaterMock.java b/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java similarity index 69% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/python/PythonUrlUpdaterMock.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java index 22d36eed9..79dfcb5a2 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/python/PythonUrlUpdaterMock.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterMock.java @@ -1,6 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.python; - -import com.devonfw.tools.ide.url.updater.python.PythonUrlUpdater; +package com.devonfw.tools.ide.tool.python; /** * {@Link JsonUrlUpdater} test mock for Python diff --git a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/python/PythonUrlUpdaterTest.java b/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java similarity index 97% rename from cli/src/test/java/com/devonfw/tools/ide/integrationtest/python/PythonUrlUpdaterTest.java rename to cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java index cde95742a..f8615afbb 100644 --- a/cli/src/test/java/com/devonfw/tools/ide/integrationtest/python/PythonUrlUpdaterTest.java +++ b/cli/src/test/java/com/devonfw/tools/ide/tool/python/PythonUrlUpdaterTest.java @@ -1,4 +1,4 @@ -package com.devonfw.tools.ide.integrationtest.python; +package com.devonfw.tools.ide.tool.python; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.any;