Skip to content

Commit 771d2c5

Browse files
#2: Add project skeleton (#3)
* #2: Add project skeleton with required file and directory structure --------- Co-authored-by: kaklakariada <kaklakariada@users.noreply.github.com>
1 parent ea79897 commit 771d2c5

18 files changed

+1016
-18
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
5+
---
6+
7+
# Description
8+
A clear and concise description of what the bug is.
9+
10+
## Steps to Reproduce
11+
1. ...
12+
2. ...
13+
14+
## Expected behavior
15+
A clear and concise description of what you expected to happen.
16+
17+
# Environment
18+
- OFT: [e.g. 1.2.3]
19+
- AsciiDoc plugin: [e.g. 1.0.1]
20+
- OS: [e.g. Debian Linux 9, Kernel 4.13.0]
21+
- Java Version: [e.g. openjdk version "1.8.0_162"]
22+
- Maven Version (in case of build problems only): [e.g. 3.5.0]
23+
24+
## Additional context
25+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/Custom.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: User Story
3+
about: A use scenario written from the perspective of the end user
4+
5+
---
6+
7+
As a *role name*
8+
I want to ...
9+
in order to ...
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
5+
---
6+
7+
**Is your feature request related to a problem? Please describe.**
8+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9+
10+
**Describe the solution you'd like**
11+
A clear and concise description of what you want to happen.
12+
13+
**Describe alternatives you've considered**
14+
A clear and concise description of any alternative solutions or features you've considered.
15+
16+
**Additional context**
17+
Add any other context or screenshots about the feature request here.

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"

.github/workflows/github_release.sh

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ set -o pipefail
66

77
base_dir="$( cd "$(dirname "$0")/../.." >/dev/null 2>&1 ; pwd -P )"
88
readonly base_dir
9-
readonly pom_file="$base_dir/parent/pom.xml"
9+
readonly pom_file="$base_dir/pom.xml"
1010

1111
# Read project version from pom file
12-
project_version=$(grep "<revision>" "$pom_file" | sed --regexp-extended 's/\s*<revision>(.*)<\/revision>\s*/\1/g')
12+
project_version=$(grep "<version>" "$pom_file" | sed --regexp-extended 's/\s*<version>(.*)<\/version>\s*/\1/g' | head --lines=1)
1313
readonly project_version
1414
echo "Read project version '$project_version' from $pom_file"
1515

1616
# Calculate checksum
17-
readonly artifact_path="$base_dir/product/target/openfasttrace-${project_version}.jar"
17+
readonly artifact_path="$base_dir/target/openfasttrace-asciidoc-plugin-${project_version}.jar"
1818
echo "Calculate sha256sum for file '$artifact_path'"
1919
file_dir="$(dirname "$artifact_path")"
2020
readonly file_dir
@@ -26,12 +26,8 @@ sha256sum "$file_name" > "$checksum_file_name"
2626
readonly checksum_file_path="$file_dir/$checksum_file_name"
2727
cd "$base_dir"
2828

29-
3029
# Create GitHub release
3130
readonly changes_file="$base_dir/doc/changes/changes_${project_version}.md"
32-
notes=$(cat "$changes_file")
33-
readonly notes
34-
3531
readonly title="Release $project_version"
3632
readonly tag="$project_version"
3733
echo "Creating release:"
@@ -41,6 +37,6 @@ echo "Changes file : $changes_file"
4137
echo "Artifact file: $artifact_path"
4238
echo "Checksum file: $checksum_file_path"
4339

