Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thrift 2905 & - Modern Objective-C & Swift Support #539

Closed
wants to merge 71 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
a7e2544
Modernized Cocoa
kdubb Jul 3, 2015
e73f7b6
Add optional support for PromiseKit to async clients
kdubb Jul 3, 2015
1220b0a
Fix analyzer surfaced issues with SSL socket
kdubb Jul 3, 2015
0b91a77
Protocols wrap transport errors with more information
kdubb Jul 3, 2015
9925c46
Make async transports & clients mutl-thread safe
kdubb Jul 3, 2015
467efe8
Rename transport "Clients" to transports. Client is the terminology f…
kdubb Jul 3, 2015
fcc3ae3
Fix async client init method
kdubb Jul 3, 2015
cb0f432
Fix setter name generation
kdubb Jul 4, 2015
5ffe347
Simplify NSError reading logic
kdubb Jul 4, 2015
9a2bf04
Fix HTTP sessoin transport's response data loading
kdubb Jul 4, 2015
52d0967
Add NSCopying support to structs & exceptions
kdubb Jul 4, 2015
5ab8dac
Revert to message passing syntax for instances that can be id (e.g. c…
kdubb Jul 4, 2015
6f93825
Only emit objective-c +1 overrides when the value is an object pointer
kdubb Jul 4, 2015
3c7c891
Fix error return logic in HTTP session transport
kdubb Jul 4, 2015
4b9aef7
Use debugDescription instead of description for structs/exceptions
kdubb Jul 4, 2015
c723c6d
Add podspec
kdubb Jul 4, 2015
6bfe824
Move TSSLStreamTransport "close" method back
kdubb Jul 4, 2015
1a55775
Update SSL validation to use current method
kdubb Jul 4, 2015
5b83a47
Moved all instance variables to properties in internal class extensions
kdubb Jul 4, 2015
5eff152
Remove redundant properties from TSSLSocket & TSocket, make common cl…
kdubb Jul 5, 2015
9e485c4
Fix issue with protocol error macros attempting to add nil to userInfo
kdubb Jul 5, 2015
33b5605
Rename constant string inline with Cocoa standards
kdubb Jul 5, 2015
c154eef
Fix issues with compact protocol read methods
kdubb Jul 5, 2015
d1e8abd
Make isEqual for "exceptions" (aka NSError subsclasses) call super first
kdubb Jul 5, 2015
ada47bc
Use immutable types in all cases except struct/exception fields
kdubb Jul 5, 2015
5c570ed
Remove all request customization from THTTPSessionTransport
kdubb Jul 5, 2015
ee1a5c5
Fix numerous cases of incorrect type usage
kdubb Jul 5, 2015
0164013
Allow methods with same name in different service definitions
kdubb Jul 5, 2015
5355538
Use cocoa prefix in generated file names.
kdubb Jul 5, 2015
c2c3336
Set deployment target to reasonable number
kdubb Jul 5, 2015
c4ea25d
Remove C++11 statements
kdubb Jul 5, 2015
1d72c2b
Fix length issue in property name overrides checking
kdubb Jul 5, 2015
158e4e3
Update comment
kdubb Jul 6, 2015
f87ac15
Name for generated error domain now includes programe name
kdubb Jul 6, 2015
ba70058
Simple constants are now normal extern variables (base types & enums)
kdubb Jul 6, 2015
de16b4d
Allow selecting between debugDescription & description
kdubb Jul 6, 2015
72561ea
Generate mutable typedefs for containers and use them in proper places
kdubb Jul 6, 2015
0091c4d
Add switch for CocoaPods style imports
kdubb Jul 6, 2015
e8e55d2
Fix generated processor invocation to properly pass error result
kdubb Jul 7, 2015
113ee76
Ehance errors
kdubb Jul 7, 2015
06c58d0
Normalize HTTP headers in HTTP transports
kdubb Jul 7, 2015
f20484b
Reduce # of times TMemoryBuffer needs copying
kdubb Jul 7, 2015
84d8203
Imbue protocol factories with a simple name
kdubb Jul 7, 2015
14b07ff
Remove redundant method declarations from generated interfaces
kdubb Jul 16, 2015
1db39d7
Simplify property declarations
kdubb Jul 16, 2015
766ed27
Add unset method declarations to the generated interfaces
kdubb Jul 16, 2015
f7fcec2
Use NS_ENUM for transport errors
kdubb Sep 15, 2015
bae434e
Fix 32 bit warnings
kdubb Sep 15, 2015
4980859
Work with new PromiseKit class names
kdubb Sep 15, 2015
ed397a7
Fix rare leak caught by static analyzer
kdubb Oct 3, 2015
df80254
Generate Objective-C lightweight generics definitions
kdubb Oct 3, 2015
663bf38
Update comments & usage description
kdubb Oct 3, 2015
808ae20
Swift Support
kdubb Oct 6, 2015
9b9ca06
Update nullability specs in all library headers
kdubb Oct 7, 2015
b1c2bb7
Ensure all types are Hashable
kdubb Oct 7, 2015
f167802
Fix TEnum default init implmentation
kdubb Oct 7, 2015
e384ee2
Fix constant generation
kdubb Oct 7, 2015
d0b4f47
Write proper reply message in processor
kdubb Oct 7, 2015
af2602a
Write proper exception messages
kdubb Oct 7, 2015
37fc143
Remove validate_required option from Swift generator
kdubb Oct 7, 2015
94e6b9d
Fix enum default initializers
kdubb Oct 8, 2015
bc430f1
Ensure we only validate required fields
kdubb Oct 8, 2015
eb674f7
Organize Swift classes/structs/extensions
kdubb Oct 8, 2015
e641d4c
Provide descriptions for Swift containers
kdubb Oct 8, 2015
ab8b035
Flesh out container (wrapper) interfaces
kdubb Oct 8, 2015
c6bef3a
Prefix wrapper types with T (e.g. TSet, TList, etc)
kdubb Oct 8, 2015
276d447
Use signed integers for IDL 'byte' type
kdubb Oct 8, 2015
036d362
Ensure all files have ASF header
kdubb Oct 8, 2015
2e1ad3e
Added new swift generator to VisualStudio solution
Jens-G Oct 8, 2015
bf1d365
Update methods comments for Swift generator
kdubb Oct 8, 2015
4f6f812
Bring application/protocol/transport exceptions in line
kdubb Oct 9, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions Thrift.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Pod::Spec.new do |s|
s.name = "Thrift"
s.version = "1.0.0"
s.summary = "Apache Thrift is a lightweight, language-independent software stack with an associated code generation mechanism for RPC."
s.description = <<-DESC
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
DESC
s.homepage = "http://thrift.apache.org"
s.license = { :type => 'Apache License, Version 2.0', :url => 'https://raw.github.com/apache/thrift/thrift-0.9.0/LICENSE' }
s.author = { "The Apache Software Foundation" => "apache@apache.org" }
s.requires_arc = true
s.ios.deployment_target = '7.0'
s.osx.deployment_target = '10.8'
s.ios.framework = 'CFNetwork'
s.osx.framework = 'CoreServices'
s.source = { :git => "https://github.com/apache/thrift.git", :tag => "thrift-1.0.0" }
s.source_files = 'lib/cocoa/src/**/*.{h,m,swift}'
end
1 change: 1 addition & 0 deletions compiler/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ THRIFT_ADD_COMPILER(perl "Enable compiler for Perl" ON)
THRIFT_ADD_COMPILER(php "Enable compiler for PHP" ON)
THRIFT_ADD_COMPILER(erl "Enable compiler for Erlang" ON)
THRIFT_ADD_COMPILER(cocoa "Enable compiler for Cocoa Objective-C" ON)
THRIFT_ADD_COMPILER(swift "Enable compiler for Cocoa Swift" ON)
THRIFT_ADD_COMPILER(st "Enable compiler for Smalltalk" ON)
THRIFT_ADD_COMPILER(ocaml "Enable compiler for OCaml" ON)
THRIFT_ADD_COMPILER(hs "Enable compiler for Haskell" ON)
Expand Down
1 change: 1 addition & 0 deletions compiler/cpp/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ thrift_SOURCES += src/generate/t_c_glib_generator.cc \
src/generate/t_php_generator.cc \
src/generate/t_erl_generator.cc \
src/generate/t_cocoa_generator.cc \
src/generate/t_swift_generator.cc \
src/generate/t_st_generator.cc \
src/generate/t_ocaml_generator.cc \
src/generate/t_hs_generator.cc \
Expand Down
1 change: 1 addition & 0 deletions compiler/cpp/compiler.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
<ClCompile Include="src\generate\t_py_generator.cc" />
<ClCompile Include="src\generate\t_rb_generator.cc" />
<ClCompile Include="src\generate\t_st_generator.cc" />
<ClCompile Include="src\generate\t_swift_generator.cc" />
<ClCompile Include="src\generate\t_xsd_generator.cc" />
<ClCompile Include="src\main.cc" />
<ClCompile Include="src\md5.c" />
Expand Down
3 changes: 3 additions & 0 deletions compiler/cpp/compiler.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,9 @@
<ClCompile Include="src\generate\t_st_generator.cc">
<Filter>generate</Filter>
</ClCompile>
<ClCompile Include="src\generate\t_swift_generator.cc">
<Filter>generate</Filter>
</ClCompile>
<ClCompile Include="src\generate\t_xsd_generator.cc">
<Filter>generate</Filter>
</ClCompile>
Expand Down
Loading