@@ -8,6 +8,9 @@ under heavy development and not intended for public consumption, caveat emptor!
8[](https://gitter.im/brendanhay/gogol)
8[](https://gitter.im/brendanhay/gogol)
10* [Description](#description)
10* [Description](#description)
11+* [Documentation](#documentation)
12+* [Organisation](#organisation)
13+* [Change Log](#change-log)
11* [Contribute](#contribute)
14* [Contribute](#contribute)
12* [Licence](#licence)
15* [Licence](#licence)
@@ -17,45 +20,38 @@ under heavy development and not intended for public consumption, caveat emptor!
17<img alt="Гоголь-моголь" height="261px;" src="https://upload.wikimedia.org/wikipedia/commons/c/c7/Kogel_mogel.JPG">
20<img alt="Гоголь-моголь" height="261px;" src="https://upload.wikimedia.org/wikipedia/commons/c/c7/Kogel_mogel.JPG">
18<img alt="Мико́ла Васи́льович Го́голь" height="261px" src="https://upload.wikimedia.org/wikipedia/commons/3/31/NV_Gogol.png">
21<img alt="Мико́ла Васи́льович Го́голь" height="261px" src="https://upload.wikimedia.org/wikipedia/commons/3/31/NV_Gogol.png">
20−## Generate New API Endpoints
23+A comprehensive Google Services SDK for Haskell supporting all of the publicly
22−To generate new API endpoints, use the gogol/gen directory.
26+An introductory blog post detailing the motivation can be found [here](http://brendanhay.nz/gogol-comprehensive-haskell-google-client).
23−The key files in this directory (outside of the actual gogol-gen source!) are the annex files.
25−To add a new endpoint, first create its annex file in the annex directory. It should be named after the API endpoint as found in the <a href="https://www.github.com/google/google-api-go-client">google/google-api-go-client repo.</a>
28+## Documentation
27−### Example:
30+You can find the latest stable release documentation for each respective library
31+on Hackage under the [Google section](http://hackage.haskell.org/packages/#cat:Google).
29−#### Generating the Cloud Dataproc API
33+Haddock documentation which is built by CI from the `develop` branch
34+can be found [here](http://brendanhay.nz/gogol-doc).
31−The Cloud Dataproc API is called `dataproc-api.json` in the Google Discovery API.
32−Create the file `./gen/annex/dataproc.json` with these contents:
36− "library": "dataproc",
37− "canonicalName": "Dataproc"
41−From the `./gen` directory, run:
39+This repository is organised into the following directory structure:
43−```
41+* [`gogol`](gogol): Actual operational logic, you'll need to import this to send requests etc.
44−make clean
42+* `gogol-*`: Data types for each of the individual Amazon Web Service libraries.
45−make
43+* [`core`](core): The `gogol-core` library upon which each of the services depends.
46−```
44+* [`examples`](examples): A currently sparse collection of examples for the various services.
45+* [`gen`](gen): The code generation binary, along with configuration, templates, and assets.
46+* [`script`](script): CI scripts to manage the release lifecycle of the service libraries.
47+* [`share`](share): Makefile plumbing common to all service libraries
48−This will build the `./gen/bin/gogol-gen` executable, and then will generate libraries
49+> See the `./gen` subdirectory for further details about generating an API client/SDK.
49−for all APIs that have matching `./gen/annex/*.json` configuration.
51−Once completed, the result would be a `./gogol-dataproc` directory containing the
54−`make full-clean` can be used to cause a complete re-download of all (including new)
52+## Change Log
57−Individual libraries can be generated by passing a specific `MODELS` environment
54+A change log for the entire project can be found under [`gogol/CHANGELOG.md`](gogol/CHANGELOG.md).
58−variable to the `make` command, for example: `MODELS=model/admin/directory/v1/admin-api.json make`
61## Contribute
57## Contribute
@@ -66,3 +62,6 @@ For any problems, comments, or feedback please create an issue [here on GitHub](
68Gogol is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
64Gogol is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
66+Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.
67+Source files subject to this contain an additional licensing clause in their header.