110 likes | 227 Views
OMII-UK collaborations workshop Development tools and infrastructures (AKA ideas for OGSA-DAI and open development). 01/05/2009. Who. Pascal Ekin – University of Manchester Mike Jackson – University of Edinburgh Phil Kershaw – NDG, RAL Eduardo Pignotti – University of Aberdeen. OGSA-DAI.
E N D
OMII-UK collaborations workshopDevelopment tools and infrastructures(AKA ideas for OGSA-DAI and open development) 01/05/2009
Who • Pascal Ekin – University of Manchester • Mike Jackson – University of Edinburgh • Phil Kershaw – NDG, RAL • Eduardo Pignotti – University of Aberdeen
OGSA-DAI • OGSA-DAI repository • Area with third-party JARs • Exposed publicly • Hard to build • Not structured to support OGSA-DAI’s core and extension vision
Product • CVS • We avoid branches • SVN • Tools to move from CVS to subversion • Good for releases • Can copy whole of trunk to release area • Very powerful • Eclipse plug-ins – SubClipse • GT/Taverna – main and branch • One for development • One for current release and bug fixes
Build • ANT • Build files and properties • ANT scripts invokes other ANT scripts - dependencies • Master build files • Maven • Compile, test, package, publish • Express dependencies • Pull in JARs from off-site repositories • Publish nightly builds as JARs • Local repository – avoid online pull-down • Taverna use Raven – will move back to Maven • All-or-none warning – using Maven + ANT could be very messy • Does at lot of things behind the scenes but hard to understand if things goes wrong • Whereas ANT is at least visible • OMII SDK example • e.g. HTTP GETs in Perl
Build • Community submit Maven configs, ANT scripts whatever • e.g. to build OGSA-DAI versions with appllicatuion/community-specifc extension • Easy_install • Pulls down a package – list of dependencies • Pulls eggs (JARs) from repsitoroes • ZC.BuildOut • Builds on that – versions and combinations of these eggs • For consistent releases
Test framework • Build OGSA-DAI releases • Deploy • Compile and run tests • Publish results • ANT with iteration and try-catch • Messy and hard to extend
Test framework • What does Maven give? • What XP approaches and tools are there? • Jython (Python) • Java-style scripting – clearer than Perl and more aligned with existing OGSA-DAI developer expertise • Call out to ANT • NUnit
Open source project • Governance • An extension pack needs a change to the core • Who is responsible for what • Bugs, support, licence violations • Contributions policy • Branding • TRAC • Integrates with SVN • Can integrate with CVS • Ticketing
Licencing • Licence • Formerly OGSA-DAI custom • Now Apache 2 • NDG use BSD • Who provides advice on how licences work together • OGSA-DAI licence FAQ requested by users • OMII-UK should do this • Advantage of Maven model – avoids bundling • Smaller footprint for download • But instead has the repository footprint
Actions • [OMII/OSSWatch] draw up guide on licence compatibilities for developers and publicise • OSSWatch have advice on this • OMII publicise this on their doc/WWW • [Mike] Publicise OSSWatch advice on WWW and user doc • [Mike] Find out how XP projects do system tests • [Mike] Evaluate (play with!) Maven • [Mike] Evaluate Jython