From cccb2cbd1f31ce9825134daf3b5a6b63b1af103d Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Sat, 19 Dec 2020 12:00:21 +0100 Subject: [PATCH] Add LICENSE and CONTRIBUTING files. Update README. --- CONTRIBUTING.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++ LICENSE.md | 13 +++++++ Readme.md | 60 ++++++++++++++++++++++---------- 3 files changed, 147 insertions(+), 18 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..9f1ab7b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,92 @@ +# Contributing + +When contributing to this repository, please first discuss the change you wish to make via issue, +email, or any other method with the owners of this repository before making a change. + +Please note we have a code of conduct, please follow it in all your interactions with the project. + +## Pull Request Process + +1. Ensure any install or build dependencies are removed before the end of the layer when doing a + build. +2. Update the README.md with details of changes to the interface, this includes new environment + variables, exposed ports, useful file locations and container parameters. +3. Increase the version numbers in any examples files and the README.md to the new version that this + Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). +4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you + do not have permission to do that, you may request the second reviewer to merge it for you. + +## Code of Conduct + +### Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +### Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [INSERT EMAIL ADDRESS]. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +### Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..a175c79 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2020 Petr Hodina + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Readme.md b/Readme.md index 7478ffb..43ca02e 100644 --- a/Readme.md +++ b/Readme.md @@ -1,31 +1,55 @@ -# Project converter +# Project converter for Embedded Projects -Simple modular python script to convert existing projects from IAR's ewp and ARM's KEIL uvprojx project formats to cmake and linker file using GCC compiler. +A lot of Embedded Projects use proprietary IDEs and build processes. This make any CI/CD painful. Therefore these simple python scripts allow conversion of existing projects into CMake and corresponding linker file for GCC toolchain. Currently supported are *IAR's ewp* and *ARM's KEIL uvprojx* project formats. ## Module description -cmake.py - Cmake and linker file generation -converter.py - Argument parsing -ewpproject.py - Parser for IAR's ewp file format -uvprojx.py - Parser for ARM's KEIL uvprojx file format +[cmake.py](cmake.py) - Cmake and linker file generation +[converter.py](converter.py) - Argument parsing +[ewpproject.py](ewpproject) - Parser for IAR's ewp file format +[uvprojx.py](uvprojx.py) - Parser for ARM's KEIL uvprojx file format + +## Prerequisites + +Install `python3` on your system run: +```shell +pip install Jinja2 +``` ## Usage Run in output dir. Convert project from IAR: - - converter.py ewp - +``` + python converter.py ewp +``` Convert project from ARM's KEIL: +``` + python converter.py uvprojx +``` + +## Contributing + +Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. + +## Versioning + +We use [SemVer](semver.org) for versioning. + +## Authors + +- Petr Hodina - *Initial work* + +## License + +The project is licensed under the [Apache License v2.0](https://www.apache.org/licenses/LICENSE-2.0) - see the [LICENSE.md](LICENSE.md) file for details. - converter.py uvprojx - ## TODO - -[] Seperate templates into submodule -[] Support generation of Makefile -[] Support additional compilers -[] Test on MAC OSX -[] Arg to specify build directory -[] Add Tests \ No newline at end of file +- [ ] Package as python module and publish it +- [ ] Seperate templates into submodule +- [ ] Support generation of Makefile +- [ ] Support additional compilers +- [ ] Test on MAC OSX +- [ ] Arg to specify build directory +- [ ] Add Tests