Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

CAS source and configuration files are stored in the Yale Subversion repository at https://svn.its.yale.edu/repos/cas. If you are updating the current release, everything you need will be there.

If you are upgrading to a new release of CAS, you need to obtain a copy of that release from JASIG. CAS releases are distributed as a zip file, but they are also checked into Git. Unless you are contributing updates back to JASIG, there is no need for Git and the Zip file will do fine. Then you need to compare the directories (and a few individual files) in the new release source with the directories in the SVN repository. Mostly you will add Yale subdirectories from the SVN to the JASIG source following instructions to be provided below.

The ReleaseNotes.html file in SVN will identify the JASIG files that have been changed. You will have to manually merge changes to the parent POM file in the top level directory, but otherwise the JASIG code is unmodified and the Yale code is in completely new project directories. So except for the one POM file there are typically no changes to reconcile from release to release.

So why have we checked in all that JASIG source if we don't change it? JASIG uses Git, and Yale has standardized on SVN, so the only way to clearly document what JASIG source we are using it is check it in to our SVN as if it was our code. Then you have it all for debugging. It may also have to be recompiled if we decide to change the release number of a dependent library file that JASIG uses, but where we need a different release numberCheck out the cas-server project and the installer project and follow the instructions below.

An SVN directory of CAS source begins by checking in a new JASIG release. Then the additional Yale JAR project directories are added and one Yale WAR project is added. The top level POM file will be modified to add the new Yale projects, to disable recompilation of the optional JASIG projects that we are not using, and possibly to set the Version numbers of certain standard library files that are dependencies for the JASIG and Yale source.

JASIG uses Git as a source management tool, while Yale still uses SVN. So while you are free to check out the current release with Git, you can just as easily download the zip file. Either way, the resulting code has to be checked into SVN.

Yale attempts to make very few changes to any JASIG code. By starting with a fresh JASIG release and by then merging Yale code and reapplying any Yale fixes or modifications, the SVN history will describe what has been changed in the past release and will tell you what needs to be changed to migrate to the next release.

The ReleaseNotes.html file in in the root of the cas-server project will identify the current state of new directories and any modified files. This should be a descriptive match for the physical code change history in SVN.

Yale and JASIG use Eclipse as the IDE. The most current version of Eclipse works best. Start with the J2EE package of Eclipse, and add SVN and Maven support.

...