SyntaxHighlighter JS

2015-09-19

Change name of Apache Karaf startup script

What you will do:
  • Change the name of the Apache Karaf startup script
What you will learn:
  • Configure maven-antrun-plugin to do post-processing
Please see the post "Create a custom Apache Karaf server" for the initial setup.

By default, the startup script is named "karaf". For branding purposes, we want to rename the karaf script to "dekantar".

Configure maven-antrun-plugin to rename the script name and do a "search-and-replace" in the script text.

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
 <executions>
    <execution>
        <id>rename_script</id>
        <phase>process-resources</phase>
        <goals>
        <goal>run</goal>
        </goals>
        <configuration>
        <target>
        <move file="target/assembly/bin/karaf"
              tofile="target/assembly/bin/dekantar"/>
        <move file="target/assembly/bin/karaf.bat"
              tofile="target/assembly/bin/dekantar.bat"/>
        <replace dir="target/assembly/bin"
                 token="bin/karaf "
                 value="bin/dekantar "/>
        <replace dir="target/assembly/bin"
                 token="karaf.out"
                 value="dekantar.out"/>
        <replace dir="target/assembly/bin"
                 token="karaf.bat"
                 value="dekantar.bat"/>
        <replace dir="target/assembly/bin"
                 token='KARAF_SCRIPT="karaf' 
                 value='KARAF_SCRIPT="dekantar'/>
        </target>
        </configuration>
    </execution>
    </executions>
</plugin>

The target/assembly directory is where the karaf-maven-plugin assembles all the files and dependencies for the Karaf server distribution.

See https://github.com/juttayaya/karaf/blob/master/karaf3/custom-karaf/custom-karaf-server/pom.xml for full example.

Moral of the story:
Use maven-antrun-plugin to execute custom commands in Maven builds

No comments:

Post a Comment