package com.cadrlife.devsearch.agent.action;
import com.cadrlife.devsearch.agent.Agent;
import joptsimple.OptionSpec;
public class UpdateContentsAction extends AgentAction {
OptionSpec<String> executeOption = optionParser.accepts("localExecute").withRequiredArg().ofType(String.class).required();
public UpdateContentsAction() {
super();
optionParser.accepts("push-to-repo");
configFileOption.required();
checkoutPathOption.required();
repoNameOption.required();
}
@Override
public String getName() {
return "update-contents";
}
@Override
public void localExecute(Agent agent) {
if (isClean()) {
agent.clean(updateScope);
}
agent.pullFromSourceSync(updateScope);
agent.executeScript(updateScope, options.valueOf(executeOption));
if (options.has("push-to-repo")) {
agent.pushToRepo(updateScope);
}
}
}