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); } } }