Skip to content
KAllan357 edited this page May 4, 2012 · 7 revisions

Welcome to the riot-redline-plugin wiki! Here I will show some more detailed configuration options and their requirements.

<plugin>
    <groupId>com.riotgames.maven</groupId>
    <artifactId>riot-redline-plugin</artifactId>
    <version>1.2.0-SNAPSHOT</version>
    <executions>
        <execution>
            <goals>
                <goal>rpm</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <packaging>
            <name>my-rpm</name>
            <version>1.0</version>
            <release>${maven.build.timestamp}</release>
        </packaging>
        <platform>
           <architecture>noarch</architecture>
           <os>linux</os>
        </platform>
        <group>Applications/System</group>
        <vendor>My Company</vendor>
        <license>COMMERCIAL</license>
        <url>www.riotgames.com</url>
        <summary>This RPM installs my program.</summary>
        <postInstallScript>${project.basedir}/src/main/rpm/postInstall.sh</postInstallScript>
        <destination>${project.basedir}/target</destination>
        <attach>true</attach>
        <mappings>
            <mapping>
                <directory>/opt/tomcat/webapps</directory>
                <sources>
                    <source>${project.basedir}/target/someFile.txt</source>
                </sources>
            </mapping>
            <mapping>
                <directory>/opt/util/dependencies</directory>
                <sources>
                    <source>${project.basedir}/target/dependency</source>
                </sources>
            </mapping>
        </mappings>
    </configuration>
</plugin>

Required Configuration

  • packaging: This element defines the name, version, and release for the RPM that will be displayed in the filename.
  • group: This element defines the group.
  • vendor: This element defines the vendor of the RPM.
  • license: This element defines the license type of the RPM.
  • url: This element defines the URL of the files inside the RMP.
  • summary: This is the summary of the RMP
  • destination: This is the output directory indicating where the built RPM will be output.

Optional Configuration

  • postInstallScript: Points to a script that will be executed after the RPM has been installed.
  • platform: By default, RPMs will be built using the "NOARCH" architecture and "LINUX" OS. The available options can be entered, case-insensitive from the Architecture enum and the Os enum.
  • attach: Defaults to false. If set to true, Maven will add the RMP artifact to the install / deploy phases of the Maven Lifecycle. This will result in your rpm being installed into your local / remote repository.

Mappings

The mappings are the most important piece of RPM construction. They tell the plugin where to find the files that are inside the RPM and the path in which they should exist when the RPM is installed.

  • directory: The path where the RPM will install its files.
  • sources/source: A nested element that points to a specific file or directory to include with the RPM.
Clone this wiki locally