How to get `gradle install` to actually bundle all project, subproject classes, resources, etc?

You should be able to create a fatjar w/ dependencies without using the shadowjar plugin.

apply plugin: 'java'

configurations {
  childJars
}

dependencies {
  subprojects.each {
    childJars project(it.path)
  }
}

jar {
  dependsOn configurations.childJars
  from { configurations.childJars.collect { zipTree(it) } }
}