Commit Graph

104 Commits

Author SHA1 Message Date
Dale Wijnand 03213f84c8
Get rid of Eval 2017-06-21 11:36:02 +01:00
Eugene Yokota f2cc5ee775 convert log4j async LogEvent to an immutable one
This fixes the buffered log not showing up for tests.

Ref sbt/sbt#3198
2017-05-18 00:36:24 -04:00
Eugene Yokota feeb6291cd Add toString for ObjectEvent 2017-05-18 00:34:41 -04:00
Eugene Yokota f48848e5d4 Adds overrides for File-based caching
sbt/util#45 implemented caching using sjson-new. Now many of the functions take `CacheStore` that abstracts the caching ability.

sbt/sbt#3109 demonstrates that setting up CacheStore requires boilerplate involving concepts introduced in sbt 1.

This change adds back overrides using File by making assumption that majority of the time we would want standard JSON converter.
2017-04-17 10:24:54 -04:00
Dale Wijnand d088d16d78
Drop (out-X) from the log output
Fixes sbt/sbt#3056
2017-04-04 14:15:01 +01:00
Eugene Yokota 1dab826ffd Store JValue into ObjectEvent 2017-04-03 03:22:33 -04:00
Eugene Yokota e21c78ebb0 Move JValue format here 2017-04-03 03:22:04 -04:00
Eugene Yokota 94a2e6cb12 Fix directory name 2017-04-03 03:21:14 -04:00
Dale Wijnand d91c3de736
Rename to StrictMode 2017-03-21 21:50:45 +00:00
Dale Wijnand 6c7f99005e
Allow opting out of the fallback OptJsonWriter
Simply

    import OptJsonWriter.OptOut._

And you'll get the implicit lift, but not the implicit fallback.

You get an ambiguous compile error like this:

    [error] /d/sbt-util/internal/util-collection/src/main/scala/sbt/util/OptJsonWriter.scala:28: ambiguous implicit values:
    [error]  both method conflictingFallback1 in trait OptOut0 of type [A]=> sbt.util.NoJsonWriter[A]
    [error]  and method conflictingFallback2 in trait OptOut0 of type [A]=> sbt.util.NoJsonWriter[A]
    [error]  match expected type sbt.util.OptJsonWriter[Foo]
    [error]     val x = implicitly[OptJsonWriter[Foo]]
    [error]                       ^
2017-03-21 17:12:10 +00:00
Dale Wijnand e984875b77
Move OptJsonWriter to public API 2017-03-21 10:47:01 +00:00
Dale Wijnand bbeecae0b1
Define OptJsonWriter & put it on AttributeKey 2017-03-21 00:09:17 +00:00
Eugene Yokota a12045ed42 some change for Scala 2.10 2017-02-15 18:52:04 -05:00
Dale Wijnand b6cad50327 Merge pull request #71 from eed3si9n/wip/eventlogging
event logging
2017-02-08 16:37:10 +00:00
Eugene Yokota a9377ce4a6 Implements registerStringCodec
Uses TypeTag to recover the full name of type parameter, which is calculated by StringTypeTag. This is sent along in ObjectEvent.
On the other end, we can lookup typeclass instances using the tag key.
2017-02-08 05:35:49 -05:00
eugene yokota 5306e29290 Merge pull request #69 from eed3si9n/fport/2855
[fport] Add build-level keys to the tab completion
2017-01-26 10:31:41 -05:00
Eugene Yokota 6e2f77f852 ProblemFormats 2017-01-25 23:25:24 -05:00
Eugene Yokota 1320c96953 Rename log events 2017-01-25 23:15:31 -05:00
Eugene Yokota f76e3aa2bb use java.util.Optional in Position 2017-01-25 20:58:37 -05:00
Eugene Yokota c985d9cdc0 Switch Scripted tests to used ManagedLogger 2017-01-24 21:13:58 -05:00
Eugene Yokota 51f9f91038 Adds BufferedAppender 2017-01-24 21:13:38 -05:00
Eugene Yokota 56b51df66b Avoid default params 2017-01-24 20:29:35 -05:00
Eugene Yokota 08e9ce9526 Implement basic event logging 2017-01-23 16:38:14 -05:00
Eugene Yokota ca6a0be602 Handle ReusableObjectMessage
When log4j2 is not using async logging, it sends the ObjectMessage using ReusableObjectMessage.
2017-01-18 06:54:15 -05:00
Eugene Yokota ef2d079494 Revert "Merge pull request #41 from eed3si9n/wip/2469"
This reverts commit 0da2f30ee8, reversing
changes made to 93418589b7.
2017-01-16 13:26:31 -05:00
Eugene Yokota 36eeb4578d Reimplement multi-logger using log4j2
This introduces ManagedLogger, which is a wrapper around Log4j2's async logging.
Log4j2 separates the notion of logger (the code that collects events) and appender (the code that acts on events). The old code is kept around intentionally to minimize breakage during transition.
2017-01-13 02:49:12 -05:00
Eugene Yokota 008f9bee2e Work around Scala 2.12 init deadlock (SI-9824) 2016-12-22 14:37:59 -05:00
Eugene Yokota 61bdfd4367 Update Eval
https://github.com/typelevel/cats/blob/e2335730a958ce605f0d75f1b0d838454
2336aaf/core/src/main/scala/cats/Eval.scala
2016-12-22 11:50:34 -05:00
Dale Wijnand 7688de459b
Fix JsonFormat[HList]
Introduce HListJF, used as an inner TC so the outer HCons/HNil
JsonFormat can manage when the array starts and ends.
2016-12-19 15:26:10 +00:00
Dale Wijnand ac14fc8de8
Find a way to give FilesInfo an implicit JsonFormat 2016-12-01 14:38:57 +00:00
Dale Wijnand 92e90c559b
Fix stackoverflow in implicit FilesInfo JsonFormat
Fixes #61

