Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
a626e79
Upgrade SLF4J
OndraZizka Jun 30, 2018
39ba913
Upgrade SnakeYaml to 1.21
OndraZizka Jun 30, 2018
b38452a
Upgrade Moustache compiler to 0.9.5
OndraZizka Jun 30, 2018
96f1753
Upgrade Guava to 21.0
OndraZizka Jun 30, 2018
4096299
Upgrade Commons-IO to 2.6
OndraZizka Jun 30, 2018
1b0dc25
Upgrade maven-shade-plugin to 3.1.0
OndraZizka Jun 30, 2018
0e635bc
Upgrade maven-compiler-plugin to 3.7.0
OndraZizka Jun 30, 2018
9534a28
Update README.md
OndraZizka Jun 30, 2018
47b8a67
POM - satisfy Sonatype POM requirements, https://central.sonatype.org…
OndraZizka Jun 30, 2018
c52e3e2
POM - prepare Sonatype OSS staging, https://central.sonatype.org/page…
OndraZizka Jun 30, 2018
4b0a1f4
Rebrand to yaml-merge; G:A = ch.zizka.yaml.merge:yaml-merge
OndraZizka Jun 30, 2018
ab3d39d
Test the final JAR; Put YAML in place of YML
OndraZizka Jun 30, 2018
1cbfa0a
Remove dependency on Guava
OndraZizka Jun 30, 2018
55e9544
Add a more complex test
OndraZizka Jul 1, 2018
c6f6ad5
Format the code.
OndraZizka Jul 1, 2018
c50167d
Refactoring round 1
OndraZizka Jul 1, 2018
fabd4f1
Refactoring round 2, and fix issue#2
OndraZizka Jul 1, 2018
8d87f1a
Update README.md
OndraZizka Jul 1, 2018
dfa3414
Update README.md
OndraZizka Jul 1, 2018
e9fb2bc
Add maven-release-plugin
OndraZizka Jul 19, 2018
3624b70
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
2057a81
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
c199cc5
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
9062f85
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
0538fe2
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
1c7fb67
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
3f3685c
[maven-release-plugin] prepare release yaml-merge-1.0.1
OndraZizka Jul 19, 2018
2a3549b
Fix POM for the release plugin
OndraZizka Jul 19, 2018
fa21a98
[maven-release-plugin] prepare release v1.0.1
OndraZizka Jul 19, 2018
d3ca511
[maven-release-plugin] rollback the release of v1.0.1
OndraZizka Jul 19, 2018
68c0b2e
Merge branch 'master' of github.com:OndraZizka/yaml-merge
OndraZizka Jul 19, 2018
111f017
[maven-release-plugin] prepare release v1.0.1
OndraZizka Jul 19, 2018
63af878
[maven-release-plugin] prepare for next development iteration
OndraZizka Jul 19, 2018
e976413
Bump junit from 4.12 to 4.13.1 (#5)
dependabot[bot] Dec 13, 2021
6487e64
Bump snakeyaml from 1.21 to 1.26 (#4)
dependabot[bot] Dec 13, 2021
0c6e464
Bump commons-io from 2.6 to 2.7 (#6)
dependabot[bot] Dec 13, 2021
7dd114b
Upgrade what can be upgraded
Mar 22, 2023
af9627f
Update pom.xml (#8)
ricardojacomini Aug 22, 2024
6584b29
Upgrades
Aug 22, 2024
3f8c56a
Rename the package and the group, since Sonatype wouldn't let me publ…
Aug 22, 2024
4919d65
Maven plugin upgrades
Aug 22, 2024
482c99e
[maven-release-plugin] prepare release yaml-merger-1.1.0
Aug 22, 2024
166b672
[maven-release-plugin] prepare for next development iteration
Aug 22, 2024
e4265e2
[maven-release-plugin] rollback the release of yaml-merger-1.1.0
Aug 23, 2024
6b25a09
[maven-release-plugin] prepare release yaml-merger-1.1.0
Aug 23, 2024
64f9da5
[maven-release-plugin] prepare for next development iteration
Aug 23, 2024
258cf57
Prepare the project to be converted to Kotlin.
Aug 23, 2024
7bd9ff5
Migrate to JUnit 5
Aug 23, 2024
635243a
POM cleanup
Aug 23, 2024
25f7c73
Rename .java to .kt
Aug 23, 2024
08fbe6d
Migrate the source to Kotlin
Aug 23, 2024
674ec23
Rename .java to .kt
Aug 23, 2024
4551368
Migrate the source to Kotlin
Aug 23, 2024
94acd39
Shorten the test
Aug 23, 2024
f698120
Rename impractical `in` var
Aug 26, 2024
b776f39
Fix the SnakeYaml's 3 MB max input limit
Aug 26, 2024
33619dc
Mate test more readable
Aug 26, 2024
15f961a
Add a test to test the 200 MB YAML input limit
Aug 26, 2024
eb81444
Set version to 1.2.0
Aug 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
*.iml
.idea
tmp
logs
.idea/
tmp/
logs/
dependency-reduced-pom.xml
velocity.log
*.log
*~
merge-yml.log
target
target/
.project

*.prefs

.classpath

## Don't publish.
/src/test/resources/largeFiles/report-2024-08-23-part1.json
/src/test/resources/largeFiles/report-2024-08-23-part2.json
/src/test/resources/largeFiles/report-2024-08-23-part3.json
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

merge-yml is Copyright 2013 Jonathan Cobb
The original merge-yaml is Copyright 2013 Jonathan Cobb

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
merge-yml
=========

Merge multiple YML files into a single file, and substitute for any environment variables found
YAML Merge
==============

(c) Copyright 2013 Jonathan Cobb.

Merges multiple YAML files into a single file, and substitutes environment variables found as `{{VARIABLE_NAME}}`.

This is a fork by Ondrej Zizka, with upgraded dependencies. Soon to be released (once I get an approval from Sonatype).

Original code from 2013 by Jonathan Cobb.
This code is available under the Apache License, version 2: http://www.apache.org/licenses/LICENSE-2.0.html

## Build

mvn -P uberjar package
mvn -Drelease install

Requires 'maven' build automation tool.
Requires [Maven build automation tool](http://maven.apache.org/).

Install maven on OS X using [homebrew](http://brew.sh/): `brew install maven`

## Usage

./bin/merge-yml.sh file1.yml file2.yml ... > merged-result.yml
./bin/yaml-merge.sh file1.yaml file2.yaml ... > merged-result.yaml

Files are merged in order, such that files listed later will override files listed earlier.

The merged result is written to stdout. Logs (for info & errors) are written to stderr.
The merged result is written to `stdout`. Logs (for info & errors) are written to `stderr`.

Within the YML files to be merged, you may include references to system environment variables using
Within the YAML files to be merged, you may include references to environment variables using
mustache-style syntax, for example:

callbackUrl: http://www.{{DEPLOY_HOST_NAME}}.example.com:8102/my_callback

Then make sure you've exported the DEPLOY_HOST_NAME environment variable to whatever place you invoke
merge-yml from.
Then make sure you've exported the `DEPLOY_HOST_NAME` environment variable to whatever place you invoke `yaml-merge` from.
26 changes: 0 additions & 26 deletions bin/merge-yml.sh

This file was deleted.

26 changes: 26 additions & 0 deletions bin/yaml-merge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash
#
# Usage:
#
# yaml-merge.sh file1.yaml [file2.yaml] [file3.yaml] ...
#
# Merge multiple YAML files into a single YAML file.
# Files are merged in order, such that files listed later will override files listed earlier.
#

function die {
echo "${1}" >&2 && exit 1
}

if [ -z "${1}" ] ; then
die "No files to merge"
fi

THIS_DIR=$(cd $(dirname $0) && pwd)
TARGET=$(cd ${THIS_DIR}/../target && pwd)
JAR=$(ls -1 ${TARGET}/yaml-merge-*.jar | head -1)
if [ -z "${JAR}" ] ; then
die "No jar matching yaml-merge-*.jar found in ${TARGET}"
fi

java -jar "${JAR}" "${@}"
Loading