2014-01-20 3 views
0

У меня есть такая конфигурация:Maven сборки разные имена

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
        <finalName>OSS_CD_</finalName> 
        <!-- <appendAssemblyId>false</appendAssemblyId> --> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 
</project> 

с дескриптором:

<?xml version="1.0" ?> 
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>${BUILD_NUMBER}-Cisco-IPSLA</id> 
    <formats> 
     <format>tar.gz</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <baseDirectory>/W4NParser/input/</baseDirectory> 

    <fileSets> 
     <fileSet> 

      <includes> 
       <include>/installation/updater.py</include> 
       <include>/installation/config.py</include> 
       <!--cm--> 
       <include>/W4NParser/input/cm/CM_*.xml</include> 
       <include>/W4NParser/input/cm/rtt*.xml</include> 
       <!--pm--> 
       <include>/W4NParser/input/pm/rtt*.xml</include> 


       <!--W4N config files--> 
       <include>../W4N_config_files/MIB/CISCO-ENHANCED-MEMPOOL-MIB.mib</include> 
       <include>../W4N_config_files/MIB/CISCO-RTTMON-RTP-MIB.mib</include> 
       <include>../W4N_config_files/MIB/MPLS-TE-STD-MIB[rfc3812].mib</include> 
       <include>../W4N_config_files/snmp-masks/NSN-CISCO-RTT-SNMP-DISCOVERY.xml</include> 
       <include>../W4N_config_files/snmp-masks/NSN-CISCO-IPSLA-STATSTABLE-SNMP-DISCOVERY.xml</include> 
       <include>../W4N_config_files/device-discovery/NSN-CISCO-RTT-DEVICE-DISCOVERY.xml</include> 



      </includes> 
      <outputDirectory>/w4nparser-cisco-ipsla</outputDirectory> 
      <excludes> 

      </excludes> 
     </fileSet> 
    </fileSets> 
</assembly> 

Можно ли иметь разные имена файлов, полученных каждым из дескриптора? Я сделал эксперимент с идентификатором. Однако она всегда появляется с примером - :

OSS_CD_-32-Cisco-IPSLA.tar.gz 

Я пробовал разные способы удаления первого -, но без какого-либо успеха.

ответ

0

Возможно, есть лучший способ, но как насчет вас определить несколько <executions/> и определить разные <configuration/>-s?

Рассмотрим следующий пример:

<?xml version="1.0" ?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
       </configuration> 
       <executions> 
        <execution> 
         <id>execution-1</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <finalName>OSS_CD_1</finalName> 
         </configuration> 
        </execution> 
        <execution> 
         <id>execution-2</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <finalName>OSS_CD_2</finalName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <artifactId>exec-maven-plugin</artifactId> 
       <groupId>org.codehaus.mojo</groupId> 
       <version>1.2.1</version> 
       <executions> 
       <execution><!-- renames the tar-gz --> 
        <id>remaner</id> 
        <phase>verify</phase> 
        <goals> 
        <goal>exec</goal> 
        </goals> 
        <configuration> 
        <executable>${basedir}/build_script/renamer.py</executable> 
        </configuration> 
       </execution> 
       </executions> 
      </plugin>   
     </plugins> 
    </build> 
</project> 
+0

Можно ли добавить в плагин сборки несколько тегов конфигурации? – Zebedeu

+0

Проверьте мой обновленный (хотя и непроверенный) ответ. – carlspring

+0

Я попробую. Благодарю. – Zebedeu

0

хорошо i've попробовал другой подход, который работал для меня. Я изменил имя файла после того, как они были сделаны. добавление плагина exec. Это не более элегантное решение, но оно работает.

<?xml version="1.0" ?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.nsn.nms.parser</groupId> 
    <artifactId>w4nparser</artifactId> 
    <version>1.0</version> 
    <url>http://maven.apache.org</url> 
    <name>NMSParser</name> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <!-- <finalName>${project.artifactId}-${project.version}</finalName> --> 
     <!-- <finalName>OSS_CD_</finalName> --> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
         <descriptor>assembly-cisco-ipsla.xml</descriptor> 
         <descriptor>assembly-mpls.xml</descriptor> 
         <descriptor>assembly-juniper-rpm.xml</descriptor> 
        </descriptors> 
        <finalName>OSS_CD_</finalName> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>exec-maven-plugin</artifactId> 
       <groupId>org.codehaus.mojo</groupId> 
       <version>1.2.1</version> 
       <executions> 
       <execution><!-- renames the tar-gz --> 
        <id>remaner</id> 
        <phase>verify</phase> 
        <goals> 
        <goal>exec</goal> 
        </goals> 
        <configuration> 
        <executable>${basedir}/build_script/renamer.py</executable> 
        </configuration> 
       </execution> 
       </executions> 
      </plugin>   
     </plugins> 
    </build> 
</project> 
Смежные вопросы