Maven-publish plugin slows down configuration of multi-project build?


#1

Recently, we replaced the “old” maven plugin by still incubating “maven-publish” in our builds. While having a look into our CI server, we realized that average build time was significantly higher after doing the migration. We had a look at gradle profile report since we are using --profile in CI.

As a result we realized that “Configuring Projects” increased dramatically right after adding

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

to java projects of our multi-project build (~100 projects).

Before doing the migration it looked like this:

Configuring Projects 13.231s

Afterwards we had results like this:

Configuring Projects 1m0.03s

As a result our builds are ~45s slower now. (Note: we are using gradle 1.9)


(Luke Daley) #2

This is pretty interesting.

How big is the multi module project?


#3

Well, it contains approx. 100 projects.


(Luke Daley) #4

Thanks for the report.

This is something we hope to tackle soon.


#5

Great, thx.

Do you already have an estimate about the version it will be handled in?


(Luke Daley) #6

We don’t sorry.

in the meantime you could look into only applying the maven-publish plugin when you strictly need it by some conditional configuration.

Using configure on demand mode might be another option.