Task: Implement the Desktop Entry Reader feature
TASK-DESCRIPTION
- Create:
sources/desktop/desktop_entry_reader.h - Create:
sources/desktop/desktop_entry_reader.cpp - Create:
dataflow.in/desktop/spec-example.desktop - Create:
dataflow.in/desktop/localized.desktop - Create:
tests/11-desktop-entry-reader.shThe reader parses the*.desktopformat into ordered groups, keys, and values, and implements the requirements inprompts/features/04-desktop-entry-reader.md. The specification example and the localized sample are the fixtures the portable test reads.
TASK-OUTPUT
Produce these complete files in this order, then the VERIFICATION: line: 1. sources/desktop/desktop_entry_reader.h 2. sources/desktop/desktop_entry_reader.cpp 3. dataflow.in/desktop/spec-example.desktop 4. dataflow.in/desktop/localized.desktop 5. tests/11-desktop-entry-reader.sh
TASK-CONTEXT
documents/08-desktop-entry-format.md; the language conventions are in prompts/flavors/02-cpp-conventions.md and the naming conventions in prompts/flavors/01-semantic-sort-naming.md. The parser is a library with no dependency on the rest of the project.
TASK-FILES
| Operation | Path |
|---|---|
| create | sources/desktop/desktop_entry_reader.h |
| create | sources/desktop/desktop_entry_reader.cpp |
| create | dataflow.in/desktop/spec-example.desktop |
| create | dataflow.in/desktop/localized.desktop |
| create | tests/11-desktop-entry-reader.sh |
TASK-VERIFY
- Run:
make testfrom the repository root. - Expected: exit status 0, and
tests/11-desktop-entry-reader.shreports ok.
TASK-FEATURES
prompts/features/04-desktop-entry-reader.md
TASK-ACCEPTANCE
DESKTOP-ENTRY-READER-R001DESKTOP-ENTRY-READER-R003DESKTOP-ENTRY-READER-R006DESKTOP-ENTRY-READER-R012DESKTOP-ENTRY-READER-R017DESKTOP-ENTRY-READER-R023DESKTOP-ENTRY-READER-R029
OUTPUT: the five complete files in the order listed, ending with the VERIFICATION: line.