44-
release_url=$(gh release create --latest --title "$title" --notes "$notes" --target main "$tag" "$artifact_path" "$checksum_file_path")
40+
release_url=$(gh release create --latest --title "$title" --notes-file "$changes_file" --target main "$tag" "$artifact_path" "$checksum_file_path")
4541
readonly release_url
4642
echo "Release URL: $release_url"

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Thank you for your interest in helping us to make OpenFastTrace (OFT) better!
2+
3+
# Goal of This Document
4+
This document aims at answering all the questions potential contributors to OFT might have before feeling ready to get started.
5+
6+
# What This Document is not
7+
If you are looking for general information about what OpenFastTrace is, please make sure to check out the [ReadMe](./README.md) that comes with the project.
8+
9+
# What Kind of Contributions can I Make?
10+
11+
## Contributing Code
12+
If you are a programmer and want to help us improve the implementation, test cases or design of OFT please create a branch of the current `main` branch of OFT using [git](https://git-scm.com/) and make your changes on that branch.
13+
14+
Then please create a pull request and ask for a review by one of the core team members (e.g. `redcatbear` or `kaklakariada`).
15+
The reviewers will either ask you to work in review findings or if there are none, merge your branch.
16+
17+
## Testing
18+
We are happy if you test OFT! While we do a great deal of testing ourselves, we want OFT to be as portable as possible. So it is especially helpful for us if you test on a platform that we don't have.
19+
20+
If you find a bug, please let us know by writing an [issue ticket](https://github.com/itsallcode/openfasttrace/issues/new?template=Bug_report.md). There is a template for bug tickets that helps you provide all the information that we need to reproduce and tackle the bug you found.
21+
22+
If you are a programmer, a code contribution in form of an automatic unit test case would be most appreciated, since this will make reproduction of the issue easier and prevent future regressions.
23+
24+
## Contributing to the User Guide
25+
Maybe you are good at explaining how to use OFT to end users? Help us improve the [user guide](doc/user_guide.md)!
26+
27+
## Translations
28+
We plan to make OFT multilingual. If you want to provide a translation, feel free to contact us. Messages in OFT and the user guide are prime candidates for translation.
29+
30+
## Fields of Application
31+
Found a clever way to apply OFT in a new field of application? [Share your story with the OFT community](https://github.com/itsallcode/openfasttrace/wiki/OFT-Stories)!
32+
33+
## Ideas
34+
Last but not least if you have ideas for ways to improve or extend OFT, feel free to write a [feature request](https://github.com/itsallcode/openfasttrace-asciidoc-plugin/issues/new?template=Feature_request.md).
35+
36+
# Style Guides
37+
We want OFT to have a professional and uniform coding style. Formatter rules for Eclipse are part of the project. If you use a different editor, please make sure to match the current code formatting.
38+
39+
We develop the code following the principles described in Robert C. Martin's book "Clean Code" as our guide line for designing and organizing the code.

README.md

Lines changed: 91 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,91 @@
1-
# openfasttrace-asciidoc-plugin
2-
AsciiDoc-importer for OpenFastTrace
1+
# <img src="doc/openfasttrace_logo.svg" alt="OFT logo" width="150"/> OpenFastTrace AsciiDoc Plugin
2+
3+
## What is OpenFastTrace AsciiDoc Plugin?
4+
5+
This plugin allows OpenFastTrace (OFT) to parse and trace requirements in AsciiDoc files. Requirement tracing keeps track of whether you implemented everything you planned to in your specifications. It also identifies obsolete parts of your product and helps you to get rid of them.
6+
7+
For more details about requirement tracing and how to use OpenFastTrace, refer to the [user guide](doc/user_guide.md).
8+
9+
_[Place a screenshot of a tracing report generated using this plugin here]_
10+
11+
## Project Information
12+
13+
[![Build](https://github.com/itsallcode/openfasttrace-asciidoc-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/itsallcode/openfasttrace-asciidoc-plugin/actions/workflows/build.yml)
14+
15+
Sonarcloud status:
16+
17+
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
18+
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=bugs)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
19+
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
20+
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=coverage)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
21+
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
22+
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
23+
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
24+
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
25+
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
26+
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
27+
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=org.itsallcode%3Aopenfasttrace-asciidoc-plugin&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=org.itsallcode%3Aopenfasttrace-asciidoc-plugin)
28+
29+
## What is AsciiDoc?
30+
31+
[AsciiDoc](https://asciidoc.org/) is a human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions. AsciiDoc documents can be created using any text editor and can be viewed and edited in source form without requiring additional tools.
32+
33+
AsciiDoc is highly configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user.
34+
35+
## How does AsciiDoc fit into OFT?
36+
37+
In the context of OpenFastTrace (OFT), AsciiDoc files can be used to write the software requirements specification. The AsciiDoc format allows for requirement IDs to be embedded in the text, which can then be traced by OFT.
38+
39+
Using the AsciiDoc Plugin, OFT is able to read and parse AsciiDoc files, trace the requirements mentioned in the files, and generate a requirement tracing report. This allows for easy tracking of the implementation status of each requirement directly from the specification document.
40+
41+
**User Guides**
42+
43+
* [📖 User Guide](doc/user_guide.md)
44+
45+
**News and Discussions**
46+
47+
* [📢 Blog](https://blog.itsallcode.org/)
48+
* [🗨️ Discussion Board](https://github.com/itsallcode/openfasttrace/discussions)
49+
50+
**Information for Contributors**
51+
52+
* [🎟️ Project Board](https://github.com/orgs/itsallcode/projects/3/views/1)
53+
* [🦮 Developer Guide](doc/developer_guide.md)
54+
* [🎁 Contributing Guide](CONTRIBUTING.md)
55+
56+
## Using OpenFastTrace AsciiDoc Plugin
57+
58+
The plugin can be used with the standard OFT command line, integrated into Maven or Gradle build cycles, or applied through a continuous integration pipeline.
59+
60+
For more detailed information on how to use OpenFastTrack with AsciiDoc Plugin, consult our [user guide](doc/user_guide.md).
61+
62+
## Getting OpenFastTrace AsciiDoc Plugin
63+
64+
The OpenFastTrace AsciiDoc Plugin is supplied as a Java Archive (JAR) which can be obtained from:
65+
66+
* [Maven Central](#)
67+
* [GitHub](https://github.com/itsallcode/openfasttrace-asciidoc-plugin/releases)
68+
69+
More details about adding the plugin to an existing establishment are outlined in the [developer guide](doc/developer_guide.md).
70+
71+
## Installation
72+
73+
### Runtime Dependencies
74+
75+
OpenFastTrace AsciiDoc Plugin needs a Java 17 (or later) runtime environment to run properly.
76+
77+
#### Installation of Runtime Dependencies on Linux
78+
79+
##### Ubuntu or Debian
80+
81+
To install Java Runtime Environment:
82+
83+
apt-get install openjdk-17-jre
84+
85+
## Running OpenFastTrace With the AsciiDoc Plugin
86+
87+
To run OFT with the plugin, you can add the plugin to the Java classpath or one of OFT's plugin search directories.
88+
89+
For more details, please check out the OFT user guide's chapter on plugins.
90+
91+
<!-- TODO: add link -->

doc/changes/changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Changes
2+
3+
* [0.1.0](changes_0.1.0.md)

doc/changes/changes_0.1.0.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# OpenFastTrace AsciiDoc Plugin 0.1.0, released YYYY-MM-DD
2+
3+
Code name: {Codename}
4+
5+
## Summary
6+
7+
In this inaugural release of the AsciiDoc OpenFastTrace Plugin, we have established a foundation for adding, updating, and manipulating OpenFastTrace specification items directly within AsciiDoc documents.
8+
9+
Here you can add more details about the general changes and improvements of this version.
10+
11+
## Breaking Changes
12+
13+
If there were significant or breaking changes made in this version, describe them here.
14+
15+
## Features
16+
17+
* If there were any major features added in this version, list them here. Each feature should contain a brief explanation and, if applicable, any issue or PR numbers related to the feature.
18+
19+
## Bug Fixes
20+
21+
* If there were any bugs fixed in this version, detail them here. Like the features, they should contain a concise explanation and relevant issue numbers.
22+
23+
## Known Issues
24+
25+
* If there are any known issues in this version that were not fixed, list them here. Provide as much detail as possible to help users understand the impact and any potential workarounds.
26+
27+
Please replace 'YYYY-MM-DD' with the actual release date, and '{Codename}' with the actual codename for this version, if any.

0 commit comments

Comments
 (0)