Narco wrote:
Hello again!

I`m confused about multi-project projects build order on gradle-0.8. It
works differently than before and it is wrong imo. All projects are simply
running in alphabetical order and ignoring my configuration.
The first thing I have is settings.gradle in root:
include 'app', "ejb-module-session", 'web-main', "test-shared", "test-fit",
"test-integration", "test-selenium", "ear"

Also I have test-shared/build.gradle:
dependencies {
    compile project(':app')
}

and test-fit/build.gradle:
dependencies {
    compile project(':test-shared')
}

so no matter which project or task I build, gradle should understand
dependency chain app <-- test-shared <-- test-fit

I don`t get it why gradle is building just in alphabetical order:
gradle -C=off test -PconfigName=host1.ctco.lv -PconfigType=tomcat
:app:compileJava
:app:processResources
:app:classes
:app:compileTestJava
:app:processTestResources
:app:testClasses
:app:test
:app:jar
:app:uploadDefaultInternal
:ejb-module-session:compileJava
:ejb-module-session:processResources
:ejb-module-session:classes
:ejb-module-session:compileTestJava
:ejb-module-session:processTestResources
:ejb-module-session:testClasses
:ejb-module-session:test
:test-fit:compileJava
C:\work\perf\SCM\Build\Ant\Project\Release_2_0_1\MDL\test-fit\src\main\java\lv\c
tco\module\test\fit\SomeFitTest.java:3: cannot find symbol
symbol  : class ModuleTestShared
location: package lv.ctco.module.test
import lv.ctco.module.test.ModuleTestShared;
                           ^
C:\work\perf\SCM\Build\Ant\Project\Release_2_0_1\MDL\test-fit\src\main\java\lv\c
tco\module\test\fit\SomeFitTest.java:4: cannot find symbol
symbol  : class Module
location: package lv.ctco.module
import lv.ctco.module.Module;

Maybe my root build.gradle overrides project dependencies? :

I think that's exactly what's happening. Perhaps 'fitCompile' should extend 'testCompile' or 'compile'?

subprojects {
usePlugin('java')
configurations {
                    compile
                    testCompile
                    sharedCompile { extendsFrom testCompile }
fitCompile
                }

                dependencies {
                    compile (':log4j:1', ':j2ee:1', ':gwt-dev-windows:1',
':gwt-servlet:1', ':gwt-user:1')
                    testCompile (':junit:1')
fitCompile (':fit:1')
} ...
} else if (artifactType.equals('shared')) { //test-shared configuration
                sourceSets {
                    main {
                        compileClasspath = configurations.sharedCompile
                    }
                }
} else if (artifactType.equals('fit')) {
                sourceSets {
                    main {
                        compileClasspath = configurations.fitCompile
                    }
                }
}
...
}

--
Adam Murdoch
Gradle Developer
http://www.gradle.org


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

   http://xircles.codehaus.org/manage_email


Reply via email to