2012-05-02 3 views
1

Maven 어셈블리 플러그인을 사용하면 어셈블리 디스크립터에서 다른 형식을 지정할 수 있습니다. 새 형식을 어떻게 개발하여 지원할 수 있습니까?Maven 어셈블리 플러그인에 대한 새 형식 옵션 만들기

이미 지원하고있는 zip, jar 또는 tar 파일 대신 ISO 이미지를 만들고 싶습니다. ISO 이미지 (https://github.com/stephenc/java-iso-tools)를 만들지 만 어셈블리 플러그인의 일부가 아닌 플러그인을 찾았으므로이를 사용하거나 해당 플러그인을 확장해도 꽤 행복 할 것입니다. 그래서,

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

내가이 같이 생성 한 아카이브 내에서 간접의 추가 수준을 제거 할 수 있도록 것 :

나는 기본적으로 내 조립 기술자에서 다음을 수행 할 수 있도록하려면 파일이 아카이브의 루트에 있어야한다고 선언 할 때 정말입니다. 이것은 tar 파일 인 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 기반 소프트웨어는 참조하는 도구가 devs에서 받아 들일 것입니다. 그들이 이런 식으로 후회한다면 나는 놀라지 않을 것입니다. 그러나 내가 틀릴 수도 있습니다. 한번 시도해보십시오. 그런 목적을 위해 정확히 새로운 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에 추가 할 수 있습니다

<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>를 사용할 수 있습니다.

원래의 asker는 iso9660-maven-plugin에이 기능을 추가 한 사람이었습니다. 고맙습니다!

관련 문제