Havoc Pennington
d400f5bc01
0.5.0 release
2012-07-05 11:01:00 -04:00
Havoc Pennington
bd820702e6
add withValue method to Config and ConfigObject
...
This makes it easier to build up a config in code.
2012-07-04 11:56:50 -04:00
Havoc Pennington
d15ade876a
add atPath() and atKey() to place a value inside a Config
...
Otherwise it's sort of clunky to do this because you have to
create a map then parseMap, or other roundabout approach.
2012-06-19 16:30:48 -04:00
Havoc Pennington
e1d5bc7506
Implement triple-quoted multiline strings
...
Details are in the spec/news/readme changes in the patch.
2012-06-18 23:01:43 -04:00
Havoc Pennington
6b0e8c4047
Print an ugly "diff" when an equivalents test fails
...
Helpful for debugging failed tests.
2012-06-18 22:59:50 -04:00
Havoc Pennington
ac878d653c
include the message in Tokens#Problem#toString
...
Required adding accessor for "what" for use in tests
2012-06-18 22:58:04 -04:00
Havoc Pennington
b3ac8d0539
bump to 0.4.1 in the README
2012-05-24 09:18:34 -04:00
Havoc Pennington
4462c667f9
bump to 0.4.2-SNAPSHOT
2012-05-22 17:26:51 -04:00
Havoc Pennington
9bbb7d7ac4
v0.4.1
2012-05-22 17:26:12 -04:00
Havoc Pennington
fea5d6d478
bump to 0.4.1-SNAPSHOT
2012-05-22 09:04:31 -04:00
Heiko Seeberger
11b9af503a
closes #16 : Publish as OSGi bundle
2012-05-21 11:51:08 +02:00
Havoc Pennington
765b61a80b
explicitly set -source 1.6 -target 1.6
2012-05-14 12:21:18 -04:00
Havoc Pennington
fa038eac67
add note about only supporting Java 6 and above.
2012-05-14 12:07:55 -04:00
Havoc Pennington
445a700c53
add notes on Akka 2.0 embedded config limitations to HOCON.md
...
These were already in the README but people may jump straight
to the spec, so add them there too.
2012-05-14 12:02:35 -04:00
Havoc Pennington
9a2e9a8bde
add some notes about features that aren't in Play/Akka 2.0
2012-04-13 10:37:02 -04:00
Havoc Pennington
2e5b1eaa1b
fix formatting of prior NEWS change
2012-04-13 11:27:11 -03:00
Havoc Pennington
c8632d9458
note the moved publish location in NEWS
2012-04-13 10:26:15 -04:00
Havoc Pennington
06d6fc5ee3
mention new include syntax in the README
2012-04-13 10:08:39 -04:00
Havoc Pennington
9b7d2a6469
remove "Future Directions" from README, the Future is Now!
2012-04-13 10:06:36 -04:00
Havoc Pennington
0adc9152d1
Show how to create a Settings class to encapsulate your Config
2012-04-13 10:06:08 -04:00
Havoc Pennington
85a4edab59
fix a couple links in the API docs
2012-04-13 09:39:39 -04:00
Havoc Pennington
8159cf3ed4
version to 0.4.0-SNAPSHOT (put SNAPSHOT back)
2012-04-13 09:30:12 -04:00
Havoc Pennington
b35dfb67b2
Optimistically update the README with Maven Central information
2012-04-12 21:48:35 -04:00
Havoc Pennington
b88fd55f86
another NEWS tweak
2012-04-12 21:45:43 -04:00
Havoc Pennington
3ce0997adc
don't mess up the PGP plugin
...
No need to add the settings a second time, which
resulted in signing the signatures.
No need to use GPG, it uses its built-in stuff.
2012-04-12 21:40:57 -04:00
Havoc Pennington
5093213c12
NEWS.md updates
2012-04-12 21:38:34 -04:00
Havoc Pennington
387e106856
Add ConfigRenderOptions and ConfigValue#render(options)
...
This mostly lets you choose whether you want whitespace and
comments, and somewhat as a side effect, you can get plain
JSON by turning off comments.
2012-04-12 21:34:59 -04:00
Havoc Pennington
985958521d
more fully test origin serialization and clean up code a bit
...
Mostly removing impossible codepaths.
2012-04-12 17:36:09 -04:00
Havoc Pennington
aea95bd228
fix some warnings from findbugs
...
Only one of these, possible incomplete skip
from DataInput.skipBytes(), was a real problem
I think.
2012-04-12 15:33:15 -04:00
Havoc Pennington
db3a676c02
Update build: sbt 0.11.2, maven central publish config, gpg
2012-04-12 15:21:06 -04:00
Havoc Pennington
f0e4dfd806
remove ConfigSubstitution, it was a serialization compat shim
...
The serialization-pocalypse removes the need for this shim.
2012-04-12 13:21:10 -04:00
Havoc Pennington
388d85fb5d
Serialization-pocalypse: change serialization format
...
The previous use of Java's default serialization dumped
all implementation-detail class names and fields into the serialization,
making it basically impossible to improve the implementation.
Two strategies here:
- prohibit serialization of unresolved configs, which are
the location of a lot of implementation detail
- delegate all serialization to an Externalizable
SerializedConfigValue class, which serializes
using fields that have lengths. Unknown fields
can thus be skipped and we can write code to
support obsolete fields, and so on.
As a side effect, this makes the serialization far more compact
because we don't need the Java per-class header noise, and we
jump through some hoops to avoid writing out duplicate ConfigOrigin
information. It still isn't super-compact compared to something
like protobuf but it's a lot less insane.
2012-04-12 13:04:14 -04:00
Havoc Pennington
d14d8cae78
add a couple tips about debugging configs to the README
2012-04-12 00:54:14 -04:00
Havoc Pennington
4add0330d8
fix formatting of a comment in Parseable.java
2012-04-09 19:19:04 -04:00
Havoc Pennington
2dc420ccf0
If include statements from a cycle, throw a nicer error
2012-04-09 19:18:46 -04:00
Havoc Pennington
36f4e2e61a
write release notes for 0.NEXT
2012-04-09 12:49:38 -04:00
Havoc Pennington
6490226e8f
Implement parsing url() file() classpath() includes
2012-04-09 12:26:44 -04:00
Havoc Pennington
05c60ea0fb
Make string, stream parsers support classpath includes
...
Previously they didn't support any kind of include.
2012-04-09 12:26:44 -04:00
Havoc Pennington
386613909b
hack ConfigImplUtil.urlToFile to make "file://whatever" with two slashes work
...
This compounds the wrongness of that method.
2012-04-09 12:26:44 -04:00
Havoc Pennington
3b7d99a797
Groundwork for the new file() url() classpath() include syntax
...
This patch doesn't have the parser just the implementation
2012-04-09 12:26:39 -04:00
Havoc Pennington
cdd3e127fc
allow setting a ClassLoader on ConfigParseOptions
...
This should have been the API, rather than adding a loader
parameter to ConfigFactory methods.
By adding to the options, the class loader is inherited by
any included files or urls. Previously, it was only inherited
by included classpath resources, but including classpath resources
from non-classpath resources would lose track of the class loader.
The methods that take a ClassLoader are now convenience API that
just adds that passed-in loader to your ConfigParseOptions.
2012-04-09 10:29:35 -04:00
Havoc Pennington
ce352691ff
make clear in docs that ConfigIncludeContext should not be implemented by apps
2012-04-09 10:28:51 -04:00
Havoc Pennington
5e7b929b65
Split ConfigIncludeContext from Parseable out into its own file
2012-04-09 10:28:51 -04:00
Havoc Pennington
8c6b204905
Specify url() classpath() file() includes in the spec
2012-04-09 10:28:45 -04:00
Havoc Pennington
3e46429871
split SimpleIncluder and fromBasename out of ConfigImpl.java
...
Just to have less stuff in one big file.
2012-04-06 19:41:30 -04:00
Havoc Pennington
69e6164b30
Support += convenience syntax
...
a += b
transforms to
a += ${?a} [b]
2012-04-06 10:58:00 -04:00
Havoc Pennington
27096e262f
Minor spec editing
2012-04-06 00:52:53 -04:00
Havoc Pennington
47e168a92f
Implement array and object concatenation
...
path : [ /bin ]
path : ${path} [ /usr/bin ]
This added very few lines of code or bytecode!
It's just a natural extension of the existing
string concatenation.
But it did add a fair few lines of specification
and tests.
2012-04-06 00:35:47 -04:00
Havoc Pennington
8189be0f16
make ConfigException.WrongType extra constructors public
...
and let Eclipse reformat a bit
2012-04-05 22:49:14 -04:00
Havoc Pennington
11a43d701c
add very basic ConcatenationTest for string concatenation
2012-04-05 16:02:52 -04:00