130 likes | 305 Views
Update on Subversion. Current Status and Plans. Jeremy McCormick. What’s the plan?. All HPS projects in the LCD CVS are being migrated to the Subversion (SVN) revision control system.
E N D
Update on Subversion • Current Status and Plans Jeremy McCormick
What’s the plan? Insert Presentation Title in Slide Master • All HPS projects in the LCD CVS are being migrated to the Subversion (SVN) revision control system. • The CVS should not be used from now on, and should be considered “frozen”, though all modules are still writeable (for now). • LCSim, SLIC and its dependencies, and other projects are also being moved. • During this process, I am taking the opportunity to reorganize sources, as well as leave things behind (mostly LCD projects) that are abandoned, unused and/or unmaintained. • This has mostly applied to LCSim thusfar, rather than HPS projects. • LCSim already underwent heavy reorganization when imported. This has mostly NOT occurred for HPS (yet).
Status Report: Migration Insert Presentation Title in Slide Master • Migrated successfully • lcsim, lcsim-*, etc. • GeomConverter • slic, gdml, lcdd • ilcinstall updated from CVS to SVN, too • hps-detectors • hps-java • jevio-base • hps-et-java
Repository Information Insert Presentation Title in Slide Master • lcsim repository base URL svn://svn.freehep.org/lcdet/ • lcsim trunk svn://svn.freehep.org/lcdet/projects/lcsim/trunk • lcsim source browser http://java.freehep.org/svn/repos/lcdet/list/projects/lcsim/trunk/ • HPS repository base URL svn://svn.freehep.org/hps/ • HPS projects’ trunk svn://svn.freehep.org/hps/java/trunk • HPS source browser http://java.freehep.org/svn/repos/hps/list/java/trunk/
Credentials Insert Presentation Title in Slide Master • By default, projects are checked out in read only mode, which means local modifications cannot be checked in. • In order to check out a writable copy, you need to provide a valid username and password combination. • The lcsim and HPS repositories have separate passwd files, though most users can use the same ones. • From the command-line, need to use options like: • svn co –username=[username] –password=[password] [URL] • If you checkout from the command line, the passwords will usually be saved in your SVN config within the home directory and then subsequently used automatically. • How the IDE does this depends (Netbeans, Eclipse, etc.). • Eclipse will use “secure storage” to encrypt passwords associated with a repository.
Eclipse Repositories Put credentials here for write mode Insert Presentation Title in Slide Master
LCSim Repository Organization top dir current trunk (all lcsim projects) used to be GeomConverter runnable jar and JAS install parent pom pom for building all modules branches dir tags dir Insert Presentation Title in Slide Master
HPS Repository Organization top dir trunk database conditions framework formerly hps-detectors creates bin jar and installs to JAS formerly hps-et-java ye olde hps-java formerly jevio-base monitoring app user packages util package module build branches tags sandbox area for tests, broken code, etc. Insert Presentation Title in Slide Master
Bootstrap Instructions Insert Presentation Title in Slide Master # build lcsim locally mkdir workdir; cd workdir svn co svn://svn.freehep.org/lcdet/projects/lcsim/trunk lcsim_trunk cd lcsim_trunk mvn clean install –DskipTests=true; cd - # build HPS locally svn co svn://svn.freehep.org/hps/java/trunk hps_trunk cd hps_trunk mvn clean install –DskipTests=true
Module Build Insert Presentation Title in Slide Master • All HPS Java projects can be built sequentially using a single Maven command from the top-level directory. svn co svn://svn.freehep.org/hps/java/trunk hps_trunk • cd hps_trunk • mvn clean install
Running in Batch Mode Insert Presentation Title in Slide Master • Now there is a separate module for creating the runnable jar. • Used to be created by hps-java but no longer • SVN URL svn://svn.freehep.org/hps/java/trunk/distribution • After ‘mvn clean install’ of that module, it will be here: • distribution/target/hps-distribution-3.0-SNAPSHOT-bin.jar • This module will pull in a set of dependencies defined in its POM file. (distribution/pom.xml) • To include local modifications of classes from other modules like hps-java in your batch job, build those modules first and then make the distribution jar.
Tips and Tricks Insert Presentation Title in Slide Master • Find out about your working copy • svn info • See local modifications • svn status • Get some help • svn help • Put global ignores in your ~/.subversion/config global-ignores = target *.class *.jar *.diff x.x *.log .classpath .project .settings *.tar.gz
Plans Insert Presentation Title in Slide Master • Reorganize hps-java some more. • Remove unused code. • Cleanup packages in terms of which classes are where, as this is a bit of a mess right now. (particularly recon.tracking) • Continue to extract packages into sub-modules where appropriate. • Add a parent POM distinct from lcsim (using lcsim-parent now) • Change overall package names • org.lcsim.hps => org.hps