How do I get buildr to put dependencies on subprojects into the POM?

51 views Asked by At

One of my Buildr buildfiles is structured like this:

require 'buildr/custom_pom'

# Omitting a lot of off-topic header stuff.
# Full version of the file is at GitHub.

desc 'Main project'
define 'hex' do
  project.version = VERSION_NUMBER
  project.group = 'org.trypticon.hex'

  pom.add_lgpl_v3_license
  pom.add_github_project('trejkaz/hex-components')
  pom.add_developer('trejkaz', 'Trejkaz', '[email protected]')

  desc 'Hex Utilities'
  define 'util' do
    pom.description = 'Utilities used by other hex components'
    compile.with INTELLIJ_ANNOTATIONS
    compile.with ICU4J
    compile.with SWINGX
    package :jar
    package :sources
    package :javadoc
  end

  #... omitting more ...

  desc 'Hex Viewer'
  define 'viewer' do
    pom.description = 'Hex viewer and related components'
    compile.with projects('anno', 'binary', 'interpreter', 'util')
    compile.with INTELLIJ_ANNOTATIONS
    compile.with SWINGX
    package :jar
    package :sources
    package :javadoc
  end
end

hex-viewer depends on hex-util. Yet when Buildr creates the POM, the POM is missing these dependencies between the subprojects.

Reading the source of Buildr itself, it seems that they deliberately omit all dependencies which are not an Artifact for some reason. Subprojects not being artifacts, they naturally get omitted from the POM.

Is there a workaround to get them back in?

0

There are 0 answers