User Tools

Site Tools


developers:overview

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
developers:overview [2018/01/31 20:57] – [Introduction] Jean-Michel Beukendevelopers:overview [2018/01/31 20:58] – [Basic philosophy for developers] Jean-Michel Beuken
Line 36: Line 36:
  
    
-=== Developer environment ===+==== Developer environment ====
  
 In order to implement this basic philosophy of development within ABINIT, different languages/tools are  used, and mastered at different levels by different people (depending the kind of development contribution) : the Autotools (autoconf, automake, ...), buildbot, git, gitlab, CPP, Fortran90, HTML, MPI, Python, ROBODOC. These, with the developer's Web pages of the ABINIT web site, constitute the ABINIT developer environment. For some of these languages/tools, the [[developers Web pages]] provide documentation: external links (like the language reference, repository, tutorials), some internal links (additional tutorials), and the particulars of the use of such language/tools within ABINIT. In order to implement this basic philosophy of development within ABINIT, different languages/tools are  used, and mastered at different levels by different people (depending the kind of development contribution) : the Autotools (autoconf, automake, ...), buildbot, git, gitlab, CPP, Fortran90, HTML, MPI, Python, ROBODOC. These, with the developer's Web pages of the ABINIT web site, constitute the ABINIT developer environment. For some of these languages/tools, the [[developers Web pages]] provide documentation: external links (like the language reference, repository, tutorials), some internal links (additional tutorials), and the particulars of the use of such language/tools within ABINIT.
Line 57: Line 57:
  
    
-== Code repositories ==+==== Code repositories ====
  
 As mentioned above, managing different versions of ABINIT is done thanks to a a tool called git. For an introduction to this useful tool, you should look at the git dedicated pages. As mentioned above, managing different versions of ABINIT is done thanks to a a tool called git. For an introduction to this useful tool, you should look at the git dedicated pages.
Line 65: Line 65:
 For developers, using the repository is a privileged way of managing their contributions, since the coordinator is automatically and instantly informed of their progress. For ABINIT, branches and versions have been normalized, whereas commit indexing are managed by GNU Arch. For developers, using the repository is a privileged way of managing their contributions, since the coordinator is automatically and instantly informed of their progress. For ABINIT, branches and versions have been normalized, whereas commit indexing are managed by GNU Arch.
  
-== Protocol for the developer ==+==== Protocol for the developer ====
  
 After installation on the development machine (e.g. */*/makemake ; configure ; make), and prior to any modification, the developer runs the suite of sequential tests on his machine (e.g. ./runtests.py command in the tests directory).  The developer might check that the parallel tests are also OK. Checking against previous reference files is done automatically. All these steps are explained in the developer's Web pages . Then, the development effort can begin. After installation on the development machine (e.g. */*/makemake ; configure ; make), and prior to any modification, the developer runs the suite of sequential tests on his machine (e.g. ./runtests.py command in the tests directory).  The developer might check that the parallel tests are also OK. Checking against previous reference files is done automatically. All these steps are explained in the developer's Web pages . Then, the development effort can begin.
developers/overview.txt · Last modified: 2018/01/31 22:40 by Jean-Michel Beuken