Merge branch 'master' into ml-503-missing-getXList-methods

This commit is contained in:
Marconi Lanna 2017-10-24 19:23:40 -04:00
commit f2ae46d140
19 changed files with 86 additions and 73 deletions

View File

@ -10,7 +10,7 @@
during resolution.
- Config Beans now support `Set` collection.
- a few other small bugfixes. All of the fixed issues can be found
in the [milestone page](https://github.com/typesafehub/config/milestone/1?closed=1).
in the [milestone page](https://github.com/lightbend/config/milestone/1?closed=1).
# 1.3.1: September 24, 2016
@ -222,7 +222,7 @@ Thank you to contributors with commits since v1.2.1 tag:
- build jar using Java 1.6 (and enforce this in build)
- change getDuration to return unboxed long instead of boxed
- API documentation improvements
http://typesafehub.github.io/config/latest/api/
http://lightbend.github.io/config/latest/api/
# 1.1.0-9f31d6308e7ebbc3d7904b64ebb9f61f7e22a968: January 6, 2014
@ -240,7 +240,7 @@ Thank you to contributors with commits since v1.2.1 tag:
- new API Config.getDuration() replaces getMilliseconds and
getNanoseconds. (should it return `long` instead of `Long` even
though it's been in git for a while? weigh in at
https://github.com/typesafehub/config/issues/119 )
https://github.com/lightbend/config/issues/119 )
- new API ConfigResolveOptions.setAllowUnresolved lets you
partially-resolve a Config
- new API Config.isResolved lets you check on resolution status

View File

@ -1,11 +1,11 @@
Configuration library for JVM languages.
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.typesafe/config/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.typesafe/config)
[![Build Status](https://travis-ci.org/typesafehub/config.svg?branch=master)](https://travis-ci.org/typesafehub/config)
[![Build Status](https://travis-ci.org/lightbend/config.svg?branch=master)](https://travis-ci.org/lightbend/config)
If you have questions or are working on a pull request or just
curious, please feel welcome to join the chat room:
[![Join chat https://gitter.im/typesafehub/config](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/typesafehub/config?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join chat https://gitter.im/lightbend/config](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/lightbend/config?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Overview
@ -88,16 +88,13 @@ to merge it in.
- [Python port](#python-port)
- [C++ port](#c-port)
- [JavaScript port](#javascript-port)
- [C# port](#c-port-1)
- [Linting tool](#linting-tool)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## Essential Information
### License
The license is Apache 2.0, see LICENSE-2.0.txt.
### Binary Releases
Version 1.2.1 and earlier were built for Java 6, while newer
@ -122,15 +119,15 @@ Link for direct download if you don't use a dependency manager:
### Release Notes
Please see NEWS.md in this directory,
https://github.com/typesafehub/config/blob/master/NEWS.md
https://github.com/lightbend/config/blob/master/NEWS.md
### API docs
- Online: http://typesafehub.github.com/config/latest/api/
- Online: http://lightbend.github.io/config/latest/api/
- also published in jar form
- consider reading this README first for an intro
- for questions about the `.conf` file format, read
[HOCON.md](https://github.com/typesafehub/config/blob/master/HOCON.md)
[HOCON.md](https://github.com/lightbend/config/blob/master/HOCON.md)
in this directory
### Bugs and Patches
@ -144,7 +141,7 @@ account - it takes 30 seconds. You can do this at
http://www.typesafe.com/contribute/cla
Please see
[CONTRIBUTING](https://github.com/typesafehub/config/blob/master/CONTRIBUTING.md)
[CONTRIBUTING](https://github.com/lightbend/config/blob/master/CONTRIBUTING.md)
for more including how to make a release.
### Build
@ -165,7 +162,7 @@ Scala dependency.
### Longer Examples
See the examples in the `examples/` [directory](https://github.com/typesafehub/config/tree/master/examples).
See the examples in the `examples/` [directory](https://github.com/lightbend/config/tree/master/examples).
You can run these from the sbt console with the commands `project
config-simple-app-java` and then `run`.
@ -189,7 +186,7 @@ Objects are immutable, so methods on `Config` which transform the
configuration return a new `Config`. Other types such as
`ConfigParseOptions`, `ConfigResolveOptions`, `ConfigObject`,
etc. are also immutable. See the
[API docs](http://typesafehub.github.com/config/latest/api/) for
[API docs](http://lightbend.github.io/config/latest/api/) for
details of course.
### Schemas and Validation
@ -198,7 +195,7 @@ There isn't a schema language or anything like that. However, two
suggested tools are:
- use the
[checkValid() method](http://typesafehub.github.io/config/latest/api/com/typesafe/config/Config.html#checkValid-com.typesafe.config.Config-java.lang.String...-)
[checkValid() method](http://lightbend.github.io/config/latest/api/com/typesafe/config/Config.html#checkValid-com.typesafe.config.Config-java.lang.String...-)
- access your config through a Settings class with a field for
each setting, and instantiate it on startup (immediately
throwing an exception if any settings are missing)
@ -435,7 +432,7 @@ values into multiple places in your code. You have been warned!
### Understanding `Config` and `ConfigObject`
To read and modify configuration, you'll use the
[Config](http://typesafehub.github.io/config/latest/api/com/typesafe/config/Config.html)
[Config](http://lightbend.github.io/config/latest/api/com/typesafe/config/Config.html)
interface. A `Config` looks at a JSON-equivalent data structure as
a one-level map from paths to values. So if your JSON looks like
this:
@ -450,7 +447,7 @@ this:
Using the `Config` interface, you could write
`conf.getInt("foo.bar")`. The `foo.bar` string is called a _path
expression_
([HOCON.md](https://github.com/typesafehub/config/blob/master/HOCON.md)
([HOCON.md](https://github.com/lightbend/config/blob/master/HOCON.md)
has the syntax details for these expressions). Iterating over this
`Config`, you would get two entries; `"foo.bar" : 42` and
`"foo.baz" : 43`. When iterating a `Config` you will not find
@ -463,7 +460,7 @@ skip `null` values.
You can also look at a `Config` in the way most JSON APIs would,
through the
[ConfigObject](http://typesafehub.github.io/config/latest/api/com/typesafe/config/ConfigObject.html)
[ConfigObject](http://lightbend.github.io/config/latest/api/com/typesafe/config/ConfigObject.html)
interface. This interface represents an object node in the JSON
tree. `ConfigObject` instances come in multi-level trees, and the
keys do not have any syntax (they are just strings, not path
@ -475,15 +472,15 @@ expressions). Iterating over the above example as a
In `ConfigObject`, `null` values are visible (distinct from
missing values), just as they are in JSON.
`ConfigObject` is a subtype of [ConfigValue](http://typesafehub.github.io/config/latest/api/com/typesafe/config/ConfigValue.html), where the other
`ConfigObject` is a subtype of [ConfigValue](http://lightbend.github.io/config/latest/api/com/typesafe/config/ConfigValue.html), where the other
subtypes are the other JSON types (list, string, number, boolean, null).
`Config` and `ConfigObject` are two ways to look at the same
internal data structure, and you can convert between them for free
using
[Config.root()](http://typesafehub.github.io/config/latest/api/com/typesafe/config/Config.html#root%28%29)
[Config.root()](http://lightbend.github.io/config/latest/api/com/typesafe/config/Config.html#root%28%29)
and
[ConfigObject.toConfig()](http://typesafehub.github.io/config/latest/api/com/typesafe/config/ConfigObject.html#toConfig%28%29).
[ConfigObject.toConfig()](http://lightbend.github.io/config/latest/api/com/typesafe/config/ConfigObject.html#toConfig%28%29).
### ConfigBeanFactory
@ -506,7 +503,7 @@ particular value manually).
The JSON superset is called "Human-Optimized Config Object
Notation" or HOCON, and files use the suffix `.conf`. See
[HOCON.md](https://github.com/typesafehub/config/blob/master/HOCON.md)
[HOCON.md](https://github.com/lightbend/config/blob/master/HOCON.md)
in this directory for more detail.
After processing a `.conf` file, the result is always just a JSON
@ -771,7 +768,7 @@ version 1.2.1 and earlier will work with Java 6.
Please use 1.2.1 if you need Java 6 support, though some people
have expressed interest in a branch off of 1.3.x supporting
Java 7. If you want to work on that branch you might bring it up
on [chat](https://gitter.im/typesafehub/config). We can release a
on [chat](https://gitter.im/lightbend/config). We can release a
jar for Java 7 if someone(s) steps up to maintain the branch. The
master branch does not use Java 8 "gratuitously" but some APIs
that use Java 8 types will need to be removed.
@ -853,10 +850,10 @@ format.
#### Clojure wrappers for the Java library
* beamly-core.config https://github.com/beamly/beamly-core.config
#### Kotlin wrappers for the Java library
* config4k https://github.com/config4k/config4k
#### Scala port
* SHocon https://github.com/unicredit/shocon (work with both Scala and Scala.Js)
@ -878,9 +875,25 @@ format.
* https://github.com/puppetlabs/cpp-hocon
#### JavaScript port
* https://github.com/yellowblood/hocon-js (missing features, under development)
#### C# port
* https://github.com/akkadotnet/HOCON
#### Linting tool
* A web based linting tool http://www.hoconlint.com/
# Maintanance notes
## License
The license is Apache 2.0, see LICENSE-2.0.txt.
## Maintained by
This project is maintained mostly by [@havocp](https://github.com/havocp) and [@akka-team](https://github.com/orgs/lightbend/teams/akka-team/members).
Feel free to ping above maintainers for code review or discussions. Pull requests are very welcomethanks in advance!

View File

@ -14,11 +14,11 @@ scalacOptions in GlobalScope in Test := Seq("-unchecked", "-deprecation", "-feat
scalaVersion in ThisBuild := "2.10.4"
val sonatype = new PublishToSonatype {
def projectUrl = "https://github.com/typesafehub/config"
def projectUrl = "https://github.com/lightbend/config"
def developerId = "havocp"
def developerName = "Havoc Pennington"
def developerUrl = "http://ometer.com/"
def scmUrl = "git://github.com/typesafehub/config.git"
def scmUrl = "git://github.com/lightbend/config.git"
}
lazy val commonSettings: Seq[Setting[_]] = Def.settings(

View File

@ -84,7 +84,7 @@ javacOptions in (Compile, doc) ++= Seq("-group", s"Public API (version ${version
javadocSourceBaseUrl := {
for (gitHead <- com.typesafe.sbt.SbtGit.GitKeys.gitHeadCommit.value)
yield s"https://github.com/typesafehub/config/blob/$gitHead/config/src/main/java"
yield s"https://github.com/lightbend/config/blob/$gitHead/config/src/main/java"
}
javaVersionPrefix in javaVersionCheck := Some("1.8")

View File

@ -36,7 +36,7 @@ import java.util.concurrent.TimeUnit;
*
* <p>
* You can find an example app and library <a
* href="https://github.com/typesafehub/config/tree/master/examples">on
* href="https://github.com/lightbend/config/tree/master/examples">on
* GitHub</a>. Also be sure to read the <a
* href="package-summary.html#package_description">package overview</a> which
* describes the big picture as shown in those examples.
@ -56,7 +56,7 @@ import java.util.concurrent.TimeUnit;
* in a JSON object; it's just a string that's the key in a map. A "path" is a
* parseable expression with a syntax and it refers to a series of keys. Path
* expressions are described in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">spec for
* href="https://github.com/lightbend/config/blob/master/HOCON.md">spec for
* Human-Optimized Config Object Notation</a>. In brief, a path is
* period-separated so "a.b.c" looks for key c in object b in object a in the
* root object. Sometimes double quotes are needed around special characters in
@ -110,7 +110,7 @@ import java.util.concurrent.TimeUnit;
* <p>
* <em>Substitutions</em> are the <code>${foo.bar}</code> syntax in config
* files, described in the <a href=
* "https://github.com/typesafehub/config/blob/master/HOCON.md#substitutions"
* "https://github.com/lightbend/config/blob/master/HOCON.md#substitutions"
* >specification</a>. Resolving substitutions replaces these references with real
* values.
*
@ -189,7 +189,7 @@ public interface Config extends ConfigMergeable {
/**
* Returns a replacement config with all substitutions (the
* <code>${foo.bar}</code> syntax, see <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>) resolved. Substitutions are looked up using this
* <code>Config</code> as the root object, that is, a substitution
* <code>${foo.bar}</code> will be replaced with the result of
@ -670,7 +670,7 @@ public interface Config extends ConfigMergeable {
* the value is already a number, then it's left alone; if it's a string,
* it's parsed understanding unit suffixes such as "128K", as documented in
* the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>.
*
* @param path
@ -690,7 +690,7 @@ public interface Config extends ConfigMergeable {
* the value is already a number, then it's left alone; if it's a string,
* it's parsed understanding unit suffixes such as "128K", as documented in
* the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>.
*
* @since 1.3.0
@ -711,7 +711,7 @@ public interface Config extends ConfigMergeable {
* Get value as a duration in milliseconds. If the value is already a
* number, then it's left alone; if it's a string, it's parsed understanding
* units suffixes like "10m" or "5ns" as documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>.
*
* @deprecated As of release 1.1, replaced by {@link #getDuration(String, TimeUnit)}
@ -754,7 +754,7 @@ public interface Config extends ConfigMergeable {
* number, then it's taken as milliseconds and then converted to the
* requested TimeUnit; if it's a string, it's parsed understanding units
* suffixes like "10m" or "5ns" as documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>.
*
* @since 1.2.0
@ -778,7 +778,7 @@ public interface Config extends ConfigMergeable {
* already a number, then it's taken as milliseconds; if it's
* a string, it's parsed understanding units suffixes like
* "10m" or "5ns" as documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>. This method never returns null.
*
* @since 1.3.0
@ -800,7 +800,7 @@ public interface Config extends ConfigMergeable {
* already a number, then it's taken as days; if it's
* a string, it's parsed understanding units suffixes like
* "10d" or "5w" as documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">the
* href="https://github.com/lightbend/config/blob/master/HOCON.md">the
* spec</a>. This method never returns null.
*
* @since 1.3.2

View File

@ -28,7 +28,7 @@ import java.util.concurrent.Callable;
* from a resource and nothing else.
*
* <p> You can find an example app and library <a
* href="https://github.com/typesafehub/config/tree/master/examples">on
* href="https://github.com/lightbend/config/tree/master/examples">on
* GitHub</a>. Also be sure to read the <a
* href="package-summary.html#package_description">package
* overview</a> which describes the big picture as shown in those
@ -570,7 +570,7 @@ public final class ConfigFactory {
/**
* Converts a Java {@link java.util.Properties} object to a
* {@link ConfigObject} using the rules documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON
* href="https://github.com/lightbend/config/blob/master/HOCON.md">HOCON
* spec</a>. The keys in the <code>Properties</code> object are split on the
* period character '.' and treated as paths. The values will all end up as
* string values. If you have both "a=foo" and "a.b=bar" in your properties

View File

@ -27,7 +27,7 @@ public interface ConfigMergeable {
*
* <p>
* The semantics of merging are described in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">spec
* href="https://github.com/lightbend/config/blob/master/HOCON.md">spec
* for HOCON</a>. Merging typically occurs when either the same object is
* created twice in the same file, or two config files are both loaded. For
* example:

View File

@ -6,7 +6,7 @@ package com.typesafe.config;
/**
* A set of options related to resolving substitutions. Substitutions use the
* <code>${foo.bar}</code> syntax and are documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON</a>
* href="https://github.com/lightbend/config/blob/master/HOCON.md">HOCON</a>
* spec.
* <p>
* Typically this class would be used with the method

View File

@ -5,7 +5,7 @@ package com.typesafe.config;
/**
* The syntax of a character stream (<a href="http://json.org">JSON</a>, <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON</a>
* href="https://github.com/lightbend/config/blob/master/HOCON.md">HOCON</a>
* aka ".conf", or <a href=
* "http://download.oracle.com/javase/7/docs/api/java/util/Properties.html#load%28java.io.Reader%29"
* >Java properties</a>).
@ -21,7 +21,7 @@ public enum ConfigSyntax {
JSON,
/**
* The JSON-superset <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md"
* href="https://github.com/lightbend/config/blob/master/HOCON.md"
* >HOCON</a> format. Associated with the <code>.conf</code> file extension
* and <code>application/hocon</code> Content-Type.
*/

View File

@ -192,7 +192,7 @@ final class ConfigParser {
// we really should make this work, but for now throwing an
// exception is better than producing an incorrect result.
// See https://github.com/typesafehub/config/issues/160
// See https://github.com/lightbend/config/issues/160
if (arrayCount > 0 && obj.resolveStatus() != ResolveStatus.RESOLVED)
throw parseError("Due to current limitations of the config parser, when an include statement is nested inside a list value, "
+ "${} substitutions inside the included file cannot be resolved correctly. Either move the include outside of the list value or "
@ -247,7 +247,7 @@ final class ConfigParser {
// we really should make this work, but for now throwing
// an exception is better than producing an incorrect
// result. See
// https://github.com/typesafehub/config/issues/160
// https://github.com/lightbend/config/issues/160
if (arrayCount > 0)
throw parseError("Due to current limitations of the config parser, += does not work nested inside a list. "
+ "+= expands to a ${} substitution and the path in ${} cannot currently refer to list elements. "

View File

@ -17,7 +17,7 @@ Please check out the {@link com.typesafe.config.Config public API} instead, unle
you're interested in browsing implementation details. None of the ABI
under <code>impl</code> has any guarantees; it will change whenever someone
feels like changing it. If you feel you need access to something
in <code>impl</code>, <a href="https://github.com/typesafehub/config/issues">please
in <code>impl</code>, <a href="https://github.com/lightbend/config/issues">please
file a feature request</a>.
</p>

View File

@ -9,14 +9,14 @@
<body bgcolor="white">
<p>
An API for loading and using configuration files, see <a href="https://github.com/typesafehub/config/">the project site</a>
An API for loading and using configuration files, see <a href="https://github.com/lightbend/config/">the project site</a>
for more information.
</p>
<p>
Typically you would load configuration with a static method from {@link com.typesafe.config.ConfigFactory} and then use
it with methods in the {@link com.typesafe.config.Config} interface. Configuration may be in the form of JSON files,
Java properties, or <a href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON files</a>; you may also
Java properties, or <a href="https://github.com/lightbend/config/blob/master/HOCON.md">HOCON files</a>; you may also
build your own configuration in code or from your own file formats.
</p>
@ -26,8 +26,8 @@ its configuration in "application.conf" on the classpath.
If you use the default configuration from {@link com.typesafe.config.ConfigFactory#load()}
there's no need to pass a configuration to your libraries
and frameworks, as long as they all default to this same default, which they should.
<br/><strong>Example application code:</strong> <a href="https://github.com/typesafehub/config/tree/master/examples/java/simple-app/src/main">Java</a> and <a href="https://github.com/typesafehub/config/tree/master/examples/scala/simple-app/src/main">Scala</a>.
<br/>Showing a couple of more special-purpose features, <strong>a more complex example:</strong> <a href="https://github.com/typesafehub/config/tree/master/examples/java/complex-app/src/main">Java</a> and <a href="https://github.com/typesafehub/config/tree/master/examples/scala/complex-app/src/main">Scala</a>.
<br/><strong>Example application code:</strong> <a href="https://github.com/lightbend/config/tree/master/examples/java/simple-app/src/main">Java</a> and <a href="https://github.com/lightbend/config/tree/master/examples/scala/simple-app/src/main">Scala</a>.
<br/>Showing a couple of more special-purpose features, <strong>a more complex example:</strong> <a href="https://github.com/lightbend/config/tree/master/examples/java/complex-app/src/main">Java</a> and <a href="https://github.com/lightbend/config/tree/master/examples/scala/complex-app/src/main">Scala</a>.
</p>
<p>
@ -36,21 +36,21 @@ A library or framework should ship a file "reference.conf" in its jar, and allow
call {@link com.typesafe.config.ConfigFactory#load()}
to get the default one. Typically a library might offer two constructors, one with a <code>Config</code> parameter
and one which uses {@link com.typesafe.config.ConfigFactory#load()}.
<br/><strong>Example library code:</strong> <a href="https://github.com/typesafehub/config/tree/master/examples/java/simple-lib/src/main">Java</a> and <a href="https://github.com/typesafehub/config/tree/master/examples/scala/simple-lib/src/main">Scala</a>.
<br/><strong>Example library code:</strong> <a href="https://github.com/lightbend/config/tree/master/examples/java/simple-lib/src/main">Java</a> and <a href="https://github.com/lightbend/config/tree/master/examples/scala/simple-lib/src/main">Scala</a>.
</p>
<p>
Check out the full <a href="https://github.com/typesafehub/config/tree/master/examples">examples directory on GitHub</a>.
Check out the full <a href="https://github.com/lightbend/config/tree/master/examples">examples directory on GitHub</a>.
</p>
<p>
What else to read:
<ul>
<li>The overview documentation for interface {@link com.typesafe.config.Config}.</li>
<li>The <a href="https://github.com/typesafehub/config/blob/master/README.md">README</a> for the library.</li>
<li>The <a href="https://github.com/lightbend/config/blob/master/README.md">README</a> for the library.</li>
<li>If you want to use <code>.conf</code> files in addition to <code>.json</code> and <code>.properties</code>,
see the <a href="https://github.com/typesafehub/config/blob/master/README.md">README</a> for some short examples
and the full <a href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON spec</a> for the long version.</li>
see the <a href="https://github.com/lightbend/config/blob/master/README.md">README</a> for some short examples
and the full <a href="https://github.com/lightbend/config/blob/master/HOCON.md">HOCON spec</a> for the long version.</li>
</ul>
</p>

View File

@ -10,8 +10,8 @@ package com.typesafe.config.parser;
* Note: at present there is no way to obtain an instance of this interface, so
* please ignore it. A future release will make syntax tree nodes available in
* the public API. If you are interested in working on it, please see: <a
* href="https://github.com/typesafehub/config/issues/300"
* >https://github.com/typesafehub/config/issues/300</a>
* href="https://github.com/lightbend/config/issues/300"
* >https://github.com/lightbend/config/issues/300</a>
*
* <p>
* Because this object is immutable, it is safe to use from multiple threads and

View File

@ -14,7 +14,7 @@ files. You do not want this package for everyday config in your app: see
the <code>com.typesafe.config</code> package instead. You would use the raw
parser if you're doing something like reading, modifying, and re-saving a config
file. For info on the main config API this parser is a part of,
see <a href="https://github.com/typesafehub/config/">the project site</a>.
see <a href="https://github.com/lightbend/config/">the project site</a>.
</p>
<p>

View File

@ -346,7 +346,7 @@ class ConcatenationTest extends TestUtils {
}
// We would ideally make this case NOT throw an exception but we need to do some work
// to get there, see https://github.com/typesafehub/config/issues/160
// to get there, see https://github.com/lightbend/config/issues/160
@Test
def plusEqualsMultipleTimesNestedInArray() {
val e = intercept[ConfigException.Parse] {
@ -357,7 +357,7 @@ class ConcatenationTest extends TestUtils {
}
// We would ideally make this case NOT throw an exception but we need to do some work
// to get there, see https://github.com/typesafehub/config/issues/160
// to get there, see https://github.com/lightbend/config/issues/160
@Test
def plusEqualsMultipleTimesNestedInPlusEquals() {
val e = intercept[ConfigException.Parse] {
@ -367,7 +367,7 @@ class ConcatenationTest extends TestUtils {
assertTrue(e.getMessage.contains("limitation"))
}
// from https://github.com/typesafehub/config/issues/177
// from https://github.com/lightbend/config/issues/177
@Test
def arrayConcatenationInDoubleNestedDelayedMerge() {
val unresolved = parseConfig("""d { x = [] }, c : ${d}, c { x += 1, x += 2 }""")
@ -375,7 +375,7 @@ class ConcatenationTest extends TestUtils {
assertEquals(Seq(1, 2), conf.getIntList("c.x").asScala)
}
// from https://github.com/typesafehub/config/issues/177
// from https://github.com/lightbend/config/issues/177
@Test
def arrayConcatenationAsPartOfDelayedMerge() {
val unresolved = parseConfig(""" c { x: [], x : ${c.x}[1], x : ${c.x}[2] }""")
@ -383,7 +383,7 @@ class ConcatenationTest extends TestUtils {
assertEquals(Seq(1, 2), conf.getIntList("c.x").asScala)
}
// from https://github.com/typesafehub/config/issues/177
// from https://github.com/lightbend/config/issues/177
@Test
def arrayConcatenationInDoubleNestedDelayedMerge2() {
val unresolved = parseConfig("""d { x = [] }, c : ${d}, c { x : ${c.x}[1], x : ${c.x}[2] }""")
@ -391,7 +391,7 @@ class ConcatenationTest extends TestUtils {
assertEquals(Seq(1, 2), conf.getIntList("c.x").asScala)
}
// from https://github.com/typesafehub/config/issues/177
// from https://github.com/lightbend/config/issues/177
@Test
def arrayConcatenationInTripleNestedDelayedMerge() {
val unresolved = parseConfig("""{ r: { d.x=[] }, q: ${r}, q : { d { x = [] }, c : ${q.d}, c { x : ${q.c.x}[1], x : ${q.c.x}[2] } } }""")

View File

@ -280,7 +280,7 @@ class ConfigValueTest extends TestUtils {
}
/**
* Reproduces the issue <a href=https://github.com/typesafehub/config/issues/461>#461</a>.
* Reproduces the issue <a href=https://github.com/lightbend/config/issues/461>#461</a>.
* <p>
* We use a custom de-/serializer that encodes String objects in a JDK-incompatible way. Encoding used here
* is rather simplistic: a long indicating the length in bytes (JDK uses a variable length integer) followed

View File

@ -906,7 +906,7 @@ class PublicApiTest extends TestUtils {
}
// We would ideally make this case NOT throw an exception but we need to do some work
// to get there, see https://github.com/typesafehub/config/issues/160
// to get there, see https://github.com/lightbend/config/issues/160
@Test
def detectIncludeFromList() {
val e = intercept[ConfigException.Parse] {
@ -1070,7 +1070,7 @@ class PublicApiTest extends TestUtils {
@Test
def heuristicIncludeChecksClasspath(): Unit = {
// from https://github.com/typesafehub/config/issues/188
// from https://github.com/lightbend/config/issues/188
withScratchDirectory("heuristicIncludeChecksClasspath") { dir =>
val f = new File(dir, "foo.conf")
writeFile(f, """

View File

@ -70,7 +70,7 @@ class UnitParserTest extends TestUtils {
assertTrue(s"${e2.getMessage} was not the expected error message", e2.getMessage.contains("time unit 'seconds'"))
}
// https://github.com/typesafehub/config/issues/117
// https://github.com/lightbend/config/issues/117
// this broke because "1d" is a valid double for parseDouble
@Test
def parseOneDayAsMilliseconds(): Unit = {

View File

@ -37,7 +37,7 @@ object LinkSourcePlugin extends AutoPlugin {
private def rewriteSourceLinks(dir: File, sourceBaseUrl: String, log: Logger): Unit = {
// Convert <a href="../../../src-html/com/typesafe/config/Config.html#line.165"> to
// "https://github.com/typesafehub/config/blob/v1.2.1/config/src/main/java/com/typesafe/config/Config.java#L165"
// "https://github.com/lightbend/config/blob/v1.2.1/config/src/main/java/com/typesafe/config/Config.java#L165"
// in all .html files found underneath dir
val origRegex = "href=\".*src-html/([^\"]+)\"".r
def listFiles(d: File): Seq[File] = IO.listFiles(d).toSeq.flatMap { f =>