[forge-issues] [JBoss JIRA] (FORGE-2518) ProfileBuilder does not allow to set a build to set a default build etc

George Gastaldi (JIRA) issues at jboss.org
Thu Oct 29 10:36:02 EDT 2015


    [ https://issues.jboss.org/browse/FORGE-2518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123418#comment-13123418 ] 

George Gastaldi commented on FORGE-2518:
----------------------------------------

That would require some changes in the Profile API, therefore I am targetting this issue to 3.x. We are still considering if we should maintain this API or deprecate it, since it may be hard to keep up with the Maven Model changes, and possibly encourage the Maven model API usage.

Meanwhile, you can use the Maven API, as you done in your example, however you need to set the model back to persist the changes, like: 

{code:java}
      MavenFacet facet = project.getFacet(MavenFacet.class);
      Model model = facet.getModel();
      org.apache.maven.model.Profile p = ProfileBuilder.create().setId("f8-build").getAsMavenProfile();
      Build build = new Build();
      build.setDefaultGoal("clean install docker:build fabric8:json");
      p.setBuild(build);
      // Persist the model changes
      facet.setModel(model);
{code}

> ProfileBuilder does not allow to set a build to set a default build etc
> -----------------------------------------------------------------------
>
>                 Key: FORGE-2518
>                 URL: https://issues.jboss.org/browse/FORGE-2518
>             Project: Forge
>          Issue Type: Enhancement
>          Components: Build Tools - Maven
>    Affects Versions: 2.20.0.Final
>            Reporter: Claus Ibsen
>              Labels: api-change
>             Fix For: 3.x Future
>
>
> I need to add a maven profile to the maven pom using jboss forge
> {code}
>         Profile profile = MavenHelpers.findProfile(pom, "f8-build");
>         if (profile == null) {
>             //profile = ProfileBuilder.create().setId("f8-build").
>             profile = new Profile();
>             profile.setId("f8-build");
>             Build build = new Build();
>             build.setDefaultGoal("clean install docker:build fabric8:json");
>             profile.setBuild(build);
>             maven.getModel().addProfile(profile);
>         }
> {code}
> I tried using the org.jboss.forge.addon.maven.profiles.ProfileBuilder but it does not allow to configure the build where I need to set the default goal.
> The profile should look like
> {code}
>  <profile>
>       <id>f8-build</id>
>       <build>
>         <defaultGoal>clean install docker:build fabric8:json</defaultGoal>
>       </build>
>     </profile>
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the forge-issues mailing list