Skip to content
This repository was archived by the owner on Mar 19, 2019. It is now read-only.

Commit 1ba5a17

Browse files
committed
add --disable-console-log to test command
1 parent 5f979fa commit 1ba5a17

File tree

5 files changed

+53
-20
lines changed

5 files changed

+53
-20
lines changed

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10-
[Unreleased]: https://github.com/atomist/rug-cli/compare/1.0.0-m.5...HEAD
10+
[Unreleased]: https://github.com/atomist/rug-cli/compare/1.0.0-m.6...HEAD
11+
12+
## [1.0.0-m.6] - 2017-07-14
13+
14+
Milestone 6 release
15+
16+
[1.0.0-m.5]: https://github.com/atomist/rug-cli/compare/1.0.0-m.5...1.0.0-m.6
17+
18+
### Added
19+
20+
- Added `--disable-console-log` for `test` command
1121

1222
## [1.0.0-m.5] - 2017-07-11
1323

src/main/java/com/atomist/rug/cli/command/AbstractCompilingAndOperationLoadingCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ private RugResolver createRugResolver(ArtifactDescriptor artifact, ArtifactSourc
6666
String.format("Loading rugs of %s", ArtifactDescriptorUtils.coordinates(artifact)))
6767
.run(indicator -> {
6868
Dependency root = processArtifact(artifact, source);
69-
return new ArchiveRugResolver(root, ConsoleLogger.consoleLogger());
69+
return new ArchiveRugResolver(root, ConsoleLogger.consoleLogger(
70+
!CommandLineOptions.hasOption("disable-console-log")));
7071
});
7172
}
7273

src/main/java/com/atomist/rug/cli/command/test/TestCommand.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ public class TestCommand extends AbstractAnnotationBasedCommand {
5757

5858
@Command
5959
public void run(Rugs operations, ArtifactDescriptor artifact, ArtifactSource source,
60-
Settings settings, @Argument(index = 1) String testToRun) {
60+
Settings settings, @Argument(index = 1) String testToRun,
61+
@com.atomist.rug.cli.command.annotation.Option("disable-console-log") boolean disableConsoleLog) {
6162
Optional<String> token = settings.getConfigValue(Settings.GIHUB_TOKEN_KEY, String.class);
6263

6364
ArchiveTestResult result = new ProgressReportingOperationRunner<ArchiveTestResult>(
@@ -67,7 +68,8 @@ public void run(Rugs operations, ArtifactDescriptor artifact, ArtifactSource sou
6768
.singletonList(new LoggingGherkinExecutionListener(indicator));
6869
GherkinRunner runner = new GherkinRunner(
6970
new JavaScriptContext(source, DefaultAtomistConfig$.MODULE$,
70-
new SimpleBindings(), ConsoleLogger.consoleLogger()),
71+
new SimpleBindings(),
72+
ConsoleLogger.consoleLogger(!disableConsoleLog)),
7173
Option.apply(operations),
7274
JavaConverters.asScalaBufferConverter(listeners).asScala(),
7375
new GherkinRunnerConfig(Option.apply(token.orElse(null))));

src/main/java/com/atomist/rug/cli/command/test/TestCommandInfo.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.atomist.rug.cli.command.test;
22

3+
import org.apache.commons.cli.Option;
4+
import org.apache.commons.cli.Options;
5+
36
import com.atomist.rug.cli.command.AbstractLocalArtifactDescriptorProvider;
47
import com.atomist.rug.resolver.ArtifactDescriptor;
58
import com.atomist.rug.resolver.ArtifactDescriptor.Extension;
@@ -25,6 +28,14 @@ public String detail() {
2528
public int order() {
2629
return 50;
2730
}
31+
32+
@Override
33+
public Options options() {
34+
Options options = super.options();
35+
options.addOption(Option.builder().hasArg(false).desc("Disable console logging")
36+
.longOpt("disable-console-log").optionalArg(true).build());
37+
return options;
38+
}
2839

2940
@Override
3041
public String usage() {

src/main/java/com/atomist/rug/cli/output/ConsoleLogger.java

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,50 @@
1111
import scala.runtime.BoxedUnit;
1212

1313
public class ConsoleLogger {
14-
14+
1515
private static Log log = new Log(ConsoleLogger.class);
1616

1717
private String indent = Constants.LEFT_PADDING;
18-
19-
private ConsoleLogger(String indent) {
18+
private boolean enabled = true;
19+
20+
private ConsoleLogger(String indent, boolean enabled) {
2021
this.indent = indent;
22+
this.enabled = enabled;
2123
}
22-
24+
2325
public void log(String msg) {
24-
log.info(indent + msg);
26+
if (enabled) {
27+
log.info(indent + msg);
28+
}
2529
}
26-
30+
2731
public void warn(String msg) {
28-
log.info(indent + msg);
32+
if (enabled) {
33+
log.info(indent + msg);
34+
}
2935
}
30-
36+
3137
public void error(String msg) {
32-
log.error(indent + msg);
38+
if (enabled) {
39+
log.error(indent + msg);
40+
}
3341
}
34-
35-
public static AbstractFunction1<ScriptEngine, BoxedUnit> consoleLogger(String indent) {
42+
43+
public static AbstractFunction1<ScriptEngine, BoxedUnit> consoleLogger(String indent,
44+
boolean enabled) {
3645
return new AbstractFunction1<ScriptEngine, BoxedUnit>() {
3746

3847
@Override
3948
public BoxedUnit apply(ScriptEngine engine) {
4049
Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
41-
bindings.put("console", new ConsoleLogger(indent));
50+
bindings.put("console", new ConsoleLogger(indent, enabled));
4251
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
4352
return null;
4453
}
4554
};
4655
}
47-
48-
public static AbstractFunction1<ScriptEngine, BoxedUnit> consoleLogger() {
49-
return consoleLogger("");
56+
57+
public static AbstractFunction1<ScriptEngine, BoxedUnit> consoleLogger(boolean enabled) {
58+
return consoleLogger("", enabled);
5059
}
51-
}
60+
}

0 commit comments

Comments
 (0)