@@ -6,6 +6,7 @@ package bubble.main; | |||||
import bubble.BubbleHandlebars; | import bubble.BubbleHandlebars; | ||||
import org.cobbzilla.util.handlebars.HandlebarsUtil; | import org.cobbzilla.util.handlebars.HandlebarsUtil; | ||||
import org.cobbzilla.util.io.FileUtil; | |||||
import org.cobbzilla.wizard.main.MainBase; | import org.cobbzilla.wizard.main.MainBase; | ||||
import java.util.HashMap; | import java.util.HashMap; | ||||
@@ -18,7 +19,11 @@ public class BubbleHandlebarsMain extends MainBase<BubbleHandlebarsOptions> { | |||||
public static void main (String[] args) { main(BubbleHandlebarsMain.class, args); } | public static void main (String[] args) { main(BubbleHandlebarsMain.class, args); } | ||||
@Override protected void run() throws Exception { | @Override protected void run() throws Exception { | ||||
final BubbleHandlebarsOptions opts = getOptions(); | |||||
final Map<String, Object> ctx = new HashMap<>(System.getenv()); | final Map<String, Object> ctx = new HashMap<>(System.getenv()); | ||||
if (opts.hasAdditionalContext()) { | |||||
ctx.put(opts.getAdditionalContextName(), FileUtil.toString(opts.getAdditionalContext())); | |||||
} | |||||
out(HandlebarsUtil.apply(BubbleHandlebars.instance.getHandlebars(), readStdin(), ctx)); | out(HandlebarsUtil.apply(BubbleHandlebars.instance.getHandlebars(), readStdin(), ctx)); | ||||
} | } | ||||
@@ -4,7 +4,28 @@ | |||||
*/ | */ | ||||
package bubble.main; | package bubble.main; | ||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import org.cobbzilla.util.main.BaseMainOptions; | import org.cobbzilla.util.main.BaseMainOptions; | ||||
import org.kohsuke.args4j.Option; | |||||
import java.io.File; | |||||
import static org.cobbzilla.util.daemon.ZillaRuntime.empty; | |||||
public class BubbleHandlebarsOptions extends BaseMainOptions { | public class BubbleHandlebarsOptions extends BaseMainOptions { | ||||
public static final String USAGE_ADDITIONAL_CTX = "Additional context JSON file"; | |||||
public static final String OPT_ADDITIONAL_CTX = "-c"; | |||||
public static final String LONGOPT_ADDITIONAL_CTX = "--context-json"; | |||||
@Option(name=OPT_ADDITIONAL_CTX, aliases=LONGOPT_ADDITIONAL_CTX, usage=USAGE_ADDITIONAL_CTX) | |||||
@Getter @Setter private File additionalContext; | |||||
public boolean hasAdditionalContext() { return !empty(additionalContext); } | |||||
public static final String USAGE_ADDITIONAL_CTX_NAME = "Name of handlebars var for context JSON file"; | |||||
public static final String OPT_ADDITIONAL_CTX_NAME = "-n"; | |||||
public static final String LONGOPT_ADDITIONAL_CTX_NAME = "--context-json-name"; | |||||
@Option(name=OPT_ADDITIONAL_CTX_NAME, aliases=LONGOPT_ADDITIONAL_CTX_NAME, usage=USAGE_ADDITIONAL_CTX_NAME) | |||||
@Getter @Setter private String additionalContextName = "json"; | |||||
} | } |
@@ -1 +1 @@ | |||||
Subproject commit 24d91f73b4ad72674ae35362c196a8be9e63a885 | |||||
Subproject commit e50a6e004df9c3616a6936fbcc0f7ef299da378e |
@@ -1 +1 @@ | |||||
Subproject commit 6cc7a8a279ebb90edbfd8ec379acb5a52acad522 | |||||
Subproject commit c5e10eb7a0a7f842f9d3a5a2cce0d2301cd20c9b |