cstamas commented on code in PR #2139: URL: https://github.com/apache/maven/pull/2139#discussion_r1978110220
########## impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java: ########## @@ -193,72 +202,72 @@ private ModelBuilderResult buildModel(RepositorySystemSession session, Path src) return result; } - static Model transform(Model model, MavenProject project) { - String packaging = model.getPackaging(); + static Model transformNonPom(Model model, MavenProject project) { boolean preserveModelVersion = model.isPreserveModelVersion(); - if (POM_PACKAGING.equals(packaging)) { - // raw to consumer transform - model = model.withRoot(false).withModules(null).withSubprojects(null); - if (model.getParent() != null) { - model = model.withParent(model.getParent().withRelativePath(null)); - } - if (!preserveModelVersion) { - model = model.withPreserveModelVersion(false); - String modelVersion = new MavenModelVersion().getModelVersion(model); - model = model.withModelVersion(modelVersion); - } - } else if (BOM_PACKAGING.equals(packaging)) { - DependencyManagement dependencyManagement = - project.getOriginalModel().getDependencyManagement().getDelegate(); - List<Dependency> dependencies = new ArrayList<>(); - String version = model.getVersion(); - - dependencyManagement - .getDependencies() - .forEach((dependency) -> dependencies.add(dependency.withVersion(version))); - Model.Builder builder = prune( - Model.newBuilder(model, true) - .preserveModelVersion(false) - .root(false) - .parent(null) - .dependencyManagement(dependencyManagement.withDependencies(dependencies)) - .build(null), - model); - builder.packaging(POM_PACKAGING); - builder.profiles(prune(model.getProfiles())); - - model = builder.build(); - String modelVersion = new MavenModelVersion().getModelVersion(model); - if (!ModelBuilder.MODEL_VERSION_4_0_0.equals(modelVersion) && !preserveModelVersion) { - warnNotDowngraded(project); - } - model = model.withModelVersion(modelVersion); - } else { - Model.Builder builder = prune( - Model.newBuilder(model, true) - .preserveModelVersion(false) - .root(false) - .parent(null) - .build(null), - model) - .mailingLists(null) - .issueManagement(null) - .scm( - model.getScm() != null - ? Scm.newBuilder(model.getScm(), true) - .childScmConnectionInheritAppendPath(null) - .childScmUrlInheritAppendPath(null) - .childScmDeveloperConnectionInheritAppendPath(null) - .build() - : null); - builder.profiles(prune(model.getProfiles())); - - model = builder.build(); + Model.Builder builder = prune( + Model.newBuilder(model, true) + .preserveModelVersion(false) + .root(false) + .parent(null) + .build(null), + model) + .mailingLists(null) + .issueManagement(null) + .scm( + model.getScm() != null + ? Scm.newBuilder(model.getScm(), true) + .childScmConnectionInheritAppendPath(null) + .childScmUrlInheritAppendPath(null) + .childScmDeveloperConnectionInheritAppendPath(null) + .build() + : null); + builder.profiles(prune(model.getProfiles())); + + model = builder.build(); + String modelVersion = new MavenModelVersion().getModelVersion(model); + if (!ModelBuilder.MODEL_VERSION_4_0_0.equals(modelVersion) && !preserveModelVersion) { + warnNotDowngraded(project); + } + model = model.withModelVersion(modelVersion); + return model; + } + + static Model transformBom(Model model, MavenProject project) { + boolean preserveModelVersion = model.isPreserveModelVersion(); + + Model.Builder builder = prune( + Model.newBuilder(model, true) + .preserveModelVersion(false) + .root(false) + .parent(null) + // .dependencyManagement(dependencyManagement.withDependencies(dependencies)) Review Comment: why was this added at all? Was it envisioned that BOM may contain only reactor deps? As then we may want to enforce that -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org