boolivar/jdoc-test

View on GitHub
buildSrc/src/main/groovy/gradle-plugin-conventions.gradle

Summary

Maintainability
Test Coverage
plugins {
   id "java-conventions"
   id "com.gradle.plugin-publish"
   id "com.github.johnrengelman.shadow"
}

shadowJar {
    archiveClassifier = ""
    dependencies {
       exclude(dependency {
           it.moduleGroup != project.group
       })
    }
    actions.removeAt(0) // remove manifest Class-Path configuration action that requires platform in configuration
}

def shadowDeps(Project project) {
    def configuration = project.configurations.findByName("runtimeClasspath")
    if (configuration != null) {
        for (def dep : configuration.allDependencies) {
            if (dep.group == rootProject.group) {
                shadowDeps(dep.dependencyProject)
            } else {
                dependencies {
                    shadow "$dep.group:$dep.name"
                }
            }
        }
    }
}

gradle.projectsEvaluated {
    shadowDeps(project)
}

publishing {
    publications {
        pluginMaven(MavenPublication) {
            versionMapping {
                allVariants {
                    fromResolutionResult()
                }
            }
        }
    }
}