« Return to Thread: Arbitrary structure for multi-project builds progress

Arbitrary structure for multi-project builds progress

by JerodLass () :: Rate this Message:

Reply to Author | View in Thread

After an issue refreshed my need for build hierarchy control, I'm back to trying to build my multi-project without a physical top-level build.  Again, to clean up cvs (among other benefits), I would like to modify my project structure

From:
 -D Project
   -D SubProject1
      -F build.gradle
   -D SubProject2
      -F build.gradle
   -F build.gradle
   -F settings.gradle
to:
 -D Project
   -D SubProject1
      -F build.gradle
   -D SubProject2
      -F build.gradle
   -D ProjectBuild
      -F build.gradle (this is virtually the top-level script which defines a lot of behavior for subprojects)
      -F settings.gradle

Without affecting the build, which has been running well.  If someone knows exactly how to do this then read no further, but here is a list of my settings.gradle attempts and which problems they caused:

Attempt #1:

include 'Project1', 'Project2'

mavenRepo(name: 'LocalRepo', urls: 'http://localserv/maven-repo/')
dependencies("org.jerod.GradlePlugins:MyRootPlugin:1.7")
dependencies("org.jerod.GradlePlugins:MyProjectPlugin:1.7")

Output #1:

plugins found, projects initialized but no directories/build files found so its an empty but error-free build

Attempt #2:

includeFlat 'Project1', 'Project2'

mavenRepo(name: 'LocalRepo', urls: 'http://localserv/maven-repo/')
dependencies("org.jerod.GradlePlugins:MyRootPlugin:1.7")
dependencies("org.jerod.GradlePlugins:MyProjectPlugin:1.7")

Output #2:

plugins found, projects initialized, errors because other projects reference rootproject paths which are now different

Attempt #3[#4]:

rootProject.projectDir = new File(settingsDir, '..')

include[includeFlat] 'Project1', 'Project2'

mavenRepo(name: 'LocalRepo', urls: 'http://localserv/maven-repo/')
dependencies("org.jerod.GradlePlugins:MyRootPlugin:1.7")
dependencies("org.jerod.GradlePlugins:MyProjectPlugin:1.7")

Output #3[#4]:

Plugin not found, no class def found on org.jerod.GradlePlugins.MyRootPlugin declaration, projects not added

When I run configuration 3/4 while specifying the settings file (-c settings.gradle) I get an error that it can't select the default project

Attempt #5:

rootProject.projectDir = new File(settingsDir, '..')

include 'Project1', 'Project2', 'ProjectBuild'

mavenRepo(name: 'LocalRepo', urls: 'http://localserv/maven-repo/')
dependencies("org.jerod.GradlePlugins:MyRootPlugin:1.7")
dependencies("org.jerod.GradlePlugins:MyProjectPlugin:1.7")

Output #5:

Plugins found, includes all proojects, appears to find all build files, but doesn't run any tasks for subprojects (no errors, though).  Is it possible that with ProjectBuild added as a separate project and being halfway between a root and subproject, the real subprojects are no longer downstream from ProjectBuild so dependsOnChildren() doesn't have the same effect?

Attempt #6:

rootProject.projectDir = new File(settingsDir, '..')
rootProject.buildFileName = 'loggerBuild/build.gradle'

include 'Project1', 'Project2', 'ProjectBuild'

mavenRepo(name: 'LocalRepo', urls: 'http://localserv/maven-repo/')
dependencies("org.jerod.GradlePlugins:MyRootPlugin:1.7")
dependencies("org.jerod.GradlePlugins:MyProjectPlugin:1.7")

Output #6:

Plugins found, projects recognized, but errors when ProjectBuild is seen as the root project and a subproject and thus gets two different task definitions thanks to the two declared plugins


If you made it this far, I applaud you.  I'm desperate for any help.

Thank you,
Jerod Lass

 « Return to Thread: Arbitrary structure for multi-project builds progress