GitHub user uint opened a pull request:
https://github.com/apache/thrift/pull/1390
WIP - Common Lisp support for Apache Thrift
The current state of work. Brief summary:
* Patched the head of Apache Thrift with the de.setf code.
* Fixed errors and warnings. Got it working with SBCL. This involves:
* The IDL -> CL generator.
* The CL library.
* Created the cross-test code and integrated it so it builds together with
the rest of cross-tests. Mostly everything is implemented, with the exception
of exceptions (pun unintended) on the client side - apparently receiving an
exception as a response is broken right now.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/TurtleWarePL/thrift de.setf-cleanup
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/1390.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1390
----
commit 8604179071132315a9d5587e793f732e25653caf
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T07:16:43Z
Patch Thrift with de.setf.thrift
commit cc8e0f89e7062a3e28410714fbe696e90025faf2
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T07:16:56Z
CL generator: fix and integrate it
commit fee0ad5d33c75f4bdb1c73914d48e8d6074a3ec9
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T08:42:55Z
Remove non-existent packages and system dependencies
commit f25db65e341adf44be0141d03dd4be126bbbf5e2
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T10:05:54Z
Add namespace declarations for CL in tutorial .thrift files
commit 74a8feb72d176dbd066d319b91cbc2d10323f1fc
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T12:53:39Z
Fix Thrift URIs
commit 0b6c5316d636f36d80eeebf39ac3c8a68bc5ac08
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-19T13:20:10Z
Cosmetic: Remove emacs file headers
commit 99d96e3fb5871123aeb69134019d38a3fce4e4ff
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-20T10:35:06Z
Fix the handling of Thrift types
The decoder should expect i32 when the field type is enum
Rename i08 to i8 according to Thrift's expectations
commit d8ce6835fe5a0fea84095db307235677abfe11ac
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-21T06:39:10Z
Defined services should just be exported to the current *package*
commit 6ac53933b5b10ca5a2577fd0b7c1d2171560dccf
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-21T07:38:19Z
Bugfix: wrong order of arguments in a function call
commit 08960181d68be4c5333f44d8851d00327335851b
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-22T09:17:31Z
Ensure users can use :common-lisp symbols when implementing services
commit d85196a896a958150de6d0c7e4f3d04dd4a18463
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-22T11:29:55Z
CL generator: Generate ASDF systems for Thrift programs
Also adds the CLI option not to generate .asd files, but the default is to
generate them.
commit e84808451a8fd3df3ed290b7b648ed4ae3500175
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-22T11:50:10Z
Don't expect server implementation to exist when loading gen'd code
We probably expect those to be declared later
commit 16b0aeb4020d0ffb6e586b3293b42b0cd11eddfd
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-25T09:50:26Z
CL generator: Put generated "programs" in separate directories
commit c3adab2d2626caca3446b47284bd304b4dd1cb2c
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-25T11:20:14Z
CL generator: copy the options string to comments in generated files
commit 5615c679b2670db50613cee61fbfc2681006910b
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-25T11:33:02Z
CL generator: Fix the remaining warnings
commit c97fa721027ef98ace2aff1e88005afabb19763e
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-25T12:08:39Z
Replace the float conversion code with `ieee-floats` from quicklisp
commit e842a96568c7884d18cb8026af4c5685df02b3f0
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-26T08:25:46Z
CL generator: Add the option to change the ASDF system prefix
Also: Cosmetic: add a newline after a generated (def-service)
commit 093b16c8115041baf8043118be7269a14167d2d0
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T08:32:52Z
Fix the load order of thrift-test components
commit b9dc72521582ce7d4fb3aa6f76f525cf7c32b64d
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T08:33:17Z
Export vector-stream for use in thrift-test
commit c5ae25b9d1ea76f023e681a5f21a03a72aa58729
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T08:38:43Z
Exclude definition-operators.lisp from compilation for now
commit ecf5cef1181bec6f837549885a6ef0debc3f83b9
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T08:53:34Z
Cosmetic: Typos and reindentation
commit 4af9557fd851271eda843767aab3ef2f41eca22b
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T09:01:14Z
Fix vector-protocol.write-sequence
commit 3c06b2081f3d185fdd7f2cdb998e4fe9b5925482
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-27T09:08:43Z
Fix calls to unexported thrift.implementation functions
commit cdf28d0a00e97015e396d476b2ca50e8c823023e
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-28T09:56:03Z
Make sure make-test-server.lisp is loaded with relative path
commit fb277bd53c8a4d97366c7024109fa8e72bf4ee48
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-28T10:06:29Z
Make make-test-server.lisp load the Thrift library
commit 9d88114940a66f457db61895b92a7cf550eb6edc
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-29T08:27:17Z
Hook up Common Lisp cross tests to Thrift's build system
commit bd1f95e64607198233f68ce855e5aeefadcf7ee0
Author: Tomek Kurcz <[email protected]>
Date: 2017-10-06T11:58:23Z
Groundwork for integrating the cross-test suite for CL
commit e2fa1f29a9f88ba9f3c11a480190454d98acc0da
Author: Tomek Kurcz <[email protected]>
Date: 2017-10-06T11:59:55Z
Bundle dependencies to facilitate local cross-test builds
Both for the cross-tests itself and for the CL library.
Preserve the empty dirs externals/local-projects in Git by adding
empty .gitignores to them.
commit 4f69fd2fb98e50436a01c629f93863c212cf1816
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-29T12:05:22Z
CL cross: Implement the CL server for cross tests
Add the CL cross-test server to tests.json
commit 44202cc9cce8de12c434c54a4354fbf0605c7bf3
Author: Tomek Kurcz <[email protected]>
Date: 2017-09-30T10:19:14Z
Bugfix: field-type code 3 should be translated to i8, not byte
----
---