2017-11-25 276 views
-1

好吧,我想重命名由我的构建生成的包,以指定其名称中的版本,但我所做的一切似乎都被忽略,并且包最终与项目文件夹名称每次。如何重命名使用gradle工作区插件生成的包

的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任务使用基本名称和版本属性,与其他属性一起命名的罐子,如果没有已经指定,所以我尝试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") 
} 

感谢你的父项目阅读

回答

1

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

+0

工程就像一个魅力,现在我明白了。非常感谢您的先生 –

+0

我可以问一个跟进问题吗?现在它工作,我得到了所需名称的jar文件,但gradle现在生成两个jar文件,一个是我在bnd.bnd文件中设置的名称,另一个是previus通用名称的jar,我可以在哪里禁用创建更新的jar文件? –