To adapt this skeleton for a new TRIQS application, the following steps are necessary:
-
Create a repository, e.g. https://github.com/username/appname
-
Run the following commands in order after replacing appname accordingly
git clone https://github.com/triqs/app4triqs --branch unstable appname
cd appname
./share/squash_history.sh
./share/replace_and_rename.py appname
git add -A && git commit -m "Adjust app4triqs skeleton for appname"
You can now add your github repository and push to it
git remote add origin https://github.com/username/appname
git remote update
git push origin unstable
If you prefer to use the SSH interface
to the remote repository, replace the http link with e.g. git@github.com:username/appname
.
You can merge future changes to the app4triqs skeleton into your project with the following commands
git remote update
git merge app4triqs_remote/unstable -X ours -m "Merge latest app4triqs skeleton changes"
If you should encounter any conflicts resolve them and git commit
.
Finally we repeat the replace and rename command from the initial setup.
./share/replace_and_rename.py appname
git commit --amend
Now you can compare against the previous commit with:
git diff prev_git_hash
After setting up your application as described above you should customize the following files and directories according to your needs (replace app4triqs in the following by the name of your application)
- Adjust or remove the
README.md
anddoc/ChangeLog.md
file - In the
c++/app4triqs
subdirectory adjust the example filesapp4triqs.hpp
andapp4triqs.cpp
or add your own source files. - In the
test/c++
subdirectory adjust the example testbasic.cpp
or add your own tests. - In the
python/app4triqs
subdirectory add your Python source files. Be sure to remove theapp4triqs_module_desc.py
file unless you want to generate a Python module from your C++ source code. - In the
test/python
subdirectory adjust the example testBasic.py
or add your own tests. - Adjust any documentation examples given as
*.rst
files in the doc directory. - Adjust the sphinx configuration in
doc/conf.py.in
as necessary. - The build and install process is identical to the one outline here.
- If you want to wrap C++ classes and/or functions provided in the
c++/app4triqs/app4triqs.hpp
rerun thec++2py
tool with
c++2py -r app4triqs_module_desc.py
- Add your email address to the bottom section of
Jenkinsfile
for Jenkins CI notification emails
End of build log:
\${BUILD_LOG,maxLines=60}
""",
to: 'user@domain.org',