nasa / fprime-tools

F´ Python tooling and helpers.
https://github.com/nasa/fprime
Apache License 2.0
21 stars 39 forks source link

New Project generation feature #124

Closed thomas-bc closed 1 year ago

thomas-bc commented 1 year ago
Originating Project/Creator
Affected Component
Affected Architectures(s)
Related Issue(s)
Has Unit Tests (y/n)
Builds Without Errors (y/n) y
Unit Tests Pass (y/n)
Documentation Included (y/n) y

Change Description

Adds in a new project cookiecutter template and the associated logic for new --project Checks that git is installed, generates a minimal amount of project files, then init a git repo and add F' as a git submodule. Optionally creates a venv and sets it up with requirements.txt.

Rationale

Vastly improves user experience to getting started, enforces a good project structure instead of using Ref/

Testing/Review Recommendations

fprime-util new --project
cd ...
fprime-util new --deployment
cd ...
fprime-util generate
fprime-util build
fprime-gds

Tested with pip install . with no -e.

thomas-bc commented 1 year ago

@LeStarch There's probably a lot to be said about the generated CMakeLists.txt and settings.ini as this methodology is not clearly defined yet. Should we just remove them for the time being?