-
Notifications
You must be signed in to change notification settings - Fork 1
Home
AML developers focus efforts on two goals: simplicity (so people can actually use the platform) and robustness (so they create things that work). They also attempts to provide a well-designed, maintainable, and stable library for the future.
This means:
- focusing on official standards
- emphasizing API design
- emphasizing real use cases over theoretical possibilities
For those people who want to help to improve this project, we propose the development policy presented below.
AML uses git-flow philosophy. Please, read these guides carefully: git-flow cheatsheet and A successful Git branching model. We recommend you to use SourceTree to handle repositories.
If you’ve found a bug, please add it to the issue tracker. The more specific you can be about the steps that lead to the problem, the better.
If a bug has been reported in the forums, feel free to copy it into the issue tracker. Summarize the issue and link to the original forum posting.
Please, follow these rules in order to make your code easy to read and understand by everybody.
- Comments and logs should be in English
- Remove unuseful comments
- Use Logger instead of System.out.print
- Fully qualify imports
- Remove unused imports
- Try to keep your code without warnings
- Don’t ignore exceptions
- Don’t catch generic exception
More about java code style here
First of all, read the style guidelines carefully. We recommend you to read the documentation and the javadoc before start to develop.
If this is your first time working with AML, clone the AML repository:
- HTTPS: https://github.com/isa-group/aml.git
- SSH: git@github.com:isa-group/aml.git
- Open a new issue in GitHub and describe the feature that will be available. Link this issue to the current milestone. Copy the #id of the issue (i.e. #224). If you decide to work on this feature/bug, assign it to you.
- Use SourceTree to create a new feature branch or use the following git flow command:
git flow feature start “#featID-title”
- While you are developing, be aware of develop remote branch updates by pulling them into your branch. If there is any conflict, resolve it.
- Create a new test in the test.core folder to test the new feature of fix.
- Run mvn test command with the “aml-developer” profile:
mvn test -Paml-developer
- Create file #featureName.testresult under QA directory with the result of the tests
- Create the pull request.
The following keywords will close an issue via commit message:
- close
- closes
- closed
- fix
- fixes
- fixed
- resolve
- resolves
- resolved
- Create Milestone in GitHub
- Verify all QA tests submitted by developers
- Review and merge all pull requests. Resolve conflicts if necessary
- Run and verify tests with the pull requests merged
- Resolve possible conflicts
- Update version in AgreementManagementLibrary/pom.xml
- Run mvn test command with the “core-tests” profile
mvn test -Pcore-tests
- Add test results to QA directory
- Update CHANGELOG.txt with the latest features/bugfixes
- Generate JAVADOC
- Add JAR to “releases” folder in gh_pages branch
- Inform developers about a new version of AML was released
Diagram files:
Developers diagram details
Release Manager diagram details
Role | Responsability | Assignee |
---|---|---|
AML Maintainer | Coordinates the development |
Juan Luis de la Fuente (jdelafuente@us.es) |
AML Developer | Development tasks |
Carlos Müller (cmuller@us.es) |
AML Developer | Development tasks |
Antonio Gámez (antgamdia@us.es) |
AML Developer | Development tasks |
Manuel Arenillas (marenillas@us.es) |