Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
94a387d5
Commit
94a387d5
authored
Jul 30, 2015
by
Mike Danese
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Improve conversion to support multiple packages"
parent
452bdcae
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
139 additions
and
389 deletions
+139
-389
conversion.go
cmd/genconversion/conversion.go
+2
-11
deep_copy.go
cmd/gendeepcopy/deep_copy.go
+3
-10
update-generated-conversions.sh
hack/update-generated-conversions.sh
+8
-0
deep_copy_generated.go
pkg/api/deep_copy_generated.go
+19
-19
conversion_generated.go
pkg/api/v1/conversion_generated.go
+28
-27
deep_copy_generated.go
pkg/api/v1/deep_copy_generated.go
+18
-18
conversion_generator.go
pkg/runtime/conversion_generator.go
+23
-154
deep_copy_generator.go
pkg/runtime/deep_copy_generator.go
+38
-150
No files found.
cmd/genconversion/conversion.go
View file @
94a387d5
...
@@ -17,16 +17,13 @@ limitations under the License.
...
@@ -17,16 +17,13 @@ limitations under the License.
package
main
package
main
import
(
import
(
"fmt"
"io"
"io"
"os"
"os"
"path"
"runtime"
"runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1"
pkg_runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
pkg_runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/golang/glog"
"github.com/golang/glog"
flag
"github.com/spf13/pflag"
flag
"github.com/spf13/pflag"
...
@@ -53,9 +50,7 @@ func main() {
...
@@ -53,9 +50,7 @@ func main() {
funcOut
=
file
funcOut
=
file
}
}
generator
:=
pkg_runtime
.
NewConversionGenerator
(
api
.
Scheme
.
Raw
(),
path
.
Join
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
,
*
version
))
generator
:=
pkg_runtime
.
NewConversionGenerator
(
api
.
Scheme
.
Raw
())
apiShort
:=
generator
.
AddImport
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
)
generator
.
AddImport
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
)
// TODO(wojtek-t): Change the overwrites to a flag.
// TODO(wojtek-t): Change the overwrites to a flag.
generator
.
OverwritePackage
(
*
version
,
""
)
generator
.
OverwritePackage
(
*
version
,
""
)
for
_
,
knownType
:=
range
api
.
Scheme
.
KnownTypes
(
*
version
)
{
for
_
,
knownType
:=
range
api
.
Scheme
.
KnownTypes
(
*
version
)
{
...
@@ -63,14 +58,10 @@ func main() {
...
@@ -63,14 +58,10 @@ func main() {
glog
.
Errorf
(
"error while generating conversion functions for %v: %v"
,
knownType
,
err
)
glog
.
Errorf
(
"error while generating conversion functions for %v: %v"
,
knownType
,
err
)
}
}
}
}
generator
.
RepackImports
(
util
.
NewStringSet
())
if
err
:=
generator
.
WriteImports
(
funcOut
);
err
!=
nil
{
glog
.
Fatalf
(
"error while writing imports: %v"
,
err
)
}
if
err
:=
generator
.
WriteConversionFunctions
(
funcOut
);
err
!=
nil
{
if
err
:=
generator
.
WriteConversionFunctions
(
funcOut
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing conversion functions: %v"
,
err
)
glog
.
Fatalf
(
"Error while writing conversion functions: %v"
,
err
)
}
}
if
err
:=
generator
.
RegisterConversionFunctions
(
funcOut
,
fmt
.
Sprintf
(
"%s.Scheme"
,
apiShort
)
);
err
!=
nil
{
if
err
:=
generator
.
RegisterConversionFunctions
(
funcOut
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing conversion functions: %v"
,
err
)
glog
.
Fatalf
(
"Error while writing conversion functions: %v"
,
err
)
}
}
}
}
cmd/gendeepcopy/deep_copy.go
View file @
94a387d5
...
@@ -19,14 +19,12 @@ package main
...
@@ -19,14 +19,12 @@ package main
import
(
import
(
"io"
"io"
"os"
"os"
"path"
"runtime"
"runtime"
"strings"
"strings"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1"
_
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1"
pkg_runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
pkg_runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/golang/glog"
"github.com/golang/glog"
flag
"github.com/spf13/pflag"
flag
"github.com/spf13/pflag"
...
@@ -55,14 +53,10 @@ func main() {
...
@@ -55,14 +53,10 @@ func main() {
}
}
knownVersion
:=
*
version
knownVersion
:=
*
version
registerTo
:=
"api.Scheme"
if
knownVersion
==
"api"
{
if
knownVersion
==
"api"
{
knownVersion
=
api
.
Scheme
.
Raw
()
.
InternalVersion
knownVersion
=
api
.
Scheme
.
Raw
()
.
InternalVersion
registerTo
=
"Scheme"
}
}
pkgPath
:=
path
.
Join
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
,
knownVersion
)
generator
:=
pkg_runtime
.
NewDeepCopyGenerator
(
api
.
Scheme
.
Raw
())
generator
:=
pkg_runtime
.
NewDeepCopyGenerator
(
api
.
Scheme
.
Raw
(),
pkgPath
,
util
.
NewStringSet
(
"github.com/GoogleCloudPlatform/kubernetes"
))
generator
.
AddImport
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
)
for
_
,
overwrite
:=
range
strings
.
Split
(
*
overwrites
,
","
)
{
for
_
,
overwrite
:=
range
strings
.
Split
(
*
overwrites
,
","
)
{
vals
:=
strings
.
Split
(
overwrite
,
"="
)
vals
:=
strings
.
Split
(
overwrite
,
"="
)
...
@@ -73,14 +67,13 @@ func main() {
...
@@ -73,14 +67,13 @@ func main() {
glog
.
Errorf
(
"error while generating deep copy functions for %v: %v"
,
knownType
,
err
)
glog
.
Errorf
(
"error while generating deep copy functions for %v: %v"
,
knownType
,
err
)
}
}
}
}
generator
.
RepackImports
()
if
err
:=
generator
.
WriteImports
(
funcOut
,
*
version
);
err
!=
nil
{
if
err
:=
generator
.
WriteImports
(
funcOut
);
err
!=
nil
{
glog
.
Fatalf
(
"error while writing imports: %v"
,
err
)
glog
.
Fatalf
(
"error while writing imports: %v"
,
err
)
}
}
if
err
:=
generator
.
WriteDeepCopyFunctions
(
funcOut
);
err
!=
nil
{
if
err
:=
generator
.
WriteDeepCopyFunctions
(
funcOut
);
err
!=
nil
{
glog
.
Fatalf
(
"error while writing deep copy functions: %v"
,
err
)
glog
.
Fatalf
(
"error while writing deep copy functions: %v"
,
err
)
}
}
if
err
:=
generator
.
RegisterDeepCopyFunctions
(
funcOut
,
registerTo
);
err
!=
nil
{
if
err
:=
generator
.
RegisterDeepCopyFunctions
(
funcOut
,
*
version
);
err
!=
nil
{
glog
.
Fatalf
(
"error while registering deep copy functions: %v"
,
err
)
glog
.
Fatalf
(
"error while registering deep copy functions: %v"
,
err
)
}
}
}
}
hack/update-generated-conversions.sh
View file @
94a387d5
...
@@ -33,6 +33,14 @@ function generate_version() {
...
@@ -33,6 +33,14 @@ function generate_version() {
cat
>>
$TMPFILE
<<
EOF
cat
>>
$TMPFILE
<<
EOF
package
${
version
}
package
${
version
}
import (
"reflect"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
)
// AUTO-GENERATED FUNCTIONS START HERE
// AUTO-GENERATED FUNCTIONS START HERE
EOF
EOF
...
...
pkg/api/deep_copy_generated.go
View file @
94a387d5
...
@@ -18,14 +18,14 @@ package api
...
@@ -18,14 +18,14 @@ package api
// AUTO-GENERATED FUNCTIONS START HERE
// AUTO-GENERATED FUNCTIONS START HERE
import
(
import
(
resource
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
conversion
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
fields
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
labels
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
util
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
inf
"speter.net/go/exp/math/dec/inf"
"speter.net/go/exp/math/dec/inf"
time
"time"
"time"
)
)
func
deepCopy_api_AWSElasticBlockStoreVolumeSource
(
in
AWSElasticBlockStoreVolumeSource
,
out
*
AWSElasticBlockStoreVolumeSource
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_AWSElasticBlockStoreVolumeSource
(
in
AWSElasticBlockStoreVolumeSource
,
out
*
AWSElasticBlockStoreVolumeSource
,
c
*
conversion
.
Cloner
)
error
{
...
@@ -587,7 +587,7 @@ func deepCopy_api_LimitRange(in LimitRange, out *LimitRange, c *conversion.Clone
...
@@ -587,7 +587,7 @@ func deepCopy_api_LimitRange(in LimitRange, out *LimitRange, c *conversion.Clone
func
deepCopy_api_LimitRangeItem
(
in
LimitRangeItem
,
out
*
LimitRangeItem
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_LimitRangeItem
(
in
LimitRangeItem
,
out
*
LimitRangeItem
,
c
*
conversion
.
Cloner
)
error
{
out
.
Type
=
in
.
Type
out
.
Type
=
in
.
Type
if
in
.
Max
!=
nil
{
if
in
.
Max
!=
nil
{
out
.
Max
=
make
(
ResourceList
)
out
.
Max
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Max
{
for
key
,
val
:=
range
in
.
Max
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -599,7 +599,7 @@ func deepCopy_api_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conv
...
@@ -599,7 +599,7 @@ func deepCopy_api_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conv
out
.
Max
=
nil
out
.
Max
=
nil
}
}
if
in
.
Min
!=
nil
{
if
in
.
Min
!=
nil
{
out
.
Min
=
make
(
ResourceList
)
out
.
Min
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Min
{
for
key
,
val
:=
range
in
.
Min
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -611,7 +611,7 @@ func deepCopy_api_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conv
...
@@ -611,7 +611,7 @@ func deepCopy_api_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conv
out
.
Min
=
nil
out
.
Min
=
nil
}
}
if
in
.
Default
!=
nil
{
if
in
.
Default
!=
nil
{
out
.
Default
=
make
(
ResourceList
)
out
.
Default
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Default
{
for
key
,
val
:=
range
in
.
Default
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -857,7 +857,7 @@ func deepCopy_api_NodeSpec(in NodeSpec, out *NodeSpec, c *conversion.Cloner) err
...
@@ -857,7 +857,7 @@ func deepCopy_api_NodeSpec(in NodeSpec, out *NodeSpec, c *conversion.Cloner) err
func
deepCopy_api_NodeStatus
(
in
NodeStatus
,
out
*
NodeStatus
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_NodeStatus
(
in
NodeStatus
,
out
*
NodeStatus
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1041,7 +1041,7 @@ func deepCopy_api_PersistentVolumeClaimStatus(in PersistentVolumeClaimStatus, ou
...
@@ -1041,7 +1041,7 @@ func deepCopy_api_PersistentVolumeClaimStatus(in PersistentVolumeClaimStatus, ou
out
.
AccessModes
=
nil
out
.
AccessModes
=
nil
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1143,7 +1143,7 @@ func deepCopy_api_PersistentVolumeSource(in PersistentVolumeSource, out *Persist
...
@@ -1143,7 +1143,7 @@ func deepCopy_api_PersistentVolumeSource(in PersistentVolumeSource, out *Persist
func
deepCopy_api_PersistentVolumeSpec
(
in
PersistentVolumeSpec
,
out
*
PersistentVolumeSpec
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_PersistentVolumeSpec
(
in
PersistentVolumeSpec
,
out
*
PersistentVolumeSpec
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1571,7 +1571,7 @@ func deepCopy_api_ResourceQuotaList(in ResourceQuotaList, out *ResourceQuotaList
...
@@ -1571,7 +1571,7 @@ func deepCopy_api_ResourceQuotaList(in ResourceQuotaList, out *ResourceQuotaList
func
deepCopy_api_ResourceQuotaSpec
(
in
ResourceQuotaSpec
,
out
*
ResourceQuotaSpec
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_ResourceQuotaSpec
(
in
ResourceQuotaSpec
,
out
*
ResourceQuotaSpec
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1587,7 +1587,7 @@ func deepCopy_api_ResourceQuotaSpec(in ResourceQuotaSpec, out *ResourceQuotaSpec
...
@@ -1587,7 +1587,7 @@ func deepCopy_api_ResourceQuotaSpec(in ResourceQuotaSpec, out *ResourceQuotaSpec
func
deepCopy_api_ResourceQuotaStatus
(
in
ResourceQuotaStatus
,
out
*
ResourceQuotaStatus
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_ResourceQuotaStatus
(
in
ResourceQuotaStatus
,
out
*
ResourceQuotaStatus
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1599,7 +1599,7 @@ func deepCopy_api_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuota
...
@@ -1599,7 +1599,7 @@ func deepCopy_api_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuota
out
.
Hard
=
nil
out
.
Hard
=
nil
}
}
if
in
.
Used
!=
nil
{
if
in
.
Used
!=
nil
{
out
.
Used
=
make
(
ResourceList
)
out
.
Used
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Used
{
for
key
,
val
:=
range
in
.
Used
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1615,7 +1615,7 @@ func deepCopy_api_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuota
...
@@ -1615,7 +1615,7 @@ func deepCopy_api_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuota
func
deepCopy_api_ResourceRequirements
(
in
ResourceRequirements
,
out
*
ResourceRequirements
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_api_ResourceRequirements
(
in
ResourceRequirements
,
out
*
ResourceRequirements
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Limits
!=
nil
{
if
in
.
Limits
!=
nil
{
out
.
Limits
=
make
(
ResourceList
)
out
.
Limits
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Limits
{
for
key
,
val
:=
range
in
.
Limits
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1627,7 +1627,7 @@ func deepCopy_api_ResourceRequirements(in ResourceRequirements, out *ResourceReq
...
@@ -1627,7 +1627,7 @@ func deepCopy_api_ResourceRequirements(in ResourceRequirements, out *ResourceReq
out
.
Limits
=
nil
out
.
Limits
=
nil
}
}
if
in
.
Requests
!=
nil
{
if
in
.
Requests
!=
nil
{
out
.
Requests
=
make
(
ResourceList
)
out
.
Requests
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Requests
{
for
key
,
val
:=
range
in
.
Requests
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
...
pkg/api/v1/conversion_generated.go
View file @
94a387d5
...
@@ -16,14 +16,15 @@ limitations under the License.
...
@@ -16,14 +16,15 @@ limitations under the License.
package
v1
package
v1
// AUTO-GENERATED FUNCTIONS START HERE
import
(
import
(
api
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"reflect"
resource
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
conversion
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
reflect
"reflect"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
)
)
// AUTO-GENERATED FUNCTIONS START HERE
func
convert_api_AWSElasticBlockStoreVolumeSource_To_v1_AWSElasticBlockStoreVolumeSource
(
in
*
api
.
AWSElasticBlockStoreVolumeSource
,
out
*
AWSElasticBlockStoreVolumeSource
,
s
conversion
.
Scope
)
error
{
func
convert_api_AWSElasticBlockStoreVolumeSource_To_v1_AWSElasticBlockStoreVolumeSource
(
in
*
api
.
AWSElasticBlockStoreVolumeSource
,
out
*
AWSElasticBlockStoreVolumeSource
,
s
conversion
.
Scope
)
error
{
if
defaulting
,
found
:=
s
.
DefaultingInterface
(
reflect
.
TypeOf
(
*
in
));
found
{
if
defaulting
,
found
:=
s
.
DefaultingInterface
(
reflect
.
TypeOf
(
*
in
));
found
{
defaulting
.
(
func
(
*
api
.
AWSElasticBlockStoreVolumeSource
))(
in
)
defaulting
.
(
func
(
*
api
.
AWSElasticBlockStoreVolumeSource
))(
in
)
...
@@ -691,7 +692,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
...
@@ -691,7 +692,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
}
}
out
.
Type
=
LimitType
(
in
.
Type
)
out
.
Type
=
LimitType
(
in
.
Type
)
if
in
.
Max
!=
nil
{
if
in
.
Max
!=
nil
{
out
.
Max
=
make
(
ResourceList
)
out
.
Max
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Max
{
for
key
,
val
:=
range
in
.
Max
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -703,7 +704,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
...
@@ -703,7 +704,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
out
.
Max
=
nil
out
.
Max
=
nil
}
}
if
in
.
Min
!=
nil
{
if
in
.
Min
!=
nil
{
out
.
Min
=
make
(
ResourceList
)
out
.
Min
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Min
{
for
key
,
val
:=
range
in
.
Min
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -715,7 +716,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
...
@@ -715,7 +716,7 @@ func convert_api_LimitRangeItem_To_v1_LimitRangeItem(in *api.LimitRangeItem, out
out
.
Min
=
nil
out
.
Min
=
nil
}
}
if
in
.
Default
!=
nil
{
if
in
.
Default
!=
nil
{
out
.
Default
=
make
(
ResourceList
)
out
.
Default
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Default
{
for
key
,
val
:=
range
in
.
Default
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1005,7 +1006,7 @@ func convert_api_NodeStatus_To_v1_NodeStatus(in *api.NodeStatus, out *NodeStatus
...
@@ -1005,7 +1006,7 @@ func convert_api_NodeStatus_To_v1_NodeStatus(in *api.NodeStatus, out *NodeStatus
defaulting
.
(
func
(
*
api
.
NodeStatus
))(
in
)
defaulting
.
(
func
(
*
api
.
NodeStatus
))(
in
)
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1215,7 +1216,7 @@ func convert_api_PersistentVolumeClaimStatus_To_v1_PersistentVolumeClaimStatus(i
...
@@ -1215,7 +1216,7 @@ func convert_api_PersistentVolumeClaimStatus_To_v1_PersistentVolumeClaimStatus(i
out
.
AccessModes
=
nil
out
.
AccessModes
=
nil
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1329,7 +1330,7 @@ func convert_api_PersistentVolumeSpec_To_v1_PersistentVolumeSpec(in *api.Persist
...
@@ -1329,7 +1330,7 @@ func convert_api_PersistentVolumeSpec_To_v1_PersistentVolumeSpec(in *api.Persist
defaulting
.
(
func
(
*
api
.
PersistentVolumeSpec
))(
in
)
defaulting
.
(
func
(
*
api
.
PersistentVolumeSpec
))(
in
)
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1734,7 +1735,7 @@ func convert_api_ResourceQuotaSpec_To_v1_ResourceQuotaSpec(in *api.ResourceQuota
...
@@ -1734,7 +1735,7 @@ func convert_api_ResourceQuotaSpec_To_v1_ResourceQuotaSpec(in *api.ResourceQuota
defaulting
.
(
func
(
*
api
.
ResourceQuotaSpec
))(
in
)
defaulting
.
(
func
(
*
api
.
ResourceQuotaSpec
))(
in
)
}
}
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1753,7 +1754,7 @@ func convert_api_ResourceQuotaStatus_To_v1_ResourceQuotaStatus(in *api.ResourceQ
...
@@ -1753,7 +1754,7 @@ func convert_api_ResourceQuotaStatus_To_v1_ResourceQuotaStatus(in *api.ResourceQ
defaulting
.
(
func
(
*
api
.
ResourceQuotaStatus
))(
in
)
defaulting
.
(
func
(
*
api
.
ResourceQuotaStatus
))(
in
)
}
}
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1765,7 +1766,7 @@ func convert_api_ResourceQuotaStatus_To_v1_ResourceQuotaStatus(in *api.ResourceQ
...
@@ -1765,7 +1766,7 @@ func convert_api_ResourceQuotaStatus_To_v1_ResourceQuotaStatus(in *api.ResourceQ
out
.
Hard
=
nil
out
.
Hard
=
nil
}
}
if
in
.
Used
!=
nil
{
if
in
.
Used
!=
nil
{
out
.
Used
=
make
(
ResourceList
)
out
.
Used
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Used
{
for
key
,
val
:=
range
in
.
Used
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1784,7 +1785,7 @@ func convert_api_ResourceRequirements_To_v1_ResourceRequirements(in *api.Resourc
...
@@ -1784,7 +1785,7 @@ func convert_api_ResourceRequirements_To_v1_ResourceRequirements(in *api.Resourc
defaulting
.
(
func
(
*
api
.
ResourceRequirements
))(
in
)
defaulting
.
(
func
(
*
api
.
ResourceRequirements
))(
in
)
}
}
if
in
.
Limits
!=
nil
{
if
in
.
Limits
!=
nil
{
out
.
Limits
=
make
(
ResourceList
)
out
.
Limits
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Limits
{
for
key
,
val
:=
range
in
.
Limits
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -1796,7 +1797,7 @@ func convert_api_ResourceRequirements_To_v1_ResourceRequirements(in *api.Resourc
...
@@ -1796,7 +1797,7 @@ func convert_api_ResourceRequirements_To_v1_ResourceRequirements(in *api.Resourc
out
.
Limits
=
nil
out
.
Limits
=
nil
}
}
if
in
.
Requests
!=
nil
{
if
in
.
Requests
!=
nil
{
out
.
Requests
=
make
(
ResourceList
)
out
.
Requests
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Requests
{
for
key
,
val
:=
range
in
.
Requests
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -2941,7 +2942,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
...
@@ -2941,7 +2942,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
}
}
out
.
Type
=
api
.
LimitType
(
in
.
Type
)
out
.
Type
=
api
.
LimitType
(
in
.
Type
)
if
in
.
Max
!=
nil
{
if
in
.
Max
!=
nil
{
out
.
Max
=
make
(
api
.
ResourceList
)
out
.
Max
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Max
{
for
key
,
val
:=
range
in
.
Max
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -2953,7 +2954,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
...
@@ -2953,7 +2954,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
out
.
Max
=
nil
out
.
Max
=
nil
}
}
if
in
.
Min
!=
nil
{
if
in
.
Min
!=
nil
{
out
.
Min
=
make
(
api
.
ResourceList
)
out
.
Min
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Min
{
for
key
,
val
:=
range
in
.
Min
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -2965,7 +2966,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
...
@@ -2965,7 +2966,7 @@ func convert_v1_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *ap
out
.
Min
=
nil
out
.
Min
=
nil
}
}
if
in
.
Default
!=
nil
{
if
in
.
Default
!=
nil
{
out
.
Default
=
make
(
api
.
ResourceList
)
out
.
Default
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Default
{
for
key
,
val
:=
range
in
.
Default
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -3255,7 +3256,7 @@ func convert_v1_NodeStatus_To_api_NodeStatus(in *NodeStatus, out *api.NodeStatus
...
@@ -3255,7 +3256,7 @@ func convert_v1_NodeStatus_To_api_NodeStatus(in *NodeStatus, out *api.NodeStatus
defaulting
.
(
func
(
*
NodeStatus
))(
in
)
defaulting
.
(
func
(
*
NodeStatus
))(
in
)
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
api
.
ResourceList
)
out
.
Capacity
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -3465,7 +3466,7 @@ func convert_v1_PersistentVolumeClaimStatus_To_api_PersistentVolumeClaimStatus(i
...
@@ -3465,7 +3466,7 @@ func convert_v1_PersistentVolumeClaimStatus_To_api_PersistentVolumeClaimStatus(i
out
.
AccessModes
=
nil
out
.
AccessModes
=
nil
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
api
.
ResourceList
)
out
.
Capacity
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -3579,7 +3580,7 @@ func convert_v1_PersistentVolumeSpec_To_api_PersistentVolumeSpec(in *PersistentV
...
@@ -3579,7 +3580,7 @@ func convert_v1_PersistentVolumeSpec_To_api_PersistentVolumeSpec(in *PersistentV
defaulting
.
(
func
(
*
PersistentVolumeSpec
))(
in
)
defaulting
.
(
func
(
*
PersistentVolumeSpec
))(
in
)
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
api
.
ResourceList
)
out
.
Capacity
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -3984,7 +3985,7 @@ func convert_v1_ResourceQuotaSpec_To_api_ResourceQuotaSpec(in *ResourceQuotaSpec
...
@@ -3984,7 +3985,7 @@ func convert_v1_ResourceQuotaSpec_To_api_ResourceQuotaSpec(in *ResourceQuotaSpec
defaulting
.
(
func
(
*
ResourceQuotaSpec
))(
in
)
defaulting
.
(
func
(
*
ResourceQuotaSpec
))(
in
)
}
}
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
api
.
ResourceList
)
out
.
Hard
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -4003,7 +4004,7 @@ func convert_v1_ResourceQuotaStatus_To_api_ResourceQuotaStatus(in *ResourceQuota
...
@@ -4003,7 +4004,7 @@ func convert_v1_ResourceQuotaStatus_To_api_ResourceQuotaStatus(in *ResourceQuota
defaulting
.
(
func
(
*
ResourceQuotaStatus
))(
in
)
defaulting
.
(
func
(
*
ResourceQuotaStatus
))(
in
)
}
}
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
api
.
ResourceList
)
out
.
Hard
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -4015,7 +4016,7 @@ func convert_v1_ResourceQuotaStatus_To_api_ResourceQuotaStatus(in *ResourceQuota
...
@@ -4015,7 +4016,7 @@ func convert_v1_ResourceQuotaStatus_To_api_ResourceQuotaStatus(in *ResourceQuota
out
.
Hard
=
nil
out
.
Hard
=
nil
}
}
if
in
.
Used
!=
nil
{
if
in
.
Used
!=
nil
{
out
.
Used
=
make
(
api
.
ResourceList
)
out
.
Used
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Used
{
for
key
,
val
:=
range
in
.
Used
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -4034,7 +4035,7 @@ func convert_v1_ResourceRequirements_To_api_ResourceRequirements(in *ResourceReq
...
@@ -4034,7 +4035,7 @@ func convert_v1_ResourceRequirements_To_api_ResourceRequirements(in *ResourceReq
defaulting
.
(
func
(
*
ResourceRequirements
))(
in
)
defaulting
.
(
func
(
*
ResourceRequirements
))(
in
)
}
}
if
in
.
Limits
!=
nil
{
if
in
.
Limits
!=
nil
{
out
.
Limits
=
make
(
api
.
ResourceList
)
out
.
Limits
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Limits
{
for
key
,
val
:=
range
in
.
Limits
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
@@ -4046,7 +4047,7 @@ func convert_v1_ResourceRequirements_To_api_ResourceRequirements(in *ResourceReq
...
@@ -4046,7 +4047,7 @@ func convert_v1_ResourceRequirements_To_api_ResourceRequirements(in *ResourceReq
out
.
Limits
=
nil
out
.
Limits
=
nil
}
}
if
in
.
Requests
!=
nil
{
if
in
.
Requests
!=
nil
{
out
.
Requests
=
make
(
api
.
ResourceList
)
out
.
Requests
=
make
(
map
[
api
.
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Requests
{
for
key
,
val
:=
range
in
.
Requests
{
newVal
:=
resource
.
Quantity
{}
newVal
:=
resource
.
Quantity
{}
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
if
err
:=
s
.
Convert
(
&
val
,
&
newVal
,
0
);
err
!=
nil
{
...
...
pkg/api/v1/deep_copy_generated.go
View file @
94a387d5
...
@@ -18,13 +18,13 @@ package v1
...
@@ -18,13 +18,13 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE
// AUTO-GENERATED FUNCTIONS START HERE
import
(
import
(
api
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
resource
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
conversion
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
runtime
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
util
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
inf
"speter.net/go/exp/math/dec/inf"
"speter.net/go/exp/math/dec/inf"
time
"time"
"time"
)
)
func
deepCopy_resource_Quantity
(
in
resource
.
Quantity
,
out
*
resource
.
Quantity
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_resource_Quantity
(
in
resource
.
Quantity
,
out
*
resource
.
Quantity
,
c
*
conversion
.
Cloner
)
error
{
...
@@ -600,7 +600,7 @@ func deepCopy_v1_LimitRange(in LimitRange, out *LimitRange, c *conversion.Cloner
...
@@ -600,7 +600,7 @@ func deepCopy_v1_LimitRange(in LimitRange, out *LimitRange, c *conversion.Cloner
func
deepCopy_v1_LimitRangeItem
(
in
LimitRangeItem
,
out
*
LimitRangeItem
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_LimitRangeItem
(
in
LimitRangeItem
,
out
*
LimitRangeItem
,
c
*
conversion
.
Cloner
)
error
{
out
.
Type
=
in
.
Type
out
.
Type
=
in
.
Type
if
in
.
Max
!=
nil
{
if
in
.
Max
!=
nil
{
out
.
Max
=
make
(
ResourceList
)
out
.
Max
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Max
{
for
key
,
val
:=
range
in
.
Max
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -612,7 +612,7 @@ func deepCopy_v1_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conve
...
@@ -612,7 +612,7 @@ func deepCopy_v1_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conve
out
.
Max
=
nil
out
.
Max
=
nil
}
}
if
in
.
Min
!=
nil
{
if
in
.
Min
!=
nil
{
out
.
Min
=
make
(
ResourceList
)
out
.
Min
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Min
{
for
key
,
val
:=
range
in
.
Min
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -624,7 +624,7 @@ func deepCopy_v1_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conve
...
@@ -624,7 +624,7 @@ func deepCopy_v1_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conve
out
.
Min
=
nil
out
.
Min
=
nil
}
}
if
in
.
Default
!=
nil
{
if
in
.
Default
!=
nil
{
out
.
Default
=
make
(
ResourceList
)
out
.
Default
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Default
{
for
key
,
val
:=
range
in
.
Default
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -860,7 +860,7 @@ func deepCopy_v1_NodeSpec(in NodeSpec, out *NodeSpec, c *conversion.Cloner) erro
...
@@ -860,7 +860,7 @@ func deepCopy_v1_NodeSpec(in NodeSpec, out *NodeSpec, c *conversion.Cloner) erro
func
deepCopy_v1_NodeStatus
(
in
NodeStatus
,
out
*
NodeStatus
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_NodeStatus
(
in
NodeStatus
,
out
*
NodeStatus
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1044,7 +1044,7 @@ func deepCopy_v1_PersistentVolumeClaimStatus(in PersistentVolumeClaimStatus, out
...
@@ -1044,7 +1044,7 @@ func deepCopy_v1_PersistentVolumeClaimStatus(in PersistentVolumeClaimStatus, out
out
.
AccessModes
=
nil
out
.
AccessModes
=
nil
}
}
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1146,7 +1146,7 @@ func deepCopy_v1_PersistentVolumeSource(in PersistentVolumeSource, out *Persiste
...
@@ -1146,7 +1146,7 @@ func deepCopy_v1_PersistentVolumeSource(in PersistentVolumeSource, out *Persiste
func
deepCopy_v1_PersistentVolumeSpec
(
in
PersistentVolumeSpec
,
out
*
PersistentVolumeSpec
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_PersistentVolumeSpec
(
in
PersistentVolumeSpec
,
out
*
PersistentVolumeSpec
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Capacity
!=
nil
{
if
in
.
Capacity
!=
nil
{
out
.
Capacity
=
make
(
ResourceList
)
out
.
Capacity
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Capacity
{
for
key
,
val
:=
range
in
.
Capacity
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1580,7 +1580,7 @@ func deepCopy_v1_ResourceQuotaList(in ResourceQuotaList, out *ResourceQuotaList,
...
@@ -1580,7 +1580,7 @@ func deepCopy_v1_ResourceQuotaList(in ResourceQuotaList, out *ResourceQuotaList,
func
deepCopy_v1_ResourceQuotaSpec
(
in
ResourceQuotaSpec
,
out
*
ResourceQuotaSpec
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_ResourceQuotaSpec
(
in
ResourceQuotaSpec
,
out
*
ResourceQuotaSpec
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1596,7 +1596,7 @@ func deepCopy_v1_ResourceQuotaSpec(in ResourceQuotaSpec, out *ResourceQuotaSpec,
...
@@ -1596,7 +1596,7 @@ func deepCopy_v1_ResourceQuotaSpec(in ResourceQuotaSpec, out *ResourceQuotaSpec,
func
deepCopy_v1_ResourceQuotaStatus
(
in
ResourceQuotaStatus
,
out
*
ResourceQuotaStatus
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_ResourceQuotaStatus
(
in
ResourceQuotaStatus
,
out
*
ResourceQuotaStatus
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Hard
!=
nil
{
if
in
.
Hard
!=
nil
{
out
.
Hard
=
make
(
ResourceList
)
out
.
Hard
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Hard
{
for
key
,
val
:=
range
in
.
Hard
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1608,7 +1608,7 @@ func deepCopy_v1_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuotaS
...
@@ -1608,7 +1608,7 @@ func deepCopy_v1_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuotaS
out
.
Hard
=
nil
out
.
Hard
=
nil
}
}
if
in
.
Used
!=
nil
{
if
in
.
Used
!=
nil
{
out
.
Used
=
make
(
ResourceList
)
out
.
Used
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Used
{
for
key
,
val
:=
range
in
.
Used
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1624,7 +1624,7 @@ func deepCopy_v1_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuotaS
...
@@ -1624,7 +1624,7 @@ func deepCopy_v1_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuotaS
func
deepCopy_v1_ResourceRequirements
(
in
ResourceRequirements
,
out
*
ResourceRequirements
,
c
*
conversion
.
Cloner
)
error
{
func
deepCopy_v1_ResourceRequirements
(
in
ResourceRequirements
,
out
*
ResourceRequirements
,
c
*
conversion
.
Cloner
)
error
{
if
in
.
Limits
!=
nil
{
if
in
.
Limits
!=
nil
{
out
.
Limits
=
make
(
ResourceList
)
out
.
Limits
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Limits
{
for
key
,
val
:=
range
in
.
Limits
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
@@ -1636,7 +1636,7 @@ func deepCopy_v1_ResourceRequirements(in ResourceRequirements, out *ResourceRequ
...
@@ -1636,7 +1636,7 @@ func deepCopy_v1_ResourceRequirements(in ResourceRequirements, out *ResourceRequ
out
.
Limits
=
nil
out
.
Limits
=
nil
}
}
if
in
.
Requests
!=
nil
{
if
in
.
Requests
!=
nil
{
out
.
Requests
=
make
(
ResourceList
)
out
.
Requests
=
make
(
map
[
ResourceName
]
resource
.
Quantity
)
for
key
,
val
:=
range
in
.
Requests
{
for
key
,
val
:=
range
in
.
Requests
{
newVal
:=
new
(
resource
.
Quantity
)
newVal
:=
new
(
resource
.
Quantity
)
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
if
err
:=
deepCopy_resource_Quantity
(
val
,
newVal
,
c
);
err
!=
nil
{
...
...
pkg/runtime/conversion_generator.go
View file @
94a387d5
...
@@ -19,69 +19,40 @@ package runtime
...
@@ -19,69 +19,40 @@ package runtime
import
(
import
(
"fmt"
"fmt"
"io"
"io"
"path"
"reflect"
"reflect"
"sort"
"sort"
"strings"
"strings"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
)
)
type
ConversionGenerator
interface
{
type
ConversionGenerator
interface
{
GenerateConversionsForType
(
version
string
,
reflection
reflect
.
Type
)
error
GenerateConversionsForType
(
version
string
,
reflection
reflect
.
Type
)
error
WriteConversionFunctions
(
w
io
.
Writer
)
error
WriteConversionFunctions
(
w
io
.
Writer
)
error
RegisterConversionFunctions
(
w
io
.
Writer
,
pkg
string
)
error
RegisterConversionFunctions
(
w
io
.
Writer
)
error
AddImport
(
pkg
string
)
string
RepackImports
(
exclude
util
.
StringSet
)
WriteImports
(
w
io
.
Writer
)
error
OverwritePackage
(
pkg
,
overwrite
string
)
OverwritePackage
(
pkg
,
overwrite
string
)
AssumePrivateConversions
()
}
}
func
NewConversionGenerator
(
scheme
*
conversion
.
Scheme
,
targetPkg
string
)
ConversionGenerator
{
func
NewConversionGenerator
(
scheme
*
conversion
.
Scheme
)
ConversionGenerator
{
g
:=
&
conversionGenerator
{
return
&
conversionGenerator
{
scheme
:
scheme
,
scheme
:
scheme
,
targetPkg
:
targetPkg
,
convertibles
:
make
(
map
[
reflect
.
Type
]
reflect
.
Type
),
convertibles
:
make
(
map
[
reflect
.
Type
]
reflect
.
Type
),
pkgOverwrites
:
make
(
map
[
string
]
string
),
pkgOverwrites
:
make
(
map
[
string
]
string
),
imports
:
make
(
map
[
string
]
string
),
shortImports
:
make
(
map
[
string
]
string
),
}
}
g
.
targetPackage
(
targetPkg
)
g
.
AddImport
(
"reflect"
)
g
.
AddImport
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
)
return
g
}
}
var
complexTypes
[]
reflect
.
Kind
=
[]
reflect
.
Kind
{
reflect
.
Map
,
reflect
.
Ptr
,
reflect
.
Slice
,
reflect
.
Interface
,
reflect
.
Struct
}
var
complexTypes
[]
reflect
.
Kind
=
[]
reflect
.
Kind
{
reflect
.
Map
,
reflect
.
Ptr
,
reflect
.
Slice
,
reflect
.
Interface
,
reflect
.
Struct
}
type
conversionGenerator
struct
{
type
conversionGenerator
struct
{
scheme
*
conversion
.
Scheme
scheme
*
conversion
.
Scheme
targetPkg
string
convertibles
map
[
reflect
.
Type
]
reflect
.
Type
convertibles
map
[
reflect
.
Type
]
reflect
.
Type
// If pkgOverwrites is set for a given package name, that package name
// If pkgOverwrites is set for a given package name, that package name
// will be replaced while writing conversion function. If empty, package
// will be replaced while writing conversion function. If empty, package
// name will be omitted.
// name will be omitted.
pkgOverwrites
map
[
string
]
string
pkgOverwrites
map
[
string
]
string
// map of package names to shortname
imports
map
[
string
]
string
// map of short names to package names
shortImports
map
[
string
]
string
// A buffer that is used for storing lines that needs to be written.
// A buffer that is used for storing lines that needs to be written.
linesToPrint
[]
string
linesToPrint
[]
string
// if true, we assume conversions on the scheme are not available to us in the current package
assumePrivateConversions
bool
}
func
(
g
*
conversionGenerator
)
AssumePrivateConversions
()
{
g
.
assumePrivateConversions
=
true
}
func
(
g
*
conversionGenerator
)
AddImport
(
pkg
string
)
string
{
return
g
.
addImportByPath
(
pkg
)
}
}
func
(
g
*
conversionGenerator
)
GenerateConversionsForType
(
version
string
,
reflection
reflect
.
Type
)
error
{
func
(
g
*
conversionGenerator
)
GenerateConversionsForType
(
version
string
,
reflection
reflect
.
Type
)
error
{
...
@@ -123,10 +94,6 @@ func (g *conversionGenerator) generateConversionsBetween(inType, outType reflect
...
@@ -123,10 +94,6 @@ func (g *conversionGenerator) generateConversionsBetween(inType, outType reflect
}
}
return
fmt
.
Errorf
(
"cannot convert types of different kinds: %v %v"
,
inType
,
outType
)
return
fmt
.
Errorf
(
"cannot convert types of different kinds: %v %v"
,
inType
,
outType
)
}
}
g
.
addImportByPath
(
inType
.
PkgPath
())
g
.
addImportByPath
(
outType
.
PkgPath
())
// We should be able to generate conversions both sides.
// We should be able to generate conversions both sides.
switch
inType
.
Kind
()
{
switch
inType
.
Kind
()
{
case
reflect
.
Map
:
case
reflect
.
Map
:
...
@@ -188,15 +155,11 @@ func isComplexType(reflection reflect.Type) bool {
...
@@ -188,15 +155,11 @@ func isComplexType(reflection reflect.Type) bool {
func
(
g
*
conversionGenerator
)
generateConversionsForMap
(
inType
,
outType
reflect
.
Type
)
error
{
func
(
g
*
conversionGenerator
)
generateConversionsForMap
(
inType
,
outType
reflect
.
Type
)
error
{
inKey
:=
inType
.
Key
()
inKey
:=
inType
.
Key
()
outKey
:=
outType
.
Key
()
outKey
:=
outType
.
Key
()
g
.
addImportByPath
(
inKey
.
PkgPath
())
g
.
addImportByPath
(
outKey
.
PkgPath
())
if
err
:=
g
.
generateConversionsBetween
(
inKey
,
outKey
);
err
!=
nil
{
if
err
:=
g
.
generateConversionsBetween
(
inKey
,
outKey
);
err
!=
nil
{
return
err
return
err
}
}
inValue
:=
inType
.
Elem
()
inValue
:=
inType
.
Elem
()
outValue
:=
outType
.
Elem
()
outValue
:=
outType
.
Elem
()
g
.
addImportByPath
(
inKey
.
PkgPath
())
g
.
addImportByPath
(
outKey
.
PkgPath
())
if
err
:=
g
.
generateConversionsBetween
(
inValue
,
outValue
);
err
!=
nil
{
if
err
:=
g
.
generateConversionsBetween
(
inValue
,
outValue
);
err
!=
nil
{
return
err
return
err
}
}
...
@@ -275,54 +238,6 @@ func (s byName) Swap(i, j int) {
...
@@ -275,54 +238,6 @@ func (s byName) Swap(i, j int) {
s
[
i
],
s
[
j
]
=
s
[
j
],
s
[
i
]
s
[
i
],
s
[
j
]
=
s
[
j
],
s
[
i
]
}
}
func
(
g
*
conversionGenerator
)
targetPackage
(
pkg
string
)
{
g
.
imports
[
pkg
]
=
""
g
.
shortImports
[
""
]
=
pkg
}
func
(
g
*
conversionGenerator
)
RepackImports
(
exclude
util
.
StringSet
)
{
var
packages
[]
string
for
key
:=
range
g
.
imports
{
packages
=
append
(
packages
,
key
)
}
sort
.
Strings
(
packages
)
g
.
imports
=
make
(
map
[
string
]
string
)
g
.
shortImports
=
make
(
map
[
string
]
string
)
g
.
targetPackage
(
g
.
targetPkg
)
for
_
,
pkg
:=
range
packages
{
if
!
exclude
.
Has
(
pkg
)
{
g
.
addImportByPath
(
pkg
)
}
}
}
func
(
g
*
conversionGenerator
)
WriteImports
(
w
io
.
Writer
)
error
{
var
packages
[]
string
for
key
:=
range
g
.
imports
{
packages
=
append
(
packages
,
key
)
}
sort
.
Strings
(
packages
)
buffer
:=
newBuffer
()
indent
:=
0
buffer
.
addLine
(
"import (
\n
"
,
indent
)
for
_
,
importPkg
:=
range
packages
{
if
len
(
importPkg
)
==
0
{
continue
}
if
len
(
g
.
imports
[
importPkg
])
==
0
{
continue
}
buffer
.
addLine
(
fmt
.
Sprintf
(
"%s
\"
%s
\"\n
"
,
g
.
imports
[
importPkg
],
importPkg
),
indent
+
1
)
}
buffer
.
addLine
(
")
\n
"
,
indent
)
buffer
.
addLine
(
"
\n
"
,
indent
)
if
err
:=
buffer
.
flushLines
(
w
);
err
!=
nil
{
return
err
}
return
nil
}
func
(
g
*
conversionGenerator
)
WriteConversionFunctions
(
w
io
.
Writer
)
error
{
func
(
g
*
conversionGenerator
)
WriteConversionFunctions
(
w
io
.
Writer
)
error
{
// It's desired to print conversion functions always in the same order
// It's desired to print conversion functions always in the same order
// (e.g. for better tracking of what has really been added).
// (e.g. for better tracking of what has really been added).
...
@@ -350,9 +265,9 @@ func (g *conversionGenerator) WriteConversionFunctions(w io.Writer) error {
...
@@ -350,9 +265,9 @@ func (g *conversionGenerator) WriteConversionFunctions(w io.Writer) error {
return
nil
return
nil
}
}
func
(
g
*
conversionGenerator
)
writeRegisterHeader
(
b
*
buffer
,
pkg
string
,
indent
int
)
{
func
(
g
*
conversionGenerator
)
writeRegisterHeader
(
b
*
buffer
,
indent
int
)
{
b
.
addLine
(
"func init() {
\n
"
,
indent
)
b
.
addLine
(
"func init() {
\n
"
,
indent
)
b
.
addLine
(
fmt
.
Sprintf
(
"err := %s.AddGeneratedConversionFuncs(
\n
"
,
pkg
)
,
indent
+
1
)
b
.
addLine
(
"err := api.Scheme.AddGeneratedConversionFuncs(
\n
"
,
indent
+
1
)
}
}
func
(
g
*
conversionGenerator
)
writeRegisterFooter
(
b
*
buffer
,
indent
int
)
{
func
(
g
*
conversionGenerator
)
writeRegisterFooter
(
b
*
buffer
,
indent
int
)
{
...
@@ -365,7 +280,7 @@ func (g *conversionGenerator) writeRegisterFooter(b *buffer, indent int) {
...
@@ -365,7 +280,7 @@ func (g *conversionGenerator) writeRegisterFooter(b *buffer, indent int) {
b
.
addLine
(
"
\n
"
,
indent
)
b
.
addLine
(
"
\n
"
,
indent
)
}
}
func
(
g
*
conversionGenerator
)
RegisterConversionFunctions
(
w
io
.
Writer
,
pkg
string
)
error
{
func
(
g
*
conversionGenerator
)
RegisterConversionFunctions
(
w
io
.
Writer
)
error
{
// Write conversion function names alphabetically ordered.
// Write conversion function names alphabetically ordered.
var
names
[]
string
var
names
[]
string
for
inType
,
outType
:=
range
g
.
convertibles
{
for
inType
,
outType
:=
range
g
.
convertibles
{
...
@@ -375,7 +290,7 @@ func (g *conversionGenerator) RegisterConversionFunctions(w io.Writer, pkg strin
...
@@ -375,7 +290,7 @@ func (g *conversionGenerator) RegisterConversionFunctions(w io.Writer, pkg strin
buffer
:=
newBuffer
()
buffer
:=
newBuffer
()
indent
:=
0
indent
:=
0
g
.
writeRegisterHeader
(
buffer
,
pkg
,
indent
)
g
.
writeRegisterHeader
(
buffer
,
indent
)
for
_
,
name
:=
range
names
{
for
_
,
name
:=
range
names
{
buffer
.
addLine
(
fmt
.
Sprintf
(
"%s,
\n
"
,
name
),
indent
+
2
)
buffer
.
addLine
(
fmt
.
Sprintf
(
"%s,
\n
"
,
name
),
indent
+
2
)
}
}
...
@@ -386,74 +301,32 @@ func (g *conversionGenerator) RegisterConversionFunctions(w io.Writer, pkg strin
...
@@ -386,74 +301,32 @@ func (g *conversionGenerator) RegisterConversionFunctions(w io.Writer, pkg strin
return
nil
return
nil
}
}
func
(
g
*
conversionGenerator
)
addImportByPath
(
pkg
string
)
string
{
if
name
,
ok
:=
g
.
imports
[
pkg
];
ok
{
return
name
}
name
:=
path
.
Base
(
pkg
)
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
if
dirname
:=
path
.
Base
(
path
.
Dir
(
pkg
));
len
(
dirname
)
>
0
{
name
=
dirname
+
name
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
if
subdirname
:=
path
.
Base
(
path
.
Dir
(
path
.
Dir
(
pkg
)));
len
(
subdirname
)
>
0
{
name
=
subdirname
+
name
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
}
}
for
i
:=
2
;
i
<
100
;
i
++
{
generatedName
:=
fmt
.
Sprintf
(
"%s%d"
,
name
,
i
)
if
_
,
ok
:=
g
.
shortImports
[
generatedName
];
!
ok
{
g
.
imports
[
pkg
]
=
generatedName
g
.
shortImports
[
generatedName
]
=
pkg
return
generatedName
}
}
panic
(
fmt
.
Sprintf
(
"unable to find a unique name for the package path %q: %v"
,
pkg
,
g
.
shortImports
))
}
func
(
g
*
conversionGenerator
)
typeName
(
inType
reflect
.
Type
)
string
{
func
(
g
*
conversionGenerator
)
typeName
(
inType
reflect
.
Type
)
string
{
switch
inType
.
Kind
()
{
switch
inType
.
Kind
()
{
case
reflect
.
Map
:
return
fmt
.
Sprintf
(
"map[%s]%s"
,
g
.
typeName
(
inType
.
Key
()),
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Slice
:
case
reflect
.
Slice
:
return
fmt
.
Sprintf
(
"[]%s"
,
g
.
typeName
(
inType
.
Elem
()))
return
fmt
.
Sprintf
(
"[]%s"
,
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Ptr
:
case
reflect
.
Ptr
:
return
fmt
.
Sprintf
(
"*%s"
,
g
.
typeName
(
inType
.
Elem
()))
return
fmt
.
Sprintf
(
"*%s"
,
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Map
:
if
len
(
inType
.
Name
())
==
0
{
return
fmt
.
Sprintf
(
"map[%s]%s"
,
g
.
typeName
(
inType
.
Key
()),
g
.
typeName
(
inType
.
Elem
()))
}
fallthrough
default
:
default
:
pkg
,
name
:=
inType
.
PkgPath
(),
inType
.
Name
()
typeWithPkg
:=
fmt
.
Sprintf
(
"%s"
,
inType
)
if
len
(
name
)
==
0
&&
inType
.
Kind
()
==
reflect
.
Struct
{
slices
:=
strings
.
Split
(
typeWithPkg
,
"."
)
return
"struct{}"
if
len
(
slices
)
==
1
{
}
if
len
(
pkg
)
==
0
{
// Default package.
// Default package.
return
name
return
slices
[
0
]
}
}
if
val
,
found
:=
g
.
pkgOverwrites
[
pkg
];
found
{
if
len
(
slices
)
==
2
{
pkg
=
val
pkg
:=
slices
[
0
]
}
if
val
,
found
:=
g
.
pkgOverwrites
[
pkg
];
found
{
if
len
(
pkg
)
==
0
{
pkg
=
val
return
name
}
}
if
pkg
!=
""
{
short
:=
g
.
addImportByPath
(
pkg
)
pkg
=
pkg
+
"."
if
len
(
short
)
>
0
{
}
return
fmt
.
Sprintf
(
"%s.%s"
,
short
,
name
)
return
pkg
+
slices
[
1
]
}
}
return
name
panic
(
"Incorrect type name: "
+
typeWithPkg
)
}
}
}
}
...
@@ -785,10 +658,6 @@ func (g *conversionGenerator) existsDedicatedConversionFunction(inType, outType
...
@@ -785,10 +658,6 @@ func (g *conversionGenerator) existsDedicatedConversionFunction(inType, outType
// unnamed. Thus we return false here.
// unnamed. Thus we return false here.
return
false
return
false
}
}
// TODO: no way to handle private conversions in different packages
if
g
.
assumePrivateConversions
{
return
false
}
return
g
.
scheme
.
Converter
()
.
HasConversionFunc
(
inType
,
outType
)
return
g
.
scheme
.
Converter
()
.
HasConversionFunc
(
inType
,
outType
)
}
}
...
...
pkg/runtime/deep_copy_generator.go
View file @
94a387d5
...
@@ -19,7 +19,6 @@ package runtime
...
@@ -19,7 +19,6 @@ package runtime
import
(
import
(
"fmt"
"fmt"
"io"
"io"
"path"
"reflect"
"reflect"
"sort"
"sort"
"strings"
"strings"
...
@@ -39,20 +38,9 @@ type DeepCopyGenerator interface {
...
@@ -39,20 +38,9 @@ type DeepCopyGenerator interface {
// functions for this type and all nested types will be generated.
// functions for this type and all nested types will be generated.
AddType
(
inType
reflect
.
Type
)
error
AddType
(
inType
reflect
.
Type
)
error
// ReplaceType registers a type that should be used instead of the type
// with the provided pkgPath and name.
ReplaceType
(
pkgPath
,
name
string
,
in
interface
{})
// AddImport registers a package name with the generator and returns its
// short name.
AddImport
(
pkgPath
string
)
string
// RepackImports creates a stable ordering of import short names
RepackImports
()
// Writes all imports that are necessary for deep-copy function and
// Writes all imports that are necessary for deep-copy function and
// their registration.
// their registration.
WriteImports
(
w
io
.
Writer
)
error
WriteImports
(
w
io
.
Writer
,
pkg
string
)
error
// Writes deel-copy functions for all types added via AddType() method
// Writes deel-copy functions for all types added via AddType() method
// and their nested types.
// and their nested types.
...
@@ -69,80 +57,20 @@ type DeepCopyGenerator interface {
...
@@ -69,80 +57,20 @@ type DeepCopyGenerator interface {
OverwritePackage
(
pkg
,
overwrite
string
)
OverwritePackage
(
pkg
,
overwrite
string
)
}
}
func
NewDeepCopyGenerator
(
scheme
*
conversion
.
Scheme
,
targetPkg
string
,
include
util
.
StringSet
)
DeepCopyGenerator
{
func
NewDeepCopyGenerator
(
scheme
*
conversion
.
Scheme
)
DeepCopyGenerator
{
g
:=
&
deepCopyGenerator
{
return
&
deepCopyGenerator
{
scheme
:
scheme
,
scheme
:
scheme
,
targetPkg
:
targetPkg
,
copyables
:
make
(
map
[
reflect
.
Type
]
bool
),
copyables
:
make
(
map
[
reflect
.
Type
]
bool
),
imports
:
make
(
map
[
string
]
string
),
imports
:
util
.
StringSet
{},
shortImports
:
make
(
map
[
string
]
string
),
pkgOverwrites
:
make
(
map
[
string
]
string
),
pkgOverwrites
:
make
(
map
[
string
]
string
),
replace
:
make
(
map
[
pkgPathNamePair
]
reflect
.
Type
),
include
:
include
,
}
}
g
.
targetPackage
(
targetPkg
)
g
.
AddImport
(
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
)
return
g
}
type
pkgPathNamePair
struct
{
PkgPath
string
Name
string
}
}
type
deepCopyGenerator
struct
{
type
deepCopyGenerator
struct
{
scheme
*
conversion
.
Scheme
scheme
*
conversion
.
Scheme
targetPkg
string
copyables
map
[
reflect
.
Type
]
bool
copyables
map
[
reflect
.
Type
]
bool
imports
util
.
StringSet
// map of package names to shortname
imports
map
[
string
]
string
// map of short names to package names
shortImports
map
[
string
]
string
pkgOverwrites
map
[
string
]
string
pkgOverwrites
map
[
string
]
string
replace
map
[
pkgPathNamePair
]
reflect
.
Type
include
util
.
StringSet
}
func
(
g
*
deepCopyGenerator
)
addImportByPath
(
pkg
string
)
string
{
if
name
,
ok
:=
g
.
imports
[
pkg
];
ok
{
return
name
}
name
:=
path
.
Base
(
pkg
)
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
if
dirname
:=
path
.
Base
(
path
.
Dir
(
pkg
));
len
(
dirname
)
>
0
{
name
=
dirname
+
name
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
if
subdirname
:=
path
.
Base
(
path
.
Dir
(
path
.
Dir
(
pkg
)));
len
(
subdirname
)
>
0
{
name
=
subdirname
+
name
if
_
,
ok
:=
g
.
shortImports
[
name
];
!
ok
{
g
.
imports
[
pkg
]
=
name
g
.
shortImports
[
name
]
=
pkg
return
name
}
}
}
for
i
:=
2
;
i
<
100
;
i
++
{
generatedName
:=
fmt
.
Sprintf
(
"%s%d"
,
name
,
i
)
if
_
,
ok
:=
g
.
shortImports
[
generatedName
];
!
ok
{
g
.
imports
[
pkg
]
=
generatedName
g
.
shortImports
[
generatedName
]
=
pkg
return
generatedName
}
}
panic
(
fmt
.
Sprintf
(
"unable to find a unique name for the package path %q: %v"
,
pkg
,
g
.
shortImports
))
}
func
(
g
*
deepCopyGenerator
)
targetPackage
(
pkg
string
)
{
g
.
imports
[
pkg
]
=
""
g
.
shortImports
[
""
]
=
pkg
}
}
func
(
g
*
deepCopyGenerator
)
addAllRecursiveTypes
(
inType
reflect
.
Type
)
error
{
func
(
g
*
deepCopyGenerator
)
addAllRecursiveTypes
(
inType
reflect
.
Type
)
error
{
...
@@ -162,18 +90,11 @@ func (g *deepCopyGenerator) addAllRecursiveTypes(inType reflect.Type) error {
...
@@ -162,18 +90,11 @@ func (g *deepCopyGenerator) addAllRecursiveTypes(inType reflect.Type) error {
return
err
return
err
}
}
case
reflect
.
Interface
:
case
reflect
.
Interface
:
g
.
addImportByPath
(
inType
.
PkgPath
())
g
.
imports
.
Insert
(
inType
.
PkgPath
())
return
nil
return
nil
case
reflect
.
Struct
:
case
reflect
.
Struct
:
g
.
addImportByPath
(
inType
.
PkgPath
())
g
.
imports
.
Insert
(
inType
.
PkgPath
())
found
:=
false
if
!
strings
.
HasPrefix
(
inType
.
PkgPath
(),
"github.com/GoogleCloudPlatform/kubernetes"
)
{
for
s
:=
range
g
.
include
{
if
strings
.
HasPrefix
(
inType
.
PkgPath
(),
s
)
{
found
=
true
break
}
}
if
!
found
{
return
nil
return
nil
}
}
for
i
:=
0
;
i
<
inType
.
NumField
();
i
++
{
for
i
:=
0
;
i
<
inType
.
NumField
();
i
++
{
...
@@ -189,15 +110,6 @@ func (g *deepCopyGenerator) addAllRecursiveTypes(inType reflect.Type) error {
...
@@ -189,15 +110,6 @@ func (g *deepCopyGenerator) addAllRecursiveTypes(inType reflect.Type) error {
return
nil
return
nil
}
}
func
(
g
*
deepCopyGenerator
)
AddImport
(
pkg
string
)
string
{
return
g
.
addImportByPath
(
pkg
)
}
// ReplaceType registers a replacement type to be used instead of the named type
func
(
g
*
deepCopyGenerator
)
ReplaceType
(
pkgPath
,
name
string
,
t
interface
{})
{
g
.
replace
[
pkgPathNamePair
{
pkgPath
,
name
}]
=
reflect
.
TypeOf
(
t
)
}
func
(
g
*
deepCopyGenerator
)
AddType
(
inType
reflect
.
Type
)
error
{
func
(
g
*
deepCopyGenerator
)
AddType
(
inType
reflect
.
Type
)
error
{
if
inType
.
Kind
()
!=
reflect
.
Struct
{
if
inType
.
Kind
()
!=
reflect
.
Struct
{
return
fmt
.
Errorf
(
"non-struct copies are not supported"
)
return
fmt
.
Errorf
(
"non-struct copies are not supported"
)
...
@@ -205,23 +117,10 @@ func (g *deepCopyGenerator) AddType(inType reflect.Type) error {
...
@@ -205,23 +117,10 @@ func (g *deepCopyGenerator) AddType(inType reflect.Type) error {
return
g
.
addAllRecursiveTypes
(
inType
)
return
g
.
addAllRecursiveTypes
(
inType
)
}
}
func
(
g
*
deepCopyGenerator
)
RepackImports
()
{
func
(
g
*
deepCopyGenerator
)
WriteImports
(
w
io
.
Writer
,
pkg
string
)
error
{
var
packages
[]
string
for
key
:=
range
g
.
imports
{
packages
=
append
(
packages
,
key
)
}
sort
.
Strings
(
packages
)
g
.
imports
=
make
(
map
[
string
]
string
)
g
.
shortImports
=
make
(
map
[
string
]
string
)
g
.
targetPackage
(
g
.
targetPkg
)
for
_
,
pkg
:=
range
packages
{
g
.
addImportByPath
(
pkg
)
}
}
func
(
g
*
deepCopyGenerator
)
WriteImports
(
w
io
.
Writer
)
error
{
var
packages
[]
string
var
packages
[]
string
packages
=
append
(
packages
,
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
)
packages
=
append
(
packages
,
"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
)
for
key
:=
range
g
.
imports
{
for
key
:=
range
g
.
imports
{
packages
=
append
(
packages
,
key
)
packages
=
append
(
packages
,
key
)
}
}
...
@@ -231,13 +130,10 @@ func (g *deepCopyGenerator) WriteImports(w io.Writer) error {
...
@@ -231,13 +130,10 @@ func (g *deepCopyGenerator) WriteImports(w io.Writer) error {
indent
:=
0
indent
:=
0
buffer
.
addLine
(
"import (
\n
"
,
indent
)
buffer
.
addLine
(
"import (
\n
"
,
indent
)
for
_
,
importPkg
:=
range
packages
{
for
_
,
importPkg
:=
range
packages
{
if
len
(
importPkg
)
==
0
{
if
strings
.
HasSuffix
(
importPkg
,
pkg
)
{
continue
}
if
len
(
g
.
imports
[
importPkg
])
==
0
{
continue
continue
}
}
buffer
.
addLine
(
fmt
.
Sprintf
(
"
%s
\"
%s
\"\n
"
,
g
.
imports
[
importPkg
]
,
importPkg
),
indent
+
1
)
buffer
.
addLine
(
fmt
.
Sprintf
(
"
\"
%s
\"\n
"
,
importPkg
),
indent
+
1
)
}
}
buffer
.
addLine
(
")
\n
"
,
indent
)
buffer
.
addLine
(
")
\n
"
,
indent
)
buffer
.
addLine
(
"
\n
"
,
indent
)
buffer
.
addLine
(
"
\n
"
,
indent
)
...
@@ -263,45 +159,33 @@ func (s byPkgAndName) Swap(i, j int) {
...
@@ -263,45 +159,33 @@ func (s byPkgAndName) Swap(i, j int) {
s
[
i
],
s
[
j
]
=
s
[
j
],
s
[
i
]
s
[
i
],
s
[
j
]
=
s
[
j
],
s
[
i
]
}
}
func
(
g
*
deepCopyGenerator
)
nameForTyp
e
(
inType
reflect
.
Type
)
string
{
func
(
g
*
deepCopyGenerator
)
typeNam
e
(
inType
reflect
.
Type
)
string
{
switch
inType
.
Kind
()
{
switch
inType
.
Kind
()
{
case
reflect
.
Map
:
return
fmt
.
Sprintf
(
"map[%s]%s"
,
g
.
typeName
(
inType
.
Key
()),
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Slice
:
case
reflect
.
Slice
:
return
fmt
.
Sprintf
(
"[]%s"
,
g
.
typeName
(
inType
.
Elem
()))
return
fmt
.
Sprintf
(
"[]%s"
,
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Ptr
:
case
reflect
.
Ptr
:
return
fmt
.
Sprintf
(
"*%s"
,
g
.
typeName
(
inType
.
Elem
()))
return
fmt
.
Sprintf
(
"*%s"
,
g
.
typeName
(
inType
.
Elem
()))
case
reflect
.
Map
:
if
len
(
inType
.
Name
())
==
0
{
return
fmt
.
Sprintf
(
"map[%s]%s"
,
g
.
typeName
(
inType
.
Key
()),
g
.
typeName
(
inType
.
Elem
()))
}
fallthrough
default
:
default
:
pkg
,
name
:=
inType
.
PkgPath
(),
inType
.
Name
()
typeWithPkg
:=
fmt
.
Sprintf
(
"%s"
,
inType
)
if
len
(
name
)
==
0
&&
inType
.
Kind
()
==
reflect
.
Struct
{
slices
:=
strings
.
Split
(
typeWithPkg
,
"."
)
return
"struct{}"
if
len
(
slices
)
==
1
{
}
if
len
(
pkg
)
==
0
{
// Default package.
// Default package.
return
name
return
slices
[
0
]
}
}
if
val
,
found
:=
g
.
pkgOverwrites
[
pkg
];
found
{
if
len
(
slices
)
==
2
{
pkg
=
val
pkg
:=
slices
[
0
]
}
if
val
,
found
:=
g
.
pkgOverwrites
[
pkg
];
found
{
if
len
(
pkg
)
==
0
{
pkg
=
val
return
name
}
}
if
pkg
!=
""
{
short
:=
g
.
addImportByPath
(
pkg
)
pkg
=
pkg
+
"."
if
len
(
short
)
>
0
{
}
return
fmt
.
Sprintf
(
"%s.%s"
,
short
,
name
)
return
pkg
+
slices
[
1
]
}
}
return
name
panic
(
"Incorrect type name: "
+
typeWithPkg
)
}
}
func
(
g
*
deepCopyGenerator
)
typeName
(
inType
reflect
.
Type
)
string
{
if
t
,
ok
:=
g
.
replace
[
pkgPathNamePair
{
inType
.
PkgPath
(),
inType
.
Name
()}];
ok
{
return
g
.
nameForType
(
t
)
}
}
return
g
.
nameForType
(
inType
)
}
}
func
(
g
*
deepCopyGenerator
)
deepCopyFunctionName
(
inType
reflect
.
Type
)
string
{
func
(
g
*
deepCopyGenerator
)
deepCopyFunctionName
(
inType
reflect
.
Type
)
string
{
...
@@ -558,8 +442,12 @@ func (g *deepCopyGenerator) writeDeepCopyForType(b *buffer, inType reflect.Type,
...
@@ -558,8 +442,12 @@ func (g *deepCopyGenerator) writeDeepCopyForType(b *buffer, inType reflect.Type,
func
(
g
*
deepCopyGenerator
)
writeRegisterHeader
(
b
*
buffer
,
pkg
string
,
indent
int
)
{
func
(
g
*
deepCopyGenerator
)
writeRegisterHeader
(
b
*
buffer
,
pkg
string
,
indent
int
)
{
b
.
addLine
(
"func init() {
\n
"
,
indent
)
b
.
addLine
(
"func init() {
\n
"
,
indent
)
registerFormat
:=
"err := %s.AddGeneratedDeepCopyFuncs(
\n
"
registerFormat
:=
"err := %sScheme.AddGeneratedDeepCopyFuncs(
\n
"
b
.
addLine
(
fmt
.
Sprintf
(
registerFormat
,
pkg
),
indent
+
1
)
if
pkg
==
"api"
{
b
.
addLine
(
fmt
.
Sprintf
(
registerFormat
,
""
),
indent
+
1
)
}
else
{
b
.
addLine
(
fmt
.
Sprintf
(
registerFormat
,
"api."
),
indent
+
1
)
}
}
}
func
(
g
*
deepCopyGenerator
)
writeRegisterFooter
(
b
*
buffer
,
indent
int
)
{
func
(
g
*
deepCopyGenerator
)
writeRegisterFooter
(
b
*
buffer
,
indent
int
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment