Commit Graph

169 Commits (11c7068b74c5ae60a22b8b6222d5206f2e9289ba)

Author SHA1 Message Date
k8s-merge-robot c3a962bff5 Merge pull request #20351 from krousey/dynamic_client
Auto commit by PR queue bot
2016-02-19 10:00:54 -08:00
k8s-merge-robot 5acdb92126 Merge pull request #21177 from laushinka/spelling-fixes
Auto commit by PR queue bot
2016-02-18 10:29:49 -08:00
Piotr Szczesniak c02e966d65 Applied comments from the review 2016-02-18 14:18:39 +01:00
laushinka 7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Daniel Smith 74400c33ae changes for cross-group moves 2016-02-15 21:39:00 +01:00
deads2k f89bd83664 fix group mapping and encoding order 2016-02-15 08:49:17 -05:00
Kris 4c58302b5b Adding dynamic client 2016-02-12 11:49:00 -08:00
Clayton Coleman b8582f73da Ensure public conversion name packages are imported
The name of the package a public function is in may not be inside the
current package set, so it needs to be imported.
2016-02-08 17:24:44 -05:00
k8s-merge-robot f769ecdabc Merge pull request #20487 from deads2k/fix-unstructured
Auto commit by PR queue bot
2016-02-06 06:49:13 -08:00
deads2k 067ecb4b60 expose unstructured scheme as codec 2016-02-04 11:14:16 -05:00
deads2k 26b91926b2 fix version detection for error 2016-02-04 08:20:41 -05:00
Clayton Coleman 60b66665e1 Move conversion.Scheme to runtime
There is only one type registry to rule them all
2016-01-30 14:12:40 -05:00
Clayton Coleman 6b2f70d553 Provide a JSON and YAML serializer, and a versioning wrapper
Add a recognizer that is capable of sniffing content type from data by
asking each serializer to try to decode - this is for a "universal
decoder/deserializer" which can be used by client logic.

Add codec factory, which provides the core primitives for content type
negotiation. Codec factories depend only on schemes, serializers, and
groupversion pairs.
2016-01-22 00:12:49 -05:00
Clayton Coleman 63a7a41ddf Simplify Codec and split responsibilities
Break Codec into two general purpose interfaces, Encoder and Decoder,
and move parameter codec responsibilities to ParameterCodec.

Make unversioned types explicit when registering - these types go
through conversion without modification.

Switch to use "__internal" instead of "" to represent the internal
version. Future commits will also add group defaulting (so that "" is
expanded internally into a known group version, and only cleared during
set).

For embedded types like runtime.Object -> runtime.RawExtension, put the
responsibility on the caller of Decode/Encode to handle transformation
into destination serialization. Future commits will expand RawExtension
and Unknown to accept a content encoding as well as bytes.

