Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#378: RST importer #386

Merged
merged 41 commits into from
Jun 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
23811d5
#378: Incomplete: extracted common parser code.
redcatbear Feb 16, 2024
935990f
#378: Added missing JavaDoc.
redcatbear Feb 16, 2024
8dcc48f
Merge branch 'main' into feature/378_rst_importer
kaklakariada Feb 16, 2024
e9af239
Increment version number
Feb 16, 2024
cc47c49
Implement review findings
Feb 16, 2024
ac67dc1
Fix coverage collection
Feb 16, 2024
86bb4c7
Generate XML report for sonar
Feb 16, 2024
b77943e
Fix indentation
Feb 16, 2024
076a990
Cleanup pom
Feb 16, 2024
9c8d7a5
#342: Improved logo transparency.
redcatbear Feb 17, 2024
6e1706c
Merge remote-tracking branch 'origin/main'
redcatbear Feb 17, 2024
55c52b1
Merge remote-tracking branch 'origin/main' into feature/378_rst_importer
redcatbear Feb 17, 2024
68ee1c1
Revert changes to Jacoco configuration
Feb 17, 2024
83633c5
Merge remote-tracking branch 'origin/main' into feature/378_rst_importer
kaklakariada Feb 17, 2024
5e4d322
#342: Started RST importer
redcatbear Feb 19, 2024
e4c0971
Merge remote-tracking branch 'origin/feature/378_rst_importer' into f…
redcatbear Feb 25, 2024
46787ea
#342: Added RST importer factory. RST parser test cases still missing.
redcatbear Mar 6, 2024
e1f28a2
Merge branch 'main' of https://github.com/itsallcode/openfasttrace
redcatbear Mar 6, 2024
83156a9
Merge branch 'main' into feature/378_rst_importer
redcatbear Mar 6, 2024
a6f2cac
#342: Reverted accidental changes in the change log entry of 3.8.0.
redcatbear Mar 6, 2024
7a8ee0b
#342: Started replacing tests for Markdown importer.
redcatbear Mar 10, 2024
1fab988
#378: Refactored MarkdownImporter removed legacy ID. Broke Spec-Objec…
redcatbear Mar 21, 2024
c63c5e7
#378: Fixed tests. Self-trace broken.
redcatbear Apr 16, 2024
045f854
Merge branch 'main' of https://github.com/itsallcode/openfasttrace
redcatbear Apr 20, 2024
6683f78
Merge branch 'main' into feature/378_rst_importer
redcatbear Apr 20, 2024
3ba7687
#378: Unfinishend refactoring with unresolvable symbol.
redcatbear Apr 20, 2024
2668947
Update Eclipse config files to Java 17
kaklakariada Apr 20, 2024
829fc26
Update doc/changes/changes_4.0.0.md
redcatbear Apr 20, 2024
73caec5
Merge branch 'feature/378_rst_importer' of https://github.com/itsallc…
kaklakariada Apr 20, 2024
7240d9b
Remove unnecessary logger
kaklakariada Apr 20, 2024
99981ae
Move AbstractLightWeightMarkupImporterTest to testutil (#407)
kaklakariada May 5, 2024
800c1ff
Merge remote-tracking branch 'origin/main' into feature/378_rst_importer
kaklakariada May 5, 2024
a159583
Fix merge errors
kaklakariada May 5, 2024
6bc3a71
Fix codeql build
kaklakariada May 5, 2024
9ad93ae
Apply suggestions from code review
kaklakariada May 30, 2024
633d775
Implement review findings
kaklakariada May 30, 2024
380436b
Update Eclipse configuration for new module
kaklakariada May 30, 2024
32c966d
Fix self trace
kaklakariada May 30, 2024
c3231f3
Fix path under Windows
kaklakariada May 30, 2024
9b8e5ef
Fix formatting
May 31, 2024
efb776b
Fix parsing of underlined headers (#411)
kaklakariada Jun 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ jobs:
strategy:
fail-fast: true
matrix:
java: [11]
java: [17]
os: [ubuntu-latest, macos-latest, windows-latest]
include:
- os: ubuntu-latest
java: 17
- os: ubuntu-latest
java: 21

Expand All @@ -32,7 +30,7 @@ jobs:
shell: "bash"
name: "Build on ${{ matrix.os }} with Java ${{ matrix.java }}"
env:
DEFAULT_JAVA: 11
DEFAULT_JAVA: 17
DEFAULT_OS: ubuntu-latest

steps:
Expand All @@ -45,7 +43,6 @@ jobs:
with:
distribution: 'temurin'
java-version: |
11
17
21
cache: 'maven'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
java-version: 17
cache: 'maven'

- name: Initialize CodeQL
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ doc/**/*.html
.idea/
*.iml
pom.xml.versionsBackup
.DS_Store
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
"-Djava.util.logging.config.file=src/test/resources/logging.properties"
]
},
"[java]": {
"editor.detectIndentation": false,
"editor.tabSize": 4,
"editor.indentSize": "tabSize"
},
"sonarlint.connectedMode.project": {
"connectionId": "itsallcode",
"projectKey": "org.itsallcode.openfasttrace:openfasttrace-root"
Expand Down
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## What is OpenFastTrace?

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.
OpenFastTrace (short OFT) is a requirement tracing suite. Requirement tracing keeps track of whether you actually implemented everything you planned to in your specifications. It also identifies obsolete parts of your product and helps you to get rid of them.

You can learn more about requirement tracing and how to use OpenFastTrace in the [user guide](doc/user_guide.md).

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.
Below you see a screenshot of an HTML tracing report where OFT traces itself. You see a summary followed by a detail view of the traced requirements.

<img src="doc/images/oft_screenshot_tracing_report.png" style="box-shadow: 5px 10px 18px #888888;" alt="OFT HTML tracing report">

Expand All @@ -31,7 +31,6 @@ Sonarcloud status:

**User Guides**

* [📖 About us](doc/about_us.md)
* [📖 User Guide](doc/user_guide.md)
* [💲 Command Line Usage](core/src/main/resources/usage.txt)

Expand All @@ -42,6 +41,7 @@ Sonarcloud status:
* [📅 Upcoming Milestones](https://github.com/orgs/itsallcode/projects/3/views/3)
* [🗨️ Discussion Board](https://github.com/itsallcode/openfasttrace/discussions)
* [✨ OpenFastTrace Stories](https://github.com/itsallcode/openfasttrace/wiki/OFT-Stories)
* [ℹ️ About us](doc/about_us.md)

**Information for Contributors**

Expand Down Expand Up @@ -70,33 +70,34 @@ OpenFastTrace at it's core is a Java Archive (short "[JAR](https://docs.oracle.c

### Getting Pre-Built Packages

Pre-Built JAR files (called `openfasttrace-3.8.0.jar`) are available from the following places:
Pre-Built JAR files (called `openfasttrace-4.0.0.jar`) are available from the following places:

* [Maven Central](https://repo1.maven.org/maven2/org/itsallcode/openfasttrace/openfasttrace/3.8.0/openfasttrace-3.8.0.jar)
* [GitHub](https://github.com/itsallcode/openfasttrace/releases/download/3.8.0/openfasttrace-3.8.0.jar)
* [Maven Central](https://repo1.maven.org/maven2/org/itsallcode/openfasttrace/openfasttrace/4.0.0/openfasttrace-4.0.0.jar)
* [GitHub](https://github.com/itsallcode/openfasttrace/releases/download/4.0.0/openfasttrace-4.0.0.jar)

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.

## Installation

### Runtime Dependencies

OpenFastTrace 3.0.0 and above only needs a Java 11 (or later) runtime environment to run. Older versions of OpenFastTrace can run with Java 8.
OpenFastTrace 4.0.0 and above only needs a Java 17 (or later) runtime environment to run. OpenFastTrace until version 3.x.x supported Java 11. Versions prior to that ran with Java 8.
Note that only the latest version of OFT is actively supported.

#### Installation of Runtime Dependencies on Linux

##### Ubuntu or Debian

If you just want to run OFT:

apt-get install openjdk-11-jre
apt-get install openjdk-17-jre

## Running OpenFastTrace

The most basic variant to run OpenFastTrace is directly from the JAR file via the command line:

```bash
java -jar product/target/openfasttrace-3.8.0.jar trace /path/to/directory/being/traced
java -jar product/target/openfasttrace-4.0.0.jar trace /path/to/directory/being/traced
```

If you want to run OFT automatically as part of a continuous build, we recommend using our plugins for [Gradle](https://github.com/itsallcode/openfasttrace-gradle) and [Maven](https://github.com/itsallcode/openfasttrace-maven-plugin).
Expand Down
6 changes: 3 additions & 3 deletions api/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
Expand Down Expand Up @@ -129,7 +129,7 @@ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
Expand Down
2 changes: 1 addition & 1 deletion api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
exports org.itsallcode.openfasttrace.api.importer.tag.config;
exports org.itsallcode.openfasttrace.api.exporter;
exports org.itsallcode.openfasttrace.api.report;
// Required to run the EqualsVerifier:
// Workaround: Required for the EqualsVerifier
opens org.itsallcode.openfasttrace.api.core;

requires java.logging;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ public class SpecificationItemId implements Comparable<SpecificationItemId>
+ ITEM_NAME_PATTERN //
+ REVISION_SEPARATOR //
+ ITEM_REVISION_PATTERN;
// [impl->dsn~md.eb-markdown-id~1]
private static final String LEGACY_ID = LEGACY_ID_NAME + ", *v" //
+ ITEM_REVISION_PATTERN;
private static final int ARTIFACT_TYPE_MATCHING_GROUP = 1;
Expand Down Expand Up @@ -370,8 +369,8 @@ private void parseId()
}
else
{
throw new IllegalStateException(
"String '" + this.id + "' cannot be parsed to a specification item ID");
throw new IllegalArgumentException("Invalid specification item ID format: \"" + this.id
+ "\". Format must be <arifact-type>~<requirement-name-or-number>~<revision>.");
}
}
}
Expand Down

This file was deleted.

Loading
Loading