package org.jboss.windup.bootstrap.commands.windup;
import org.jboss.forge.furnace.Furnace;
import org.jboss.windup.bootstrap.commands.Command;
import org.jboss.windup.bootstrap.commands.CommandPhase;
import org.jboss.windup.bootstrap.commands.CommandResult;
import org.jboss.windup.bootstrap.commands.FurnaceDependent;
import org.jboss.windup.exec.updater.RulesetsUpdater;
/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class UpdateRulesetsCommand implements Command, FurnaceDependent
{
private Furnace furnace;
@Override
public void setFurnace(Furnace furnace)
{
this.furnace = furnace;
}
@Override
public CommandResult execute()
{
System.out.println("Checking for rulesets updates...");
try
{
RulesetsUpdater updater = furnace.getAddonRegistry().getServices(RulesetsUpdater.class).get();
String newVersion = updater.replaceRulesetsDirectoryWithLatestReleaseIfAny();
if (newVersion != null)
System.out.println("Updated the rulesets to version " + newVersion + ".");
}
catch (Exception e)
{
System.err.println("Could not update the rulesets: " + e.getMessage());
e.printStackTrace(System.err);
return CommandResult.EXIT;
}
return CommandResult.CONTINUE;
}
@Override
public CommandPhase getPhase()
{
return CommandPhase.PRE_EXECUTION;
}
}