Skip to content

Commit 1443b7f

Browse files
Release 2.0.0 (#33)
1 parent 20e23fe commit 1443b7f

9 files changed

Lines changed: 75 additions & 27 deletions

File tree

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
## What's New? ##
44

5-
* The latest version (Tcases 1.5.4) is now available at the Maven Central Repository. See [HowToDownload](HowToDownload.md) for download instructions.
5+
* The latest version (Tcases 2.0.0) is now available at the Maven Central Repository. See [HowToDownload](HowToDownload.md) for download instructions.
66

7-
* Tcases 1.5.4 includes [several improvements](ReleaseNotes.md) to existing features.
7+
* Tcases 2.0.0 is a major release designed to open Tcases up to a much broader community of applications. The [features included](ReleaseNotes.md)
8+
will be especially helpful for applications that use the Tcases API to embed Tcases capabilities into larger programs.
9+
Some changes are not compatible with previous releases.
810

911
* Subscribe to the [Tcases Forum](https://groups.google.com/d/forum/tcases) group to get notifications and share experiences with other Tcases users.
1012

ReleaseNotes.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
# Release Notes #
22

3+
## 2.0.0 ##
4+
5+
* This is a major release designed to open Tcases up to a much broader community of applications. The features included will be
6+
especially helpful for applications that use the Tcases API to embed Tcases capabilities into larger programs.
7+
Some changes are not compatible with previous releases -- details are listed in the **Compatibility** notes below.
8+
9+
* :trophy: Major props go to [Thibault Kruse](https://github.com/tkruse), who proposed and contributed to all of the key features of this release.
10+
11+
* **Reduced dependencies for `tcases-lib`**
12+
* Relocated Ant support to a new `tcases-ant` module
13+
* Relocated command line support from the `Tcases` class to a new `TcasesCommand` class
14+
* Removed direct dependency on `logback-classic` to allow different bindings for the `slf4j` API
15+
16+
* **Expanded characters allowed in names and values**
17+
* Names for input model elements like `System`, `Function`, and `Var` can now contain any Unicode alphabetic character.
18+
(See [DefUtils.isIdentifier()](tcases-lib/src/main/java/org/cornutum/tcases/DefUtils.java#L22).)
19+
* Names for variable `Value` elements can now contain nearly any character -- only XML markup characters disallowed.
20+
Even empty strings are allowed.
21+
(See [DefUtils.isVarValue()](tcases-lib/src/main/java/org/cornutum/tcases/DefUtils.java#L56).)
22+
23+
* **Property annotations**: The `Value` properties that characterize a test case can be useful metadata for further transformations of test case definitions.
24+
So Tcases now automatially attaches an output annotation named `properties` to each `TestCase`.
25+
26+
* **"Not applicable" variables**: Tcases may designate a variable as ["not applicable"](http://www.cornutum.org/tcases/docs/Tcases-Guide.htm#varConditions)
27+
to a test case. But the way this was done was a bit of a hack. Previously, such variables would just be assigned a special value of `"NA"`. But
28+
what if `"NA"` actually means something different in your input domain ("North America", maybe)? You could have used it as a `Value` in your system input
29+
definition, and Tcases wouldn't complain. But when you looked at the resulting test cases generated by Tcases, you couldn't tell which `"NA"`
30+
meant "not applicable" and which meant "North America". Not cool! But this release fixes that problem. Now, you can use `"NA"` as a value however
31+
you like, and Tcases will use a different XML markup to show when a variable is "not applicable". This change will affect existing XML test case documents --
32+
see the **Compatability** notes for details. This also changes how "not applicable" bindings are represented in the API.
33+
34+
* **Compatibility**: The following changes are not backward compatible with previous releases.
35+
* Tcases API
36+
* The Tcases command line interface is now implemented by the `TcasesCommand` class. But programs using the Tcases API directly can continue
37+
to use the basic `Tcases` class.
38+
* Programs using `TcaseTask` API for Ant support must add a dependency on the `tcases-ant` module.
39+
* Programs that use the Tcases API must add a runtime dependency for some binding of the `slf4j` API. For equivalence with previous releases,
40+
add a dependency for `logback-classic`.
41+
* System test documents
42+
* To designate "not applicable" variables, replace all instances of `<Var name="..." value="NA"/>` with `<Var name="..." NA="true"/>`.
43+
Otherwise, for system test documents used to define base test case inputs, test cases containing `"NA"` values may not be
44+
preserved.
45+
346
## 1.5.4 ##
447

548
* Fixes the ```tcases``` and ```tcases-reducer``` commands to correctly support the ```-R``` option.

pom.xml

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,10 @@
44

55
<modelVersion>4.0.0</modelVersion>
66

7-
<parent>
8-
<groupId>org.sonatype.oss</groupId>
9-
<artifactId>oss-parent</artifactId>
10-
<version>7</version>
11-
</parent>
12-
137
<groupId>org.cornutum.tcases</groupId>
148
<artifactId>tcases</artifactId>
159
<packaging>pom</packaging>
16-
<version>1.5.5-SNAPSHOT</version>
10+
<version>2.0.0</version>
1711

1812
<name>Tcases</name>
1913
<description>Generates test cases from system input space models</description>
@@ -60,6 +54,17 @@
6054
<post>https://groups.google.com/d/forum/tcases</post>
6155
</mailingList>
6256
</mailingLists>
57+
58+
<distributionManagement>
59+
<snapshotRepository>
60+
<id>ossrh</id>
61+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
62+
</snapshotRepository>
63+
<repository>
64+
<id>ossrh</id>
65+
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
66+
</repository>
67+
</distributionManagement>
6368

6469
<properties>
6570
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -97,14 +102,15 @@
97102
</executions>
98103
</plugin>
99104
<plugin>
100-
<groupId>org.apache.maven.plugins</groupId>
101-
<artifactId>maven-release-plugin</artifactId>
102-
<version>2.5</version>
103-
<configuration>
104-
<mavenExecutorId>forked-path</mavenExecutorId>
105-
<useReleaseProfile>false</useReleaseProfile>
106-
<arguments>${arguments} -Psonatype-oss-release</arguments>
107-
</configuration>
105+
<groupId>org.sonatype.plugins</groupId>
106+
<artifactId>nexus-staging-maven-plugin</artifactId>
107+
<version>1.6.8</version>
108+
<extensions>true</extensions>
109+
<configuration>
110+
<serverId>ossrh</serverId>
111+
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
112+
<autoReleaseAfterClose>true</autoReleaseAfterClose>
113+
</configuration>
108114
</plugin>
109115
</plugins>
110116
</pluginManagement>
@@ -158,17 +164,14 @@
158164
<plugin>
159165
<groupId>org.apache.maven.plugins</groupId>
160166
<artifactId>maven-gpg-plugin</artifactId>
161-
<version>1.5</version>
167+
<version>1.6</version>
162168
<executions>
163169
<execution>
164170
<id>sign-artifacts</id>
165171
<phase>verify</phase>
166172
<goals>
167173
<goal>sign</goal>
168174
</goals>
169-
<configuration>
170-
<useAgent>false</useAgent>
171-
</configuration>
172175
</execution>
173176
</executions>
174177
</plugin>

tcases-ant/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>1.5.5-SNAPSHOT</version>
10+
<version>2.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-ant</artifactId>

tcases-lib/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>1.5.5-SNAPSHOT</version>
10+
<version>2.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-lib</artifactId>

tcases-lib/src/main/java/org/cornutum/tcases/DefUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public static void assertIdentifier( String id) throws IllegalArgumentException
5151
}
5252

5353
/**
54-
* Returns true if the given string is a valid identifier.
54+
* Returns true if the given string is a valid variable value.
5555
*/
5656
public static boolean isVarValue( String val)
5757
{

tcases-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>1.5.5-SNAPSHOT</version>
10+
<version>2.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-maven-plugin</artifactId>

tcases-shell/docs/Tcases-Guide.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<IMG src="cornutum-logo.png"/>
1111
<SPAN class="title"> Tcases: The Complete Guide </SPAN> <BR/>
1212
<SPAN class="subtitle">Version ${shell.version} (${shell.timestamp})</SPAN><BR/>
13-
<SPAN class="subtitle">&copy; 2012-2016 Cornutum Project</SPAN>
13+
<SPAN class="subtitle">&copy; 2012-2018 Cornutum Project</SPAN>
1414
</DIV>
1515

1616
<H2>Contents</H2>

tcases-shell/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>1.5.5-SNAPSHOT</version>
10+
<version>2.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-shell</artifactId>

0 commit comments

Comments
 (0)