You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenFastTrace is a requirement tracing suite. Requirement tracing helps you keeping track of whether you actually implemented everything you planned to in your specifications. It also identifies obsolete parts of your product and helps you getting rid of them.
5
+
OpenFastTrace (short OFT) is a requirement tracing suite. Requirement tracing helps you keeping track of whether you actually implemented everything you planned to in your specifications. It also identifies obsolete parts of your product and helps you getting rid of them.
6
6
7
7
You can learn more about requirement tracing and how to use OpenFastTrace in the [user guide](doc/user_guide.md).
8
8
9
+
Below you see a screenshot of of a HTML tracing report where OFT traces itself. You see a summary followed by a detail view of the traced requirements.
10
+
11
+
<imgsrc="doc/images/oft_screenshot_tracing_report.png"style="box-shadow: 5px10px18px#888888;"alt="OFT HTML tracing report">
To use OpenFastTrace as a dependency in your maven project add this to your `pom.xml`:
49
+
If you want to use OFT, you have the choice between using it as part of your build process — typically with Maven or Gradle. Or you can run OFT from the command line.
49
50
50
-
```xml
51
-
<dependencies>
52
-
<dependency>
53
-
<groupId>org.itsallcode</groupId>
54
-
<artifactId>openfasttrace</artifactId>
55
-
<version>2.1.0</version>
56
-
<scope>compile</scope>
57
-
</dependency>
58
-
</dependencies>
59
-
```
51
+
Check the [user guide](doc/user_guide.md) for detailed information on how to use OpenFastTrack.
60
52
61
-
### Gradle
53
+
##Getting OpenFastTrace
62
54
63
-
To use OpenFastTrace as a dependency in your gradle project:
55
+
OpenFastTrace at it's core is a Java Archive (short "[JAR]"(https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#JAR%20Manifest)). This file contains the OpenFastTrace Library and an entry point for [running OFT from the command line](#running-openfasttrace).
64
56
65
-
```groovy
66
-
repositories {
67
-
jcenter()
68
-
}
69
-
dependencies {
70
-
compile "org.itsallcode:openfasttrace:2.1.0"
71
-
}
72
-
```
57
+
### Getting Pre-Built Packages
73
58
74
-
## Using OpenFastTrace
59
+
Pre-Built JAR files (called `openfasttrace-2.2.0.jar`) are available from the following places:
75
60
76
-
Check the [user guide](doc/user_guide.md) for information on how to use OpenFastTrack.
Check our [developer guide](doc/developer_guide.md#getting-the-openfasttrace-library] to learn how to use the OFT JAR as dependency in your own code with popular build tools.
77
66
78
67
## Installation
79
68
80
69
### Runtime Dependencies
81
70
82
71
OpenFastTrace only needs a Java 8 (or later) runtime environment to run.
83
72
84
-
#### Installation of runtime dependencies on Linux
73
+
#### Installation of Runtime Dependencies on Linux
85
74
86
75
##### Ubuntu or Debian
87
76
88
77
If you just want to run OFT:
89
78
90
79
apt-get install openjdk-8-jre
91
80
92
-
If you want to build OFT:
93
-
94
-
apt-get install openjdk-8-jdk maven
95
-
96
-
## Development
97
-
98
-
### Build Time Dependencies
99
-
100
-
The list below show all build time dependencies in alphabetical order. Note that except the Maven build tool all required modules are downloaded automatically by Maven.
|[Equals Verifier](https://github.com/jqno/equalsverifier)| Automatic contract checker for `equals()` and `hash()`| Apache License 2.0 |
106
-
|[Hamcrest Auto Matcher](https://github.com/itsallcode/hamcrest-auto-matcher)| Speed-up for building Hamcrest matchers | GNU General Public License V3 |
107
-
|[JUnit](https://junit.org/junit5)| Unit testing framework | Eclipse Public License 1.0 |
108
-
|[Mockito](http://site.mockito.org/)| Mocking framework | MIT License |
109
-
|[JUnit5 System Extensions](https://github.com/itsallcode/junit5-system-extensions)| JUnit extension for testing `System.x` calls | Eclipse Public License 2.0 |
* Run `mvn exec:java@trace` to run requirements tracing.
117
-
118
-
### Using Eclipse
119
-
120
-
Import as a Maven project using *"File" → "Import..." → "Maven" → "Existing Maven Projects"*
121
-
122
-
### Configure Logging
123
-
124
-
We use [`java.util.logging`](https://docs.oracle.com/javase/8/docs/technotes/guides/logging/overview.html) for logging. To configure log level and formatting, add the following system property:
* We use [license-maven-plugin](http://www.mojohaus.org/license-maven-plugin) to check in `verify` phase that all files have the correct license header. The build will fail if there are any files with missing/outdated headers.
133
-
* To update files with correct license headers and generate file `LICENSE.txt`, run command
83
+
The most basic variant to run OpenFastTrace is directly from the JAR file via the command line:
If you want to run OFT automatically as part of a continuous build, we recommend using our [Gradle Plugin](https://github.com/itsallcode/openfasttrace-gradle).
147
90
148
-
See analysis results at https://sonarcloud.io/dashboard?id=org.itsallcode%3Aopenfasttrace
91
+
For more details about how to run OFT please consult the [user guide](doc/user_guide.md).
1. Add the following to your `~/.m2/settings.xml`:
161
-
162
-
```xml
163
-
<servers>
164
-
<server>
165
-
<id>itsallcode-maven-repo</id>
166
-
<username>[bintray-username]</username>
167
-
<password>[bintray-api-key]</password>
168
-
</server>
169
-
</servers>
170
-
```
171
-
172
-
1. Checkout the `develop` branch.
173
-
1. Update version in `pom.xml` and `README.md`, commit and push.
174
-
1. Run command
175
-
176
-
```bash
177
-
mvn deploy
178
-
```
179
-
1. Merge to `master` branch
180
-
1. Create a [release](https://github.com/itsallcode/openfasttrace/releases) of the `master` branch on GitHub.
181
-
1. Sign in at [bintray.com](https://bintray.com)
182
-
1. Go to the [Bintray project page](https://bintray.com/itsallcode/itsallcode/openfasttrace)
183
-
1. There should be a notice saying "You have 6 unpublished item(s) for this package". Click the "Publish" link. Binaries will be available for download at [JCenter](https://jcenter.bintray.com/org/itsallcode/openfasttrace/)
184
-
1. Publish to Maven Central by clicking the "Sync" button at https://bintray.com/itsallcode/itsallcode/openfasttrace#central. After some time the new version will appear at https://repo1.maven.org/maven2/org/itsallcode/openfasttrace/.
95
+
If you want to learn how to build OpenFastTrace, please check our [Developer Guide](doc/developer_guide.md).
185
96
97
+
You would like to contribute to OFT? Please check out our [Contributor Guide](CONTRIBUTION.md) to get started.
This document contains technical information for developers contributing to OpenFastTrace (short OFT).
4
+
5
+
If you want to know more about how to contribute to OFT, please check out our [Contributor Guide](../CONTRIBUTION.md).
6
+
7
+
## Getting the OpenFastTrace Library
8
+
9
+
#### Getting OFT via Maven
10
+
11
+
To use OpenFastTrace as a dependency in your [Maven](https://maven.apache.org) project add this to your `pom.xml`:
12
+
13
+
```xml
14
+
<dependencies>
15
+
<dependency>
16
+
<groupId>org.itsallcode</groupId>
17
+
<artifactId>openfasttrace</artifactId>
18
+
<version>2.2.0</version>
19
+
<scope>compile</scope>
20
+
</dependency>
21
+
</dependencies>
22
+
```
23
+
24
+
### Getting OFT via Gradle
25
+
26
+
To use OpenFastTrace as a dependency in your [Gradle](https://gradle.org/) project:
27
+
28
+
```groovy
29
+
dependencies {
30
+
compile "org.itsallcode:openfasttrace:2.2.0"
31
+
}
32
+
```
33
+
34
+
## Build Time Dependencies
35
+
36
+
The list below shows all build time dependencies in alphabetical order. Note that except the Maven build tool all required modules are downloaded automatically by Maven.
|[Equals Verifier](https://github.com/jqno/equalsverifier)| Automatic contract checker for `equals()` and `hash()`| Apache License 2.0 |
42
+
|[Hamcrest Auto Matcher](https://github.com/itsallcode/hamcrest-auto-matcher)| Speed-up for building Hamcrest matchers | GNU General Public License V3 |
43
+
|[JUnit](https://junit.org/junit5)| Unit testing framework | Eclipse Public License 1.0 |
44
+
|[Mockito](http://site.mockito.org/)| Mocking framework | MIT License |
45
+
|[JUnit5 System Extensions](https://github.com/itsallcode/junit5-system-extensions)| JUnit extension for testing `System.x` calls | Eclipse Public License 2.0 |
OpenFastTrace uses [Apache Maven](https://maven.apache.org) as technical project management tool that resolves and downloads the build-dependencies before building the packages.
51
+
52
+
### Installation of Initial Build Dependencies on Linux
* Run `mvn exec:java@trace` to run requirements tracing.
65
+
66
+
## Using Eclipse
67
+
68
+
Import as a Maven project using *"File" → "Import..." → "Maven" → "Existing Maven Projects"*
69
+
70
+
## Configure Logging
71
+
72
+
We use [`java.util.logging`](https://docs.oracle.com/javase/8/docs/technotes/guides/logging/overview.html) for logging. To configure log level and formatting, add the following system property:
* We use [license-maven-plugin](http://www.mojohaus.org/license-maven-plugin) to check in`verify` phase that all files have the correct license header. The build will fail if there are any files with missing/outdated headers.
80
+
* To update files with correct license headers and generate file `LICENSE.txt`, run command
1. Add the following to your `~/.m2/settings.xml`:
108
+
109
+
```xml
110
+
<servers>
111
+
<server>
112
+
<id>itsallcode-maven-repo</id>
113
+
<username>[bintray-username]</username>
114
+
<password>[bintray-api-key]</password>
115
+
</server>
116
+
</servers>
117
+
```
118
+
119
+
1. Checkout the `develop` branch.
120
+
1. Update version in`pom.xml` and `README.md`, commit and push.
121
+
1. Run command
122
+
123
+
```bash
124
+
mvn deploy
125
+
```
126
+
1. Merge to `master` branch
127
+
1. Create a [release](https://github.com/itsallcode/openfasttrace/releases) of the `master` branch on GitHub.
128
+
1. Sign in at [bintray.com](https://bintray.com)
129
+
1. Go to the [Bintray project page](https://bintray.com/itsallcode/itsallcode/openfasttrace)
130
+
1. There should be a notice saying "You have 6 unpublished item(s) for this package". Click the "Publish" link. Binaries will be available for download at [JCenter](https://jcenter.bintray.com/org/itsallcode/openfasttrace/)
131
+
1. Publish to Maven Central by clicking the "Sync" button at https://bintray.com/itsallcode/itsallcode/openfasttrace#central. After some time the new version will appear at https://repo1.maven.org/maven2/org/itsallcode/openfasttrace/.
0 commit comments