You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by stevenosborne-wf <gi...@git.apache.org> on 2015/09/17 21:24:08 UTC

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

GitHub user stevenosborne-wf opened a pull request:

    https://github.com/apache/thrift/pull/608

    THRIFT-3299 Dart language bindings in Thrift

    Description: Add bindings for [dart](https://www.dartlang.org/).
    
    Ticket: https://issues.apache.org/jira/browse/THRIFT-3299


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/markerickson-wf/thrift thrift-dart

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/608.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 #608
    
----
commit 97dcdf2636f9f718c4bb9040ec866635004ac13b
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-08-29T15:46:51Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Added t_dart_generator.cc and add as a target for Make.

commit 11473fd2c44692d0fd782dca9d3fa602534eb0ac
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-08-30T01:08:18Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Cleanup some issues in the generator found while analyzing generated code.

commit 221f6042369b39998567909759d6350c8914a97d
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-08-30T01:23:28Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Initial port of library code, except for transport implementations.

commit bc73baef3707be82907825c16976b6c856e5ea33
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T04:05:30Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Minor tweaks to the dart generator

commit fc049c05cf617f6c689b40c278288e48a85e9371
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T04:09:24Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Added binary and JSON protocols.  Added WebSocket transport.

commit 495c0dd068c92e1125256e42ac2f355786f53799
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T18:18:03Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Switch service generation of service server code to opt-in instead of opt-out.

commit ecce9715401834bafeb94e23c9dd4772be066204
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T18:37:16Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Added THttpTransport and a did little refactoring.

commit a01e06af071927f878c39b4c1f9b44c177fd775f
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T20:28:42Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Added BufferedTransport and FramedTransport, with some refactoring.

commit 84e8763249b4233a0c18e69848eb86eaabcde638
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T21:14:56Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Added MultiplexedProtocol.

commit 08d0ce2fdf915c7f23fb8e48a92ffdd16589e16d
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-04T21:25:08Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Ran dartfmt.

commit c410c6d85806489a17f844fab853461104e94ab6
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-05T03:11:31Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Optimizations when using List.length since the base implementation iterates over elements in the getter.

commit 6195d227d9357028b0f6da18cf3d77ff692fcfcd
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-06T16:57:46Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Fix BufferedTransport.flush to be able to read from the write buffer.

commit e186fb68fa8c08297283cab0a59dd54c48a8ba9c
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-08T15:05:56Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Fix typo in Dart SDK requirement

commit 017cbd7c4fb2436513db4a4bf5e2c65a82fb973f
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-08T15:52:56Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Add pubspec.yaml to generated files.

commit e347643f476545f9a7686aaafe89c2b967e1fd3b
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-08T20:07:43Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Fix generation problems exposed by tutorial specification, related to inheritance and constants.

commit 21b97b2c76f1ff4ba973502a9e4cbf44d5cdf82b
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-08T21:59:18Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Initialize seqid and increment when client writes message begin.

commit dbf2878d7b89c3fb60e10f6a739e68b7ea8c25c9
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-10T16:11:19Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    In progress.  Initial stab at tutorial implementation, with known issues.  Changed socket interface for open / close to be async.  Added support for sockets that are listening for messages (server).

commit db111aecb8ccecc37a49af600db5cbb3f2c03449
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T03:10:13Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Fix bugs in binary protocol and json protocol.  Use base 64 encoding for socket and http transports.  Implement the remainder of the tutorial.

commit be267afeb2ccb49ede2fd80708f6f060ae8b0b9d
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T03:14:22Z

    Merge branch 'master' into thrift-dart

commit c18f92c4297db61a404617675191b0ecd3034d15
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T18:20:10Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Make pubspec dependencies more consistent and restrictive.

commit 3e763612f528afb117bc8284c938dbee9944a272
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T20:12:08Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Switch uses of List<int> to Uint8List to be more explicit.

commit 4c74741fcc0e679943a4129ea9f6dbeecef8f488
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T20:50:41Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Complete with error when a socket is closed.  Minor code cleanup.

commit 1cbb3eb44f5219818c8e9229f0fe26a78a376d3c
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-11T23:22:55Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Writing unit tests.  A little code cleanup.

commit d97bcc1b63dc80a8415e102d484cd4cbfb1df16a
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-12T02:23:30Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    JSON protocol unit tests.  Changed binary type to Uint8List.  Cleaned up tutorial shell script.

commit e236093ee74ff44742fcfdb4971e135f70fa672c
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-12T04:00:00Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Protocol and transport unit tests.

commit 8d74526a67a5d4fb583d8dc009eb33b5c7e728ad
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-14T15:23:09Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Move completer logic from WebSocket implementations to transport.  Split TSocketTransport into TClientSocketTransport and TServerSocketTransport to cleanup some conditional logic.

commit 4a5197e97fa504e33c2e020a1be5c8f10e8318ca
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-14T16:17:21Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Move Base 64 encoding out of transport and back into web_socket implementations.

commit cd83635f4ae688d2ae65d474790a213294576d15
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-14T16:35:52Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Return Futures from open and close that actually reflect the state of the WebSocket.

commit 7bacb040c0cde5f35c9ec0ea3135d0ed1d79eae0
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-14T17:34:19Z

    Merge pull request #2 from markerickson-wf/socket-transport
    
    Cleanup TSocketTransport and related code

commit 544834b073f253935b4ee96f8f805632083fb1c1
Author: Mark Erickson <ma...@workiva.com>
Date:   2015-09-14T20:48:01Z

    Create an Apache Thrift language binding for Dart (dartlang.org).
    https://issues.apache.org/jira/browse/THRIFT-3299
    
    Avoid using String.codeUnits as a Uint8List.  Cleanup bad type assignments in tutorial client.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by markerickson-wf <gi...@git.apache.org>.
Github user markerickson-wf commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-142787006
  
    @Jens-G I'll update the versions of static Dart libraries to `0.9.3`.  But for generated Dart libraries, such as what you're seeing in `tutorial 0.0.1`, it is really just an arbitrary placeholder, which developers would modify to match their own versioning scheme for a service.  If there is a way to define a service version in a `.thrift` definition file, then I could use that, which would be ideal.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by markerickson-wf <gi...@git.apache.org>.
Github user markerickson-wf commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-143072060
  
    @Jens-G I think I have addressed your comments now.  Automake files are in, cross tests are passing with a Dart client and Python server, versions and license headers are updated.  I tried to identify the files that will need to be updated on release here - https://github.com/apache/thrift/pull/608/files#diff-d9d9844c5f034229628ba1f2e341ce6bR44.  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by trentgrover-wf <gi...@git.apache.org>.
Github user trentgrover-wf commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-141237925
  
    @evanweible-wf FYI - it would be awesome to get w_transport in as the transport layer for this so that client and server APIs can match up 1-to-1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by Jens-G <gi...@git.apache.org>.
Github user Jens-G commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-142835415
  
    No, there is no such mechanism as a version number for services. Maybe IDL annotations could be used for this, never tried that.
    
    http://stackoverflow.com/questions/25631235/what-is-an-annotation-in-apache-thrift-and-what-is-it-used-for
    
    
    ________________________________
    Von: Mark Erickson
    Gesendet: 24.09.2015 04:39
    An: apache/thrift
    Cc: Jens Geyer
    Betreff: Re: [thrift] THRIFT-3299 Dart language bindings in Thrift (#608)
    
    @Jens-G I'll update the versions of static Dart libraries to `0.9.3`.  But for generated Dart libraries, such as what you're seeing in `tutorial 0.0.1`, it is really just an arbitrary placeholder, which developers would modify to match their own versioning scheme for a service.  If there is a way to define a service version in a `.thrift` definition file, then I could use that, which would be ideal.
    
    ---
    Reply to this email directly or view it on GitHub:
    https://github.com/apache/thrift/pull/608#issuecomment-142787006



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by Jens-G <gi...@git.apache.org>.
Github user Jens-G commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-142721161
  
    Hi, some comments.
    
    * Version numbers should match the Thrift version number.
    * They also need to be  mentioned in the "how to release" docs, see website, but that can be done later.
    * All (textual) files must have an ASF license header. This also includes shell scripts etc.
    
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/thrift/pull/608


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request: THRIFT-3299 Dart language bindings in Thrift

Posted by Jens-G <gi...@git.apache.org>.
Github user Jens-G commented on the pull request:

    https://github.com/apache/thrift/pull/608#issuecomment-142834383
  
    I see, didn't recognize that the second one was generated when I wrote that. I saw it later in the compiler code. I think that's fine. Lib should be at whatever Thrift version is (the compiler tells you when called with -v) and as I said we need to document this [here](https://thrift.apache.org/docs/committers/HowToVersion).
    
    Thanks for the good, keep pushing!
    ________________________________
    Von: Mark Erickson
    Gesendet: 24.09.2015 04:39
    An: apache/thrift
    Cc: Jens Geyer
    Betreff: Re: [thrift] THRIFT-3299 Dart language bindings in Thrift (#608)
    
    @Jens-G I'll update the versions of static Dart libraries to `0.9.3`.  But for generated Dart libraries, such as what you're seeing in `tutorial 0.0.1`, it is really just an arbitrary placeholder, which developers would modify to match their own versioning scheme for a service.  If there is a way to define a service version in a `.thrift` definition file, then I could use that, which would be ideal.
    
    ---
    Reply to this email directly or view it on GitHub:
    https://github.com/apache/thrift/pull/608#issuecomment-142787006



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---