}
@Override
public void execute(MavenProject project, MavenSession session, String goals) throws MavenExecutorException
{
ReleaseContext ctx = contextProvider.getContext();
List<String> argList = new ArrayList<String>();
Properties userProps = session.getUserProperties();
for (String key : userProps.stringPropertyNames())
{
argList.add("-D" + key + "=" + userProps.getProperty(key));
}
if (ctx.isUseReleaseProfile())
{
argList.add("-DperformRelease=true");
}
for (String profileId : getActiveProfileIds(project, session))
{
argList.add("-P" + profileId);
}
String additionalArgs = Joiner.on(" ").join(argList);
ReleaseResult result = new ReleaseResult();
ReleaseEnvironment env = new DefaultReleaseEnvironment();
env.setSettings(session.getSettings());
MavenExecutor mavenExecutor = mavenExecutors.get(env.getMavenExecutorId());
mavenExecutor.executeGoals(ctx.getBaseDir(), goals, env, ctx.isInteractive(), additionalArgs, result);
}