Make Unknown a bit more powerful and use it to carry unrecognized types.
2016-01-21 23:18:32 -05:00
Clayton Coleman 6582b4c2ea Remove codec awareness from conversion
Allow convertors to be specialized, some cleanup to how conversion
functions are stored internally to allow better reuse.
2016-01-21 23:18:32 -05:00
Clayton Coleman 3c1451af91 Use public conversion methods to avoid reflection
Replace many of the remaining s.Convert() invocations with direct
execution, and make generated methods public. Removes 10% of the
allocations during decode of a pod and ~20-40% of the total CPU time.
2015-12-29 10:38:42 -05:00
Clayton Coleman 173718059d Slice conversion requires destination package 2015-12-18 19:05:21 -05:00
k8s-merge-robot e309583ff1 Merge pull request #18473 from smarterclayton/change_runtime_object
Auto commit by PR queue bot
2015-12-16 04:24:22 -08:00
Clayton Coleman 8f203a28f1 Change runtime.Object signature 2015-12-15 13:36:25 -05:00
deads2k 6e33403abf update CodecFor for GroupVersion 2015-12-15 10:56:00 -05:00
k8s-merge-robot 266ab4a796 Merge pull request #18487 from smarterclayton/guard_encode_decode
Auto commit by PR queue bot
2015-12-13 23:08:18 -08:00
Clayton Coleman 1e21054134 Hide common codec methods under helpers
The pending codec -> conversion split changes the signature of
Encode and Decode to be more complicated. Create a stub helper
with the exact semantics of today and do the simple mechanical
refactor here to reduce the cost of that change.
2015-12-09 21:15:02 -05:00
deads2k 519b4e80d1 update NewObject for groupversionkind 2015-12-09 08:13:15 -05:00
deads2k 2ee3dfe415 update testapi to eliminate redundant fields 2015-12-07 15:54:26 -05:00
deads2k f764e0099c Update ObjectTyper to GroupVersion 2015-12-07 08:35:05 -05:00
Clayton Coleman ac9fd648d3 Strip go2idl instructions from generated swagger doc
Ignore doc lines starting with +
2015-12-05 18:15:49 -05:00
Clayton Coleman 9fea762917 Add protobuf preparation objects, guarded by proto tag 2015-12-05 18:15:48 -05:00
Clayton Coleman 8046bb46df Update conversions to handle primitive conversion 2015-11-26 11:45:25 -05:00
deads2k ed95a6d77f update scheme to use GroupVersion 2015-11-25 12:15:48 -05:00
deads2k 47e496364d update generators for groupVersion 2015-11-25 12:14:06 -05:00
deads2k 68b0572974 internal versions 2015-11-25 12:14:06 -05:00
deads2k 6231404682 update decoder to use GroupVersion 2015-11-25 12:14:06 -05:00
k8s-merge-robot 06ef4b0a83 Merge pull request #17156 from feihujiang/moveListFunctionsFromRuntimeToMetaPackage
Auto commit by PR queue bot
2015-11-23 14:13:25 -08:00
feihujiang ad79fa6e84 Move list functions from runtime to meta package 2015-11-20 09:20:55 +08:00
Wojciech Tyczynski d7b098b0e9 Add DecodeParametersInto method to Codec. 2015-11-18 09:56:04 +01:00
k8s-merge-robot 9981f99949 Merge pull request #16849 from feihujiang/cleanupDeprecatedV1beta1Content
Auto commit by PR queue bot
2015-11-07 04:15:32 -08:00
feihujiang eac8d6a997 Cleanup the content of deprecated V1beta1 2015-11-06 13:42:51 +08:00
Wojciech Tyczynski ce95f68d2a Changes in codec interfaces 2015-11-05 13:52:22 +01:00
kargakis ef36b3e4f6 deep-copies: Structs cannot be nil 2015-10-12 15:21:30 +02:00
Brendan Burns deb3514c02 Fix ExtractList to work with v1.List 2015-10-07 15:48:38 -07:00
Brian Grant 313918f561 Merge pull request #14148 from brendandburns/perf
Add a method for encoding directly to a io.Writer and use it for HTTP
2015-09-25 13:19:58 -07:00
Tim Hockin fd91d3f0ec Make patch-up conversions simpler
Rather than an "all or nothing" approach to defining a custom conversion
function (which seems destined to cause problems eventually), this is an
attempt to make it possible to call the auto-generated code and then "fix it
up".

Specifically, consider you have a fooBar struct.  If you don't define a
conversion for FooBar, you will get a generated function like:
    convert_v1_FooBar_To_api_FooBar()

Before this PR, if you define your own conversion function, you get no
generated function.  After this PR you get:
    autoconvert_v1_FooBar_To_api_FooBar()
...which you can call yourself in your custom function.
2015-09-24 17:21:07 -07:00
Brendan Burns 8998219686 Add a method for encoding directly to a io.Writer and use it for HTTPx 2015-09-24 15:52:09 -07:00
tummychow 78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Chao Xu 9fc79e9d99 refactor testapi and test scripts to prepare for multiple API groups. 2015-09-04 18:01:32 -07:00
Anastasis Andronidis 9f21ae21e8 swagger type documentation generator 2015-08-22 02:26:03 +02:00
Piotr Szczesniak eb01d49783 Merge pull request #12556 from uluyol/copynilinterface
Properly handle nil interfaces in DeepCopy.
2015-08-12 09:54:02 +02:00
Muhammed Uluyol bc8bc37282 Properly handle nil interfaces in DeepCopy.
Running reflect.ValueOf(X) where X is a nil interface will return
a zero Value. We cannot get the type (because no concrete type is
known) and cannot check if the Value is nil later on due to the way
reflect.Value works. So we should handle this case by immediately
returning nil. We cannot type-assert a nil interface to another
interface type (as no concrete type is assigned), so we must add
another check to see if the returned interface is nil.
2015-08-11 17:59:32 -07:00
Muhammed Uluyol 4d5899955e Remove redundant tests. We already check that no changes have been made in hack/verify-generated-*.sh. 2015-08-11 16:51:44 -07:00
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00