1. 08 Jul, 2016 25 commits
  2. 07 Jul, 2016 15 commits
    • k8s-merge-robot's avatar
      Merge pull request #28478 from smarterclayton/adaptation · 8ea57733
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Autoscaling should be part of clientset.Adaption
      
      @mfojtik
      8ea57733
    • Tim Hockin's avatar
      Clarify copyable vs in-bounds · 82b2d2c8
      Tim Hockin authored
      This make it clearer where "is copyable" is needed and where "is in bounds" is
      needed.  No effect on generated code.
      82b2d2c8
    • Tim Hockin's avatar
      go2idl: Allow ... pkg specs · 1ba6f5df
      Tim Hockin authored
      This is closer to standard Go semantics and obsoletes our custom --recursive
      flag.
      1ba6f5df
    • Tim Hockin's avatar
      Make runtime opt in to deepcopy · 51394e86
      Tim Hockin authored
      This minimizes the number of functions generated.  It also breaks the chain of
      symbol dependencies to pkg/conversion, so we can remove now-unreferenced
      (previously unused but referenced) conversion deep-copies.
      51394e86
    • Tim Hockin's avatar
      Recreate the opt-in/opt-out logic for deepcopy · dc10f10e
      Tim Hockin authored
      This is the last piece of Clayton's #26179 to be implemented with file tags.
      All diffs are accounted for.  Followup will use this to streamline some
      packages.
      
      Also add some V(5) debugging - it was helpful in diagnosing various issues, it
      may be helpful again.
      dc10f10e
    • Tim Hockin's avatar
      Use file tags to generate deep-copies · 28af5413
      Tim Hockin authored
      This drives most of the logic of deep-copy generation from tags like:
        // +deepcopy-gen=package
      ..rather than hardcoded lists of packages.  This will make it possible to
      subsequently generate code ONLY for packages that need it *right now*, rather
      than all of them always.
      
      Also remove pkgs that really do not need deep-copies (no symbols used
      anywhere).
      28af5413
    • Tim Hockin's avatar
      go2idl: Add an 'output basename' option · 4c4c6fc4
      Tim Hockin authored
      This will be used when generated files are no longer checked in.  I include it
      as a standalone commit for ease of review.
      4c4c6fc4
    • Tim Hockin's avatar
      go2idl: remove comma-processing for comment-tags · ec79eee2
      Tim Hockin authored
      It's simpler and clearer without them, and it leaves room for per-use-case
      parsing of the tag lines.  If anything we should be splitting on whitespace.
      ec79eee2
    • Tim Hockin's avatar
      Make multi-key tags more explicit · d88fc84b
      Tim Hockin authored
      This is in prep to simplify tag logic.  Don't rely on processing commas as new
      tag delimiters.  Put new tags on new lines.  This had zero effect on generated
      code (as intended).
      d88fc84b
    • Tim Hockin's avatar
      go2idl: Track doc.go file-comments · 052847f4
      Tim Hockin authored
      Previously we just tracked comments on the 'package' declaration.  Treat all
      file comments as one comment-block, for simplicity.  Can be revisited if
      needed.
      052847f4
    • Tim Hockin's avatar
      go2idl: Allow multiple values for a comment-tag · 4a00a0fd
      Tim Hockin authored
      This means that tags like:
        // +foo=bar
        // +foo=bat
      ..will produce []string{"bar", "bat"}.  This is needed for later commits which
      will want to use this to make code generation more self contained.
      4a00a0fd
    • Tim Hockin's avatar
      go2idl: Consistently handle comments as []string · b01ac472
      Tim Hockin authored
      This makes subsequent comment-tag PRs more consistent.
      b01ac472
    • Tim Hockin's avatar
      Add support for manually defined DeepCopy methods · 57c31969
      Tim Hockin authored
      In bringing back Clayton's PR piece-by-piece this was almost as easy to
      implement as his version, and is much more like what I think we should be
      doing.
      
      Specifically, any time which defines a .DeepCopy() method will have that method
      called preferentially.  Otherwise we generate our own functions for
      deep-copying.  This affected exactly one type - resource.Quantity.  In applying
      this heuristic, several places in the generated code were simplified.
      
      To achieve this I had to convert types.Type.Methods from a slice to a map,
      which seems correct anyway (to do by-name lookups).
      57c31969
    • Tim Hockin's avatar
      Re-add constraints to deep-copy · be481060
      Tim Hockin authored
      This re-institutes some of the rolled-back logic from previous commits. It
      bounds the scope of what the deepcopy generator is willing to do with regards
      to generating and calling generated functions.
      be481060
    • Tim Hockin's avatar
      Revert Clayton's #26179 so I can recreate it · e18b2f3a
      Tim Hockin authored
      His PR cam during the middle of this development cycle, and it was easier to
      burn it down and recreate it than try to patch it into an existing series and
      re-test every assumption.  This behavior will be re-introduced in subsequent
      commits.
      e18b2f3a