Wiki

Clone wiki

codeaster-src / Contributing

Table of contents:

Contributing source

You will not be able to commit directly in the main code repository. You will have to create your own fork of codeaster-src and to share your changesets on Bitbucket. Don't forget to configure your fork as 'non-publishing' (check the box 'This is a non-publishing repository' in the 'Repository details').

As there are sometimes 30 or 40 features or bugfixes per week, the main repository does not show all these 'feature branches' merged, but a linear history for readability.

That's why we don't recommend you to send a pull-request because, even if your changes will be integrated, we will be forced to 'reject' it as your changes will be rebased on top of the main branch.

Please create a new issue in the bugtracker with a reference to the changesets you propose for integration (see for example issue17).

What kind of changes will be accepted ?

All bugfixes are welcome. Please create an issue and link it to the changeset that fix the mistake.

A new feature can be integrated in the main official repository if:

  • it is generic enough to be useful for most users

  • the changes are limited to a small part of the code

  • it is documented

Create an issue as soon as possible to notify of the possibility of an integration.

Before committing your work

Before committing any contributions, make sure to test the code thoroughly. This includes running any regression testcases from the astest directory.

You should clone the codeaster-devtools repository (see the Tutorial to learn how to do it) that will provide you with some convenient tools to check and test your changes.

If you are submitting code for a new feature, it is expected that the new feature is accompanied by a suitable set of testcases.

To run testcases, have a look at the run_testcases tool:

$HOME/dev/codeaster/devtools/bin/run_testcases --help

You should also review the coding guidelines at least by running the aslint tool on a list of files:

$HOME/dev/codeaster/devtools/bin/aslint file1 [file2...]

or on all the changed files since a revision REV:

$HOME/dev/codeaster/devtools/bin/aslint --hg REV

For Python code, please follow the rules described in the PEP8.

Before your contribution can be accepted into the code_aster source tree, you must accept that your code will be distributed under the terms of the GNU General Public License. You should add your own copyright as:

COPYRIGHT (C) 2014 COMPANY NAME - AUTHOR NAME - URL

The EDF R&D copyright will be inserted as soon as maintenance tasks will be done.

Your name will also be added to the list of contributors (file CONTRIBUTORS.txt).

Contributing to the documentation

Currently only the PDF format of the documents is available. If you find mistake you can create an issue for that.

The documentation of code_aster uses the Open Document format. You may download the model for a new document for a testcase here: odt

Contributing to the translation

There are currently two kinds of translated strings for code_aster: the messages (error, warning and information messages that are shown during code_aster executions) and the descriptions of the keywords (that are shown by Eficas).

You are welcome to contribute to the internationalization of code_aster in your favorite language on the code_aster project at crowdin.net.

Updated