If we change the artifact IDs, then IMHO we should also change the package names. That would allow multiple versions to co-exist. If we just change the artifactIds and not the packages, then Maven could end up adding multiple artifacts with overlapping and incompatible packages to the classpath.
DKPro Core and WebAnno are both maintaining multiple versions in parallel. We're using GIT here, but I assume the general strategy we use could also be applied to SVN: - there is a "master" branch (i.e. svn trunk) which contains the very latest version. In terms of UIMA that would be v3. - there is one or more "maintenance" branches (e.g. 1.8.x, 1.9.x, etc. i.e. in svn branches/1.8.x, branches/1.9.x) where older versions are maintained - when there are bug-fixes to older versions, these branches are usually merged into the master branch as well - new features are usually added to the master branch, but minor features may also be added into the maintenance branches and be merge from there into the master branch - changes to the master branch do usually not get merged back into the maintenance versions We have then multiple Jenkins builds set up that monitor the different branches and build them. Release are done from the respective branches when convenient. Personally, I'd tend go down that road for uimaFIT since it worked out well for me on other projects. I haven't done a lot of merging with SVN for a while - with git it works great. Cheers, -- Richard
