An OGDL example

pomVersion 3

id    jing-dao
name 'Jing DAO Framework'
currentVersion 0.6.5

organization
     name   JadeTower
     url    http://jadetower.org
     logo   /images/jadetower-logo.png

inceptionYear  2003
package        org.jadetower
logo           /images/jing-logo.png

description    'Java Based DAO Framework'

url             http://jingdao.sf.net
issueTrackingUrl   http://sourceforge.net/tracker/?group_id=75092&atid=542902

siteAddress     jingdao.sf.net
distributionDirectory  /home/groups/j/ji/jingdao/htdocs/dist

mailingLists
     name        'JingDAO DeveloperList'
     subscribe   http://lists.sourceforge.net/lists/listinfo/jingdao-devel
     unsubscribe http://lists.sourceforge.net/lists/listinfo/jingdao-devel
     archive     http://sourceforge.net/mailarchive/forum.php?forum_id=35345

developers
     name        'J Aaron Farr'
     id           farra
     email        farra@apache.org
     organization JadeTower
     roles       ( 'Java Developer' )

dependencies 
  dependency
    groupId      avalon-framework
    artifactId   avalon-framework
    version      4.1.4
    url          http//avalon.apache.org/framework
    properties   ( jar.include true )
  dependency 
    groupId      excalibur-configuration
    artifactId   excalibur-configuration
    version      1.0
    url          http//avalon.apache.org/excalibur
    properties   ( jar.include true )
  dependency
    groupId      commons-beanutils 
    artifactId   commons-beanutils
    version      1.6.1
    url          http//jakarta.apache.org/commons/beantutils
    properties   ( jar.include true )
  dependency
    groupId      commons-logging
    artifactId   commons-logging
    version      1.0.3
    url          http//jakarta.apache.org/commons/logging/
    properties   ( jar.include true )
  dependency
    groupId      commons-collections
    artifactId   commons-collections
    version      2.1
    url          http//jakarta.apache.org/commons/collections
    properties   ( jar.include true )
   dependency
    groupId      picocontainer
    artifactId   picocontainer
    version      1.0-beta-3
    url          http//picocontainer.org
    properties   ( jar.include true )
   dependency
    groupId      bsh
    artifactId   bsh
    version      1.3.0
    url          http//www.beanshell.org
    properties   ( jar.include true )   
   dependency
    groupId      sun
    artifactId   jndi
    version      1.2.1

build 
 sourceDirectory           ${basedir}/src/java
 unitTestSourceDirectory   ${basedir}/src/test
 unit test 
  includes **/*TestCase.java 
  excludes **/Abstract* 
 resources 
     directory    ${basedir}/src/conf
     targetPath   BLOCK-INF
     includes     block.xml 

There are a couple of things I’d like to point out about this example. First off, in many ways it looks very similar to the YAML version, however OGDL is a bit simplier and cleaner. It’s also easier to learn. I had to look through the YAML spec to make sure I had all the syntax correct. For the OGDL version, well, there isn’t much syntax you need to know. In either case, though, both are easier to read than the XML.

Rolf also pointed out that “Speaking about parsers, alpha level Perl and C versions are available, although they are already usable. Java will follow.” Certainly something to keep and eye on!