如何重命名使用 gradle 工作区插件生成的包

How to rename bundles generated with gradle workspace plugin

好吧,我想重命名我的构建生成的包以在其名称中指定版本,但我所做的一切似乎都被忽略了,并且包每次都以项目文件夹名称结尾。

build.gradle 文件

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    // https://mvnrepository.com/artifact/org.osgi/org.osgi.core
    compile group: 'org.osgi', name: 'org.osgi.core', version: '6.0.0'
}

task copyJar(type: Copy) {
    from('generated')
    include('*.jar')
    into("$rootDir/build/lib/bundles")
}

build.finalizedBy(copyJar)

gradle.properties

bundle_name=helloworld
bundle_version=5.1.2

据我所知,jar 任务使用 baseName 和 version 属性以及其他属性来命名 jar(如果未指定任何内容),所以我在 build.gradle 文件中尝试但它不起作用,我不断收到一个带有项目文件夹名称的 jar 文件

jar.baseName = "$bundle_name"
jar.version = "$bundle_version"

我也在使用 bnd 工作区插件,我认为它覆盖了 jar 任务的工作方式,但我不确定

这是父项目build.gradle

    //Applying the Gradle BND Plugin for Workspace Builds
    //https://github.com/bndtools/bnd/blob/master/biz.aQute.bnd.gradle/README.md
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "biz.aQute.bnd:biz.aQute.bnd.gradle:${bnd_version}"
    }
}
apply plugin: 'biz.aQute.bnd.workspace'
apply plugin: 'java'

    // Repositorios, aguante Maven Central.
/*
repositories {
    mavenCentral()
}
*/

clean {
    delete ("$rootDir/build/libs/bundles")
}

感谢阅读

如果您使用的是 Bnd 工作区插件,那么您必须通过项目的 bnd.bnd 文件来控制 Bnd。请参阅 -outputmask 指令来控制输出名称。