-
Notifications
You must be signed in to change notification settings - Fork 11
Home
Welcome to the pogo wiki!
First clone this repo: git clone [email protected]: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.Xwhere 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