Download ROSE Developer`s Guide: - ROSE compiler infrastructure

Transcript
Chapter 1
Developer’s Appendix
1.1
Adding Contributions to ROSE
We will be happy to work with you if you want to add new features to ROSE. We have an external git repository
at https://github.com/rose-compiler/rose. You can publish your contributions there using a fork of our
repository and send a pull request to us to review and merge your contributions.
The number one most important aspect about any contribution you make is that it should
include test codes that demonstrate the feature and test it within our automate test mechanism
(the make check makefile rules).. Depending upon the feature this can include an additional demonstrative
example of how it works, such examples go into the ROSE Tutorial (often as a separate chapter). Most new work
starts in the Experimental part of the ROSE Tutorial and is moved forward in the document over time.
The purpose of the test codes in our automated tests are:
• Make sure that future great ideas in ROSE don’t break your feature.
• Allow us to easily detect maintenance problems as early as possible.
• Help us sleep at night knowing that ROSE is really working.
• Give everyone else using ROSE confidence in future releases.
We take this subject very seriously, since it can be a significant problem. In the future we will likely not
accept contributions that are not accompanied by sufficient test codes that demonstrate that they work and will
be part of the automated tests (make check makefile rule). If you want to add a new feature to ROSE, show us
your tests.
1.2
Working with the ROSE Git repositories
This section is most useful for ROSE developers who have access to LLNL’s network file system (NFS).
We have (3) Git repositories:
• internal: /nfs/casc/overture/ROSE/git/ROSE.git
3