On Apr 17, 2009, at 7:14 PM, Steve Appling wrote:

I know this is a work in progress, but thought some feedback might be useful now.

The configuration DSL as implemented differs some from the proposal at http://docs.codehaus.org/display/GRADLE/Dependencies

The proposal was:
configurations {
  newConf extends: compile, transitive: true
  // alternatively
  newConf {
     extends = compile
     transitive = true
  }
  existingConf transitive: true
}

The map based syntax does not appear to work - I'm hoping this is just not implemented yet, because it is nice and concise :)


The more verbose syntax options that works are:
configurations {
 newConf {
     extendsFrom compile
     //or
     extendsFrom = [compile]

     transitive = true
 }
}

The following, however, does not work
configurations {
  newConf {
     extendsFrom = compile
     transitive = true
  }
}


Configuration.setExtendsFrom takes a Set of superConfigs not a single one. This is awkward and most usages will probably have only a single parameter. Perhaps this should work with both a list and a single Configuration as was discussed for flatDir earlier today.

Thanks for your feedback. It is work in progress. But it is very helpful to bring this to a point.

BTW: What we try to achieve is a separation between our DLS and our plain Java API. Eventually we want to have a Java only core (we have this mostly already) that is not influenced by DSL requirements. DSL requirements are often depend strongly on the internal DSL language. We want to be open to multiple build script engines as well as as Java only usage scenario (e.g. an embedded one). With the planned OSGi'fication (and modularization) in 0.8 the separation will become clearer. In the case above the map syntax will be part of the ConfigurationHandler.

- Hans

--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to