2012-05-02 29 views
1

Maven Assembly插件允許在程序集描述符中指定不同的格式。我如何開發一種新的格式以支持它?爲Maven Assembly插件創建新格式選項

我想創建一個ISO映像,而不是它已經支持的zip,jar或tar文件。我找到了一個可以創建ISO映像(https://github.com/stephenc/java-iso-tools)的插件,但不是作爲程序集插件的一部分,因此使用該插件會非常高興,甚至可以擴展該插件。

我基本上希望能夠爲我做裝配描述如下:

<assembly> 
    <id>cd-image</id> 
    <formats> 
    <format>iso</format> 
    </formats> 
    <!-- Rest of descriptor here --> 
</assembly> 

我也是這樣才能夠創建檔案中刪除間接的額外的水平,所以當我聲明一個文件應該在歸檔的根目錄時,它確實是。這將是一個焦油炸彈,它是一個tar文件,但對於ISO映像將是一個有用的功能。

+0

我想你應該在相應的[郵件列表](http://maven.apache.org/plugins/maven-assembly-plugin/mail-lists.html)中提出這個問題。 –

回答

0

最好的事情是在問題跟蹤系統中提出問題:http://jira.codehaus.org/browse/MASSEMBLY此外,以一種好的方式支持這個問題是查看maven-assembly-plugin的源代碼,並嘗試生成一個它實現了你喜歡的功能。 但是我懷疑它會被開發人員接受,因爲您所提到的工具是基於GPL的軟件,無法集成到Apache許可的部分中。所以如果他們後悔這樣的話,我不會感到驚訝。但可能是我錯了。試試吧。 此外,建議一個完全用於這種目的的新Maven插件(maven-iso-pugin?)可能是一個好主意。

而且非常重要的是你應該檢查Maven Central,因爲已經存在一個用於此目的的http://search.maven.org/#search|ga|1|iso9660-maven-plugin maven插件。

0

iso9660-maven-plugin(java-iso-tools的一部分)現在直接支持這個。你必須將它添加到你的pom.xml作爲擴展和作爲一個依賴於Maven的組裝插件:

<build> 
    <extensions> 
     <extension> <!-- Adds "iso" as an assembly format. --> 
      <groupId>com.github.stephenc.java-iso-tools</groupId> 
      <artifactId>iso9660-maven-plugin</artifactId> 
      <version>2.0.1</version> 
     </extension> 
    </extensions> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         ... 
        </configuration> 
       </execution> 
      </executions> 
      <dependencies> 
       <dependency> 
        <groupId>com.github.stephenc.java-iso-tools</groupId> 
        <artifactId>iso9660-maven-plugin</artifactId> 
        <version>2.0.1</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

然後你就可以在你的裝配描述符使用<format>iso</format>

我看到最初的提問者是將此功能添加到iso9660-maven-plugin的人。謝謝!

相關問題