2017-11-25 151 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文件? –