Skip to content

marccarre/properties-files-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status

A Maven plugin to manipulate properties files in an easy way.

Features:

  • Merge multiple properties files into a single one.
  • Merge multiple properties files into a single one, in parallel.
  • Resources filtering (using System, Maven and merged properties).
  • On missing input file, either skip and log warning or throw error.

Latest version (from either Maven Central or OSS Sonatype):

<dependency>
  <groupId>com.carmatechnologies.maven</groupId>
  <artifactId>properties-files-maven-plugin</artifactId>
  <version>0.2</version>
</dependency>

Example #1 - Merge using default merger (parallel merger):

<build>
    <plugins>
        <plugin>
            <groupId>com.carmatechnologies.maven</groupId>
            <artifactId>properties-files-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>merge</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <operations>
                    <operation>
                        <targetFile>${basedir}/target/merged.properties</targetFile>
                        <sourceFileSets>
                            <sourceFileSet>
                                <directory>${basedir}/src/main/resources</directory>
                                <includes>
                                    <include>a.properties</include>
                                    <include>b.properties</include>
                                </includes>
                            </sourceFileSet>
                            <sourceFileSet>
                                <directory>${basedir}/src/main/resources/env</directory>
                                <includes>
                                    <include>**/*.properties</include>
                                </includes>
                            </sourceFileSet>
                        </sourceFileSets>
                    </operation>
                </operations>
            </configuration>
        </plugin>
    </plugins>
</build>

Example #2 - Merge using simple merger:

<build>
    <plugins>
        <plugin>
            <groupId>com.carmatechnologies.maven</groupId>
            <artifactId>properties-files-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>merge</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <parallel>false</parallel>
                <operations>
                    <operation>
                        <targetFile>${basedir}/target/merged.properties</targetFile>
                        <sourceFileSets>
                            <sourceFileSet>
                                <directory>${basedir}/src/main/resources</directory>
                                <includes>
                                    <include>a.properties</include>
                                    <include>b.properties</include>
                                </includes>
                            </sourceFileSet>
                            <sourceFileSet>
                                <directory>${basedir}/src/main/resources/env</directory>
                                <includes>
                                    <include>**/*.properties</include>
                                </includes>
                            </sourceFileSet>
                        </sourceFileSets>
                    </operation>
                </operations>
            </configuration>
        </plugin>
    </plugins>
</build>

Example #3 - Merge using resource filtering:

<build>
    <plugins>
        <plugin>
            <groupId>com.carmatechnologies.maven</groupId>
            <artifactId>properties-files-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>merge</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <operations>
                    <operation>
                        <filtering>true</filtering>
                        [...]
                    </operation>
                </operations>
            </configuration>
        </plugin>
    </plugins>
</build>

Example #4 - Fail on missing input properties file:

<build>
    <plugins>
        <plugin>
            <groupId>com.carmatechnologies.maven</groupId>
            <artifactId>properties-files-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>merge</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <operations>
                    <operation>
                        <errorOnMissingFile>true</errorOnMissingFile>
                        [...]
                    </operation>
                </operations>
            </configuration>
        </plugin>
    </plugins>
</build>

About

A Maven plugin to manipulate properties files in an easy way, and copy them, merge them, substitute their values, etc.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors