2015-03-26 2 views
7

Ich habe ein Plugin Maven RPM-Mapping so:Optionale Mapping-Abschnitte in Maven RPM-Plugin?

<mapping> 
    <directory>/etc/myconfig</directory> 
    <configuration>true</configuration> 
    <sources> 
    <source> 
     <location>${project.build.directory}</location> 
     <includes> 
     <include>*.conf</include> 
     </includes> 
    </source> 
    </sources> 
</mapping> 

jedoch auf den Verpackungsprozess abhängig, kann es null Conf-Dateien sein usw. setzen in /. Wenn dies geschieht, RPM-Plugin sagt:

[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.1.2:rpm (default) on project clients: 
Unable to copy files for packaging: You must set at least one file. -> [Help 1] 

Gibt es eine Möglichkeit, einen Abbildungsabschnitt zu haben, die mit einschließlich Null Dateien glücklich ist?

Antwort

2

Das beste, was ich mir vorstellen konnte, ist das <includes> Tag wegzulassen, das alles von dem nimmt, was in <location> spezifiziert ist.

location

Die Datei oder das Verzeichnis aufzunehmen. Wenn ein Verzeichnis angegeben wird, sind auch alle Dateien und Unterverzeichnisse enthalten.

Sie müssen so genau wie möglich im Pfad für diese Zuordnungen sein, für die keine integrierten Muster angegeben sind. Ich habe den Standort confs hinzugefügt, um zu vermeiden, dass alles andere in project.build.directory eingezogen wird.

Auch wenn keine Dateien ausgewählt sind, wird <directory> immer noch erstellt.

<mapping> 
    <directory>/etc/myconfig</directory> 
    <configuration>true</configuration> 
    <sources> 
    <source> 
     <location>${project.build.directory}/confs</location> 
    </source> 
    </sources> 
</mapping>