-
Notifications
You must be signed in to change notification settings - Fork 11
Home
Welcome to the pogo wiki!
First clone this repo: git clone git@github.com:tango-controls/pogo.git
&& cd pogo
Checkout Mavenization2 branch: git checkout Mavenization2
Launch IDEA and open a new project:
File -> Open...
IDEA will take its time to resolve all dependencies and may ask to import a maven project. In the end you should see a project with 4 modules:
To build Pogo go to fr.esrf.tango.pogo.parent folder and execute mvn install
:
Maven builds and installs each module independently into the local repository (usually $HOME/.m2/repository
). Resulting .jar files can be found in the corresponding module target folder e.g. fr.esrf.tango.pogo/target.
.jar file Pogo-X.X.X.jar in org.tango.pogo_gui/target folder is executable.
Once Pogo has been built re-import maven project:
This will force IDEA to add generated source folders (src-gen and xtend-gen) to the classpath.
To launch Pogo from IDEA: first -- import the project; second -- configure launcher:
Run -> Edit configurations...
Disclaimer: due to known issue that Maven does not support flat project structure, required by eclipse and xtex plugin. This procedure can not be fully automatized :(
In general to perform a release one need to increment project version; tag repository and deploy the artifact.
The following steps are required to perform a manual release:
- tag repository:
git tag Pogo-Release-X.X.X
where X.X.X - current version without -SNAPSHOT - clone repository localy:
git clone . release
- update-versions in release:
cd release/fr.esrf.tango.pogo.parent && mvn release:update-versions
, when prompted enter current version without -SNAPSHOT e.g. Pogo-9.4.6-SNAPSHOT -> Pogo-9.4.6 - deploy Pogo:
mvn deploy
- update-versions in main repository:
cd ../../fr.esrf.tango.pogo.parent && mvn release:update-versions
, when prompted accept default value (X.X.{X+1}-SNAPSHOT) or set a new one e.g. 10.0.1-SNAPSHOT - commit and push repository:
cd .. && git add */pom.xml && git commit -m "increment version" && git push && git push --tags
, the later pushes newly created local tag
NOTE: all maven commands must be executed in fr.esrf.pogo.parent folder