From 0d9120bb7663994feb6cf93f392b83407fed456a Mon Sep 17 00:00:00 2001 From: Eric K Richardson Date: Tue, 23 Apr 2019 10:07:34 -0700 Subject: [PATCH] Fix #18: Add support for Scala Native (#19) * Full cross project with JVM supported * Add support for Scala Native compiling * Provide Scala Native as a cross project * Replace Java Stack with Scala ArrayStack * Remove Stack in PathBuilder * Remove unused URLConnection import * Add uTest and one testcase but don't run automatically * Fix up scalaCrossVersions as recommended * Add Metals and Bloop ignores * Native tests compile, link, and work against modified version of Scala Native * First changes to README to support new release. * Update travis, update build and docs with new package * Fix build.sbt after merge * Aggregate sconfigNative in build * Update scalafmt file with version for use with metals and other settings to match Scala Native * Update copyright date * Modify README and add users guide for Scala Native * Fix README * Changes for release 0.8.0 supporting Scala Native * Fix formatting * Add Linux build for Scala Native on Travis * Bump sbt version --- .gitignore | 2 + .scalafmt.conf | 3 + .travis.yml | 13 ++-- LICENSE.md | 4 +- README.md | 20 ++++-- build.sbt | 65 +++++++++++++------ docs/SCALA-NATIVE.md | 56 ++++++++++++++++ project/build.properties | 2 +- project/plugins.sbt | 5 +- .../main/java/org/ekrich/config/Optional.java | 0 .../org/ekrich/config/ConfigBeanFactory.scala | 0 .../ekrich/config/impl/ConfigBeanImpl.scala | 2 +- .../test/java/beanconfig/ArraysConfig.java | 0 .../test/java/beanconfig/BooleansConfig.java | 0 .../src/test/java/beanconfig/BytesConfig.java | 0 ...DifferentFieldNameFromAccessorsConfig.java | 0 .../test/java/beanconfig/DurationsConfig.java | 0 .../src/test/java/beanconfig/EnumsConfig.java | 0 .../java/beanconfig/NotABeanFieldConfig.java | 0 .../test/java/beanconfig/NumbersConfig.java | 0 .../test/java/beanconfig/ObjectsConfig.java | 0 .../beanconfig/PreferCamelNamesConfig.java | 0 .../src/test/java/beanconfig/SetsConfig.java | 0 .../test/java/beanconfig/StringsConfig.java | 0 .../test/java/beanconfig/TestBeanConfig.java | 0 .../UnsupportedListElementConfig.java | 0 .../beanconfig/UnsupportedMapKeyConfig.java | 0 .../beanconfig/UnsupportedMapValueConfig.java | 0 .../java/beanconfig/ValidationBeanConfig.java | 0 .../test/java/beanconfig/ValuesConfig.java | 0 sconfig/{ => jvm}/src/test/resources/a_1.conf | 0 sconfig/{ => jvm}/src/test/resources/b_2.conf | 0 .../resources/beanconfig/beanconfig01.conf | 0 sconfig/{ => jvm}/src/test/resources/bom.conf | 0 .../{ => jvm}/src/test/resources/cycle.conf | 0 .../src/test/resources/equiv01/comments.conf | 0 .../src/test/resources/equiv01/equals.conf | 0 .../src/test/resources/equiv01/no-commas.conf | 0 .../resources/equiv01/no-root-braces.conf | 0 .../test/resources/equiv01/no-whitespace.json | 0 .../test/resources/equiv01/omit-colons.conf | 0 .../src/test/resources/equiv01/original.json | 0 .../src/test/resources/equiv01/path-keys.conf | 0 .../resources/equiv01/properties-style.conf | 0 .../test/resources/equiv01/substitutions.conf | 0 .../src/test/resources/equiv01/unquoted.conf | 0 .../src/test/resources/equiv02/original.json | 0 .../equiv02/path-keys-weird-whitespace.conf | 0 .../src/test/resources/equiv02/path-keys.conf | 0 .../src/test/resources/equiv03/includes.conf | 0 .../src/test/resources/equiv03/letters/a.conf | 0 .../src/test/resources/equiv03/letters/b.json | 0 .../src/test/resources/equiv03/letters/c.conf | 0 .../resources/equiv03/letters/c.properties | 0 .../resources/equiv03/letters/numbers/1.conf | 0 .../equiv03/letters/numbers/2.properties | 0 .../src/test/resources/equiv03/original.json | 0 .../src/test/resources/equiv03/root/foo.conf | 0 .../equiv04/missing-substitutions.conf | 0 .../src/test/resources/equiv04/original.json | 0 .../src/test/resources/equiv05/original.json | 0 .../test/resources/equiv05/triple-quotes.conf | 0 .../src/test/resources/file-include.conf | 0 .../src/test/resources/include-from-list.conf | 0 .../src/test/resources/onclasspath.conf | 0 .../src/test/resources/subdir/bar-file.conf | 0 .../src/test/resources/subdir/bar.conf | 0 .../src/test/resources/subdir/baz.conf | 0 .../src/test/resources/subdir/foo.conf | 0 .../{ => jvm}/src/test/resources/test01.conf | 0 .../{ => jvm}/src/test/resources/test01.json | 0 .../src/test/resources/test01.properties | 0 .../{ => jvm}/src/test/resources/test02.conf | 0 .../src/test/resources/test03-included.conf | 0 .../{ => jvm}/src/test/resources/test03.conf | 0 .../{ => jvm}/src/test/resources/test04.conf | 0 .../{ => jvm}/src/test/resources/test05.conf | 0 .../{ => jvm}/src/test/resources/test06.conf | 0 .../{ => jvm}/src/test/resources/test07.conf | 0 .../{ => jvm}/src/test/resources/test08.conf | 0 .../{ => jvm}/src/test/resources/test09.conf | 0 .../{ => jvm}/src/test/resources/test10.conf | 0 .../{ => jvm}/src/test/resources/test11.conf | 0 .../src/test/resources/validate-invalid.conf | 0 .../test/resources/validate-reference.conf | 0 .../src/test/scala/ApiExamples.scala | 0 .../{ => jvm}/src/test/scala/Profiling.scala | 0 .../{ => jvm}/src/test/scala/Rendering.scala | 0 .../scala/equiv03/SomethingInEquiv03.java | 0 .../org/ekrich/config/impl/BadMapTest.scala | 0 .../config/impl/ConcatenationTest.scala | 0 .../ekrich/config/impl/ConfParserTest.scala | 0 .../config/impl/ConfigBeanFactoryTest.scala | 0 .../impl/ConfigDocumentParserTest.scala | 0 .../config/impl/ConfigDocumentTest.scala | 0 .../config/impl/ConfigMemorySizeTest.scala | 0 .../ekrich/config/impl/ConfigNodeTest.scala | 0 .../config/impl/ConfigSubstitutionTest.scala | 24 ++++--- .../org/ekrich/config/impl/ConfigTest.scala | 0 .../ekrich/config/impl/ConfigValueTest.scala | 0 .../ekrich/config/impl/EquivalentsTest.scala | 0 .../org/ekrich/config/impl/HttpTest.scala | 0 .../org/ekrich/config/impl/JsonTest.scala | 0 .../config/impl/ParseableReaderTest.scala | 0 .../org/ekrich/config/impl/PathTest.scala | 0 .../ekrich/config/impl/PropertiesTest.scala | 0 .../ekrich/config/impl/PublicApiTest.scala | 0 .../org/ekrich/config/impl/TestUtils.scala | 0 .../org/ekrich/config/impl/TokenTest.scala | 0 .../ekrich/config/impl/TokenizerTest.scala | 0 .../org/ekrich/config/impl/ToyHttp.scala | 0 .../ekrich/config/impl/UnitParserTest.scala | 0 .../org/ekrich/config/impl/UtilTest.scala | 0 .../ekrich/config/impl/ValidationTest.scala | 0 .../src/test/scala/ConfigFactoryTests.scala | 42 ++++++++++++ .../main/scala/org/ekrich/config/Config.scala | 0 .../org/ekrich/config/ConfigException.scala | 0 .../org/ekrich/config/ConfigFactory.scala | 0 .../ekrich/config/ConfigIncludeContext.scala | 0 .../org/ekrich/config/ConfigIncluder.scala | 0 .../config/ConfigIncluderClasspath.scala | 0 .../ekrich/config/ConfigIncluderFile.scala | 0 .../org/ekrich/config/ConfigIncluderURL.scala | 0 .../scala/org/ekrich/config/ConfigList.scala | 0 .../ekrich/config/ConfigLoadingStrategy.scala | 0 .../org/ekrich/config/ConfigMemorySize.scala | 0 .../org/ekrich/config/ConfigMergeable.scala | 0 .../org/ekrich/config/ConfigObject.scala | 0 .../org/ekrich/config/ConfigOrigin.scala | 0 .../ekrich/config/ConfigOriginFactory.scala | 0 .../ekrich/config/ConfigParseOptions.scala | 0 .../org/ekrich/config/ConfigParseable.scala | 0 .../ekrich/config/ConfigRenderOptions.scala | 0 .../ekrich/config/ConfigResolveOptions.scala | 0 .../org/ekrich/config/ConfigResolver.scala | 0 .../org/ekrich/config/ConfigSyntax.scala | 0 .../scala/org/ekrich/config/ConfigUtil.scala | 0 .../scala/org/ekrich/config/ConfigValue.scala | 0 .../ekrich/config/ConfigValueFactory.scala | 0 .../org/ekrich/config/ConfigValueType.scala | 0 .../config/DefaultConfigLoadingStrategy.scala | 0 .../config/impl/AbstractConfigNode.scala | 0 .../config/impl/AbstractConfigNodeValue.scala | 0 .../config/impl/AbstractConfigObject.scala | 0 .../config/impl/AbstractConfigValue.scala | 0 .../scala/org/ekrich/config/impl/BadMap.scala | 0 .../ekrich/config/impl/ConfigBoolean.scala | 0 .../config/impl/ConfigConcatenation.scala | 0 .../config/impl/ConfigDelayedMerge.scala | 0 .../impl/ConfigDelayedMergeObject.scala | 0 .../config/impl/ConfigDocumentParser.scala | 3 +- .../org/ekrich/config/impl/ConfigDouble.scala | 0 .../org/ekrich/config/impl/ConfigImpl.scala | 2 +- .../ekrich/config/impl/ConfigImplUtil.scala | 2 +- .../config/impl/ConfigIncludeKind.scala | 0 .../org/ekrich/config/impl/ConfigInt.scala | 0 .../org/ekrich/config/impl/ConfigLong.scala | 0 .../ekrich/config/impl/ConfigNodeArray.scala | 0 .../config/impl/ConfigNodeComment.scala | 0 .../config/impl/ConfigNodeComplexValue.scala | 0 .../config/impl/ConfigNodeConcatenation.scala | 0 .../ekrich/config/impl/ConfigNodeField.scala | 0 .../config/impl/ConfigNodeInclude.scala | 0 .../ekrich/config/impl/ConfigNodeObject.scala | 0 .../ekrich/config/impl/ConfigNodePath.scala | 0 .../ekrich/config/impl/ConfigNodeRoot.scala | 0 .../config/impl/ConfigNodeSimpleValue.scala | 0 .../config/impl/ConfigNodeSingleToken.scala | 0 .../org/ekrich/config/impl/ConfigNull.scala | 0 .../org/ekrich/config/impl/ConfigNumber.scala | 0 .../org/ekrich/config/impl/ConfigParser.scala | 0 .../ekrich/config/impl/ConfigReference.scala | 0 .../org/ekrich/config/impl/ConfigString.scala | 0 .../org/ekrich/config/impl/Container.scala | 0 .../config/impl/DefaultTransformer.scala | 0 .../org/ekrich/config/impl/FromMapMode.scala | 0 .../org/ekrich/config/impl/FullIncluder.scala | 0 .../org/ekrich/config/impl/MemoKey.scala | 0 .../ekrich/config/impl/MergeableValue.scala | 0 .../org/ekrich/config/impl/OriginType.scala | 0 .../org/ekrich/config/impl/Parseable.scala | 6 +- .../scala/org/ekrich/config/impl/Path.scala | 0 .../org/ekrich/config/impl/PathBuilder.scala | 5 +- .../org/ekrich/config/impl/PathParser.scala | 0 .../ekrich/config/impl/PropertiesParser.scala | 0 .../config/impl/ReplaceableMergeStack.scala | 0 .../ekrich/config/impl/ResolveContext.scala | 0 .../org/ekrich/config/impl/ResolveMemos.scala | 0 .../ekrich/config/impl/ResolveResult.scala | 0 .../ekrich/config/impl/ResolveSource.scala | 0 .../ekrich/config/impl/ResolveStatus.scala | 0 .../config/impl/SerializedConfigValue.scala | 0 .../org/ekrich/config/impl/SimpleConfig.scala | 0 .../config/impl/SimpleConfigDocument.scala | 0 .../ekrich/config/impl/SimpleConfigList.scala | 0 .../config/impl/SimpleConfigObject.scala | 0 .../config/impl/SimpleConfigOrigin.scala | 0 .../config/impl/SimpleIncludeContext.scala | 0 .../ekrich/config/impl/SimpleIncluder.scala | 0 .../config/impl/SubstitutionExpression.scala | 0 .../scala/org/ekrich/config/impl/Token.scala | 0 .../org/ekrich/config/impl/TokenType.scala | 0 .../org/ekrich/config/impl/Tokenizer.scala | 0 .../scala/org/ekrich/config/impl/Tokens.scala | 0 .../org/ekrich/config/impl/Unmergeable.scala | 0 .../scala/org/ekrich/config/impl/package.html | 0 .../main/scala/org/ekrich/config/package.html | 0 .../ekrich/config/parser/ConfigDocument.scala | 0 .../config/parser/ConfigDocumentFactory.scala | 10 +-- .../org/ekrich/config/parser/ConfigNode.scala | 0 .../org/ekrich/config/parser/package.html | 0 scripts/scalafmt | 2 +- scripts/travis-os-setup.sh | 35 ++++++++++ .../src/test/resources/test-lib.conf | 0 .../{ => jvm}/src/test/resources/test01.conf | 0 215 files changed, 241 insertions(+), 62 deletions(-) create mode 100644 docs/SCALA-NATIVE.md rename sconfig/{ => jvm}/src/main/java/org/ekrich/config/Optional.java (100%) rename sconfig/{ => jvm}/src/main/scala/org/ekrich/config/ConfigBeanFactory.scala (100%) rename sconfig/{ => jvm}/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala (99%) rename sconfig/{ => jvm}/src/test/java/beanconfig/ArraysConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/BooleansConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/BytesConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/DifferentFieldNameFromAccessorsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/DurationsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/EnumsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/NotABeanFieldConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/NumbersConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/ObjectsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/PreferCamelNamesConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/SetsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/StringsConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/TestBeanConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/UnsupportedListElementConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/UnsupportedMapKeyConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/UnsupportedMapValueConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/ValidationBeanConfig.java (100%) rename sconfig/{ => jvm}/src/test/java/beanconfig/ValuesConfig.java (100%) rename sconfig/{ => jvm}/src/test/resources/a_1.conf (100%) rename sconfig/{ => jvm}/src/test/resources/b_2.conf (100%) rename sconfig/{ => jvm}/src/test/resources/beanconfig/beanconfig01.conf (100%) rename sconfig/{ => jvm}/src/test/resources/bom.conf (100%) rename sconfig/{ => jvm}/src/test/resources/cycle.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/comments.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/equals.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/no-commas.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/no-root-braces.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/no-whitespace.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/omit-colons.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/original.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/path-keys.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/properties-style.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/substitutions.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv01/unquoted.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv02/original.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv02/path-keys-weird-whitespace.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv02/path-keys.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/includes.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/a.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/b.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/c.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/c.properties (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/numbers/1.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/letters/numbers/2.properties (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/original.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv03/root/foo.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv04/missing-substitutions.conf (100%) rename sconfig/{ => jvm}/src/test/resources/equiv04/original.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv05/original.json (100%) rename sconfig/{ => jvm}/src/test/resources/equiv05/triple-quotes.conf (100%) rename sconfig/{ => jvm}/src/test/resources/file-include.conf (100%) rename sconfig/{ => jvm}/src/test/resources/include-from-list.conf (100%) rename sconfig/{ => jvm}/src/test/resources/onclasspath.conf (100%) rename sconfig/{ => jvm}/src/test/resources/subdir/bar-file.conf (100%) rename sconfig/{ => jvm}/src/test/resources/subdir/bar.conf (100%) rename sconfig/{ => jvm}/src/test/resources/subdir/baz.conf (100%) rename sconfig/{ => jvm}/src/test/resources/subdir/foo.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test01.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test01.json (100%) rename sconfig/{ => jvm}/src/test/resources/test01.properties (100%) rename sconfig/{ => jvm}/src/test/resources/test02.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test03-included.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test03.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test04.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test05.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test06.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test07.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test08.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test09.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test10.conf (100%) rename sconfig/{ => jvm}/src/test/resources/test11.conf (100%) rename sconfig/{ => jvm}/src/test/resources/validate-invalid.conf (100%) rename sconfig/{ => jvm}/src/test/resources/validate-reference.conf (100%) rename sconfig/{ => jvm}/src/test/scala/ApiExamples.scala (100%) rename sconfig/{ => jvm}/src/test/scala/Profiling.scala (100%) rename sconfig/{ => jvm}/src/test/scala/Rendering.scala (100%) rename sconfig/{ => jvm}/src/test/scala/equiv03/SomethingInEquiv03.java (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/BadMapTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConcatenationTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfParserTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigBeanFactoryTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigDocumentParserTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigDocumentTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigMemorySizeTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigNodeTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala (99%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ConfigValueTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/EquivalentsTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/HttpTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/JsonTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ParseableReaderTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/PathTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/PropertiesTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/PublicApiTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/TestUtils.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/TokenTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/TokenizerTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ToyHttp.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/UnitParserTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/UtilTest.scala (100%) rename sconfig/{ => jvm}/src/test/scala/org/ekrich/config/impl/ValidationTest.scala (100%) create mode 100644 sconfig/native/src/test/scala/ConfigFactoryTests.scala rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/Config.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigException.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigFactory.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigIncludeContext.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigIncluder.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigIncluderClasspath.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigIncluderFile.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigIncluderURL.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigList.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigLoadingStrategy.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigMemorySize.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigMergeable.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigObject.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigOrigin.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigOriginFactory.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigParseOptions.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigParseable.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigRenderOptions.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigResolveOptions.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigResolver.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigSyntax.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigUtil.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigValueFactory.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/ConfigValueType.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/DefaultConfigLoadingStrategy.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/AbstractConfigNode.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/AbstractConfigNodeValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/AbstractConfigObject.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/AbstractConfigValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/BadMap.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigBoolean.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigConcatenation.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigDelayedMerge.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigDelayedMergeObject.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala (99%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigDouble.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala (99%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala (99%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigIncludeKind.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigInt.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigLong.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeArray.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeComment.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeComplexValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeConcatenation.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeField.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeInclude.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeObject.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodePath.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeRoot.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeSimpleValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNodeSingleToken.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNull.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigNumber.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigParser.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigReference.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ConfigString.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Container.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/DefaultTransformer.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/FromMapMode.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/FullIncluder.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/MemoKey.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/MergeableValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/OriginType.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Parseable.scala (99%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Path.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/PathBuilder.scala (93%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/PathParser.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/PropertiesParser.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ReplaceableMergeStack.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ResolveContext.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ResolveMemos.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ResolveResult.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ResolveSource.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/ResolveStatus.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SerializedConfigValue.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleConfig.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleConfigDocument.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleConfigList.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleConfigObject.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleConfigOrigin.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleIncludeContext.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SimpleIncluder.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/SubstitutionExpression.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Token.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/TokenType.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Tokenizer.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Tokens.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/Unmergeable.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/impl/package.html (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/package.html (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/parser/ConfigDocument.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala (86%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/parser/ConfigNode.scala (100%) rename sconfig/{ => shared}/src/main/scala/org/ekrich/config/parser/package.html (100%) create mode 100755 scripts/travis-os-setup.sh rename test-lib/{ => jvm}/src/test/resources/test-lib.conf (100%) rename test-lib/{ => jvm}/src/test/resources/test01.conf (100%) diff --git a/.gitignore b/.gitignore index 057f41d2..53fbf3bb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ .settings .idea .idea_modules +.metals/ +.bloop/ /bin-test-lib target/ /bin diff --git a/.scalafmt.conf b/.scalafmt.conf index bc5179c7..958a28ac 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,2 +1,5 @@ +version = 1.5.1 style = defaultWithAlign docstrings = JavaDoc +assumeStandardLibraryStripMargin = true +project.git = true diff --git a/.travis.yml b/.travis.yml index 1c3c82d5..949590d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ -# use Docker-based container (instead of OpenVZ) -sudo: false +sudo: required language: scala @@ -9,6 +8,11 @@ jdk: scala: - 2.11.12 +matrix: + include: + - os: linux + dist: trusty + stages: - name: test - name: release @@ -19,7 +23,8 @@ jobs: # stage="test" if no stage is specified - env: TEST="scalafmt" script: ./scripts/scalafmt --test - - env: TEST="test" + - env: TEST="linux" + before_install: ./scripts/travis-os-setup.sh script: sbt +test doc - stage: release script: sbt ci-release @@ -40,4 +45,4 @@ before_cache: - rm -rf $HOME/.ivy2/local before_install: -- git fetch --tags \ No newline at end of file +- git fetch --tags diff --git a/LICENSE.md b/LICENSE.md index 01d06298..2bbd2e3c 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,12 +1,12 @@ _Copyright (c) 2011-2016 Typesafe Inc._
_Copyright (c) 2016-2018 Lightbend Inc. (formerly Typesafe Inc.)_
-_Copyright (c) 2018 Eric K Richardson_ +_Copyright (c) 2018-2019 Eric K Richardson_ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/README.md b/README.md index 2f696f0e..af5ea792 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,14 @@ Configuration library written in [Scala](https://www.scala-lang.org/) which is a direct translation of the original widely used Java library. -Scala on the JVM is currently supported with the goal to add support for -[Scala Native](https://scala-native.readthedocs.io/), and [Scala.js](https://www.scala-js.org/). +Scala JVM and [Scala Native](https://scala-native.readthedocs.io/) are currently supported +with the goal to add support for [Scala.js](https://www.scala-js.org/). For motivation and background about this project see the [PR](https://github.com/lightbend/config/pull/600) to the original project. Care has been taken to keep the API the same but changes are needed when moving from the Java API. -Using Java is also possible because the included Java examples work. +Using Java is also possible because the included Java examples work. If you are looking for the original proven Java API, see [https://github.com/lightbend/config](https://github.com/lightbend/config). @@ -21,10 +21,10 @@ If you are looking for the original proven Java API, see [![Maven Central](https://img.shields.io/maven-central/v/org.ekrich/sconfig_2.11.svg)](https://maven-badges.herokuapp.com/maven-central/org.ekrich/sconfig_2.11) ```scala -libraryDependencies += "org.ekrich" %% "sconfig" % "X.Y.Z" +libraryDependencies += "org.ekrich" %%% "sconfig" % "x.y.z" ``` -To use in sbt, replace `X.Y.Z` with the version from Maven Central badge above. +To use in `sbt`, replace `x.y.z` with the version from Maven Central badge above. All available versions can be seen at the [Maven Repository](https://mvnrepository.com/artifact/org.ekrich/sconfig). ## Usage and Help @@ -32,16 +32,24 @@ All available versions can be seen at the [Maven Repository](https://mvnreposito [![Join chat https://gitter.im/ekrich/sconfig](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ekrich/sconfig?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) The following document copies are local to this repository but internal links may refer to the -original site documents via hyperlink. +original site documents via hyperlink. These are here as a snapshot when the library was ported +for reference purposes only. Refer to `config` library above to see the latest docs. [Overview](docs/original/README.md) - A comprehensive guide to configuration. [HOCON](docs/original/HOCON.md) - The HOCON Specification +The intent is to keep the library in sync with the original but each PR needs to be be ported +to maintain feature parity. Changes to support Scala Native and Scala.js may make this goal +unattainable in the future. + +[Scala Native](docs/SCALA-NATIVE.md) - A guide to using Scala Native. + For specific changes, refer to the releases below. ## Versions +Release [0.8.0](https://github.com/ekrich/sconfig/releases/tag/v0.8.0) - (2019-04-23)
Release [0.7.6](https://github.com/ekrich/sconfig/releases/tag/v0.7.6) - (2019-04-10)
Release [0.7.5](https://github.com/ekrich/sconfig/releases/tag/v0.7.5) - (2019-04-05)
Release [0.7.0](https://github.com/ekrich/sconfig/releases/tag/v0.7.0) - (2018-12-14) diff --git a/build.sbt b/build.sbt index 33975477..ea4742d7 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,5 @@ -// to release, bump major/minor/micro as appropriate, -// update NEWS, update version in README.md, tag, then -// publishSigned. -// Release tags should follow: http://semver.org/ +// shadow sbt-scalajs' crossProject and CrossType until Scala.js 1.0.0 is released +import sbtcrossproject.CrossPlugin.autoImport.crossProject addCommandAlias( "run-examples", @@ -60,8 +58,9 @@ ThisBuild / pomIncludeRepository := { _ => lazy val root = (project in file(".")) .aggregate( - testLib, - configLib, + testLibJVM, + sconfigJVM, + sconfigNative, simpleLibScala, simpleAppScala, complexAppScala, @@ -72,15 +71,17 @@ lazy val root = (project in file(".")) .settings(commonSettings) .settings( name := "sconfig-root", + crossScalaVersions := Nil, doc / aggregate := false, - doc := (configLib / Compile / doc).value, + doc := (sconfigJVM / Compile / doc).value, packageDoc / aggregate := false, - packageDoc := (configLib / Compile / packageDoc).value, + packageDoc := (sconfigJVM / Compile / packageDoc).value, ) -lazy val configLib = Project("sconfig", file("sconfig")) - .dependsOn(testLib % "test->test") - .settings( +lazy val sconfig = crossProject(JVMPlatform, NativePlatform) + .crossType(CrossType.Full) + //.jsSettings(/* ... */) // defined in sbt-scalajs-crossproject + .jvmSettings( libraryDependencies += "io.crashbox" %% "spray-json" % "1.3.5-3" % Test, libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % Test, Compile / compile / javacOptions ++= Seq("-source", @@ -105,26 +106,50 @@ lazy val configLib = Project("sconfig", file("sconfig")) mimaPreviousArtifacts := Set("org.ekrich" %% "sconfig" % prevVersion), mimaBinaryIssueFilters ++= ignoredABIProblems ) + .nativeSettings( + nativeLinkStubs := true, + scalaVersion := scala211, + crossScalaVersions := List(scala211) + ) + +lazy val sconfigJVM = sconfig.jvm + .dependsOn(testLibJVM % "test->test") + +lazy val sconfigNative = sconfig.native + .settings( + libraryDependencies += "com.lihaoyi" %%% "utest" % "0.6.7" % Test, + testFrameworks += new TestFramework("utest.runner.Framework") + ) lazy val ignoredABIProblems = { import com.typesafe.tools.mima.core._ import com.typesafe.tools.mima.core.ProblemFilters._ Seq( - exclude[Problem]("com.typesafe.config.impl.*") + exclude[Problem]("org.ekrich.config.impl.*") ) } -lazy val commonSettings: Seq[Setting[_]] = Def.settings( - unpublished -) +lazy val commonSettings: Seq[Setting[_]] = + Def.settings( + skipPublish + ) + +def proj(id: String, base: File) = + Project(id, base) settings commonSettings -def proj(id: String, base: File) = Project(id, base) settings commonSettings +lazy val testLibJVM = testLib.jvm -lazy val testLib = proj("sconfig-test-lib", file("test-lib")) +lazy val testLib = crossProject(JVMPlatform) + .crossType(CrossType.Full) + .in(file("test-lib")) + .settings( + name := "sconfig-test-lib", + publish / skip := true + ) lazy val simpleLibScala = proj( "sconfig-simple-lib-scala", - file("examples/scala/simple-lib")) dependsOn configLib + file("examples/scala/simple-lib")) dependsOn sconfigJVM lazy val simpleAppScala = proj( "sconfig-simple-app-scala", file("examples/scala/simple-app")) dependsOn simpleLibScala @@ -134,7 +159,7 @@ lazy val complexAppScala = proj( lazy val simpleLibJava = proj( "sconfig-simple-lib-java", - file("examples/java/simple-lib")) dependsOn configLib + file("examples/java/simple-lib")) dependsOn sconfigJVM lazy val simpleAppJava = proj( "sconfig-simple-app-java", file("examples/java/simple-app")) dependsOn simpleLibJava @@ -142,7 +167,7 @@ lazy val complexAppJava = proj( "sconfig-complex-app-java", file("examples/java/complex-app")) dependsOn simpleLibJava -val unpublished = Seq( +val skipPublish = Seq( // no artifacts in this project publishArtifact := false, // make-pom has a more specific publishArtifact setting already diff --git a/docs/SCALA-NATIVE.md b/docs/SCALA-NATIVE.md new file mode 100644 index 00000000..9e7c2de5 --- /dev/null +++ b/docs/SCALA-NATIVE.md @@ -0,0 +1,56 @@ +# Scala Native Help + +Scala Native support has been added so [scalafmt](https://scalameta.org/scalafmt/) can +become a native application. The release has minimal capabilities at this time so +the following is an example of how to use the API. + +## Read from String example + +This assumes that you read a file into a `configStr` first. + +```scala +val configStr = + """ + |maxColumn = 100 + |project.git=true + |align = none + |danglingParentheses = true + |newlines.neverBeforeJsNative = true + |newlines.sometimesBeforeColonInMethodReturnType = false + |assumeStandardLibraryStripMargin = true + """.stripMargin + +val conf = ConfigFactory.parseString(configStr) + +val maxCol = conf.getInt("maxColumn") +val isGit = conf.getBoolean("project.git") +``` + +### How to read a HOCON configuation file into a String + +In order to read the configuration file into a `String` you need to know the relative +path from where the executable was started or use an absolute path. If the +Scala Native executable is `run` from `sbt` it will have the current working directory +equal to the directory at the base of your project where `sbt` was started. If curious +or the situation is unclear you can run the following code inside your Scala Native +application to find the path. + +```scala +val dir = System.getProperty("user.dir") +println(s"Dir: $dir") +``` + +Continuing the same thought process you can use the following code to read the file +into a `String` from a simple `sbt` project where the `src` directory is at the top +level of your project. + +```scala +import java.nio.file.{Files, Paths} +val bytes = Files.readAllBytes(Paths.get("src/main/resources/myapp.conf")) +val configStr = new String(bytes) +``` + +Using this code with the code above gives you a working solution to use `sconfig` +with Scala Native. + +[Back to README](../README.md) \ No newline at end of file diff --git a/project/build.properties b/project/build.properties index 72f90289..c0bab049 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.2.7 +sbt.version=1.2.8 diff --git a/project/plugins.sbt b/project/plugins.sbt index c753b0d3..66fc13d4 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,3 +1,6 @@ // includes sbt-dynver sbt-pgp sbt-sonatype sbt-git -addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.2.1") +addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.2.6") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.3.0") +// for Scala Native support +addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "0.6.0") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.3.9") diff --git a/sconfig/src/main/java/org/ekrich/config/Optional.java b/sconfig/jvm/src/main/java/org/ekrich/config/Optional.java similarity index 100% rename from sconfig/src/main/java/org/ekrich/config/Optional.java rename to sconfig/jvm/src/main/java/org/ekrich/config/Optional.java diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigBeanFactory.scala b/sconfig/jvm/src/main/scala/org/ekrich/config/ConfigBeanFactory.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigBeanFactory.scala rename to sconfig/jvm/src/main/scala/org/ekrich/config/ConfigBeanFactory.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala b/sconfig/jvm/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala similarity index 99% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala rename to sconfig/jvm/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala index 9c617152..3ff78535 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala +++ b/sconfig/jvm/src/main/scala/org/ekrich/config/impl/ConfigBeanImpl.scala @@ -25,7 +25,7 @@ import org.ekrich.config.Optional /** * Internal implementation detail, not ABI stable, do not touch. - * For use only by the {@link com.typesafe.config} package. + * For use only by the {@link org.ekrich.config} package. */ object ConfigBeanImpl { diff --git a/sconfig/src/test/java/beanconfig/ArraysConfig.java b/sconfig/jvm/src/test/java/beanconfig/ArraysConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/ArraysConfig.java rename to sconfig/jvm/src/test/java/beanconfig/ArraysConfig.java diff --git a/sconfig/src/test/java/beanconfig/BooleansConfig.java b/sconfig/jvm/src/test/java/beanconfig/BooleansConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/BooleansConfig.java rename to sconfig/jvm/src/test/java/beanconfig/BooleansConfig.java diff --git a/sconfig/src/test/java/beanconfig/BytesConfig.java b/sconfig/jvm/src/test/java/beanconfig/BytesConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/BytesConfig.java rename to sconfig/jvm/src/test/java/beanconfig/BytesConfig.java diff --git a/sconfig/src/test/java/beanconfig/DifferentFieldNameFromAccessorsConfig.java b/sconfig/jvm/src/test/java/beanconfig/DifferentFieldNameFromAccessorsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/DifferentFieldNameFromAccessorsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/DifferentFieldNameFromAccessorsConfig.java diff --git a/sconfig/src/test/java/beanconfig/DurationsConfig.java b/sconfig/jvm/src/test/java/beanconfig/DurationsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/DurationsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/DurationsConfig.java diff --git a/sconfig/src/test/java/beanconfig/EnumsConfig.java b/sconfig/jvm/src/test/java/beanconfig/EnumsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/EnumsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/EnumsConfig.java diff --git a/sconfig/src/test/java/beanconfig/NotABeanFieldConfig.java b/sconfig/jvm/src/test/java/beanconfig/NotABeanFieldConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/NotABeanFieldConfig.java rename to sconfig/jvm/src/test/java/beanconfig/NotABeanFieldConfig.java diff --git a/sconfig/src/test/java/beanconfig/NumbersConfig.java b/sconfig/jvm/src/test/java/beanconfig/NumbersConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/NumbersConfig.java rename to sconfig/jvm/src/test/java/beanconfig/NumbersConfig.java diff --git a/sconfig/src/test/java/beanconfig/ObjectsConfig.java b/sconfig/jvm/src/test/java/beanconfig/ObjectsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/ObjectsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/ObjectsConfig.java diff --git a/sconfig/src/test/java/beanconfig/PreferCamelNamesConfig.java b/sconfig/jvm/src/test/java/beanconfig/PreferCamelNamesConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/PreferCamelNamesConfig.java rename to sconfig/jvm/src/test/java/beanconfig/PreferCamelNamesConfig.java diff --git a/sconfig/src/test/java/beanconfig/SetsConfig.java b/sconfig/jvm/src/test/java/beanconfig/SetsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/SetsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/SetsConfig.java diff --git a/sconfig/src/test/java/beanconfig/StringsConfig.java b/sconfig/jvm/src/test/java/beanconfig/StringsConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/StringsConfig.java rename to sconfig/jvm/src/test/java/beanconfig/StringsConfig.java diff --git a/sconfig/src/test/java/beanconfig/TestBeanConfig.java b/sconfig/jvm/src/test/java/beanconfig/TestBeanConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/TestBeanConfig.java rename to sconfig/jvm/src/test/java/beanconfig/TestBeanConfig.java diff --git a/sconfig/src/test/java/beanconfig/UnsupportedListElementConfig.java b/sconfig/jvm/src/test/java/beanconfig/UnsupportedListElementConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/UnsupportedListElementConfig.java rename to sconfig/jvm/src/test/java/beanconfig/UnsupportedListElementConfig.java diff --git a/sconfig/src/test/java/beanconfig/UnsupportedMapKeyConfig.java b/sconfig/jvm/src/test/java/beanconfig/UnsupportedMapKeyConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/UnsupportedMapKeyConfig.java rename to sconfig/jvm/src/test/java/beanconfig/UnsupportedMapKeyConfig.java diff --git a/sconfig/src/test/java/beanconfig/UnsupportedMapValueConfig.java b/sconfig/jvm/src/test/java/beanconfig/UnsupportedMapValueConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/UnsupportedMapValueConfig.java rename to sconfig/jvm/src/test/java/beanconfig/UnsupportedMapValueConfig.java diff --git a/sconfig/src/test/java/beanconfig/ValidationBeanConfig.java b/sconfig/jvm/src/test/java/beanconfig/ValidationBeanConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/ValidationBeanConfig.java rename to sconfig/jvm/src/test/java/beanconfig/ValidationBeanConfig.java diff --git a/sconfig/src/test/java/beanconfig/ValuesConfig.java b/sconfig/jvm/src/test/java/beanconfig/ValuesConfig.java similarity index 100% rename from sconfig/src/test/java/beanconfig/ValuesConfig.java rename to sconfig/jvm/src/test/java/beanconfig/ValuesConfig.java diff --git a/sconfig/src/test/resources/a_1.conf b/sconfig/jvm/src/test/resources/a_1.conf similarity index 100% rename from sconfig/src/test/resources/a_1.conf rename to sconfig/jvm/src/test/resources/a_1.conf diff --git a/sconfig/src/test/resources/b_2.conf b/sconfig/jvm/src/test/resources/b_2.conf similarity index 100% rename from sconfig/src/test/resources/b_2.conf rename to sconfig/jvm/src/test/resources/b_2.conf diff --git a/sconfig/src/test/resources/beanconfig/beanconfig01.conf b/sconfig/jvm/src/test/resources/beanconfig/beanconfig01.conf similarity index 100% rename from sconfig/src/test/resources/beanconfig/beanconfig01.conf rename to sconfig/jvm/src/test/resources/beanconfig/beanconfig01.conf diff --git a/sconfig/src/test/resources/bom.conf b/sconfig/jvm/src/test/resources/bom.conf similarity index 100% rename from sconfig/src/test/resources/bom.conf rename to sconfig/jvm/src/test/resources/bom.conf diff --git a/sconfig/src/test/resources/cycle.conf b/sconfig/jvm/src/test/resources/cycle.conf similarity index 100% rename from sconfig/src/test/resources/cycle.conf rename to sconfig/jvm/src/test/resources/cycle.conf diff --git a/sconfig/src/test/resources/equiv01/comments.conf b/sconfig/jvm/src/test/resources/equiv01/comments.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/comments.conf rename to sconfig/jvm/src/test/resources/equiv01/comments.conf diff --git a/sconfig/src/test/resources/equiv01/equals.conf b/sconfig/jvm/src/test/resources/equiv01/equals.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/equals.conf rename to sconfig/jvm/src/test/resources/equiv01/equals.conf diff --git a/sconfig/src/test/resources/equiv01/no-commas.conf b/sconfig/jvm/src/test/resources/equiv01/no-commas.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/no-commas.conf rename to sconfig/jvm/src/test/resources/equiv01/no-commas.conf diff --git a/sconfig/src/test/resources/equiv01/no-root-braces.conf b/sconfig/jvm/src/test/resources/equiv01/no-root-braces.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/no-root-braces.conf rename to sconfig/jvm/src/test/resources/equiv01/no-root-braces.conf diff --git a/sconfig/src/test/resources/equiv01/no-whitespace.json b/sconfig/jvm/src/test/resources/equiv01/no-whitespace.json similarity index 100% rename from sconfig/src/test/resources/equiv01/no-whitespace.json rename to sconfig/jvm/src/test/resources/equiv01/no-whitespace.json diff --git a/sconfig/src/test/resources/equiv01/omit-colons.conf b/sconfig/jvm/src/test/resources/equiv01/omit-colons.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/omit-colons.conf rename to sconfig/jvm/src/test/resources/equiv01/omit-colons.conf diff --git a/sconfig/src/test/resources/equiv01/original.json b/sconfig/jvm/src/test/resources/equiv01/original.json similarity index 100% rename from sconfig/src/test/resources/equiv01/original.json rename to sconfig/jvm/src/test/resources/equiv01/original.json diff --git a/sconfig/src/test/resources/equiv01/path-keys.conf b/sconfig/jvm/src/test/resources/equiv01/path-keys.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/path-keys.conf rename to sconfig/jvm/src/test/resources/equiv01/path-keys.conf diff --git a/sconfig/src/test/resources/equiv01/properties-style.conf b/sconfig/jvm/src/test/resources/equiv01/properties-style.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/properties-style.conf rename to sconfig/jvm/src/test/resources/equiv01/properties-style.conf diff --git a/sconfig/src/test/resources/equiv01/substitutions.conf b/sconfig/jvm/src/test/resources/equiv01/substitutions.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/substitutions.conf rename to sconfig/jvm/src/test/resources/equiv01/substitutions.conf diff --git a/sconfig/src/test/resources/equiv01/unquoted.conf b/sconfig/jvm/src/test/resources/equiv01/unquoted.conf similarity index 100% rename from sconfig/src/test/resources/equiv01/unquoted.conf rename to sconfig/jvm/src/test/resources/equiv01/unquoted.conf diff --git a/sconfig/src/test/resources/equiv02/original.json b/sconfig/jvm/src/test/resources/equiv02/original.json similarity index 100% rename from sconfig/src/test/resources/equiv02/original.json rename to sconfig/jvm/src/test/resources/equiv02/original.json diff --git a/sconfig/src/test/resources/equiv02/path-keys-weird-whitespace.conf b/sconfig/jvm/src/test/resources/equiv02/path-keys-weird-whitespace.conf similarity index 100% rename from sconfig/src/test/resources/equiv02/path-keys-weird-whitespace.conf rename to sconfig/jvm/src/test/resources/equiv02/path-keys-weird-whitespace.conf diff --git a/sconfig/src/test/resources/equiv02/path-keys.conf b/sconfig/jvm/src/test/resources/equiv02/path-keys.conf similarity index 100% rename from sconfig/src/test/resources/equiv02/path-keys.conf rename to sconfig/jvm/src/test/resources/equiv02/path-keys.conf diff --git a/sconfig/src/test/resources/equiv03/includes.conf b/sconfig/jvm/src/test/resources/equiv03/includes.conf similarity index 100% rename from sconfig/src/test/resources/equiv03/includes.conf rename to sconfig/jvm/src/test/resources/equiv03/includes.conf diff --git a/sconfig/src/test/resources/equiv03/letters/a.conf b/sconfig/jvm/src/test/resources/equiv03/letters/a.conf similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/a.conf rename to sconfig/jvm/src/test/resources/equiv03/letters/a.conf diff --git a/sconfig/src/test/resources/equiv03/letters/b.json b/sconfig/jvm/src/test/resources/equiv03/letters/b.json similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/b.json rename to sconfig/jvm/src/test/resources/equiv03/letters/b.json diff --git a/sconfig/src/test/resources/equiv03/letters/c.conf b/sconfig/jvm/src/test/resources/equiv03/letters/c.conf similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/c.conf rename to sconfig/jvm/src/test/resources/equiv03/letters/c.conf diff --git a/sconfig/src/test/resources/equiv03/letters/c.properties b/sconfig/jvm/src/test/resources/equiv03/letters/c.properties similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/c.properties rename to sconfig/jvm/src/test/resources/equiv03/letters/c.properties diff --git a/sconfig/src/test/resources/equiv03/letters/numbers/1.conf b/sconfig/jvm/src/test/resources/equiv03/letters/numbers/1.conf similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/numbers/1.conf rename to sconfig/jvm/src/test/resources/equiv03/letters/numbers/1.conf diff --git a/sconfig/src/test/resources/equiv03/letters/numbers/2.properties b/sconfig/jvm/src/test/resources/equiv03/letters/numbers/2.properties similarity index 100% rename from sconfig/src/test/resources/equiv03/letters/numbers/2.properties rename to sconfig/jvm/src/test/resources/equiv03/letters/numbers/2.properties diff --git a/sconfig/src/test/resources/equiv03/original.json b/sconfig/jvm/src/test/resources/equiv03/original.json similarity index 100% rename from sconfig/src/test/resources/equiv03/original.json rename to sconfig/jvm/src/test/resources/equiv03/original.json diff --git a/sconfig/src/test/resources/equiv03/root/foo.conf b/sconfig/jvm/src/test/resources/equiv03/root/foo.conf similarity index 100% rename from sconfig/src/test/resources/equiv03/root/foo.conf rename to sconfig/jvm/src/test/resources/equiv03/root/foo.conf diff --git a/sconfig/src/test/resources/equiv04/missing-substitutions.conf b/sconfig/jvm/src/test/resources/equiv04/missing-substitutions.conf similarity index 100% rename from sconfig/src/test/resources/equiv04/missing-substitutions.conf rename to sconfig/jvm/src/test/resources/equiv04/missing-substitutions.conf diff --git a/sconfig/src/test/resources/equiv04/original.json b/sconfig/jvm/src/test/resources/equiv04/original.json similarity index 100% rename from sconfig/src/test/resources/equiv04/original.json rename to sconfig/jvm/src/test/resources/equiv04/original.json diff --git a/sconfig/src/test/resources/equiv05/original.json b/sconfig/jvm/src/test/resources/equiv05/original.json similarity index 100% rename from sconfig/src/test/resources/equiv05/original.json rename to sconfig/jvm/src/test/resources/equiv05/original.json diff --git a/sconfig/src/test/resources/equiv05/triple-quotes.conf b/sconfig/jvm/src/test/resources/equiv05/triple-quotes.conf similarity index 100% rename from sconfig/src/test/resources/equiv05/triple-quotes.conf rename to sconfig/jvm/src/test/resources/equiv05/triple-quotes.conf diff --git a/sconfig/src/test/resources/file-include.conf b/sconfig/jvm/src/test/resources/file-include.conf similarity index 100% rename from sconfig/src/test/resources/file-include.conf rename to sconfig/jvm/src/test/resources/file-include.conf diff --git a/sconfig/src/test/resources/include-from-list.conf b/sconfig/jvm/src/test/resources/include-from-list.conf similarity index 100% rename from sconfig/src/test/resources/include-from-list.conf rename to sconfig/jvm/src/test/resources/include-from-list.conf diff --git a/sconfig/src/test/resources/onclasspath.conf b/sconfig/jvm/src/test/resources/onclasspath.conf similarity index 100% rename from sconfig/src/test/resources/onclasspath.conf rename to sconfig/jvm/src/test/resources/onclasspath.conf diff --git a/sconfig/src/test/resources/subdir/bar-file.conf b/sconfig/jvm/src/test/resources/subdir/bar-file.conf similarity index 100% rename from sconfig/src/test/resources/subdir/bar-file.conf rename to sconfig/jvm/src/test/resources/subdir/bar-file.conf diff --git a/sconfig/src/test/resources/subdir/bar.conf b/sconfig/jvm/src/test/resources/subdir/bar.conf similarity index 100% rename from sconfig/src/test/resources/subdir/bar.conf rename to sconfig/jvm/src/test/resources/subdir/bar.conf diff --git a/sconfig/src/test/resources/subdir/baz.conf b/sconfig/jvm/src/test/resources/subdir/baz.conf similarity index 100% rename from sconfig/src/test/resources/subdir/baz.conf rename to sconfig/jvm/src/test/resources/subdir/baz.conf diff --git a/sconfig/src/test/resources/subdir/foo.conf b/sconfig/jvm/src/test/resources/subdir/foo.conf similarity index 100% rename from sconfig/src/test/resources/subdir/foo.conf rename to sconfig/jvm/src/test/resources/subdir/foo.conf diff --git a/sconfig/src/test/resources/test01.conf b/sconfig/jvm/src/test/resources/test01.conf similarity index 100% rename from sconfig/src/test/resources/test01.conf rename to sconfig/jvm/src/test/resources/test01.conf diff --git a/sconfig/src/test/resources/test01.json b/sconfig/jvm/src/test/resources/test01.json similarity index 100% rename from sconfig/src/test/resources/test01.json rename to sconfig/jvm/src/test/resources/test01.json diff --git a/sconfig/src/test/resources/test01.properties b/sconfig/jvm/src/test/resources/test01.properties similarity index 100% rename from sconfig/src/test/resources/test01.properties rename to sconfig/jvm/src/test/resources/test01.properties diff --git a/sconfig/src/test/resources/test02.conf b/sconfig/jvm/src/test/resources/test02.conf similarity index 100% rename from sconfig/src/test/resources/test02.conf rename to sconfig/jvm/src/test/resources/test02.conf diff --git a/sconfig/src/test/resources/test03-included.conf b/sconfig/jvm/src/test/resources/test03-included.conf similarity index 100% rename from sconfig/src/test/resources/test03-included.conf rename to sconfig/jvm/src/test/resources/test03-included.conf diff --git a/sconfig/src/test/resources/test03.conf b/sconfig/jvm/src/test/resources/test03.conf similarity index 100% rename from sconfig/src/test/resources/test03.conf rename to sconfig/jvm/src/test/resources/test03.conf diff --git a/sconfig/src/test/resources/test04.conf b/sconfig/jvm/src/test/resources/test04.conf similarity index 100% rename from sconfig/src/test/resources/test04.conf rename to sconfig/jvm/src/test/resources/test04.conf diff --git a/sconfig/src/test/resources/test05.conf b/sconfig/jvm/src/test/resources/test05.conf similarity index 100% rename from sconfig/src/test/resources/test05.conf rename to sconfig/jvm/src/test/resources/test05.conf diff --git a/sconfig/src/test/resources/test06.conf b/sconfig/jvm/src/test/resources/test06.conf similarity index 100% rename from sconfig/src/test/resources/test06.conf rename to sconfig/jvm/src/test/resources/test06.conf diff --git a/sconfig/src/test/resources/test07.conf b/sconfig/jvm/src/test/resources/test07.conf similarity index 100% rename from sconfig/src/test/resources/test07.conf rename to sconfig/jvm/src/test/resources/test07.conf diff --git a/sconfig/src/test/resources/test08.conf b/sconfig/jvm/src/test/resources/test08.conf similarity index 100% rename from sconfig/src/test/resources/test08.conf rename to sconfig/jvm/src/test/resources/test08.conf diff --git a/sconfig/src/test/resources/test09.conf b/sconfig/jvm/src/test/resources/test09.conf similarity index 100% rename from sconfig/src/test/resources/test09.conf rename to sconfig/jvm/src/test/resources/test09.conf diff --git a/sconfig/src/test/resources/test10.conf b/sconfig/jvm/src/test/resources/test10.conf similarity index 100% rename from sconfig/src/test/resources/test10.conf rename to sconfig/jvm/src/test/resources/test10.conf diff --git a/sconfig/src/test/resources/test11.conf b/sconfig/jvm/src/test/resources/test11.conf similarity index 100% rename from sconfig/src/test/resources/test11.conf rename to sconfig/jvm/src/test/resources/test11.conf diff --git a/sconfig/src/test/resources/validate-invalid.conf b/sconfig/jvm/src/test/resources/validate-invalid.conf similarity index 100% rename from sconfig/src/test/resources/validate-invalid.conf rename to sconfig/jvm/src/test/resources/validate-invalid.conf diff --git a/sconfig/src/test/resources/validate-reference.conf b/sconfig/jvm/src/test/resources/validate-reference.conf similarity index 100% rename from sconfig/src/test/resources/validate-reference.conf rename to sconfig/jvm/src/test/resources/validate-reference.conf diff --git a/sconfig/src/test/scala/ApiExamples.scala b/sconfig/jvm/src/test/scala/ApiExamples.scala similarity index 100% rename from sconfig/src/test/scala/ApiExamples.scala rename to sconfig/jvm/src/test/scala/ApiExamples.scala diff --git a/sconfig/src/test/scala/Profiling.scala b/sconfig/jvm/src/test/scala/Profiling.scala similarity index 100% rename from sconfig/src/test/scala/Profiling.scala rename to sconfig/jvm/src/test/scala/Profiling.scala diff --git a/sconfig/src/test/scala/Rendering.scala b/sconfig/jvm/src/test/scala/Rendering.scala similarity index 100% rename from sconfig/src/test/scala/Rendering.scala rename to sconfig/jvm/src/test/scala/Rendering.scala diff --git a/sconfig/src/test/scala/equiv03/SomethingInEquiv03.java b/sconfig/jvm/src/test/scala/equiv03/SomethingInEquiv03.java similarity index 100% rename from sconfig/src/test/scala/equiv03/SomethingInEquiv03.java rename to sconfig/jvm/src/test/scala/equiv03/SomethingInEquiv03.java diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/BadMapTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/BadMapTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/BadMapTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/BadMapTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConcatenationTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConcatenationTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConcatenationTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConcatenationTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfParserTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfParserTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfParserTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfParserTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigBeanFactoryTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigBeanFactoryTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigBeanFactoryTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigBeanFactoryTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigDocumentParserTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigDocumentParserTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigDocumentParserTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigDocumentParserTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigDocumentTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigDocumentTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigDocumentTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigDocumentTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigMemorySizeTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigMemorySizeTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigMemorySizeTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigMemorySizeTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigNodeTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigNodeTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigNodeTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigNodeTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala similarity index 99% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala index 7eaf8467..4a00305c 100644 --- a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala +++ b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigSubstitutionTest.scala @@ -778,25 +778,23 @@ class ConfigSubstitutionTest extends TestUtils { resolved.getIntList("x.y.ptrToPtrToArr").asScala) } - private val substSystemPropsObject = { + private val substSystemPropsObject = parseObject(""" -{ - "a" : ${configtest.a}, - "b" : ${configtest.b} -} -""") - } + { + "a" : ${configtest.a}, + "b" : ${configtest.b} + } + """) @Test - def doNotSerializeUnresolvedObject(): Unit = { + def doNotSerializeUnresolvedObject(): Unit = checkNotSerializable(substComplexObject) - } @Test def resolveListFromSystemProps(): Unit = { val props = parseObject(""" - |"a": ${testList} - """.stripMargin) + |"a": ${testList} + """.stripMargin) System.setProperty("testList.0", "0") System.setProperty("testList.1", "1") @@ -815,8 +813,8 @@ class ConfigSubstitutionTest extends TestUtils { @Test def resolveListFromEnvVars(): Unit = { val props = parseObject(""" - |"a": ${testList} - """.stripMargin) + |"a": ${testList} + """.stripMargin) //"testList.0" and "testList.1" are defined as envVars in build.sbt val resolved = resolve(props) diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ConfigValueTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigValueTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ConfigValueTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ConfigValueTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/EquivalentsTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/EquivalentsTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/EquivalentsTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/EquivalentsTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/HttpTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/HttpTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/HttpTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/HttpTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/JsonTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/JsonTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/JsonTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/JsonTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ParseableReaderTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ParseableReaderTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ParseableReaderTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ParseableReaderTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/PathTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/PathTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/PathTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/PathTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/PropertiesTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/PropertiesTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/PropertiesTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/PropertiesTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/PublicApiTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/PublicApiTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/PublicApiTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/PublicApiTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/TestUtils.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/TestUtils.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/TestUtils.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/TestUtils.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/TokenTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/TokenTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/TokenTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/TokenTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/TokenizerTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/TokenizerTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/TokenizerTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/TokenizerTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ToyHttp.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ToyHttp.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ToyHttp.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ToyHttp.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/UnitParserTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/UnitParserTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/UnitParserTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/UnitParserTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/UtilTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/UtilTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/UtilTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/UtilTest.scala diff --git a/sconfig/src/test/scala/org/ekrich/config/impl/ValidationTest.scala b/sconfig/jvm/src/test/scala/org/ekrich/config/impl/ValidationTest.scala similarity index 100% rename from sconfig/src/test/scala/org/ekrich/config/impl/ValidationTest.scala rename to sconfig/jvm/src/test/scala/org/ekrich/config/impl/ValidationTest.scala diff --git a/sconfig/native/src/test/scala/ConfigFactoryTests.scala b/sconfig/native/src/test/scala/ConfigFactoryTests.scala new file mode 100644 index 00000000..06bd9b85 --- /dev/null +++ b/sconfig/native/src/test/scala/ConfigFactoryTests.scala @@ -0,0 +1,42 @@ +package test + +import org.ekrich.config.ConfigFactory +import utest._ + +object ConfigFactoryTests extends TestSuite { + println("Testing sconfig for Scala Native") + val tests = Tests { + "load() check system property throws NotImplementedError" - { + + // example of how system properties override; note this + // must be set before the config lib is used + val propKey = "simple-prop.whatever" + val propVal = "This value comes from a system property" + System.setProperty(propKey, propVal) + + // Load our own config values from the default location, application.conf + val e = intercept[NotImplementedError] { + val conf = ConfigFactory.load() + assert(conf.getString(propKey) == propVal) + } + } + + "parseString(s: String) scalafmt example works" - { + val configStr = + """ + |maxColumn = 100 + |project.git=true + |align = none + |danglingParentheses = true + |newlines.neverBeforeJsNative = true + |newlines.sometimesBeforeColonInMethodReturnType = false + |assumeStandardLibraryStripMargin = true + """.stripMargin + + val conf = ConfigFactory.parseString(configStr) + + assert(conf.getInt("maxColumn") == 100) + assert(conf.getBoolean("project.git") == true) + } + } +} diff --git a/sconfig/src/main/scala/org/ekrich/config/Config.scala b/sconfig/shared/src/main/scala/org/ekrich/config/Config.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/Config.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/Config.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigException.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigException.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigException.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigException.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigFactory.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigFactory.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigFactory.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigFactory.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigIncludeContext.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncludeContext.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigIncludeContext.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncludeContext.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigIncluder.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluder.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigIncluder.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluder.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigIncluderClasspath.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderClasspath.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigIncluderClasspath.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderClasspath.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigIncluderFile.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderFile.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigIncluderFile.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderFile.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigIncluderURL.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderURL.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigIncluderURL.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigIncluderURL.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigList.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigList.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigList.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigList.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigLoadingStrategy.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigLoadingStrategy.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigLoadingStrategy.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigLoadingStrategy.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigMemorySize.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigMemorySize.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigMemorySize.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigMemorySize.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigMergeable.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigMergeable.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigMergeable.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigMergeable.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigObject.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigObject.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigObject.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigObject.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigOrigin.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigOrigin.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigOrigin.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigOrigin.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigOriginFactory.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigOriginFactory.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigOriginFactory.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigOriginFactory.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigParseOptions.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigParseOptions.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigParseOptions.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigParseOptions.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigParseable.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigParseable.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigParseable.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigParseable.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigRenderOptions.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigRenderOptions.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigRenderOptions.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigRenderOptions.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigResolveOptions.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigResolveOptions.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigResolveOptions.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigResolveOptions.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigResolver.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigResolver.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigResolver.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigResolver.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigSyntax.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigSyntax.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigSyntax.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigSyntax.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigUtil.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigUtil.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigUtil.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigUtil.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigValueFactory.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigValueFactory.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigValueFactory.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigValueFactory.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/ConfigValueType.scala b/sconfig/shared/src/main/scala/org/ekrich/config/ConfigValueType.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/ConfigValueType.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/ConfigValueType.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/DefaultConfigLoadingStrategy.scala b/sconfig/shared/src/main/scala/org/ekrich/config/DefaultConfigLoadingStrategy.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/DefaultConfigLoadingStrategy.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/DefaultConfigLoadingStrategy.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigNode.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigNode.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigNode.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigNode.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigNodeValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigNodeValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigNodeValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigNodeValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigObject.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigObject.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigObject.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigObject.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/AbstractConfigValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/AbstractConfigValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/BadMap.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/BadMap.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/BadMap.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/BadMap.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigBoolean.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigBoolean.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigBoolean.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigBoolean.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigConcatenation.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigConcatenation.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigConcatenation.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigConcatenation.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigDelayedMerge.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDelayedMerge.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigDelayedMerge.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDelayedMerge.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigDelayedMergeObject.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDelayedMergeObject.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigDelayedMergeObject.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDelayedMergeObject.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala similarity index 99% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala index 3c475d1d..5861291d 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDocumentParser.scala @@ -6,6 +6,7 @@ package org.ekrich.config.impl import java.{lang => jl} import java.{util => ju} import scala.util.control.Breaks._ +import scala.collection.mutable.ArrayStack import org.ekrich.config._ object ConfigDocumentParser { @@ -48,7 +49,7 @@ object ConfigDocumentParser { val tokens: ju.Iterator[Token]) { private var lineNumber = 1 - final private var buffer = new ju.Stack[Token] + final private var buffer = new ArrayStack[Token] // this is the number of "equals" we are inside, // used to modify the error message to reflect that // someone may think this is .properties format. diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigDouble.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDouble.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigDouble.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigDouble.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala similarity index 99% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala index 421e0186..14b2ed7b 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImpl.scala @@ -23,7 +23,7 @@ import org.ekrich.config.ConfigValue /** * Internal implementation detail, not ABI stable, do not touch. - * For use only by the {@link com.typesafe.config} package. + * For use only by the {@link org.ekrich.config} package. */ object ConfigImpl { diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala similarity index 99% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala index e3c32ebc..620591c4 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigImplUtil.scala @@ -19,7 +19,7 @@ import org.ekrich.config.ConfigSyntax /** * Internal implementation detail, not ABI stable, do not touch. - * For use only by the {@link com.typesafe.config} package. + * For use only by the {@link org.ekrich.config} package. */ object ConfigImplUtil { diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigIncludeKind.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigIncludeKind.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigIncludeKind.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigIncludeKind.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigInt.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigInt.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigInt.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigInt.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigLong.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigLong.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigLong.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigLong.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeArray.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeArray.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeArray.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeArray.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeComment.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeComment.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeComment.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeComment.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeComplexValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeComplexValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeComplexValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeComplexValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeConcatenation.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeConcatenation.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeConcatenation.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeConcatenation.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeField.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeField.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeField.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeField.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeInclude.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeInclude.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeInclude.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeInclude.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeObject.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeObject.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeObject.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeObject.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodePath.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodePath.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodePath.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodePath.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeRoot.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeRoot.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeRoot.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeRoot.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeSimpleValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeSimpleValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeSimpleValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeSimpleValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeSingleToken.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeSingleToken.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNodeSingleToken.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNodeSingleToken.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNull.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNull.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNull.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNull.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigNumber.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNumber.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigNumber.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigNumber.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigParser.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigParser.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigParser.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigParser.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigReference.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigReference.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigReference.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigReference.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ConfigString.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigString.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ConfigString.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ConfigString.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Container.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Container.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Container.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Container.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/DefaultTransformer.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/DefaultTransformer.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/DefaultTransformer.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/DefaultTransformer.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/FromMapMode.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/FromMapMode.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/FromMapMode.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/FromMapMode.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/FullIncluder.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/FullIncluder.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/FullIncluder.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/FullIncluder.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/MemoKey.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/MemoKey.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/MemoKey.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/MemoKey.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/MergeableValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/MergeableValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/MergeableValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/MergeableValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/OriginType.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/OriginType.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/OriginType.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/OriginType.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Parseable.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Parseable.scala similarity index 99% rename from sconfig/src/main/scala/org/ekrich/config/impl/Parseable.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Parseable.scala index 4174c98e..bc88687c 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/Parseable.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Parseable.scala @@ -18,14 +18,13 @@ import java.net.MalformedURLException import java.net.URI import java.net.URISyntaxException import java.net.URL -import java.net.URLConnection import java.{util => ju} import org.ekrich.config._ import org.ekrich.config.parser._ /** * Internal implementation detail, not ABI stable, do not touch. - * For use only by the {@link com.typesafe.config} package. + * For use only by the {@link org.ekrich.config} package. * The point of this class is to avoid "propagating" each * overload on "thing which can be parsed" through multiple * interfaces. Most interfaces can have just one overload that @@ -247,7 +246,8 @@ object Parseable { override def toString: String = getClass.getSimpleName + "(" + input.toExternalForm + ")" } - def newURL(input: URL, options: ConfigParseOptions): Parseable = { // we want file: URLs and files to always behave the same, so switch + def newURL(input: URL, options: ConfigParseOptions): Parseable = { + // we want file: URLs and files to always behave the same, so switch // to a file if it's a file: URL if (input.getProtocol == "file") newFile(ConfigImplUtil.urlToFile(input), options) diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Path.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Path.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Path.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Path.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/PathBuilder.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/PathBuilder.scala similarity index 93% rename from sconfig/src/main/scala/org/ekrich/config/impl/PathBuilder.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/PathBuilder.scala index 2c2771ed..1f5db8a6 100644 --- a/sconfig/src/main/scala/org/ekrich/config/impl/PathBuilder.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/impl/PathBuilder.scala @@ -3,12 +3,13 @@ */ package org.ekrich.config.impl -import java.{util => ju} import util.control.Breaks._ import org.ekrich.config.ConfigException +import scala.collection.mutable + final class PathBuilder private[impl] () { - final private val keys = new ju.Stack[String] + final private val keys = new mutable.ArrayStack[String] // the keys are kept "backward" (top of stack is end of path) private var resultPath: Path = null diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/PathParser.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/PathParser.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/PathParser.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/PathParser.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/PropertiesParser.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/PropertiesParser.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/PropertiesParser.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/PropertiesParser.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ReplaceableMergeStack.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ReplaceableMergeStack.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ReplaceableMergeStack.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ReplaceableMergeStack.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ResolveContext.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveContext.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ResolveContext.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveContext.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ResolveMemos.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveMemos.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ResolveMemos.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveMemos.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ResolveResult.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveResult.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ResolveResult.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveResult.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ResolveSource.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveSource.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ResolveSource.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveSource.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/ResolveStatus.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveStatus.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/ResolveStatus.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/ResolveStatus.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SerializedConfigValue.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SerializedConfigValue.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SerializedConfigValue.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SerializedConfigValue.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfig.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfig.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfig.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfig.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigDocument.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigDocument.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigDocument.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigDocument.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigList.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigList.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigList.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigList.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigObject.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigObject.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigObject.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigObject.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigOrigin.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigOrigin.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleConfigOrigin.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleConfigOrigin.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleIncludeContext.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleIncludeContext.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleIncludeContext.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleIncludeContext.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SimpleIncluder.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleIncluder.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SimpleIncluder.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SimpleIncluder.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/SubstitutionExpression.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/SubstitutionExpression.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/SubstitutionExpression.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/SubstitutionExpression.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Token.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Token.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Token.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Token.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/TokenType.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/TokenType.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/TokenType.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/TokenType.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Tokenizer.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Tokenizer.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Tokenizer.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Tokenizer.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Tokens.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Tokens.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Tokens.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Tokens.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/Unmergeable.scala b/sconfig/shared/src/main/scala/org/ekrich/config/impl/Unmergeable.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/Unmergeable.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/Unmergeable.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/impl/package.html b/sconfig/shared/src/main/scala/org/ekrich/config/impl/package.html similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/impl/package.html rename to sconfig/shared/src/main/scala/org/ekrich/config/impl/package.html diff --git a/sconfig/src/main/scala/org/ekrich/config/package.html b/sconfig/shared/src/main/scala/org/ekrich/config/package.html similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/package.html rename to sconfig/shared/src/main/scala/org/ekrich/config/package.html diff --git a/sconfig/src/main/scala/org/ekrich/config/parser/ConfigDocument.scala b/sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigDocument.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/parser/ConfigDocument.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigDocument.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala b/sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala similarity index 86% rename from sconfig/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala index 44552e4d..d7597bb6 100644 --- a/sconfig/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala +++ b/sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigDocumentFactory.scala @@ -7,7 +7,7 @@ import java.io.Reader /** * Factory for creating - * [[com.typesafe.config.parser.ConfigDocument]] instances. + * [[org.ekrich.config.parser.ConfigDocument]] instances. */ object ConfigDocumentFactory { @@ -19,7 +19,7 @@ object ConfigDocumentFactory { * @param options * parse options to control how the reader is interpreted * @return the parsed configuration - * @throws [[com.typesafe.config.ConfigException]] on IO or parse errors + * @throws [[org.ekrich.config.ConfigException]] on IO or parse errors */ def parseReader(reader: Reader, options: ConfigParseOptions): ConfigDocument = Parseable.newReader(reader, options).parseConfigDocument @@ -32,7 +32,7 @@ object ConfigDocumentFactory { * @param reader * the reader to parse * @return the parsed configuration - * @throws com.typesafe.config.ConfigException on IO or parse errors + * @throws org.ekrich.config.ConfigException on IO or parse errors */ def parseReader(reader: Reader): ConfigDocument = parseReader(reader, ConfigParseOptions.defaults) @@ -45,7 +45,7 @@ object ConfigDocumentFactory { * @param options * parse options to control how the file is interpreted * @return the parsed configuration - * @throws com.typesafe.config.ConfigException on IO or parse errors + * @throws org.ekrich.config.ConfigException on IO or parse errors */ def parseFile(file: File, options: ConfigParseOptions): ConfigDocument = Parseable.newFile(file, options).parseConfigDocument @@ -58,7 +58,7 @@ object ConfigDocumentFactory { * @param file * the file to parse * @return the parsed configuration - * @throws com.typesafe.config.ConfigException on IO or parse errors + * @throws org.ekrich.config.ConfigException on IO or parse errors */ def parseFile(file: File): ConfigDocument = parseFile(file, ConfigParseOptions.defaults) diff --git a/sconfig/src/main/scala/org/ekrich/config/parser/ConfigNode.scala b/sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigNode.scala similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/parser/ConfigNode.scala rename to sconfig/shared/src/main/scala/org/ekrich/config/parser/ConfigNode.scala diff --git a/sconfig/src/main/scala/org/ekrich/config/parser/package.html b/sconfig/shared/src/main/scala/org/ekrich/config/parser/package.html similarity index 100% rename from sconfig/src/main/scala/org/ekrich/config/parser/package.html rename to sconfig/shared/src/main/scala/org/ekrich/config/parser/package.html diff --git a/scripts/scalafmt b/scripts/scalafmt index ff6eb16c..1f973389 100755 --- a/scripts/scalafmt +++ b/scripts/scalafmt @@ -9,7 +9,7 @@ COURSIER="$HERE/.coursier" SCALAFMT="$HERE/.scalafmt-$VERSION" if [ ! -f $COURSIER ]; then - curl -L -o $COURSIER https://git.io/vgvpD + curl -L -o $COURSIER https://git.io/coursier-cli chmod +x $COURSIER fi diff --git a/scripts/travis-os-setup.sh b/scripts/travis-os-setup.sh new file mode 100755 index 00000000..72d16a69 --- /dev/null +++ b/scripts/travis-os-setup.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# Similar to Scala Native + +# Enable strict mode and fail the script on non-zero exit code, +# unresolved variable or pipe failure. +set -euo pipefail +IFS=$'\n\t' + +if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew install re2 +else + # Per https://github.com/scala-native/scala-native/pull/1240/ + sudo apt-get update + + # Remove libunwind pre-bundled with clang + sudo find /usr -name "*libunwind*" -delete + + # Use pre-bundled clang + export PATH=/usr/local/clang-5.0.0/bin:$PATH + export CXX=clang++ + + # Install Boehm GC and libunwind + sudo apt-get install libgc-dev libunwind8-dev libatlas-base-dev + + # Install re2 + # Starting from Ubuntu 16.04 LTS, it'll be available as http://packages.ubuntu.com/xenial/libre2-dev + sudo apt-get install -y make + git clone https://code.googlesource.com/re2 + pushd re2 + git checkout 2017-03-01 + make -j4 test + sudo make install prefix=/usr + make testinstall prefix=/usr + popd +fi diff --git a/test-lib/src/test/resources/test-lib.conf b/test-lib/jvm/src/test/resources/test-lib.conf similarity index 100% rename from test-lib/src/test/resources/test-lib.conf rename to test-lib/jvm/src/test/resources/test-lib.conf diff --git a/test-lib/src/test/resources/test01.conf b/test-lib/jvm/src/test/resources/test01.conf similarity index 100% rename from test-lib/src/test/resources/test01.conf rename to test-lib/jvm/src/test/resources/test01.conf