Skip to content
A git mirror of ctms-common's canonical subversion repository https://ncisvn.nci.nih.gov/svn/ctmscommons/
Java JavaScript Other
Pull request Compare This branch is 1 commit ahead, 326 commits behind trunk.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
acegi
base
ccts-websso-ui
core
grid/ccts-grid-services
ivy
laf
lang
suite/authorization
tasks
testing
web
.gitignore
CHANGELOG
README
build.yaml
buildfile
ivy.xml
pom.xml

README

ctms-commons
============

This project is a collection of libraries for shared functionality
across the CTMS workspace, and particularly among the applications in
the Clinical Trials Suite.

Using
-----

ctms-commons is distributed on the [NCI CBIIT public ivy
repository][cbiit-ivy].  The organization is `gov.nih.nci.cabig.ctms`.

[cbiit-ivy]: https://wiki.nci.nih.gov/display/BuildandDeploymentAutomation/Ivy-+How+to+retrieve+files+from+Ivy

Development
-----------

### Changes

No commits that affect the public API may be made without an
associated entry in the changelog.

### Building

This library is built with buildr.  As of this writing, it works
with buildr 1.3.5 on jruby 1.4.0.  It uses ivy4r for ivy integration.

### Releasing

In order to release ctms-commons, you have to have been granted access
[per the BDA team's directions][bda-ivy].

[bda-ivy]: https://wiki.nci.nih.gov/display/BuildandDeploymentAutomation/Ivy-+How+to+add+files+to+Repo

#### Versions

ctms-commons tries to follow the rational versioning policy.  In
summary that means that the library version numbers go
[major].[minor].[patch]:

  * [patch] is updated for bugfixes only.
  * [minor] is updated for new features which do not break backwards
    compatibility.
  * [major] is updated for breaking changes.  This should be very rare.

An exception is where the [major] value is 0.  New modules in the
library can be initially released with major=0 while the API is being
hashed out.  Libraries with major=0 are expected to maintain backwards
compatibility only within minor versions (e.g., 0.1.0 -> 0.1.1).  Once
the API is firm, these modules should be released under the same
version scheme as the remainder of the library.

Going forward, ctms-commons will have many minor releases as an
alternative to publishing snapshot builds.

#### Steps to release

0) Ensure that everything you want to go into the release has been
   committed into trunk.  Ensure that the CHANGELOG is up to date.
1) Set the version number in the buildfile to the appropriate release
   version.  E.g., 3.9.4.RELEASE.
2) Commit.
3) Run `buildr publish:prepare`.  This will do a clean build, check
   out the CBIIT repo, and ready the ivy artifacts for publication.
4) Check that the new artifacts (under publish-repo) are as you expect.
5) Run `buildr publish:commit`.
6) Run `buildr publish:tag`.
7) Update the version number in the buildfile to the next development
   version.  E.g., 3.9.5.DEV.
8) Commit.

(Note that buildr provides a release process, but we aren't using it
because it doesn't support CBIIT's ivy repo setup.)
Something went wrong with that request. Please try again.