Вот одно из решений.Ниже приведен build.gradle для примера проекта
Я включил 2 плагина и письменный скрипт для включения дополнительных скриптов при сборке jar.
Есть несколько скриптов, сгенерированных затмением, которые я не удалил.
apply plugin: 'java'
/**Following plugins are needed */
apply plugin: 'maven-publish'
apply plugin: 'maven'
/**Just to include jar versioning*/
version = '1.0.0'
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.25'
testCompile 'junit:junit:4.12'
}
apply plugin: 'eclipse'
eclipse {
classpath {
downloadSources = true // default: true
downloadJavadoc = true // default: false
}
}
def eclipseSourceFolders=[
'src/main/java',
'src/main/resources',
'src/test/java',
'src/test/resources'
];
tasks.eclipse.dependsOn << {
for (String sourceFolder: eclipseSourceFolders){
def resourceDir = new File(project.projectDir, sourceFolder)
if( !resourceDir.exists() && ! resourceDir.mkdirs() ) {
logger.info("Not able to create %1",resourceDir);
}
}
}
/**
Add Following scripts to placs pom.xml within jar and .pom file within libs folder*/
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
/** While creating jar generate and place pom.xml also place .pom file in libs folder */
jar {
into("META-INF/maven/$project.group/$project.name") {
from { generatePomFileForMavenJavaPublication }
rename ".*", "pom.xml"
}
doLast {
pom {
project {
}
}.writeTo("$buildDir/libs/$project.name-${version}.pom")
}
}