Skip to content

Commit 46b3458

Browse files
groovy-runner: print version and build date (#742)
1 parent 8939b47 commit 46b3458

9 files changed

Lines changed: 82 additions & 88 deletions

File tree

webtau-config/src/main/java/org/testingisdocumenting/webtau/cfg/WebTauConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.testingisdocumenting.webtau.persona.Persona;
2525
import org.testingisdocumenting.webtau.utils.ServiceLoaderUtils;
2626
import org.testingisdocumenting.webtau.utils.StringUtils;
27+
import org.testingisdocumenting.webtau.version.WebtauVersion;
2728

2829
import java.nio.file.Path;
2930
import java.nio.file.Paths;
@@ -62,7 +63,7 @@ public class WebTauConfig {
6263
private final ConfigValue disableFollowingRedirects = declareBoolean("disableRedirects", "disable following of redirects from HTTP calls", false);
6364
private final ConfigValue maxRedirects = declare("maxRedirects", "Maximum number of redirects to follow for an HTTP call", () -> 20);
6465
private final ConfigValue userAgent = declare("userAgent", "User agent to send on HTTP requests",
65-
() -> "webtau/" + WebTauMeta.getVersion());
66+
() -> "webtau/" + WebtauVersion.getVersion());
6667
private final ConfigValue removeWebtauFromUserAgent = declare("removeWebtauFromUserAgent",
6768
"By default webtau appends webtau and its version to the user-agent, this disables that part",
6869
() -> false);

webtau-config/src/main/java/org/testingisdocumenting/webtau/cfg/WebTauMeta.java

Lines changed: 0 additions & 56 deletions
This file was deleted.

webtau-config/src/main/java/org/testingisdocumenting/webtau/cfg/WebTauVersionOverrider.java

Lines changed: 0 additions & 24 deletions
This file was deleted.

webtau-core/pom.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@
2626
</parent>
2727

2828
<artifactId>webtau-core</artifactId>
29-
<version>1.35-SNAPSHOT</version>
29+
30+
<properties>
31+
<build.timestamp>${maven.build.timestamp}</build.timestamp>
32+
<maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
33+
</properties>
3034

3135
<dependencies>
3236
<dependency>
@@ -54,6 +58,13 @@
5458
</dependencies>
5559

5660
<build>
61+
<resources>
62+
<resource>
63+
<directory>src/main/resources</directory>
64+
<filtering>true</filtering>
65+
</resource>
66+
</resources>
67+
5768
<plugins>
5869
<plugin>
5970
<groupId>org.codehaus.gmavenplus</groupId>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright 2020 znai maintainers
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.testingisdocumenting.webtau.version;
18+
19+
import org.testingisdocumenting.webtau.console.ConsoleOutputs;
20+
import org.testingisdocumenting.webtau.console.ansi.Color;
21+
import org.testingisdocumenting.webtau.utils.ResourceUtils;
22+
23+
public class WebtauVersion {
24+
private static final String version;
25+
private static final String timeStamp;
26+
27+
static {
28+
String[] versionTimeStamp = ResourceUtils.textContent("webtau-version.txt").trim().split(" ");
29+
version = versionTimeStamp[0];
30+
timeStamp = versionTimeStamp[1];
31+
}
32+
33+
private WebtauVersion() {
34+
}
35+
36+
public static String getVersion() {
37+
return version;
38+
}
39+
40+
public static String getTimeStamp() {
41+
return timeStamp;
42+
}
43+
44+
public static void print() {
45+
ConsoleOutputs.out(Color.YELLOW, "webtau version: ", Color.CYAN, WebtauVersion.getVersion(),
46+
Color.GREEN, " (", WebtauVersion.getTimeStamp(), ")");
47+
}
48+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
${project.version} ${build.timestamp}

webtau-groovy/src/main/groovy/org/testingisdocumenting/webtau/cfg/WebTauCliArgsConfig.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import org.apache.commons.cli.DefaultParser
2323
import org.apache.commons.cli.HelpFormatter
2424
import org.apache.commons.cli.Options
2525
import org.apache.commons.cli.ParseException
26+
import org.testingisdocumenting.webtau.version.WebtauVersion
2627

2728
import java.nio.file.Paths
2829

@@ -95,8 +96,8 @@ class WebTauCliArgsConfig {
9596
private void printHelp(Options options) {
9697
HelpFormatter helpFormatter = new HelpFormatter()
9798

98-
def header = "version: " + WebTauMeta.version
99-
helpFormatter.printHelp("webtau [options] [testFile1] [testFile2]", header, options, "")
99+
WebtauVersion.print()
100+
helpFormatter.printHelp("webtau [options] [testFile1] [testFile2]", "", options, "")
100101
exitHandler.exit(1)
101102
}
102103

webtau-groovy/src/main/groovy/org/testingisdocumenting/webtau/cli/WebTauCliApp.groovy

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import org.testingisdocumenting.webtau.report.ReportGenerator
3737
import org.testingisdocumenting.webtau.report.ReportGenerators
3838
import org.testingisdocumenting.webtau.reporter.*
3939
import org.testingisdocumenting.webtau.runner.standalone.StandaloneTestRunner
40+
import org.testingisdocumenting.webtau.version.WebtauVersion
4041

4142
import java.nio.file.Files
4243
import java.util.function.Consumer
@@ -66,6 +67,7 @@ class WebTauCliApp implements TestListener, ReportGenerator {
6667
WebTauConfig.registerConfigHandlerAsLastHandler(cliConfigHandler)
6768

6869
setupAnsi()
70+
printVersion()
6971
}
7072

7173
static void main(String[] args) {
@@ -174,6 +176,14 @@ class WebTauCliApp implements TestListener, ReportGenerator {
174176
}
175177
}
176178

179+
private static void printVersion() {
180+
if (getCfg().getVerbosityLevel() == 0) {
181+
return
182+
}
183+
184+
WebtauVersion.print()
185+
}
186+
177187
@Override
178188
void generate(WebTauReport report) {
179189
problemCount = (int) (report.failed + report.errored)

webtau-report/src/main/java/org/testingisdocumenting/webtau/report/HtmlReportGenerator.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/*
2+
* Copyright 2020 webtau maintainers
23
* Copyright 2019 TWO SIGMA OPEN SOURCE, LLC
34
*
45
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,14 +21,15 @@
2021
import static java.util.stream.Collectors.toList;
2122

2223
import org.testingisdocumenting.webtau.cfg.ConfigValue;
23-
import org.testingisdocumenting.webtau.cfg.WebTauMeta;
2424
import org.testingisdocumenting.webtau.console.ConsoleOutputs;
2525
import org.testingisdocumenting.webtau.console.ansi.Color;
2626
import org.testingisdocumenting.webtau.reporter.WebTauReport;
2727
import org.testingisdocumenting.webtau.reporter.WebTauTest;
2828
import org.testingisdocumenting.webtau.utils.FileUtils;
2929
import org.testingisdocumenting.webtau.utils.JsonUtils;
3030
import org.testingisdocumenting.webtau.utils.ResourceUtils;
31+
import org.testingisdocumenting.webtau.version.WebtauVersion;
32+
3133
import java.nio.file.Path;
3234
import java.util.Base64;
3335
import java.util.LinkedHashMap;
@@ -37,8 +39,8 @@
3739
import java.util.stream.Stream;
3840

3941
public class HtmlReportGenerator implements ReportGenerator {
40-
private String css;
41-
private String bundleJavaScript;
42+
private final String css;
43+
private final String bundleJavaScript;
4244

4345
public HtmlReportGenerator() {
4446
Map<String, Object> manifest = loadManifest();
@@ -59,7 +61,7 @@ private String generateHtml(WebTauReport report) {
5961
Map<String, Object> reportAsMap = new LinkedHashMap<>();
6062
reportAsMap.put("config", configAsListOfMaps(getCfg().getEnumeratedCfgValuesStream()));
6163
reportAsMap.put("summary", reportSummaryToMap(report));
62-
reportAsMap.put("version", WebTauMeta.getVersion());
64+
reportAsMap.put("version", WebtauVersion.getVersion());
6365
reportAsMap.put("tests", report.getTests().stream()
6466
.map(WebTauTest::toMap).collect(Collectors.toList()));
6567

0 commit comments

Comments
 (0)