From baa26ce18959c699ca60576f373278092fa0249a Mon Sep 17 00:00:00 2001 From: JiriOndrusek Date: Mon, 2 Oct 2023 16:30:23 +0200 Subject: [PATCH] Maven CLI: bettter verbose + added debug for upgrade --- .../java/io/quarkus/cli/build/MavenRunner.java | 3 +++ .../rewrite/QuarkusUpdatesRepository.java | 17 +++++++++++++---- .../rewrite/QuarkusUpdatesRepositoryTest.java | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/devtools/cli/src/main/java/io/quarkus/cli/build/MavenRunner.java b/devtools/cli/src/main/java/io/quarkus/cli/build/MavenRunner.java index 632c68c8135ff..6fdae037d0f4f 100644 --- a/devtools/cli/src/main/java/io/quarkus/cli/build/MavenRunner.java +++ b/devtools/cli/src/main/java/io/quarkus/cli/build/MavenRunner.java @@ -161,6 +161,9 @@ public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, Rew args.add(ToolsUtils.getPluginKey(props) + ":" + ToolsUtils.getMavenPluginVersion(props) + ":update"); args.add("-e"); args.add("-N"); + if (output.isVerbose()) { + args.add("-X"); + } if (targetQuarkusVersion.platformVersion != null) { args.add("-DplatformVersion=" + targetQuarkusVersion.platformVersion); } diff --git a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java index 46a8915571b79..1f3bcc60c8873 100644 --- a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java +++ b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java @@ -56,7 +56,7 @@ public static FetchResult fetchRecipes(MessageWriter log, MavenArtifactResolver final Artifact artifact = artifactResolver.resolve(DependencyUtils.toArtifact(gav)).getArtifact(); final ResourceLoader resourceLoader = ResourceLoaders.resolveFileResourceLoader( artifact.getFile()); - final List recipes = fetchRecipesAsList(resourceLoader, "quarkus-updates", recipeDirectoryNames); + final List recipes = fetchRecipesAsList(resourceLoader, "quarkus-updates", recipeDirectoryNames); final Properties props = resourceLoader.loadResourceAsPath("quarkus-updates/", p -> { final Properties properties = new Properties(); final Path propPath = p.resolve("recipes.properties"); @@ -77,8 +77,16 @@ public static FetchResult fetchRecipes(MessageWriter log, MavenArtifactResolver targetVersion, buildTool, propRewritePluginVersion)); + log.debug(String.format( + "Detected dependencies:\n %s ", + recipeDirectoryNames.entrySet().stream() + .map(e -> String.format("%s (%s -> %s)", e.getKey(), e.getValue()[0], e.getValue()[1])) + .sorted().collect(Collectors.joining("\n")))); + log.debug(String.format( + "Detected recipe(s):\n %s", + recipes.stream().map(o -> o[0]).sorted().collect(Collectors.joining("\n")))); return new FetchResult(artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion(), - recipes, propRewritePluginVersion); + recipes.stream().map(o -> o[1]).collect(Collectors.toList()), propRewritePluginVersion); } catch (BootstrapMavenException e) { throw new RuntimeException("Failed to resolve artifact: " + gav, e); } catch (IOException e) { @@ -133,7 +141,7 @@ static boolean shouldApplyRecipe(String recipeFileName, String currentVersion, S return currentAVersion.compareTo(recipeAVersion) < 0 && targetAVersion.compareTo(recipeAVersion) >= 0; } - static List fetchRecipesAsList(ResourceLoader resourceLoader, String location, + static List fetchRecipesAsList(ResourceLoader resourceLoader, String location, Map recipeDirectoryNames) throws IOException { return resourceLoader.loadResourceAsPath(location, path -> { @@ -152,7 +160,8 @@ static List fetchRecipesAsList(ResourceLoader resourceLoader, String loc versions[0], versions[1])) .map(p -> { try { - return new String(Files.readAllBytes(p)); + return new String[] { p.toString(), + new String(Files.readAllBytes(p)) }; } catch (IOException e) { throw new RuntimeException("Error reading file: " + p, e); } diff --git a/independent-projects/tools/devtools-common/src/test/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepositoryTest.java b/independent-projects/tools/devtools-common/src/test/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepositoryTest.java index 529aa24a6ef31..33910e19bac79 100644 --- a/independent-projects/tools/devtools-common/src/test/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepositoryTest.java +++ b/independent-projects/tools/devtools-common/src/test/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepositoryTest.java @@ -30,7 +30,7 @@ void testShouldLoadRecipesFromTheDirectory() throws IOException { recipeDirectoryNames.put("core", new String[] { "2.7", "3.1" }); recipeDirectoryNames.put("org.apache.camel.quarkus:camel-quarkus-core", new String[] { "2.7", "3.0" }); ClassPathResourceLoader resourceLoader = new ClassPathResourceLoader(); - List recipes = fetchRecipesAsList(resourceLoader, "dir/quarkus-update", recipeDirectoryNames); + List recipes = fetchRecipesAsList(resourceLoader, "dir/quarkus-update", recipeDirectoryNames); int noOfRecipes = recipes.size(); assertEquals(3, noOfRecipes);