Rendering a parsed config does not hold same results #805
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When rendering a parsed ConfigObject, in a scenario where there is a configuration like
@config-file1.conf
include file("values.conf")
outer {
include file("config-file2.conf")
}
@config-file2.conf
inner = ${value.url}
@values.conf
value {
url = "http://localhost"
}
the rendered ConfigObject after just Parseable.newFile("config-file2.conf").parse() has:
value {
url = "http://localhost"
}
outer {
inner = ${ outer.value.url }
}
instead of what was actually read :
value {
url = "http://localhost"
}
outer {
inner = ${ value.url }
}
This means that if parsed back again and then later resolved, it will break because there is no outer.value.url.
However, if resolved from the original file, it resolves correcly as inner=http://localhost (as expected).