Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile time only #28

Merged
merged 1 commit into from Jun 13, 2018
Merged

Conversation

backuitist
Copy link
Contributor

We have this situation where different team with different taste (one like circe-generic, another like circe-derivation) need to share circe codecs.
Having circe-derivation compile-time only makes it possible to define those codecs using circe-derivation without commiting (pulling one transitively) to either generic or derivation.

@codecov-io
Copy link

codecov-io commented Jun 13, 2018

Codecov Report

Merging #28 into master will decrease coverage by 2.23%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
- Coverage   46.28%   44.04%   -2.24%     
==========================================
  Files          12       11       -1     
  Lines         175      168       -7     
  Branches        4        3       -1     
==========================================
- Hits           81       74       -7     
  Misses         94       94
Impacted Files Coverage Δ
...n/scala/io/circe/derivation/DerivationMacros.scala 84% <ø> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ce0660b...8200545. Read the comment docs.

This lib is now usable only at compile time.
@travisbrown
Copy link
Member

Thanks, @backuitist!

@travisbrown travisbrown merged commit 10c9f16 into circe:master Jun 13, 2018
@travisbrown
Copy link
Member

I can go ahead and publish a new milestone tomorrow if that'd be useful, @backuitist?

@neko-kai
Copy link
Contributor

@backuitist
Copy link
Contributor Author

@travisbrown yes, a release would be great! Thanks!

@Kaishh I don't see how this change impacts your code?

@neko-kai
Copy link
Contributor

neko-kai commented Jun 14, 2018

@backuitist It doesn't, but merging similar code upstream would mean creating DerivedDecoder, DerivedEncoder, etc. runtime classes which may possibly conflict with your usecase

@travisbrown
Copy link
Member

@Kaishh We could have a new module named circe-derivation-extras (or something better), with the contract being that everything in circe-derivation can be used as a compile-time only dependency, while circe-derivation-extras would provide a runtime API with things like a WithCirceCodec trait.

@backuitist
Copy link
Contributor Author

@Kaishh I don't understand what you mean by "merging similar code upstream"? What is upstream?
Why would this mean creating DerivedDecoder classes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants