Skip to content

Split into core and server-side packages#26

Merged
imalsogreg merged 1 commit intocdepillabout:masterfrom
imalsogreg:split-core
Jun 4, 2018
Merged

Split into core and server-side packages#26
imalsogreg merged 1 commit intocdepillabout:masterfrom
imalsogreg:split-core

Conversation

@imalsogreg
Copy link
Copy Markdown
Collaborator

@imalsogreg imalsogreg commented Jun 3, 2018

Closes #25 and closes #18

Tasks:

  • Partition modules into "core" (potentially usable in a browser) and "server-side" packages
  • Separate modules in "core" for Envelope and Verbs
  • Maintain the Internal/ style
  • Ensure servant-checked-exceptions-core compiles under ghc and ghcjs
  • Ensure servant-checked-exceptions tests pass under ghc
  • Fix up inline documentation (haddocks are in the appropriate modules)
  • Fix stack.yaml file
  • Squash commits, clean up PR

@imalsogreg
Copy link
Copy Markdown
Collaborator Author

@cdepillabout Where to put your great haddock tutorial?

It is semantically closer to servant-checked-exceptions-core.

But maybe we want it to be available on this package's normal entry point: servant-checked-exceptions.

Or we could put it in both packages, but that's code duplication.

@cdepillabout
Copy link
Copy Markdown
Owner

@imalsogreg Thanks for doing the work on this, it looks good!

Are you using this professionally (or at least in a relatively serious personal project)? If so, would you want to be a maintainer for servant-checked-exceptions? On the off chance that something happened to me, it would be nice to have someone else that has push access to this repository and access to hackage.

Are you using stack? I've kinda slacked off with keeping this in stackage, but if you're actively using stackage I'll be sure to get it back in after doing a new release.

Where to put your great haddock tutorial? It is semantically closer to servant-checked-exceptions-core.

I don't really have a strong opinion on this. However, it would be nice to add a link to it on relevant pages. For instance, if you add it to servant-checked-exceptions-core but not to servant-checked-exceptions, it would be nice to add a link to it on the servant-checked-exceptions page.

@cdepillabout
Copy link
Copy Markdown
Owner

It looks like some of the travis builds are failing because of missing files. Here's an idea of what we can do for the README.md, CHANGELOG.md and stack.yaml.

  • README.md: Maybe we could just sym link the README.md to servant-checked-exceptions/README.md and servant-checked-exceptions-core/README.md. That way there would only be one README that would need to be kept up to date.

  • CHANGELOG.md: I think it would be nice to keep an up-to-date CHANGELOG.md for each of servant-checked-exceptions and servant-checked-exceptions-core. Could you add changelog entries for the changes you have made in this PR? Linking back to this PR and the issues Break into combinator/backend packages #25 and break the main Servant.Checked.Exceptions module up into a couple different modules #18 would be great. We can make a major version bump for the next version, so it could be v2.0.0.0.

  • stack.yaml: You can probably just take this out of the *.cabal files.

@imalsogreg
Copy link
Copy Markdown
Collaborator Author

@cdepillabout Cool, I'd be more than happy to co-maintain. We use this library in production at FormationAI (formerly known as Takt).

I don't know much about stack/stackage in practice. So while I'm happy to try to keep stack.yaml files up to date, getting that right is something that I may lean on travis for than getting right on my own :)

Adopted your ideas for README.md, CHANGELOG.md and stack.yaml - CI looking better, still working through errors.

@cdepillabout
Copy link
Copy Markdown
Owner

I fixed up the errors that were occurring on Travis. I'm not sure what was causing them. All I did was update the .travis.yml file with the latest version linked from here.

I don't know much about stack/stackage in practice. So while I'm happy to try to keep stack.yaml files up to date, getting that right is something that I may lean on travis for than getting right on my own

Okay, that's no problem. I'll keep the stack.yaml files updated 👍

I'd be more than happy to co-maintain.

Okay great. I've invited you as a collaborator for this repo. I think Github should send you an email with more information.

I think this should be about ready for release? Feel free to merge this in when you feel it is ready. I'll do the initial release of servant-checked-exceptions-core and then also release servant-checked-exceptions. I'll then add you as a maintainer on Hackage. Let me know what you hackage username is.

 - Split out servant-checked-exceptions-core and build with ghc/ghcjs
 - Split out servant-checked-exceptions serverside package and test with ghc
 - Shuffle documentation
 - Bump version number and CHANGELOGs
 - Updating the travis config to the latest version.
@imalsogreg imalsogreg merged commit 8ee3a0f into cdepillabout:master Jun 4, 2018
@imalsogreg
Copy link
Copy Markdown
Collaborator Author

@cdepillabout Great. Thanks for the fix! Sounds like a plan. I'm imalsogreg on hackage.

@cdepillabout cdepillabout changed the title [WIP] Split into core and server-side packages Split into core and server-side packages Jun 4, 2018
@cdepillabout
Copy link
Copy Markdown
Owner

Thanks! This has been released as the following packages:

https://hackage.haskell.org/package/servant-checked-exceptions-core-2.0.0.0
https://hackage.haskell.org/package/servant-checked-exceptions-2.0.0.0

You've also been added as a maintainer for those two packages!

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.

Break into combinator/backend packages break the main Servant.Checked.Exceptions module up into a couple different modules

2 participants