SimonCockx / iad-j2y2j-converter-maven-plugin

Json to Yaml to Json Converter Maven Plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iad-j2y2j-converter-maven-plugin

License: MIT Maven Central

Json to Yaml to Json Converter Maven Plugin

The Json to Yaml to Json Converter Maven Plugin allows to convert files from json to yaml and vice versa. It makes use of the Apache Maven Filtering component which provides filtering functionality.

Table of contents

Goals

This plugin copies the files specified by Resource elements, to an output directory and then converts them to the specified format. Filtering is applied before files are converted. This plugin has two goals:

Getting started

You can help yourself getting started by checking the integration test in src/it and unit tests in src/test/resources/projects-to-test. Nevertheless the tables below describe the configuration parameters.

Unit testing

Two projects have been implemented for unit testing, you can run them in your system console via mvn clean test within the project root directory.

Integration testing

Another to projects have been implemented fot integraiont testing, to run them in your system console, use mvn clean verify -Prun-its

Plugin configuration

Json To Yaml Conversion Parameters

Parameter Required Type Default Description
overwrite No boolean true When true and then converted file already exists, it is overwritten, it can also be specified via system property convert.overwrite.
prettyPrintJson No boolean true When true, json is pretty printed, can also be specified via system property convert.json.pettyPrint.
indentSpaces No int 4 Specifies the number of spaces to use for indentation. prettyPrintJson has to be true to take effect, it can also be set via system property convert.json.indentSpaces.
escapeString No String \ Used to escape filtering tokens, it can also be specified via system property convert.escapeString.
outputDirectory Yes String (File path) ${project.build.directory} Directory where converted files are to be copied to, it can also be specified via system property convert.outputDirectory.
resources Yes List of Resource List of resources to include/exclude in the conversion.
encoding No String ${project.build.sourceEncoding} Specifies the resources encoding, is uses file.encoding if project.build.sourceEncoding is not set.
outputExtension No String json Specifies the extension to use in converted files, it can be specified via system property convert.json.outputExtension
escapeWindowsPaths No boolean true When true, it escapes backslashes and colons in windows-style paths, it can be specified via system property convert.escapeWindowsPaths

Yaml To Json Conversion Parameters

Parameter Required Type Default Description
overwrite No boolean true When true and then converted file already exists, it is overwritten, it can also be specified via system property convert.overwrite.
escapeString No String \ Used to escape filtering tokens, it can also be specified via system property convert.escapeString.
outputDirectory Yes String (File path) ${project.build.directory} Directory where converted files are to be copied to, it can also be specified via system property convert.outputDirectory.
resources Yes List of Resource List of resources to include/exclude in the conversion.
encoding No String ${project.build.sourceEncoding} Specifies the resources encoding, is uses file.encoding if project.build.sourceEncoding is not set.
outputExtension No String yaml Specifies the extension to use in converted files, it can be specified via system property convert.yml.outputExtension
escapeWindowsPaths No boolean true When true, it escapes backslashes and colons in windows-style paths, it can be specified via system property convert.escapeWindowsPaths

Resource Element

Resource element is better expained in Apache Maven Resources Plugin project, follow the links below for detailed information.

Examples

Json to Yaml

<plugin>
    <groupId>com.github.iarellano</groupId>
    <artifactId>iad-j2y2j-converter-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <id>json-2-yaml</id>
            <phase>process-resources</phase>
            <goals>
                <goal>json-2-yaml</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>${project.basedir}/src/main</directory>
                        <filtering>true</filtering>
                        <includes>
                            <include>resources/*.json</include>
                        </includes>
                    </resource>
                </resources>
                <outputExtension>yml</outputExtension>
                <outputDirectory>${project.build.directory}/resources</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

Yaml to Json

<plugin>
    <groupId>com.github.iarellano</groupId>
    <artifactId>iad-j2y2j-converter-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <id>yaml-2-json</id>
            <phase>process-resources</phase>
            <goals>
                <goal>yaml-2-json</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>${project.basedir}/src/main</directory>
                        <filtering>true</filtering>
                        <includes>
                            <include>resources/*.yaml</include>
                        </includes>
                    </resource>
                </resources>
                <outputExtension>yml</outputExtension>
                <outputDirectory>${project.build.directory}/resources</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

About

Json to Yaml to Json Converter Maven Plugin

License:MIT License


Languages

Language:Java 98.5%Language:Groovy 1.5%