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