Now that the development environment has been set up, CAS server development can begin with building and configuring a (very) basic server.

The Apache Maven build automation tool is used to configure and build the CAS server (CAS 4.2 and later also support using Gradle). Maven keeps track of the hundreds of library and object code dependencies associated with the CAS server and the particular features we have chosen to include, downloads the necessary files (in the appropriate versions) from public code repositories to a local cache, and assembles everything into a deployable bundle.

The CAS development team recommends that a WAR overlay project be used to organize feature selections and user interface design. This approach allows us to “overlay” our customizations—enabling or disabling features, setting configuration options, modifying the look and feel, etc.—onto a pre-built “vanilla” web application server provided by the CAS project itself, without having to download or build those components that we aren’t using or changing.

We only have to manage the files that contain our customizations; Maven will take care of everything else.

Create a work area

Because we will be working with more than one WAR overlay project (we will be creating separate ones later for the management application and the cloud configuration server), we’ll create a top-level directory to keep them all in. Run the command

casdev-master# mkdir /opt/workspace

to create a top-level directory on the master build server (casdev-master).

References