Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
.PHONY: all
.PHONY: all_html
all: artifacts/requirements.pdf artifacts/req-graph1.png \
artifacts/req-graph2.png all_html
artifacts/requirements.xlsx artifacts/req-graph2.png \
all_html

# Adding new files (especially requirements) can not automatically
# handled. The 'force' target tries to handle this.
Expand Down Expand Up @@ -57,6 +58,7 @@ clean:
artifacts/requirements.aux artifacts/requirements.dvi \
artifacts/requirements.log artifacts/requirements.out \
artifacts/requirements.pdf artifacts/requirements.toc \
artifacts/requirements.xlsx \
add_data.py*
rm -fr debian/rmtoo build

Expand Down
55 changes: 31 additions & 24 deletions contrib/template_project/Config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,29 @@
"analytics": {
"stop_on_errors": false
}
},
},
"requirements": {
"input": {
"commit_interval": {
"begin": "FILES",
"begin": "FILES",
"end": "FILES"
},
"default_language": "en_GB",
},
"default_language": "en_GB",
"dependency_notation": [
"Solved by"
],
],
"directory": "requirements"
},
},
"inventors": [
"flonatel"
],
],
"stakeholders": [
"development",
"management",
"users",
"development",
"management",
"users",
"customers"
]
},
},
"topics": {
"ts_common": {
"sources": [
Expand All @@ -36,54 +36,61 @@
"topic_root_node": "ReqsDocument",
"constraints_dirs": [ "constraints" ],
"testcases_dirs": [ "testcases" ] }
]
]
],
"output": {
"graph": [
{
"output_filename": "artifacts/req-graph1.dot"
}
],
],
"graph2": [
{
"output_filename": "artifacts/req-graph2.dot"
}
],
],
"html": [
{
"footer": "html/footer.html",
"header": "html/header.html",
"footer": "html/footer.html",
"header": "html/header.html",
"output_directory": "artifacts/html"
}
],
],
"LatexJinja2": [
{
"template_path": "latex/LatexJinja2",
"output_filename": "artifacts/reqtopics.tex"
}
],
],
"xls": [
{
"output_filename": "artifacts/specification.xlsx",
"template_filename": "import/specification-template.xlsx",
"req_sheet": "Specification"
}
],
"prios": [
{
"output_filename": "artifacts/reqsprios.tex"
}
],
],
"stats_burndown1": [
{
"output_filename": "artifacts/stats_burndown.csv",
"output_filename": "artifacts/stats_burndown.csv",
"start_date": "2011-05-01"
}
],
],
"stats_reqs_cnt": [
{
"output_filename": "artifacts/stats_reqs_cnt.csv"
}
],
],
"stats_sprint_burndown1": [
{
"output_filename": "artifacts/stats_sprint_burndown.csv",
"output_filename": "artifacts/stats_sprint_burndown.csv",
"start_date": "2011-05-01"
}
],
],
"version1": [
{
"output_filename": "artifacts/reqs-version.txt"
Expand Down
Binary file not shown.
2 changes: 1 addition & 1 deletion contrib/template_project/requirements/project.req
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: project
Type: master requirement
Type: requirement
Invented on: 2010-10-09
Invented by: flonatel
Owner: development
Expand Down
13 changes: 12 additions & 1 deletion doc/Config1.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
"stop_on_errors": false
}
},
"import": {
"xls": {
"import_filename": "doc/import/requirements.xlsx"
}
},
"requirements": {
"input": {
"default_language": "en_GB",
Expand All @@ -28,7 +33,8 @@
]
},
"inventors": [
"flonatel"
"flonatel",
"kno"
],
"stakeholders": [
"development",
Expand Down Expand Up @@ -90,6 +96,11 @@
"output_filename": "artifacts/reqtopics.tex"
}
],
"xls": [
{
"output_filename": "artifacts/requirements.xlsx"
}
],
"oopricing1": [
{
"output_filename": "artifacts/reqspricing"
Expand Down
12 changes: 12 additions & 0 deletions doc/requirements/Import.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Name: Import Requirements
Type: requirement
Invented on: 2018-07-01
Invented by: kno
Description: Import requirements from other sources.
Note: Provide a simpler interface to the text files.
Owner: development
Status: not done
Priority: development:10
Effort estimation: 5
Topic: Import
Solved by: Import/Xls
15 changes: 15 additions & 0 deletions doc/requirements/Import/Xls.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Name: Xlsx Import
Type: design decision
Invented on: 2018-09-23
Invented by: kno
Owner: development
Description: Import requirement files from the exported xlsx
file.
Rationale: Some people prefer to handle their requirements in
familiar tools.
Status: not done
Priority: development:10
Effort estimation: 3
Topic: Import
Solved by: Import/XlsDefaultSolvedby Import/XlsFutureInventedOn
Import/XlsBackupImportFile
12 changes: 12 additions & 0 deletions doc/requirements/Import/XlsBackupImportFile.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Name: Backup Imported File
Type: requirement
Invented on: 2018-10-12
Invented by: kno
Owner: development
Description: Xlsx files that have been successfully imported are
renamed to its current name with the current timestamp appended.
Rationale: Avoid importing files multiple times.
Status: assigned:kno:2018-10-12
Priority: development:10
Effort estimation: 1
Topic: Import
14 changes: 14 additions & 0 deletions doc/requirements/Import/XlsDefaultSolvedby.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Name: Default SolvedBy argument
Type: requirement
Invented on: 2018-09-23
Invented by: kno
Owner: development
Description: New requirements without a parent-requirement, i.e. it's
not in any \emph{SolvedBy} list, are attached to the first
requirement in the list.
Rationale: To make handling easier, don't burden people with hierarchy
and deeper complexities of the tool if it isn't required.
Status: finished:kno:2018-10-12:2h
Priority: development:10
Effort estimation: 1
Topic: Import
12 changes: 12 additions & 0 deletions doc/requirements/Import/XlsFutureInventedOn.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Name: Constrain valid Invented On
Type: requirement
Invented on: 2018-10-02
Invented by: kno
Owner: development
Description: Imported requirements may not have a \emph{InventedOn}
date in the future.
Rationale: Leads to cryptic errors messages
Status: finished:kno:2018-10-06:4h
Priority: development:1
Effort estimation: 1
Topic: Import
2 changes: 1 addition & 1 deletion doc/requirements/OutputTextDocument.req
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ Priority: customers:8
Effort estimation: 8
Topic: Output
Solved by: OutputBaseReqRefs OutputBaseTags OutputConfgbl OutputHTML
OutputPDF OutputTextSameBase Output/DiffOfTwoVersions
OutputPDF OutputXLS OutputTextSameBase Output/DiffOfTwoVersions
# Added by rmtoo-normalize-dependencies
11 changes: 11 additions & 0 deletions doc/requirements/OutputXLS.req
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Name: Output of XLS
Topic: Output
Description: \textsl{rmtoo} \textbf{must} support genration of XLS file output with all requirements.
Status: finished
Owner: development
Invented by: kno
Invented on: 2010-02-12
Rationale: Suits love to handle their data in Excel.
Type: design decision
Priority: management:8
Effort estimation: 8
2 changes: 1 addition & 1 deletion doc/requirements/Processing.req
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ Status: not done
Priority: development:10
Effort estimation: 21
Topic: Basics
Solved by: Analytics AutomaticGeneration Input Output
Solved by: Analytics AutomaticGeneration Input Output Import
# Added by rmtoo-normalize-dependencies
2 changes: 2 additions & 0 deletions doc/topics/Import.tic
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Name: Import
IncludeRequirements: full
1 change: 1 addition & 0 deletions doc/topics/ReqsDocument.tic
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ SubTopic: ReqTags
SubTopic: Topic
SubTopic: Input
SubTopic: Output
SubTopic: Import
SubTopic: EmacsMode
SubTopic: Documentation
SubTopic: AutoCreationOfArtifacts
Expand Down
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ gitpython>=3.1.41
jinja2>=2.10
numpy
odfpy==1.3.4
six>=1.17
openpyxl>=2.5.6
pylint
pytest
pytest-cov
Expand Down
12 changes: 12 additions & 0 deletions rmtoo/imports/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
"""rmtoo

Free and Open Source Requirements Management Tool

Imports __init__.py

(c) 2019, 2020 by Kristoffer
SPDX-License-Identifier: GPL-3.0-or-later
This file is part of rmtoo.
For licensing details see COPYING

"""
22 changes: 22 additions & 0 deletions rmtoo/imports/abcimports.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
'''Import Abstract Base Class

'''
import abc
import sys

if sys.version_info >= (3, 4):
ABC = abc.ABC
else:
ABC = abc.ABCMeta('ABC', (object,), {}) # compatible with Python 2 *and* 3


class AbcImports(ABC):
'''Define an ABC for all imports classes'''

@abc.abstractmethod
def __init__(self, self_cfg, import_dest):
raise NotImplementedError

@abc.abstractmethod
def run(self):
raise NotImplementedError
Loading
Loading