我有一個maven項目 - 它是jenkins的插件。它的父母應該是:Maven:根據配置文件選擇父項目
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>1.414</version>
</parent>
但同時這個插件也可以用於哈德森,而不會改變任何代碼行。但對於它的父項目應該是:
<parent>
<groupId>org.jvnet.hudson.plugins</groupId>
<artifactId>hudson-plugin-parent</artifactId>
<version>2.0.1</version>
</parent>
我可以指定2個不同的配置文件爲,並使用它們來構建插件相應詹金斯或哈德森?所以,我呼籲類似的東西:
mvn package -P jenkins
或
mvn package -P hudson
我試圖在配置文件中指定的屬性,但這些不是由<parent>
標籤內的值替換。那麼是否還有其他可能性爲兩者構建插件,但是儘可能使用通用代碼和文件?
添加:所以,如果我不能這樣做,那麼我該怎麼做呢?如何重構?新結構應該是什麼?
謝謝,我會試試看。但是這樣我必須得到我的代碼的兩個副本:在plugin-jenkins和plugin-hudson中。它能以某種方式做到這一點,我建立基於詹金斯代碼哈德森或反之亦然? –
那麼,我真的會建議你有兩個單獨的項目來包裝這個(至少)。正如Karl-Heinz在下面指出的那樣,Hudson和Jenkins已經分道揚it,很可能現在(仍然)工作的東西在不久的將來將無法工作。 您可以將大部分代碼保留在覈心模塊中,然後在包裝模塊(取決於核心)中使用Hudson或Jenkins特定的東西。 沿着這些線應該解決你的問題。 – carlspring