Contributions to the watchdog-wms-modules repository are welcome! If you want to share a module, please follow these steps:
- fork the repository and create a new branch for your new module
- commit your module into your fork
- either use the webinterface of Github (buttons are located left of green "Clone or Download" button)
- Create new file: create and commit a single file in a web editor
- Upload Files Button: use drag & drop gestures to upload multiple files or complete folders
- or clone the repository and use the git command line tools to create and push a new commit
- either use the webinterface of Github (buttons are located left of green "Clone or Download" button)
- create a pull request
- automatic tests will be performed on your pull request (by Travis CI)
- members of the contributor team can merge your pull request if all checks succeed
More detailed instructions how to contribute to a github repository can be found here.
Members of the contributor team have write access to the repository and can merge pull requests if all Travis CI checks succeeded.
To become a member, please follow these steps:
- share a few modules
- request to become a member by mentioning watchdog-wms-bot in one of your pull requests (just include '@watchdog-wms-bot' in your comment)
Modules must contain at least an XSD module definition file (moduleName.xsd) and an XML documentation file (moduleName.docu.xml). If test data is included, it should be stored in a folder named test_data. Files shared between modules must be located in the sharedUtils/ folder.
Example:
moduleName
├── moduleName.xsd
├── moduleName.docu.xml
├── moduleName.sh
└── test_data
├── testFile1.txt
└── testFile2.txt
More information on how to create a module can be found in the documentation.
If not otherwise stated modules are licensed under Apache License 2.0. However, a module can have an individual licence, which must be located in the module folder and named LICENSE.
Before a pull request can be merged with the master branch some Travis CI tests must succeed. Currently the following tests are implemented:
- signed commit test:
- only signed commits can be merged
- write permission test:
- the github username of the creator of the pull request must be included in the XML documentation file (<maintainer> tag)
- separate module test:
- all files affected by the pull request must be part of one module (exception: files located in sharedUtils/ are allowed)
- XSD validation test:
- XSD module definition file must be parseable by Watchdog
- XML documentation test:
- XML documentation file must follow its XSD schema
- parameter and return values must fit
- virus scanner test:
- all files part of the pull request must pass the virus scan