Does anyone have recommendations, comments, thoughts etc on managing dependencies on PL files (easier than 'loose' r-code) for building ABL projects using Ant/PCT. I know of Ivy and Maven, but are there any you've tried and would recommend?
I've got Ivy working nicely now & would highly recommend it (although figuring out how to structure things was a bit of a pain).
The only missing functinality is that PDSOE doesn't let you have an Ivy-managed propath & so we're still hand-crafting propaths separately from our Ivy.xml files. I suspect that there may be a way to automate this, but I've not managed it yet.
The tools I'm using are:
Each project has it's Ant build.xml & Ivy ivy.xml in its project root folder.
Common Ant tasks are held on Artifactory & imported into each project via an <import><url url=xxxx/></import> element.
Common Ivy settings are held in a Kiln repo so that they are easily shared between devs (they rarely change)
The workflow is:
One nice twist (that took a while to work out) ... we can seamlessly build multiple OE versions of all projects (helps us when we're migrating):
We use Roundtable and have a set of tools on top of that to handle the "configuration" of server and client packages. Part of this configuration is which parts of an application go into procedure libraries at build time - using a set of "rules" currently managing in an XML config file that is part of the version controlled application.
When code is deployed from RTB, it can then be processed with our deployment tools which are a combination of ABL code and Ant scripts.
All of this can be tied together using scripts or running from CI tools like Jenkins.
We are currently not using PCT to create the pl files, but rather ABL code that processes our configuration rules. This may change as we look at how we can use some of the new tools that are out there.