Skip to content

Commit

Permalink
doc[developer-guide]: added overview of folder structure
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasrothenberger committed Oct 17, 2023
1 parent 4243ee7 commit d8c39a6
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions docs/How_to_contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,25 @@ A new version number shall be determined as follows:
* Release adds a major new feature or modifies any interface (for example by modifying the format of input or output data) in such a way that it is <b>not fully compatible</b> with the previous version anymore.
* ==> Increase first digit by `1`.
* ==> Set remaining digits to `0`.

# Developer hints
## Output folder structure
All tools developed as part of the DiscoPop Project make use of the following folder structure:
```
- project root/
- .discopop/
- common_data/
- FileMapping.txt
- <tool_1>/
- tool_1 output files
- private/
- tool_1 intermediate files
- <tool_2>/
- ...
- ...
```
, where no data should be stored / created outside the `.discopop` folder in order to keep the users build directory as clean as possible.
Files which are read by different tools, e.g. the `FileMapping.txt`, shall be stored in the `.discopop/common_data` folder.
Each tool may create a folder. In case data from these files is required by another tool, think about how to encode the information in a easy-to-use and structured format, preferrably JSON. If possible, please do not rely on exporting to simple `.txt` files as parsing adds a potential point of failure.
Output data for use by other tools should be stored in the folder of the creating tool. Intermediate files may be stored in a folder named `private` and shall not be used by other tools.
Analysis tools, like pattern detection scripts etc. shall be structured in such a way, that a execution from within the `.discopop` folder is intended.

0 comments on commit d8c39a6

Please sign in to comment.