Print

Print


Hello, 

Please read the following carefully and in its entirety:

I have created an SVN repository for HPS software on SLAC AFS space.  This will eventually completely replace the old CVS repository we have been using for the last few years.  

I already imported hps-java pretty much “as is”, with only minor changes to make it compatible with the new lcsim SVN modules.  LCSim and HPS will be using entirely different SVN repositories.

The new hps-java module can be checked out in write mode, allowing you to make changes that can be committed, by executing the following command from a Unix shell:

svn co svn+ssh:[log in to unmask]

…where $USER is your SLAC username.

For now the only authentication that will work is svn+ssh which requires a SLAC account.  It is possible there will be permissions problems, as I have only tested this on my own account, and I setup the repository.  If so let me know via this email list and we’ll sort it out. 

In order for the new hps-java build to work, you will need to checkout and build the lcsim modules first, as I have not deployed them to the remote repository yet.  I will be doing this soon so this step will not always be necessary.

The commands for building the complete set of lcsim modules are the following:

svn co svn://svn.freehep.org/ilc/projects/lcsim
cd lcsim
mvn clean install -DskipTests

That should install all the necessary dependencies into your local maven repository.  Then you should be able to build hps-java in the usual way:

cd hps-java; mvn clean install -DskipTests=true

There are some things to note here:

1) The URL for the HPS SVN repository is temporary and will be changed to something more permanent once I sort this out with the admin.  I will send out instructions for changing the URL of your working copy when this is finalized, though the URL I listed should still work.  (It is not difficult to change the URL on a working copy.)

2) The CVS will NOT be automatically updated with changes put into SVN, so I strongly recommend switching development to the SVN copy once you get it working in your local development environment.  Please do this sooner than later or you are going to end up manually copying over classes into the SVN from your CVS working copy.

3) The hps-java source code tree is a bit of a mess, organizationally.  I first attempted to try and pull out some packages into different Maven modules, but there are strange dependencies that prevented me from doing this, such as recon.tracking depending on code in the user packages.  I believe there are also some circular package dependencies (A depends on B.  B also depends on A.)  This needs to be sorted out, but I plan on leaving most of this work to others.  Ideally, we’d have fairly high granularity modules, like hps-tracking, etc.  Since SVN has a move command, we should be able to move things around and establish new SVN modules rather easily, much more so than with CVS.

4) None of the other HPS dependencies such as jevio-base or hps-et-java have been imported into the SVN yet, though I plan on doing this at some point.  For now, hps-java will depend on the fixed versions of those packages already present in the POM file.  They have not changed in awhile so this should work for the time being.

5) Though SVN was partially modeled on CVS, it is definitely not exactly the same.  There is a very good book here covering it completely:

http://svnbook.red-bean.com/nightly/en/

6) I have not imported anything into the IDE I use, yet (Eclipse).  I think this should work fine, as you can create projects from SVN URLs in both Netbeans and Eclipse, but I will let you know if there are any issues.

7) Unfortunately, between major versions of SVN, the metadata kept in .svn usually changes enough that they are not all inter-compatible (e.g. a 1.6 client cannot read 1.7 metadata etc.).  So it is probably best to pick one version and stick with it.  Whatever your IDE uses is probably the best choice.

8) I reorganized lcsim by splitting it into a number of different Maven modules.  If you have any questions about this, please ask.

In general, if you run into any basic problems, or have any questions related to any of this, please feel free to email me at [log in to unmask] and also CC the hps-software list so that everyone can participate in the discussion. 

Thanks.

—Jeremy
########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1