Hi Mathias,

as Peter pointed out, the version matchers (dynamic revisions) are the
"problem". What Ivy allows though, is to define a time to live (ttl) for
dynamic revisions. Unfortunately we don't expose this configuration option
yet but of course we should do and will do so soon. Again, filing an issue
would be appreciated.

One more thing in regard to the performance. Even without dynamic revisions,
Ivy's retrieving of dependencies is probably the biggest chunk of the
incremental build. I'm talking about the situation when all dependencies are
in the local cache. The JFrog guys have written a complete new
implementation of an Ivy cache manager (they call it the wharf). This new
manager has many advantages (no wrong error messages, concurrency, ...). We
also hope that it will speed things up. The first impression is that it
does. We want to integrate it in 1.0-M1 which is scheduled for February.

The wharf impl is here: https://github.com/tomerc/Wharf
A JFrog gradle fork where the wharf is integrated is here:
https://github.com/freddy33/gradle

Hans

--
Hans Dockter
Founder, Gradle
http://www.gradle.org, http://twitter.com/gradleorg
CEO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz

On Sat, Jan 22, 2011 at 2:55 PM, Mathias Kalb <[email protected]>wrote:

> Hi,
>
> last week I thought that the compile was slow because of the UP-TO-DATE
> check and I created a JIRA issue with Adams ideas.
>
> But now (after more profiling) I think the dependencies are the main
> problem.
>
> I created a simple build.gradle (without a src folder). All dependencies
> are at my local gradle cache.
>
> Then I called "gradle build" twice. The first time it takes 3:57 min and
> the second 3:40 min.
>
> The follwing three tasks are the problem (compileJava, compileTestJava and
> test). They all need the dependencies.
>
> build.gradle
> ----------------------------
>    apply plugin: 'java'
>
>    repositories {
>        mavenCentral()
>        mavenRepo urls: '
> https://repository.jboss.org/nexus/content/repositories/releases/'
>    }
>
>    dependencies {
>        compile group: 'log4j', name: 'log4j', version: '1.2.+'
>        compile group: 'javax.mail', name: 'mail', version: '1.+'
>        compile group: 'org.slf4j', name: 'slf4j-api', version: '1.+'
>        compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.+'
>        compile group: 'commons-logging', name: 'commons-logging', version:
> '1.+'
>        compile group: 'org.springframework', name: 'spring-aop', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-asm', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-beans', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-context',
> version: '3.0.+'
>        compile group: 'org.springframework', name:
> 'spring-context-support', version: '3.0.+'
>        compile group: 'org.springframework', name: 'spring-core', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-expression',
> version: '3.0.+'
>        compile group: 'org.springframework', name: 'spring-jdbc', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-orm', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-test', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-tx', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-web', version:
> '3.0.+'
>        compile group: 'org.springframework', name: 'spring-webmvc',
> version: '3.0.+'
>        compile (group: 'org.apache.ant', name: 'ant', version: '1.7.+') {
>            exclude group: 'org.apache.ant', module: 'ant-launcher'
>        }
>        compile group: 'org.jdom', name: 'jdom', version: '1.+'
>        compile group: 'org.apache.myfaces.core', name: 'myfaces-api',
> version: '1.2.8'
>        compile group: 'org.apache.myfaces.core', name: 'myfaces-impl',
> version: '1.2.8'
>        compile (group: 'org.apache.myfaces.tomahawk', name: 'tomahawk12',
> version: '1.1.+') {
>            exclude group: 'batik'
>        }
>        compile group: 'commons-lang', name: 'commons-lang', version: '2.+'
>        compile group: 'commons-io', name: 'commons-io', version: '1.+'
>        compile group: 'commons-dbutils', name: 'commons-dbutils', version:
> '1.+'
>        compile group: 'commons-collections', name: 'commons-collections',
> version: '3.+'
>        compile group: 'org.apache.poi', name: 'poi', version: '3.6'
>        compile group: 'org.apache.poi', name: 'poi-contrib', version: '3.6'
>        compile (group: 'com.lowagie', name: 'itext', version: '2.1.+') {
>            exclude group: 'bouncycastle'
>        }
>        compile group: 'taglibs', name: 'standard', version: '1.1.2'
>        compile (group: 'org.apache.tiles', name: 'tiles-core', version:
> '2.0.+') {
>            exclude group: 'commons-logging', module: 'commons-logging-api'
>        }
>        compile (group: 'org.apache.tiles', name: 'tiles-api', version:
> '2.0.+') {
>            exclude group: 'commons-logging', module: 'commons-logging-api'
>        }
>        compile (group: 'org.apache.tiles', name: 'tiles-jsp', version:
> '2.0.+') {
>            exclude group: 'commons-logging', module: 'commons-logging-api'
>        }
>        compile group: 'org.hibernate', name: 'hibernate-core', version:
> '3.3.+'
>        compile group: 'org.hibernate', name: 'hibernate-annotations',
> version: '3.3.+'
>        compile group: 'org.richfaces.framework', name: 'richfaces-impl',
> version: '3.3.3.Final'
>
>        testCompile group: 'junit', name: 'junit', version: '4.8.+'
>    }
>
> ----------------------------
>
> regards,
> Mathias Kalb
>
>
>
> Am 22.01.2011 01:27, schrieb Peter Niederwieser:
>
>
>> Merlyn Albery-Speyer wrote:
>>
>>> Is this typical performance or purely an oddity relating to my
>>> repositories/dependencies?
>>>
>>>  It's certainly not typical performance. Is every build so slow? Is it an
>> open-source project that I can try to build myself?
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>   http://xircles.codehaus.org/manage_email
>
>
>

Reply via email to