brendanhay / gogol

A comprehensive Google Services SDK for Haskell.
Other
281 stars 105 forks source link

Feature/conduit upgrade 2 #119

Closed MichaelXavier closed 5 years ago

MichaelXavier commented 5 years ago

This subsumes #105. This gets gogol onto the latest LTS, building with a recent conduit and fixes a few build issues with gen, such as a name conflict error. I'm going to try dogfooding this in one of my larger applications and if all goes well, merge it and then figure out how the heck to do a release.

MichaelXavier commented 5 years ago

It was brought to my attention that the JSON file I edited to resolve the name conflict with the DNS module gets overwritten every time you update from the SDK, so perhaps there's another place to put this change that's more durable :thinking:

brendanhay commented 5 years ago

I can handle the release once everything is merged to master, just ping me.

Rather than editing the files directly, the gen/annex files are merged with the upstream SDK model via left-associative union - before parsing from JSON into the JSON schema types. See the gen/annex/youtube.json for a more worked example.

MichaelXavier commented 5 years ago

Well it looks like travis is only going to build the initial commit for this PR and not my changes editing the annex files. I suspect its because .travis.yml specifies to only build on master and develop. So I'll merge this into develop and work out any build issues, then merge to master and ping.

hasufell commented 5 years ago

Is there a planned release in the near future?

MichaelXavier commented 5 years ago

@brendanhay my colleague @korayal just submitted a PR which passed the build matrix, save for documentation which seems to require some secret token. His PR fixed some build issues in mine and regenerated from the latest SDK. I expect that to pass on this repo since the build history has it passing recently. travis-ci seems to be delaying picking up the build, but here's proof of the build passing on Koray's repo. A quick note: Koray had to drop support for GHC < 8.2.2 because of the big breaking change with conduit-1.3 which only seems to build on GHC 8.2.x and higher. This still has the project building against the last 3 major versions of GHC, which seems reasonable to me.

So if everything sounds good to you, how would we proceed with a release? Should I merge develop into master or did you want to do that? Do you need anything from us? Really excited to get updated gogol packages up on Hackage! :tada: