Thanks Steve! I somehow avoided Maven (thankfully!) for so long.. but the aging Ant just can't keep up anymore. I did lots of projects with Ant/Ivy.. but now that i'm full speed on the Grails/Groovy train.. it is Gradle or bust.

Another thing I think is "hard" about picking up gradle, is that all the examples, on the web etc, always look soo different.

Like people doing thinks like this:

compile: "c3p0:c3p0:0.9.1.2"
03.compile: "com.fonterra.tams:msg-classes:1.0.0"
04.compile: "oracle.jdbc.driver:OracleDriver:10.2.0.3"
05.addDependency(['compile'], "org.apache.struts:struts-core:1.3.8" ) {
06.   exclude(module: 'commons-logging' )
07.}

(that is from Anthony's "convert Maven POM to Gradle script post)

I mean.. seeing "addDependency" which is a method on Configuration.. in the build.gradle.. versus then seeing all the 0.8 docs doing dependencies { } (with the closure).

I know it ends up doing the same thing.. but man.. hurt the brain! (especially in the morning, before coffee.. very dangerous time hah)

Thanks for your quick response!

Roger

On Nov 10, 2009, at 8:17 AM, Steve Appling wrote:



Roger Studner wrote:
First.. just a simple "is this really how a dependencies() section looks:
repositories {
   mavenCentral()
}
dependencies {
   groovy 'org.codehaus.groovy:groovy:1.6.5'
compile group:'org.springframework', name:'spring', version:'2.5.6' compile group: 'org.slf4j', name: 'slf4j- api', version: '1.5.2' compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.5.2' compile group: 'org.hibernate', name: 'ejb3-persistence', version: '1.0.2.GA' compile group: 'org.hibernate', name: 'hibernate-annotations', version: '3.4.0.GA' compile group: 'org.hibernate', name: 'hibernate', version: '3.2.1.ga' compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '3.4.0.GA' compile group: 'org.hibernate', name: 'hibernate-commons- annotations', version: '3.3.0.ga'
   compile group: 'dom4j', name: 'dom4j', version: '1.6.1'
   compile group: 'org.apache.poi', name:'poi', version:'3.5-FINAL'
compile group: 'org.apache.poi', name:'poi-contrib', version:'3.5-FINAL' compile group: 'org.apache.poi', name:'poi-scratchpad', version:'3.5-FINAL' compile group: 'log4j', name:'log4j', version:'1.2.15' compile group: 'commons-logging', name: 'commons-logging', version: '1.1.1' testCompile group:'junit', name:'junit', version:'3.8.2'
   testCompile group: 'junit', name: 'junit', version: '4.7'
testCompile group:'org.springframework', name:'spring', version:'2.5.6' testCompile group:'org.springframework', name:'spring-test', version:'2.5.6' testCompile group: 'org.slf4j', name: 'slf4j-api', version: '1.5.2' testCompile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.5.2' testCompile group: 'org.hibernate', name: 'ejb3-persistence', version: '1.0.2.GA' testCompile group: 'org.hibernate', name: 'hibernate- annotations', version: '3.4.0.GA' testCompile group: 'org.hibernate', name: 'hibernate', version: '3.2.1.ga' testCompile group: 'org.hibernate', name: 'hibernate- entitymanager', version: '3.4.0.GA' testCompile group: 'org.hibernate', name: 'hibernate-commons- annotations', version: '3.3.0.ga'
   testCompile group: 'dom4j', name: 'dom4j', version: '1.6.1'
testCompile group: 'org.apache.poi', name:'poi', version:'3.5- FINAL' testCompile group: 'org.apache.poi', name:'poi-contrib', version:'3.5-FINAL' testCompile group: 'org.apache.poi', name:'poi-scratchpad', version:'3.5-FINAL' testCompile group: 'log4j', name:'log4j', version:'1.2.15' testCompile group: 'commons-logging', name: 'commons-logging', version: '1.1.1' } Basically, I took all the things in compile, and just duplicated them... Since most of the tests are integration (thus use spring/ hibernate/poi etc).

testCompile extends compile, so you don't need to duplicate anything that is already in compile. Just add things needed only for tests (like Junit).

You may find the String notation for dependencies to be a little more compact for you:
    compile 'dom4j:dom4j:1.6.1'

Just wanting to make sure i'm not starting my adventures with Gradle like a fool hah.
Second...
I keep getting told I'm missing a dependency:
* What went wrong:
Execution failed for task ':test'.
Cause: Could not resolve all dependencies for configuration 'testRuntime':
   - download failed: javax.jms#jms;1.1!jms.jar
   - download failed: com.sun.jdmk#jmxtools;1.2.1!jmxtools.jar
   - download failed: com.sun.jmx#jmxri;1.2.1!jmxri.jar
(first, odd I need javax.jms.. Imean, since I use no JMS, of any kind, anywhere). So, I go to mvnrepository.com, and I lookup the dependency.. and I add it.. something like
compile group:'javax.jms', name:'jms", version:"1.1"
and I do the same for testCompile.
I got the group/name/version from mvnrepository.com
Then, I get this error:
:: problems summary ::
:::: WARNINGS
       [NOT FOUND  ] javax.jms#jms;1.1!jms.jar (470ms)
   ==== MavenRepo: tried
     http://repo1.maven.org/maven2/javax/jms/jms/1.1/jms-1.1.jar
       ::::::::::::::::::::::::::::::::::::::::::::::
       ::              FAILED DOWNLOADS            ::
       :: ^ see resolution messages for details  ^ ::
       ::::::::::::::::::::::::::::::::::::::::::::::
       :: javax.jms#jms;1.1!jms.jar
       ::::::::::::::::::::::::::::::::::::::::::::::
I freely admit, I used ivy "some" and maven basically not at all. So possibly all these dependency quirks, sadly, are just "part of the problem" with trying to use a tool to resolve dependencies.
Anyone have any insight/tips to the above?
>
> Thanks,
> Roger
>
You are picking up a transitive dependency. Run a dependency report to see where it is coming from.
  gradle -q --dependencies

See 
http://gradle.org/0.8/docs/userguide/tutorial_gradle_command_line.html#para:commandline_dependency_report

Once you have found a transitive dependency you don't need, you can exclude it. See http://gradle.org/0.8/docs/userguide/dependency_management.html#sub:exclude_transitive_dependencies
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
  http://xircles.codehaus.org/manage_email

--
Steve Appling
Automated Logic Research Team

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

  http://xircles.codehaus.org/manage_email



Reply via email to