* move it back into style
* use that in Tracked (uncomment some code)
* specify the style in the spec test
* must define absolute file.. (doesn't pass with relative, which is wrong imo)
2016-11-30 16:52:10 +00:00
Dale Wijnand 1368f5f9db
Cleanup Input/Output/CacheStore 2016-11-30 16:51:51 +00:00
Dale Wijnand c6e793b03c
Test FilesInfo brokenness 2016-11-30 16:51:51 +00:00
Dale Wijnand 71d104da3d
Tweaks in FileInfo 2016-11-30 16:51:51 +00:00
Dale Wijnand 875a30cc70
Cleanup FileInfo 2016-11-30 16:51:51 +00:00
Dale Wijnand 998cffd9ab
Change hlist format to serialise to flat array 2016-11-28 18:57:51 +00:00
Dale Wijnand bcd5e800c4
Remove InputStream/OutputStream support 2016-11-28 11:11:10 +00:00
Dale Wijnand ab9165ab04
Remove formats already present upstream in sjson-new 2016-11-28 10:36:34 +00:00
Dale Wijnand ab08e1a9d5
Add back additional formats.
At least a subset of these are required for sbt/sbt to migrate away from
sbinary.

This reverts commit cee43575ce.
2016-11-25 11:42:07 +00:00
eugene yokota cf2f4111ec Merge pull request #57 from dwijnand/deprecations
Remove deprecated methods
2016-11-15 12:42:59 -05:00
Dale Wijnand 033adfe4ea
Remove deprecated methods 2016-11-15 17:14:10 +00:00
Dale Wijnand 41c7e9b85d
Improve xsbti.Maybe
* Make Nothing a singleton
* Make Maybe's constructor private
* Optimise equals to use reference equality first
* Optimise Just.equals by having proper, non-anonymous subclasses
* Having non-anonymous subclasses makes them have nicer classnames
* Give Just a value() method
2016-10-31 15:33:39 +00:00
Dale Wijnand ea56f331a1 Lazily concatenate failed errors for completion [forwardport] (#53)
* Fixes [sbt/sbt#2781]
* When using `<TAB>` completion the failed errors were always
  computed for mathcing projects even if there was no failure,
  leading to excessive computation of Levenshtein distances
  and a large lag (seconds) on builds with many matching
  projects.
2016-10-31 09:23:38 +00:00
Dale Wijnand 8d2f106f7a
Really expose Eval. Fixes error in #50 2016-10-28 12:19:41 +01:00
Dale Wijnand 881ab0f298
Expose Eval. Fixes sbt/sbt#2616 2016-10-27 11:13:45 +01:00
eugene yokota 1a9b515e33 Merge pull request #45 from Duhemm/wip/remove-sbinary
Caching based on sjsonnew
2016-10-25 19:22:57 -04:00
eugene yokota fba4e78543 Merge pull request #46 from Duhemm/wip/maybe-equals
Implement hashCode, equals and toString in Maybe
2016-09-14 11:26:20 -04:00
Eugene Yokota a38e100678 Handle sleep interruption 2016-09-12 23:11:20 -04:00
Eugene Yokota bc32cb4c6f Trying to make readline timeout 2016-09-12 23:11:20 -04:00
Martin Duhem 8956da53a8 Update to latest revision of sjsonnew 2016-08-21 19:56:31 +02:00