Commit Graph

681 Commits

Author SHA1 Message Date
Glen Ford
92a87dbc4f Add Beamly clojure wrapper to the README 2015-03-20 08:37:06 +00:00
Havoc Pennington
24c6b097cb Merge pull request #284 from jmccure/fix-hash-comment-test
Amend duplicated whitespace comment test
2015-03-17 16:54:51 -07:00
Jay McCure
1227c35ced Amend duplicated whitespace comment test 2015-03-17 20:20:21 +00:00
Havoc Pennington
7511e865a5 Update findbugs, add Xlint:unchecked, fix warnings discovered
Fix an == that should have been equals in ConfigBeanImpl.java
Fix missing equals/hashCode on IgnoredWhitespace token
Add some `<?>` that Xlint:unchecked wanted
Make RenderComparator serializable just to silence findbugs

findbugs still reports some "serializable without void
constructors" but those are not accurate because we replace
the instance with another class before serializing.
2015-03-09 16:55:07 -04:00
Havoc Pennington
d73d11edb2 Remove unused import in Parseable.java 2015-03-09 16:33:10 -04:00
Havoc Pennington
41b6193261 Add missing since tags and other minor doc cleanups
Fixes #278
2015-03-09 13:00:27 -04:00
Havoc Pennington
79fc367685 Update doctoc for README.md and add doctoc to HOCON.md 2015-03-07 16:41:02 -05:00
Havoc Pennington
269ce0cfce Release notes for 1.3.0-M1 2015-03-06 23:51:40 -05:00
Havoc Pennington
4789ca18f0 Merge pull request #277 from typesafehub/file-relative
Test and document current behavior of file() includes
2015-03-06 22:10:27 -05:00
Havoc Pennington
8c310ef5e8 Test and document current behavior of file() includes
At present, we don't make a file() include relative to the
file doing the including. This is discussed in #202.
We should most likely change this behavior, but this
commit documents and tests it.
2015-03-06 21:34:35 -05:00
Havoc Pennington
f2ce57af42 Add a test that we search classpath for heuristic include
(heuristic include means no classpath()/file()/url() around it)
2015-03-06 21:27:50 -05:00
Havoc Pennington
b7325ec636 Add some handy TestUtils to create scratch files 2015-03-06 21:27:31 -05:00
Havoc Pennington
4b2fc5c6cb Merge pull request #276 from typesafehub/javadoc
Various javadoc fixes
2015-03-06 20:32:57 -05:00
Havoc Pennington
3547ace892 Use same sbt command line for test and doc
This makes Travis complete much more quickly.
2015-03-06 20:27:35 -05:00
Havoc Pennington
59a7c00725 Add checkstyle to find missing docs, fix missing docs 2015-03-06 20:17:39 -05:00
Havoc Pennington
7914406ebf ConfigParseOptions prependIncluder/appendIncluder throw NPE on null includer
Previously they would silently allow null only some of the time,
which would conceal bugs.
2015-03-06 20:09:11 -05:00
Havoc Pennington
be2f09a156 Run 'doc' in Travis 2015-03-06 13:57:06 -05:00
Havoc Pennington
332d696dcf Bump the base version to 1.3.0 representing next release 2015-03-06 13:53:06 -05:00
Havoc Pennington
adf0634c15 Stick the version number in the docs overview 2015-03-06 13:37:55 -05:00
Havoc Pennington
730d744753 Add javadoc source links that go to github 2015-03-06 13:34:28 -05:00
Havoc Pennington
77ca7a427c Fix all the javadoc warnings
For broken doc comments in impl, just deleted them for
the most part rather than writing a bunch of useless docs.
"impl" is now included in the docs because javadoc 8 seems
to explode otherwise, but it's well-labeled as internal ABI.
2015-03-06 11:38:07 -05:00
Havoc Pennington
5e0be760c7 Merge pull request #275 from typesafehub/serialized-config-tostring
Implement non-exploding toString/equals/hashCode on SerializedConfigValu...
2015-03-06 10:00:46 -05:00
Havoc Pennington
8f4436d806 Merge pull request #274 from typesafehub/default-application
Add ConfigFactory.defaultApplication and load(parseOptions, resolveOptio...
2015-03-06 10:00:36 -05:00
Havoc Pennington
a959808070 Implement non-exploding toString/equals/hashCode on SerializedConfigValue
Fixes #176 by ensuring SerializedConfigValue implements the java.lang.Object
contract without exploding. This is a completely internal class, but
-Dsun.io.serialization.extendedDebugInfo=true calls toString on it.
2015-03-05 14:05:56 -05:00
Havoc Pennington
7d21966a3e Add ConfigFactory.defaultApplication and load(parseOptions, resolveOptions)
This is a rearrangement of ConfigFactory so that defaultApplication is public.
Also fixes a bug where we were caching the overload that takes parse and resolve
options, without putting those options in the cache key. Moved to only cache
the actual default config (the one that doesn't take any options).

Fixes #196 plus the separate bug about bad caching.
2015-03-05 13:49:51 -05:00
Havoc Pennington
cf84e26ddd Merge pull request #273 from typesafehub/404-url
Treat 404 from a URL as missing file, not fatal error
2015-03-05 11:42:04 -05:00
Havoc Pennington
52ba150a9a Add HttpTest for testing URL parsing and error handling 2015-03-04 21:16:41 -05:00
Havoc Pennington
e3f478cabc Scalariform TokenizerTest.scala 2015-03-04 21:12:38 -05:00
Pavel Yakunin
7f19e46d1c Treat 404 from a URL as missing file, not fatal error 2015-03-04 13:53:12 -05:00
Havoc Pennington
f3e11bc583 Merge pull request #271 from fpringvaldsen/feature/lossless-tokens
Add lossless tokens
2015-03-04 13:29:20 -05:00
Preben Ingvaldsen
cb86fb136e Cleanup lossless tokens code based on feedback
Clean up the lossless tokens code based on feedback.
  * Change nextTokenFromIterator() method to
    nextTokenIgnoringWhitespace()
  * Use StringBuilder in Tokenizer.render()
  * Extract Whitespace token creation into a
    `createWhitespaceTokenFromSaver` method
  * Add DoubleSlashComment and HashComment subclasses of
    Comment. Make Comment abstract.
  * Make `tokenText()` method virtual and overload it in
    subclasses that derive their original token text entirely
    from other fields.
  * Use `tokenizerTest` method in all relevant Tokenizer tests
  * Add extra multi-line comment Tokenizer tests
2015-03-03 15:27:41 -08:00
Preben Ingvaldsen
2b1c7ef13d Add lossless comment tokens
Preserve the original text of comments in comment tokens so they
can be reproduced by the TokenIterator's render() method.
2015-03-03 11:55:36 -08:00
Preben Ingvaldsen
574f810a0f Add lossless tokens minus comments
Keep the original text of all tokens when Tokenizing a config
minus comments. Add a render method to the TokenIterator class
which generates the original text from which the tokens were
parsed.
2015-03-03 11:54:30 -08:00
Havoc Pennington
fda341b44f Merge pull request #270 from typesafehub/accept-header
Set Accept header on url connections
2015-03-03 12:44:34 -05:00
Havoc Pennington
d4125f217b Set Accept header on URL connections
This fixes #182 in theory, though test coverage is nonexistent.
2015-03-03 11:02:37 -05:00
Havoc Pennington
d1918a2068 Add symbolic names for content types 2015-03-03 11:02:33 -05:00
Havoc Pennington
600e788bea Merge pull request #269 from typesafehub/doc-integer-narrowing
Document double-to-int behavior, fixes #183
2015-03-03 10:59:28 -05:00
Havoc Pennington
7a4d6c8446 Merge pull request #268 from typesafehub/whitespace-in-concat
Allow unquoted whitespace between substitutions that expand to objects/l...
2015-03-03 10:59:15 -05:00
Havoc Pennington
2874f9274b Merge pull request #267 from typesafehub/resource-origins
Properly track resource file origins
2015-03-03 10:58:50 -05:00
Havoc Pennington
0783ad341a Merge pull request #266 from typesafehub/sorted-rendering
Apply numeric sort to object keys when rendering
2015-03-03 10:58:32 -05:00
Havoc Pennington
d57b0c093d Document double-to-int behavior, fixes #183 2015-03-02 16:38:19 -05:00
Havoc Pennington
2df7b6b419 Allow unquoted whitespace between substitutions that expand to objects/lists
Fixes #212 that object and list substitutions could not have
whitespace in between.

This patch carries quoted-ness into ConfigString, which is somewhat
bogus, and we may be able to clean it up later if we start to track
the tokens that each value originates from.
2015-03-02 16:11:51 -05:00
Havoc Pennington
a528bf104a Properly track resource file origins
This improves error messages to fix #254.
2015-03-02 15:26:49 -05:00
Havoc Pennington
988c3441aa Apply numeric sort to object keys when rendering
Fixes #228 reported by @derrickburns; since we can interpret
numeric keys as lists, we sort the keys numerically to make
it easy to read the list value in order.
2015-03-02 11:31:32 -05:00
Havoc Pennington
55bd472c24 Improve ConfigBeanFactory docs in README 2015-03-02 11:03:38 -05:00
Havoc Pennington
c1a7ce0333 Mention ConfigBeanFactory in the README 2015-03-02 11:02:11 -05:00
Havoc Pennington
edd4f14c99 Merge pull request #264 from typesafehub/beanfactory
Add ConfigBeanFactory
2015-03-02 10:01:03 -05:00
Havoc Pennington
483f7a87f7 ConfigBeanImpl.java: split up too-long getValue method 2015-03-02 09:53:13 -05:00
Havoc Pennington
e522071442 toCamelCase doesn't need to be public anymore 2015-03-02 09:45:44 -05:00
Havoc Pennington
b692e988a6 ConfigBeanFactory: comprehensively list allowed types
We want to avoid ever getting a ClassCastException, instead we
want a more helpful error. So write out all types explicitly.
This also will make it easier to ensure that tests are
comprehensive, and this commit adds a lot more tests.
This commit now supports typesafe List<T>, and allows you
to have fields of type Object, ConfigObject, Config, ConfigValue,
and Map<String,Object>, so if you want to accept "anything" you
can do that by specifying a vague type and then casting it yourself.
2015-03-02 09:45:39 -05:00