A template/skeleton for starting new free Fortran projects handled by git with the exploitation of GitHub, Travis, Codecov & Co.
git clone https://github.com/szaghi/forget free_fortran_project
cd free_fortran_project
rm -rf .git
sed 's/forget/free_fortran_project/g'
git init
git add .
git commit -m "init versioning"
What is forget? | Main features | Copyrights | Download | Compilation | Documentation | References
forget to repeat the same commands everytime your new Fortran project born: do it one-time and make git do it for you the next times 😄
forget is a remote-hosted (on GitHub) git-repository template/skeleton that provides a bunch of (ready to use) files for handling modern Fortran projects exploiting the best helpers available on web.
- clone the forget repository,
git clone https://github.com/szaghi/forget new_fortran_project
- to be continued...
To be completed.
Go to Top
forget is just a template providing
- semi-sane project template:
- CLI bash script for configuring the template;
- semi-sane, almost-cluttered, but aesthetically nice, project README.md;
- Travis CI configuration file exploiting Travis CI for:
- building and testing your Fortran project;
- making coverage analysis;
- making API documentation (by means of the great FORD) and deploying it on GitHub pages;
- Codecov configuration file exploiting Codecov analyzer;
- fully-inclusive, semi-crazy set of FOSS licenses covering almost all scenario definable as do wathever you want with this project;
- opinionated CONTRIBUTING.md guidelines;
- ready to use FORD configuration file;
- semi-sane, ready to use .gitingore;
- semi-sane tree-sources structure;
- agnostic
fobos
file to auto-magically build your Fortran project with the coolest Fortran building tool... FoBiS.py - agnostic bash script to automatically run all your tests;
- Test Driven Developed (TDD);
- collaborative developed;
- well documented;
- free!
Any feature request is welcome.
Go to Top
forget is an open source project, it is distributed under a multi-licensing system:
- for FOSS projects:
- for closed source/commercial projects:
Anyone is interest to use, to develop or to contribute to forget is welcome, feel free to select the license that best matches your soul!
More details can be found on wiki.
Go to Top
forget home is at https://github.com/szaghi/forget. To download all the source files you can:
- clone recursively this repository:
git clone --recursive https://github.com/szaghi/forget
- download the latest master-branch archive at https://github.com/szaghi/forget/archive/master.zip
- download a release archive at https://github.com/szaghi/forget/releases
Go to Top
forget is a modern Fortran project thus a modern Fortran compiler is need to compile the project. The project is modular, namely it exploits Fortran modules. As a consequence, there is compilation-cascade hierarchy to build the project. To correctly build the project the following approaches are supported
- Build by means of FoBiS: full support;
- Build by means of GNU Make: to be implemented.
- Build by means of CMake: to be implemented.
The FoBiS building support is the most complete, as it is the one used for the developing forget.
A fobos
file is provided to build the project by means of the Fortran Building System FoBiS.py.
Type
FoBiS.py build
After (a successful) building a directory ./exe
is created containing all the compiled programs found recursively in the tree project.
To be implemented.
To be implemented.
Go to Top
Besides this README file the forget documentation is contained into its own wiki. Detailed documentation of the API is contained into the GitHub Pages that can also be created locally by means of ford tool.
Go to Top