Browse code

reintroduce missing conversions for imagestream kind and lowercase build trigger types

Ben Parees authored on 2015/07/24 00:04:07
Showing 6 changed files
... ...
@@ -939,7 +939,7 @@ func convert_api_BuildConfigSpec_To_v1_BuildConfigSpec(in *buildapi.BuildConfigS
939 939
 	if in.Triggers != nil {
940 940
 		out.Triggers = make([]buildapiv1.BuildTriggerPolicy, len(in.Triggers))
941 941
 		for i := range in.Triggers {
942
-			if err := convert_api_BuildTriggerPolicy_To_v1_BuildTriggerPolicy(&in.Triggers[i], &out.Triggers[i], s); err != nil {
942
+			if err := s.Convert(&in.Triggers[i], &out.Triggers[i], 0); err != nil {
943 943
 				return err
944 944
 			}
945 945
 		}
... ...
@@ -1008,29 +1008,6 @@ func convert_api_BuildLogOptions_To_v1_BuildLogOptions(in *buildapi.BuildLogOpti
1008 1008
 	return nil
1009 1009
 }
1010 1010
 
1011
-func convert_api_BuildOutput_To_v1_BuildOutput(in *buildapi.BuildOutput, out *buildapiv1.BuildOutput, s conversion.Scope) error {
1012
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1013
-		defaulting.(func(*buildapi.BuildOutput))(in)
1014
-	}
1015
-	if in.To != nil {
1016
-		out.To = new(v1.ObjectReference)
1017
-		if err := convert_api_ObjectReference_To_v1_ObjectReference(in.To, out.To, s); err != nil {
1018
-			return err
1019
-		}
1020
-	} else {
1021
-		out.To = nil
1022
-	}
1023
-	if in.PushSecret != nil {
1024
-		out.PushSecret = new(v1.LocalObjectReference)
1025
-		if err := convert_api_LocalObjectReference_To_v1_LocalObjectReference(in.PushSecret, out.PushSecret, s); err != nil {
1026
-			return err
1027
-		}
1028
-	} else {
1029
-		out.PushSecret = nil
1030
-	}
1031
-	return nil
1032
-}
1033
-
1034 1011
 func convert_api_BuildRequest_To_v1_BuildRequest(in *buildapi.BuildRequest, out *buildapiv1.BuildRequest, s conversion.Scope) error {
1035 1012
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1036 1013
 		defaulting.(func(*buildapi.BuildRequest))(in)
... ...
@@ -1104,7 +1081,7 @@ func convert_api_BuildSpec_To_v1_BuildSpec(in *buildapi.BuildSpec, out *buildapi
1104 1104
 	if err := convert_api_BuildStrategy_To_v1_BuildStrategy(&in.Strategy, &out.Strategy, s); err != nil {
1105 1105
 		return err
1106 1106
 	}
1107
-	if err := convert_api_BuildOutput_To_v1_BuildOutput(&in.Output, &out.Output, s); err != nil {
1107
+	if err := s.Convert(&in.Output, &out.Output, 0); err != nil {
1108 1108
 		return err
1109 1109
 	}
1110 1110
 	if err := convert_api_ResourceRequirements_To_v1_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil {
... ...
@@ -1152,24 +1129,21 @@ func convert_api_BuildStrategy_To_v1_BuildStrategy(in *buildapi.BuildStrategy, o
1152 1152
 	}
1153 1153
 	out.Type = buildapiv1.BuildStrategyType(in.Type)
1154 1154
 	if in.DockerStrategy != nil {
1155
-		out.DockerStrategy = new(buildapiv1.DockerBuildStrategy)
1156
-		if err := convert_api_DockerBuildStrategy_To_v1_DockerBuildStrategy(in.DockerStrategy, out.DockerStrategy, s); err != nil {
1155
+		if err := s.Convert(&in.DockerStrategy, &out.DockerStrategy, 0); err != nil {
1157 1156
 			return err
1158 1157
 		}
1159 1158
 	} else {
1160 1159
 		out.DockerStrategy = nil
1161 1160
 	}
1162 1161
 	if in.SourceStrategy != nil {
1163
-		out.SourceStrategy = new(buildapiv1.SourceBuildStrategy)
1164
-		if err := convert_api_SourceBuildStrategy_To_v1_SourceBuildStrategy(in.SourceStrategy, out.SourceStrategy, s); err != nil {
1162
+		if err := s.Convert(&in.SourceStrategy, &out.SourceStrategy, 0); err != nil {
1165 1163
 			return err
1166 1164
 		}
1167 1165
 	} else {
1168 1166
 		out.SourceStrategy = nil
1169 1167
 	}
1170 1168
 	if in.CustomStrategy != nil {
1171
-		out.CustomStrategy = new(buildapiv1.CustomBuildStrategy)
1172
-		if err := convert_api_CustomBuildStrategy_To_v1_CustomBuildStrategy(in.CustomStrategy, out.CustomStrategy, s); err != nil {
1169
+		if err := s.Convert(&in.CustomStrategy, &out.CustomStrategy, 0); err != nil {
1173 1170
 			return err
1174 1171
 		}
1175 1172
 	} else {
... ...
@@ -1178,102 +1152,6 @@ func convert_api_BuildStrategy_To_v1_BuildStrategy(in *buildapi.BuildStrategy, o
1178 1178
 	return nil
1179 1179
 }
1180 1180
 
1181
-func convert_api_BuildTriggerPolicy_To_v1_BuildTriggerPolicy(in *buildapi.BuildTriggerPolicy, out *buildapiv1.BuildTriggerPolicy, s conversion.Scope) error {
1182
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1183
-		defaulting.(func(*buildapi.BuildTriggerPolicy))(in)
1184
-	}
1185
-	out.Type = buildapiv1.BuildTriggerType(in.Type)
1186
-	if in.GitHubWebHook != nil {
1187
-		out.GitHubWebHook = new(buildapiv1.WebHookTrigger)
1188
-		if err := convert_api_WebHookTrigger_To_v1_WebHookTrigger(in.GitHubWebHook, out.GitHubWebHook, s); err != nil {
1189
-			return err
1190
-		}
1191
-	} else {
1192
-		out.GitHubWebHook = nil
1193
-	}
1194
-	if in.GenericWebHook != nil {
1195
-		out.GenericWebHook = new(buildapiv1.WebHookTrigger)
1196
-		if err := convert_api_WebHookTrigger_To_v1_WebHookTrigger(in.GenericWebHook, out.GenericWebHook, s); err != nil {
1197
-			return err
1198
-		}
1199
-	} else {
1200
-		out.GenericWebHook = nil
1201
-	}
1202
-	if in.ImageChange != nil {
1203
-		out.ImageChange = new(buildapiv1.ImageChangeTrigger)
1204
-		if err := convert_api_ImageChangeTrigger_To_v1_ImageChangeTrigger(in.ImageChange, out.ImageChange, s); err != nil {
1205
-			return err
1206
-		}
1207
-	} else {
1208
-		out.ImageChange = nil
1209
-	}
1210
-	return nil
1211
-}
1212
-
1213
-func convert_api_CustomBuildStrategy_To_v1_CustomBuildStrategy(in *buildapi.CustomBuildStrategy, out *buildapiv1.CustomBuildStrategy, s conversion.Scope) error {
1214
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1215
-		defaulting.(func(*buildapi.CustomBuildStrategy))(in)
1216
-	}
1217
-	if err := convert_api_ObjectReference_To_v1_ObjectReference(&in.From, &out.From, s); err != nil {
1218
-		return err
1219
-	}
1220
-	if in.PullSecret != nil {
1221
-		out.PullSecret = new(v1.LocalObjectReference)
1222
-		if err := convert_api_LocalObjectReference_To_v1_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1223
-			return err
1224
-		}
1225
-	} else {
1226
-		out.PullSecret = nil
1227
-	}
1228
-	if in.Env != nil {
1229
-		out.Env = make([]v1.EnvVar, len(in.Env))
1230
-		for i := range in.Env {
1231
-			if err := convert_api_EnvVar_To_v1_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1232
-				return err
1233
-			}
1234
-		}
1235
-	} else {
1236
-		out.Env = nil
1237
-	}
1238
-	out.ExposeDockerSocket = in.ExposeDockerSocket
1239
-	return nil
1240
-}
1241
-
1242
-func convert_api_DockerBuildStrategy_To_v1_DockerBuildStrategy(in *buildapi.DockerBuildStrategy, out *buildapiv1.DockerBuildStrategy, s conversion.Scope) error {
1243
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1244
-		defaulting.(func(*buildapi.DockerBuildStrategy))(in)
1245
-	}
1246
-	if in.From != nil {
1247
-		out.From = new(v1.ObjectReference)
1248
-		if err := convert_api_ObjectReference_To_v1_ObjectReference(in.From, out.From, s); err != nil {
1249
-			return err
1250
-		}
1251
-	} else {
1252
-		out.From = nil
1253
-	}
1254
-	if in.PullSecret != nil {
1255
-		out.PullSecret = new(v1.LocalObjectReference)
1256
-		if err := convert_api_LocalObjectReference_To_v1_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1257
-			return err
1258
-		}
1259
-	} else {
1260
-		out.PullSecret = nil
1261
-	}
1262
-	out.NoCache = in.NoCache
1263
-	if in.Env != nil {
1264
-		out.Env = make([]v1.EnvVar, len(in.Env))
1265
-		for i := range in.Env {
1266
-			if err := convert_api_EnvVar_To_v1_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1267
-				return err
1268
-			}
1269
-		}
1270
-	} else {
1271
-		out.Env = nil
1272
-	}
1273
-	out.ForcePull = in.ForcePull
1274
-	return nil
1275
-}
1276
-
1277 1181
 func convert_api_GitBuildSource_To_v1_GitBuildSource(in *buildapi.GitBuildSource, out *buildapiv1.GitBuildSource, s conversion.Scope) error {
1278 1182
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1279 1183
 		defaulting.(func(*buildapi.GitBuildSource))(in)
... ...
@@ -1308,37 +1186,6 @@ func convert_api_ImageChangeTrigger_To_v1_ImageChangeTrigger(in *buildapi.ImageC
1308 1308
 	return nil
1309 1309
 }
1310 1310
 
1311
-func convert_api_SourceBuildStrategy_To_v1_SourceBuildStrategy(in *buildapi.SourceBuildStrategy, out *buildapiv1.SourceBuildStrategy, s conversion.Scope) error {
1312
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1313
-		defaulting.(func(*buildapi.SourceBuildStrategy))(in)
1314
-	}
1315
-	if err := convert_api_ObjectReference_To_v1_ObjectReference(&in.From, &out.From, s); err != nil {
1316
-		return err
1317
-	}
1318
-	if in.PullSecret != nil {
1319
-		out.PullSecret = new(v1.LocalObjectReference)
1320
-		if err := convert_api_LocalObjectReference_To_v1_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1321
-			return err
1322
-		}
1323
-	} else {
1324
-		out.PullSecret = nil
1325
-	}
1326
-	if in.Env != nil {
1327
-		out.Env = make([]v1.EnvVar, len(in.Env))
1328
-		for i := range in.Env {
1329
-			if err := convert_api_EnvVar_To_v1_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1330
-				return err
1331
-			}
1332
-		}
1333
-	} else {
1334
-		out.Env = nil
1335
-	}
1336
-	out.Scripts = in.Scripts
1337
-	out.Incremental = in.Incremental
1338
-	out.ForcePull = in.ForcePull
1339
-	return nil
1340
-}
1341
-
1342 1311
 func convert_api_SourceControlUser_To_v1_SourceControlUser(in *buildapi.SourceControlUser, out *buildapiv1.SourceControlUser, s conversion.Scope) error {
1343 1312
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1344 1313
 		defaulting.(func(*buildapi.SourceControlUser))(in)
... ...
@@ -1440,7 +1287,7 @@ func convert_v1_BuildConfigSpec_To_api_BuildConfigSpec(in *buildapiv1.BuildConfi
1440 1440
 	if in.Triggers != nil {
1441 1441
 		out.Triggers = make([]buildapi.BuildTriggerPolicy, len(in.Triggers))
1442 1442
 		for i := range in.Triggers {
1443
-			if err := convert_v1_BuildTriggerPolicy_To_api_BuildTriggerPolicy(&in.Triggers[i], &out.Triggers[i], s); err != nil {
1443
+			if err := s.Convert(&in.Triggers[i], &out.Triggers[i], 0); err != nil {
1444 1444
 				return err
1445 1445
 			}
1446 1446
 		}
... ...
@@ -1509,29 +1356,6 @@ func convert_v1_BuildLogOptions_To_api_BuildLogOptions(in *buildapiv1.BuildLogOp
1509 1509
 	return nil
1510 1510
 }
1511 1511
 
1512
-func convert_v1_BuildOutput_To_api_BuildOutput(in *buildapiv1.BuildOutput, out *buildapi.BuildOutput, s conversion.Scope) error {
1513
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1514
-		defaulting.(func(*buildapiv1.BuildOutput))(in)
1515
-	}
1516
-	if in.To != nil {
1517
-		out.To = new(api.ObjectReference)
1518
-		if err := convert_v1_ObjectReference_To_api_ObjectReference(in.To, out.To, s); err != nil {
1519
-			return err
1520
-		}
1521
-	} else {
1522
-		out.To = nil
1523
-	}
1524
-	if in.PushSecret != nil {
1525
-		out.PushSecret = new(api.LocalObjectReference)
1526
-		if err := convert_v1_LocalObjectReference_To_api_LocalObjectReference(in.PushSecret, out.PushSecret, s); err != nil {
1527
-			return err
1528
-		}
1529
-	} else {
1530
-		out.PushSecret = nil
1531
-	}
1532
-	return nil
1533
-}
1534
-
1535 1512
 func convert_v1_BuildRequest_To_api_BuildRequest(in *buildapiv1.BuildRequest, out *buildapi.BuildRequest, s conversion.Scope) error {
1536 1513
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1537 1514
 		defaulting.(func(*buildapiv1.BuildRequest))(in)
... ...
@@ -1605,7 +1429,7 @@ func convert_v1_BuildSpec_To_api_BuildSpec(in *buildapiv1.BuildSpec, out *builda
1605 1605
 	if err := convert_v1_BuildStrategy_To_api_BuildStrategy(&in.Strategy, &out.Strategy, s); err != nil {
1606 1606
 		return err
1607 1607
 	}
1608
-	if err := convert_v1_BuildOutput_To_api_BuildOutput(&in.Output, &out.Output, s); err != nil {
1608
+	if err := s.Convert(&in.Output, &out.Output, 0); err != nil {
1609 1609
 		return err
1610 1610
 	}
1611 1611
 	if err := convert_v1_ResourceRequirements_To_api_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil {
... ...
@@ -1653,24 +1477,21 @@ func convert_v1_BuildStrategy_To_api_BuildStrategy(in *buildapiv1.BuildStrategy,
1653 1653
 	}
1654 1654
 	out.Type = buildapi.BuildStrategyType(in.Type)
1655 1655
 	if in.DockerStrategy != nil {
1656
-		out.DockerStrategy = new(buildapi.DockerBuildStrategy)
1657
-		if err := convert_v1_DockerBuildStrategy_To_api_DockerBuildStrategy(in.DockerStrategy, out.DockerStrategy, s); err != nil {
1656
+		if err := s.Convert(&in.DockerStrategy, &out.DockerStrategy, 0); err != nil {
1658 1657
 			return err
1659 1658
 		}
1660 1659
 	} else {
1661 1660
 		out.DockerStrategy = nil
1662 1661
 	}
1663 1662
 	if in.SourceStrategy != nil {
1664
-		out.SourceStrategy = new(buildapi.SourceBuildStrategy)
1665
-		if err := convert_v1_SourceBuildStrategy_To_api_SourceBuildStrategy(in.SourceStrategy, out.SourceStrategy, s); err != nil {
1663
+		if err := s.Convert(&in.SourceStrategy, &out.SourceStrategy, 0); err != nil {
1666 1664
 			return err
1667 1665
 		}
1668 1666
 	} else {
1669 1667
 		out.SourceStrategy = nil
1670 1668
 	}
1671 1669
 	if in.CustomStrategy != nil {
1672
-		out.CustomStrategy = new(buildapi.CustomBuildStrategy)
1673
-		if err := convert_v1_CustomBuildStrategy_To_api_CustomBuildStrategy(in.CustomStrategy, out.CustomStrategy, s); err != nil {
1670
+		if err := s.Convert(&in.CustomStrategy, &out.CustomStrategy, 0); err != nil {
1674 1671
 			return err
1675 1672
 		}
1676 1673
 	} else {
... ...
@@ -1679,102 +1500,6 @@ func convert_v1_BuildStrategy_To_api_BuildStrategy(in *buildapiv1.BuildStrategy,
1679 1679
 	return nil
1680 1680
 }
1681 1681
 
1682
-func convert_v1_BuildTriggerPolicy_To_api_BuildTriggerPolicy(in *buildapiv1.BuildTriggerPolicy, out *buildapi.BuildTriggerPolicy, s conversion.Scope) error {
1683
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1684
-		defaulting.(func(*buildapiv1.BuildTriggerPolicy))(in)
1685
-	}
1686
-	out.Type = buildapi.BuildTriggerType(in.Type)
1687
-	if in.GitHubWebHook != nil {
1688
-		out.GitHubWebHook = new(buildapi.WebHookTrigger)
1689
-		if err := convert_v1_WebHookTrigger_To_api_WebHookTrigger(in.GitHubWebHook, out.GitHubWebHook, s); err != nil {
1690
-			return err
1691
-		}
1692
-	} else {
1693
-		out.GitHubWebHook = nil
1694
-	}
1695
-	if in.GenericWebHook != nil {
1696
-		out.GenericWebHook = new(buildapi.WebHookTrigger)
1697
-		if err := convert_v1_WebHookTrigger_To_api_WebHookTrigger(in.GenericWebHook, out.GenericWebHook, s); err != nil {
1698
-			return err
1699
-		}
1700
-	} else {
1701
-		out.GenericWebHook = nil
1702
-	}
1703
-	if in.ImageChange != nil {
1704
-		out.ImageChange = new(buildapi.ImageChangeTrigger)
1705
-		if err := convert_v1_ImageChangeTrigger_To_api_ImageChangeTrigger(in.ImageChange, out.ImageChange, s); err != nil {
1706
-			return err
1707
-		}
1708
-	} else {
1709
-		out.ImageChange = nil
1710
-	}
1711
-	return nil
1712
-}
1713
-
1714
-func convert_v1_CustomBuildStrategy_To_api_CustomBuildStrategy(in *buildapiv1.CustomBuildStrategy, out *buildapi.CustomBuildStrategy, s conversion.Scope) error {
1715
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1716
-		defaulting.(func(*buildapiv1.CustomBuildStrategy))(in)
1717
-	}
1718
-	if err := convert_v1_ObjectReference_To_api_ObjectReference(&in.From, &out.From, s); err != nil {
1719
-		return err
1720
-	}
1721
-	if in.PullSecret != nil {
1722
-		out.PullSecret = new(api.LocalObjectReference)
1723
-		if err := convert_v1_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1724
-			return err
1725
-		}
1726
-	} else {
1727
-		out.PullSecret = nil
1728
-	}
1729
-	if in.Env != nil {
1730
-		out.Env = make([]api.EnvVar, len(in.Env))
1731
-		for i := range in.Env {
1732
-			if err := convert_v1_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1733
-				return err
1734
-			}
1735
-		}
1736
-	} else {
1737
-		out.Env = nil
1738
-	}
1739
-	out.ExposeDockerSocket = in.ExposeDockerSocket
1740
-	return nil
1741
-}
1742
-
1743
-func convert_v1_DockerBuildStrategy_To_api_DockerBuildStrategy(in *buildapiv1.DockerBuildStrategy, out *buildapi.DockerBuildStrategy, s conversion.Scope) error {
1744
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1745
-		defaulting.(func(*buildapiv1.DockerBuildStrategy))(in)
1746
-	}
1747
-	if in.From != nil {
1748
-		out.From = new(api.ObjectReference)
1749
-		if err := convert_v1_ObjectReference_To_api_ObjectReference(in.From, out.From, s); err != nil {
1750
-			return err
1751
-		}
1752
-	} else {
1753
-		out.From = nil
1754
-	}
1755
-	if in.PullSecret != nil {
1756
-		out.PullSecret = new(api.LocalObjectReference)
1757
-		if err := convert_v1_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1758
-			return err
1759
-		}
1760
-	} else {
1761
-		out.PullSecret = nil
1762
-	}
1763
-	out.NoCache = in.NoCache
1764
-	if in.Env != nil {
1765
-		out.Env = make([]api.EnvVar, len(in.Env))
1766
-		for i := range in.Env {
1767
-			if err := convert_v1_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1768
-				return err
1769
-			}
1770
-		}
1771
-	} else {
1772
-		out.Env = nil
1773
-	}
1774
-	out.ForcePull = in.ForcePull
1775
-	return nil
1776
-}
1777
-
1778 1682
 func convert_v1_GitBuildSource_To_api_GitBuildSource(in *buildapiv1.GitBuildSource, out *buildapi.GitBuildSource, s conversion.Scope) error {
1779 1683
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1780 1684
 		defaulting.(func(*buildapiv1.GitBuildSource))(in)
... ...
@@ -1809,37 +1534,6 @@ func convert_v1_ImageChangeTrigger_To_api_ImageChangeTrigger(in *buildapiv1.Imag
1809 1809
 	return nil
1810 1810
 }
1811 1811
 
1812
-func convert_v1_SourceBuildStrategy_To_api_SourceBuildStrategy(in *buildapiv1.SourceBuildStrategy, out *buildapi.SourceBuildStrategy, s conversion.Scope) error {
1813
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1814
-		defaulting.(func(*buildapiv1.SourceBuildStrategy))(in)
1815
-	}
1816
-	if err := convert_v1_ObjectReference_To_api_ObjectReference(&in.From, &out.From, s); err != nil {
1817
-		return err
1818
-	}
1819
-	if in.PullSecret != nil {
1820
-		out.PullSecret = new(api.LocalObjectReference)
1821
-		if err := convert_v1_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1822
-			return err
1823
-		}
1824
-	} else {
1825
-		out.PullSecret = nil
1826
-	}
1827
-	if in.Env != nil {
1828
-		out.Env = make([]api.EnvVar, len(in.Env))
1829
-		for i := range in.Env {
1830
-			if err := convert_v1_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1831
-				return err
1832
-			}
1833
-		}
1834
-	} else {
1835
-		out.Env = nil
1836
-	}
1837
-	out.Scripts = in.Scripts
1838
-	out.Incremental = in.Incremental
1839
-	out.ForcePull = in.ForcePull
1840
-	return nil
1841
-}
1842
-
1843 1812
 func convert_v1_SourceControlUser_To_api_SourceControlUser(in *buildapiv1.SourceControlUser, out *buildapi.SourceControlUser, s conversion.Scope) error {
1844 1813
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1845 1814
 		defaulting.(func(*buildapiv1.SourceControlUser))(in)
... ...
@@ -3236,13 +2930,11 @@ func init() {
3236 3236
 		convert_api_BuildList_To_v1_BuildList,
3237 3237
 		convert_api_BuildLogOptions_To_v1_BuildLogOptions,
3238 3238
 		convert_api_BuildLog_To_v1_BuildLog,
3239
-		convert_api_BuildOutput_To_v1_BuildOutput,
3240 3239
 		convert_api_BuildRequest_To_v1_BuildRequest,
3241 3240
 		convert_api_BuildSource_To_v1_BuildSource,
3242 3241
 		convert_api_BuildSpec_To_v1_BuildSpec,
3243 3242
 		convert_api_BuildStatus_To_v1_BuildStatus,
3244 3243
 		convert_api_BuildStrategy_To_v1_BuildStrategy,
3245
-		convert_api_BuildTriggerPolicy_To_v1_BuildTriggerPolicy,
3246 3244
 		convert_api_Build_To_v1_Build,
3247 3245
 		convert_api_ClusterNetworkList_To_v1_ClusterNetworkList,
3248 3246
 		convert_api_ClusterNetwork_To_v1_ClusterNetwork,
... ...
@@ -3251,11 +2943,9 @@ func init() {
3251 3251
 		convert_api_ClusterRoleBindingList_To_v1_ClusterRoleBindingList,
3252 3252
 		convert_api_ClusterRoleList_To_v1_ClusterRoleList,
3253 3253
 		convert_api_ClusterRole_To_v1_ClusterRole,
3254
-		convert_api_CustomBuildStrategy_To_v1_CustomBuildStrategy,
3255 3254
 		convert_api_DeploymentConfigList_To_v1_DeploymentConfigList,
3256 3255
 		convert_api_DeploymentConfigRollbackSpec_To_v1_DeploymentConfigRollbackSpec,
3257 3256
 		convert_api_DeploymentConfigRollback_To_v1_DeploymentConfigRollback,
3258
-		convert_api_DockerBuildStrategy_To_v1_DockerBuildStrategy,
3259 3257
 		convert_api_EnvVarSource_To_v1_EnvVarSource,
3260 3258
 		convert_api_EnvVar_To_v1_EnvVar,
3261 3259
 		convert_api_GitBuildSource_To_v1_GitBuildSource,
... ...
@@ -3298,7 +2988,6 @@ func init() {
3298 3298
 		convert_api_RoleList_To_v1_RoleList,
3299 3299
 		convert_api_Role_To_v1_Role,
3300 3300
 		convert_api_RouteList_To_v1_RouteList,
3301
-		convert_api_SourceBuildStrategy_To_v1_SourceBuildStrategy,
3302 3301
 		convert_api_SourceControlUser_To_v1_SourceControlUser,
3303 3302
 		convert_api_SourceRevision_To_v1_SourceRevision,
3304 3303
 		convert_api_SubjectAccessReviewResponse_To_v1_SubjectAccessReviewResponse,
... ...
@@ -3315,13 +3004,11 @@ func init() {
3315 3315
 		convert_v1_BuildList_To_api_BuildList,
3316 3316
 		convert_v1_BuildLogOptions_To_api_BuildLogOptions,
3317 3317
 		convert_v1_BuildLog_To_api_BuildLog,
3318
-		convert_v1_BuildOutput_To_api_BuildOutput,
3319 3318
 		convert_v1_BuildRequest_To_api_BuildRequest,
3320 3319
 		convert_v1_BuildSource_To_api_BuildSource,
3321 3320
 		convert_v1_BuildSpec_To_api_BuildSpec,
3322 3321
 		convert_v1_BuildStatus_To_api_BuildStatus,
3323 3322
 		convert_v1_BuildStrategy_To_api_BuildStrategy,
3324
-		convert_v1_BuildTriggerPolicy_To_api_BuildTriggerPolicy,
3325 3323
 		convert_v1_Build_To_api_Build,
3326 3324
 		convert_v1_ClusterNetworkList_To_api_ClusterNetworkList,
3327 3325
 		convert_v1_ClusterNetwork_To_api_ClusterNetwork,
... ...
@@ -3330,11 +3017,9 @@ func init() {
3330 3330
 		convert_v1_ClusterRoleBindingList_To_api_ClusterRoleBindingList,
3331 3331
 		convert_v1_ClusterRoleList_To_api_ClusterRoleList,
3332 3332
 		convert_v1_ClusterRole_To_api_ClusterRole,
3333
-		convert_v1_CustomBuildStrategy_To_api_CustomBuildStrategy,
3334 3333
 		convert_v1_DeploymentConfigList_To_api_DeploymentConfigList,
3335 3334
 		convert_v1_DeploymentConfigRollbackSpec_To_api_DeploymentConfigRollbackSpec,
3336 3335
 		convert_v1_DeploymentConfigRollback_To_api_DeploymentConfigRollback,
3337
-		convert_v1_DockerBuildStrategy_To_api_DockerBuildStrategy,
3338 3336
 		convert_v1_EnvVarSource_To_api_EnvVarSource,
3339 3337
 		convert_v1_EnvVar_To_api_EnvVar,
3340 3338
 		convert_v1_GitBuildSource_To_api_GitBuildSource,
... ...
@@ -3377,7 +3062,6 @@ func init() {
3377 3377
 		convert_v1_RoleList_To_api_RoleList,
3378 3378
 		convert_v1_Role_To_api_Role,
3379 3379
 		convert_v1_RouteList_To_api_RouteList,
3380
-		convert_v1_SourceBuildStrategy_To_api_SourceBuildStrategy,
3381 3380
 		convert_v1_SourceControlUser_To_api_SourceControlUser,
3382 3381
 		convert_v1_SourceRevision_To_api_SourceRevision,
3383 3382
 		convert_v1_SubjectAccessReviewResponse_To_api_SubjectAccessReviewResponse,
... ...
@@ -1046,29 +1046,6 @@ func convert_api_BuildLogOptions_To_v1beta3_BuildLogOptions(in *buildapi.BuildLo
1046 1046
 	return nil
1047 1047
 }
1048 1048
 
1049
-func convert_api_BuildOutput_To_v1beta3_BuildOutput(in *buildapi.BuildOutput, out *buildapiv1beta3.BuildOutput, s conversion.Scope) error {
1050
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1051
-		defaulting.(func(*buildapi.BuildOutput))(in)
1052
-	}
1053
-	if in.To != nil {
1054
-		out.To = new(v1beta3.ObjectReference)
1055
-		if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(in.To, out.To, s); err != nil {
1056
-			return err
1057
-		}
1058
-	} else {
1059
-		out.To = nil
1060
-	}
1061
-	if in.PushSecret != nil {
1062
-		out.PushSecret = new(v1beta3.LocalObjectReference)
1063
-		if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in.PushSecret, out.PushSecret, s); err != nil {
1064
-			return err
1065
-		}
1066
-	} else {
1067
-		out.PushSecret = nil
1068
-	}
1069
-	return nil
1070
-}
1071
-
1072 1049
 func convert_api_BuildRequest_To_v1beta3_BuildRequest(in *buildapi.BuildRequest, out *buildapiv1beta3.BuildRequest, s conversion.Scope) error {
1073 1050
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1074 1051
 		defaulting.(func(*buildapi.BuildRequest))(in)
... ...
@@ -1142,7 +1119,7 @@ func convert_api_BuildSpec_To_v1beta3_BuildSpec(in *buildapi.BuildSpec, out *bui
1142 1142
 	if err := convert_api_BuildStrategy_To_v1beta3_BuildStrategy(&in.Strategy, &out.Strategy, s); err != nil {
1143 1143
 		return err
1144 1144
 	}
1145
-	if err := convert_api_BuildOutput_To_v1beta3_BuildOutput(&in.Output, &out.Output, s); err != nil {
1145
+	if err := s.Convert(&in.Output, &out.Output, 0); err != nil {
1146 1146
 		return err
1147 1147
 	}
1148 1148
 	if err := convert_api_ResourceRequirements_To_v1beta3_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil {
... ...
@@ -1190,24 +1167,21 @@ func convert_api_BuildStrategy_To_v1beta3_BuildStrategy(in *buildapi.BuildStrate
1190 1190
 	}
1191 1191
 	out.Type = buildapiv1beta3.BuildStrategyType(in.Type)
1192 1192
 	if in.DockerStrategy != nil {
1193
-		out.DockerStrategy = new(buildapiv1beta3.DockerBuildStrategy)
1194
-		if err := convert_api_DockerBuildStrategy_To_v1beta3_DockerBuildStrategy(in.DockerStrategy, out.DockerStrategy, s); err != nil {
1193
+		if err := s.Convert(&in.DockerStrategy, &out.DockerStrategy, 0); err != nil {
1195 1194
 			return err
1196 1195
 		}
1197 1196
 	} else {
1198 1197
 		out.DockerStrategy = nil
1199 1198
 	}
1200 1199
 	if in.SourceStrategy != nil {
1201
-		out.SourceStrategy = new(buildapiv1beta3.SourceBuildStrategy)
1202
-		if err := convert_api_SourceBuildStrategy_To_v1beta3_SourceBuildStrategy(in.SourceStrategy, out.SourceStrategy, s); err != nil {
1200
+		if err := s.Convert(&in.SourceStrategy, &out.SourceStrategy, 0); err != nil {
1203 1201
 			return err
1204 1202
 		}
1205 1203
 	} else {
1206 1204
 		out.SourceStrategy = nil
1207 1205
 	}
1208 1206
 	if in.CustomStrategy != nil {
1209
-		out.CustomStrategy = new(buildapiv1beta3.CustomBuildStrategy)
1210
-		if err := convert_api_CustomBuildStrategy_To_v1beta3_CustomBuildStrategy(in.CustomStrategy, out.CustomStrategy, s); err != nil {
1207
+		if err := s.Convert(&in.CustomStrategy, &out.CustomStrategy, 0); err != nil {
1211 1208
 			return err
1212 1209
 		}
1213 1210
 	} else {
... ...
@@ -1216,70 +1190,6 @@ func convert_api_BuildStrategy_To_v1beta3_BuildStrategy(in *buildapi.BuildStrate
1216 1216
 	return nil
1217 1217
 }
1218 1218
 
1219
-func convert_api_CustomBuildStrategy_To_v1beta3_CustomBuildStrategy(in *buildapi.CustomBuildStrategy, out *buildapiv1beta3.CustomBuildStrategy, s conversion.Scope) error {
1220
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1221
-		defaulting.(func(*buildapi.CustomBuildStrategy))(in)
1222
-	}
1223
-	if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.From, &out.From, s); err != nil {
1224
-		return err
1225
-	}
1226
-	if in.PullSecret != nil {
1227
-		out.PullSecret = new(v1beta3.LocalObjectReference)
1228
-		if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1229
-			return err
1230
-		}
1231
-	} else {
1232
-		out.PullSecret = nil
1233
-	}
1234
-	if in.Env != nil {
1235
-		out.Env = make([]v1beta3.EnvVar, len(in.Env))
1236
-		for i := range in.Env {
1237
-			if err := convert_api_EnvVar_To_v1beta3_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1238
-				return err
1239
-			}
1240
-		}
1241
-	} else {
1242
-		out.Env = nil
1243
-	}
1244
-	out.ExposeDockerSocket = in.ExposeDockerSocket
1245
-	return nil
1246
-}
1247
-
1248
-func convert_api_DockerBuildStrategy_To_v1beta3_DockerBuildStrategy(in *buildapi.DockerBuildStrategy, out *buildapiv1beta3.DockerBuildStrategy, s conversion.Scope) error {
1249
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1250
-		defaulting.(func(*buildapi.DockerBuildStrategy))(in)
1251
-	}
1252
-	if in.From != nil {
1253
-		out.From = new(v1beta3.ObjectReference)
1254
-		if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(in.From, out.From, s); err != nil {
1255
-			return err
1256
-		}
1257
-	} else {
1258
-		out.From = nil
1259
-	}
1260
-	if in.PullSecret != nil {
1261
-		out.PullSecret = new(v1beta3.LocalObjectReference)
1262
-		if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1263
-			return err
1264
-		}
1265
-	} else {
1266
-		out.PullSecret = nil
1267
-	}
1268
-	out.NoCache = in.NoCache
1269
-	if in.Env != nil {
1270
-		out.Env = make([]v1beta3.EnvVar, len(in.Env))
1271
-		for i := range in.Env {
1272
-			if err := convert_api_EnvVar_To_v1beta3_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1273
-				return err
1274
-			}
1275
-		}
1276
-	} else {
1277
-		out.Env = nil
1278
-	}
1279
-	out.ForcePull = in.ForcePull
1280
-	return nil
1281
-}
1282
-
1283 1219
 func convert_api_GitBuildSource_To_v1beta3_GitBuildSource(in *buildapi.GitBuildSource, out *buildapiv1beta3.GitBuildSource, s conversion.Scope) error {
1284 1220
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1285 1221
 		defaulting.(func(*buildapi.GitBuildSource))(in)
... ...
@@ -1314,37 +1224,6 @@ func convert_api_ImageChangeTrigger_To_v1beta3_ImageChangeTrigger(in *buildapi.I
1314 1314
 	return nil
1315 1315
 }
1316 1316
 
1317
-func convert_api_SourceBuildStrategy_To_v1beta3_SourceBuildStrategy(in *buildapi.SourceBuildStrategy, out *buildapiv1beta3.SourceBuildStrategy, s conversion.Scope) error {
1318
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1319
-		defaulting.(func(*buildapi.SourceBuildStrategy))(in)
1320
-	}
1321
-	if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.From, &out.From, s); err != nil {
1322
-		return err
1323
-	}
1324
-	if in.PullSecret != nil {
1325
-		out.PullSecret = new(v1beta3.LocalObjectReference)
1326
-		if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1327
-			return err
1328
-		}
1329
-	} else {
1330
-		out.PullSecret = nil
1331
-	}
1332
-	if in.Env != nil {
1333
-		out.Env = make([]v1beta3.EnvVar, len(in.Env))
1334
-		for i := range in.Env {
1335
-			if err := convert_api_EnvVar_To_v1beta3_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1336
-				return err
1337
-			}
1338
-		}
1339
-	} else {
1340
-		out.Env = nil
1341
-	}
1342
-	out.Scripts = in.Scripts
1343
-	out.Incremental = in.Incremental
1344
-	out.ForcePull = in.ForcePull
1345
-	return nil
1346
-}
1347
-
1348 1317
 func convert_api_SourceControlUser_To_v1beta3_SourceControlUser(in *buildapi.SourceControlUser, out *buildapiv1beta3.SourceControlUser, s conversion.Scope) error {
1349 1318
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1350 1319
 		defaulting.(func(*buildapi.SourceControlUser))(in)
... ...
@@ -1515,29 +1394,6 @@ func convert_v1beta3_BuildLogOptions_To_api_BuildLogOptions(in *buildapiv1beta3.
1515 1515
 	return nil
1516 1516
 }
1517 1517
 
1518
-func convert_v1beta3_BuildOutput_To_api_BuildOutput(in *buildapiv1beta3.BuildOutput, out *buildapi.BuildOutput, s conversion.Scope) error {
1519
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1520
-		defaulting.(func(*buildapiv1beta3.BuildOutput))(in)
1521
-	}
1522
-	if in.To != nil {
1523
-		out.To = new(api.ObjectReference)
1524
-		if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(in.To, out.To, s); err != nil {
1525
-			return err
1526
-		}
1527
-	} else {
1528
-		out.To = nil
1529
-	}
1530
-	if in.PushSecret != nil {
1531
-		out.PushSecret = new(api.LocalObjectReference)
1532
-		if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in.PushSecret, out.PushSecret, s); err != nil {
1533
-			return err
1534
-		}
1535
-	} else {
1536
-		out.PushSecret = nil
1537
-	}
1538
-	return nil
1539
-}
1540
-
1541 1518
 func convert_v1beta3_BuildRequest_To_api_BuildRequest(in *buildapiv1beta3.BuildRequest, out *buildapi.BuildRequest, s conversion.Scope) error {
1542 1519
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1543 1520
 		defaulting.(func(*buildapiv1beta3.BuildRequest))(in)
... ...
@@ -1611,7 +1467,7 @@ func convert_v1beta3_BuildSpec_To_api_BuildSpec(in *buildapiv1beta3.BuildSpec, o
1611 1611
 	if err := convert_v1beta3_BuildStrategy_To_api_BuildStrategy(&in.Strategy, &out.Strategy, s); err != nil {
1612 1612
 		return err
1613 1613
 	}
1614
-	if err := convert_v1beta3_BuildOutput_To_api_BuildOutput(&in.Output, &out.Output, s); err != nil {
1614
+	if err := s.Convert(&in.Output, &out.Output, 0); err != nil {
1615 1615
 		return err
1616 1616
 	}
1617 1617
 	if err := convert_v1beta3_ResourceRequirements_To_api_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil {
... ...
@@ -1659,24 +1515,21 @@ func convert_v1beta3_BuildStrategy_To_api_BuildStrategy(in *buildapiv1beta3.Buil
1659 1659
 	}
1660 1660
 	out.Type = buildapi.BuildStrategyType(in.Type)
1661 1661
 	if in.DockerStrategy != nil {
1662
-		out.DockerStrategy = new(buildapi.DockerBuildStrategy)
1663
-		if err := convert_v1beta3_DockerBuildStrategy_To_api_DockerBuildStrategy(in.DockerStrategy, out.DockerStrategy, s); err != nil {
1662
+		if err := s.Convert(&in.DockerStrategy, &out.DockerStrategy, 0); err != nil {
1664 1663
 			return err
1665 1664
 		}
1666 1665
 	} else {
1667 1666
 		out.DockerStrategy = nil
1668 1667
 	}
1669 1668
 	if in.SourceStrategy != nil {
1670
-		out.SourceStrategy = new(buildapi.SourceBuildStrategy)
1671
-		if err := convert_v1beta3_SourceBuildStrategy_To_api_SourceBuildStrategy(in.SourceStrategy, out.SourceStrategy, s); err != nil {
1669
+		if err := s.Convert(&in.SourceStrategy, &out.SourceStrategy, 0); err != nil {
1672 1670
 			return err
1673 1671
 		}
1674 1672
 	} else {
1675 1673
 		out.SourceStrategy = nil
1676 1674
 	}
1677 1675
 	if in.CustomStrategy != nil {
1678
-		out.CustomStrategy = new(buildapi.CustomBuildStrategy)
1679
-		if err := convert_v1beta3_CustomBuildStrategy_To_api_CustomBuildStrategy(in.CustomStrategy, out.CustomStrategy, s); err != nil {
1676
+		if err := s.Convert(&in.CustomStrategy, &out.CustomStrategy, 0); err != nil {
1680 1677
 			return err
1681 1678
 		}
1682 1679
 	} else {
... ...
@@ -1685,70 +1538,6 @@ func convert_v1beta3_BuildStrategy_To_api_BuildStrategy(in *buildapiv1beta3.Buil
1685 1685
 	return nil
1686 1686
 }
1687 1687
 
1688
-func convert_v1beta3_CustomBuildStrategy_To_api_CustomBuildStrategy(in *buildapiv1beta3.CustomBuildStrategy, out *buildapi.CustomBuildStrategy, s conversion.Scope) error {
1689
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1690
-		defaulting.(func(*buildapiv1beta3.CustomBuildStrategy))(in)
1691
-	}
1692
-	if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.From, &out.From, s); err != nil {
1693
-		return err
1694
-	}
1695
-	if in.PullSecret != nil {
1696
-		out.PullSecret = new(api.LocalObjectReference)
1697
-		if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1698
-			return err
1699
-		}
1700
-	} else {
1701
-		out.PullSecret = nil
1702
-	}
1703
-	if in.Env != nil {
1704
-		out.Env = make([]api.EnvVar, len(in.Env))
1705
-		for i := range in.Env {
1706
-			if err := convert_v1beta3_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1707
-				return err
1708
-			}
1709
-		}
1710
-	} else {
1711
-		out.Env = nil
1712
-	}
1713
-	out.ExposeDockerSocket = in.ExposeDockerSocket
1714
-	return nil
1715
-}
1716
-
1717
-func convert_v1beta3_DockerBuildStrategy_To_api_DockerBuildStrategy(in *buildapiv1beta3.DockerBuildStrategy, out *buildapi.DockerBuildStrategy, s conversion.Scope) error {
1718
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1719
-		defaulting.(func(*buildapiv1beta3.DockerBuildStrategy))(in)
1720
-	}
1721
-	if in.From != nil {
1722
-		out.From = new(api.ObjectReference)
1723
-		if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(in.From, out.From, s); err != nil {
1724
-			return err
1725
-		}
1726
-	} else {
1727
-		out.From = nil
1728
-	}
1729
-	if in.PullSecret != nil {
1730
-		out.PullSecret = new(api.LocalObjectReference)
1731
-		if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1732
-			return err
1733
-		}
1734
-	} else {
1735
-		out.PullSecret = nil
1736
-	}
1737
-	out.NoCache = in.NoCache
1738
-	if in.Env != nil {
1739
-		out.Env = make([]api.EnvVar, len(in.Env))
1740
-		for i := range in.Env {
1741
-			if err := convert_v1beta3_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1742
-				return err
1743
-			}
1744
-		}
1745
-	} else {
1746
-		out.Env = nil
1747
-	}
1748
-	out.ForcePull = in.ForcePull
1749
-	return nil
1750
-}
1751
-
1752 1688
 func convert_v1beta3_GitBuildSource_To_api_GitBuildSource(in *buildapiv1beta3.GitBuildSource, out *buildapi.GitBuildSource, s conversion.Scope) error {
1753 1689
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1754 1690
 		defaulting.(func(*buildapiv1beta3.GitBuildSource))(in)
... ...
@@ -1783,37 +1572,6 @@ func convert_v1beta3_ImageChangeTrigger_To_api_ImageChangeTrigger(in *buildapiv1
1783 1783
 	return nil
1784 1784
 }
1785 1785
 
1786
-func convert_v1beta3_SourceBuildStrategy_To_api_SourceBuildStrategy(in *buildapiv1beta3.SourceBuildStrategy, out *buildapi.SourceBuildStrategy, s conversion.Scope) error {
1787
-	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1788
-		defaulting.(func(*buildapiv1beta3.SourceBuildStrategy))(in)
1789
-	}
1790
-	if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.From, &out.From, s); err != nil {
1791
-		return err
1792
-	}
1793
-	if in.PullSecret != nil {
1794
-		out.PullSecret = new(api.LocalObjectReference)
1795
-		if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in.PullSecret, out.PullSecret, s); err != nil {
1796
-			return err
1797
-		}
1798
-	} else {
1799
-		out.PullSecret = nil
1800
-	}
1801
-	if in.Env != nil {
1802
-		out.Env = make([]api.EnvVar, len(in.Env))
1803
-		for i := range in.Env {
1804
-			if err := convert_v1beta3_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil {
1805
-				return err
1806
-			}
1807
-		}
1808
-	} else {
1809
-		out.Env = nil
1810
-	}
1811
-	out.Scripts = in.Scripts
1812
-	out.Incremental = in.Incremental
1813
-	out.ForcePull = in.ForcePull
1814
-	return nil
1815
-}
1816
-
1817 1786
 func convert_v1beta3_SourceControlUser_To_api_SourceControlUser(in *buildapiv1beta3.SourceControlUser, out *buildapi.SourceControlUser, s conversion.Scope) error {
1818 1787
 	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
1819 1788
 		defaulting.(func(*buildapiv1beta3.SourceControlUser))(in)
... ...
@@ -3108,7 +2866,6 @@ func init() {
3108 3108
 		convert_api_BuildList_To_v1beta3_BuildList,
3109 3109
 		convert_api_BuildLogOptions_To_v1beta3_BuildLogOptions,
3110 3110
 		convert_api_BuildLog_To_v1beta3_BuildLog,
3111
-		convert_api_BuildOutput_To_v1beta3_BuildOutput,
3112 3111
 		convert_api_BuildRequest_To_v1beta3_BuildRequest,
3113 3112
 		convert_api_BuildSource_To_v1beta3_BuildSource,
3114 3113
 		convert_api_BuildSpec_To_v1beta3_BuildSpec,
... ...
@@ -3123,11 +2880,9 @@ func init() {
3123 3123
 		convert_api_ClusterRoleBindingList_To_v1beta3_ClusterRoleBindingList,
3124 3124
 		convert_api_ClusterRoleList_To_v1beta3_ClusterRoleList,
3125 3125
 		convert_api_ClusterRole_To_v1beta3_ClusterRole,
3126
-		convert_api_CustomBuildStrategy_To_v1beta3_CustomBuildStrategy,
3127 3126
 		convert_api_DeploymentConfigList_To_v1beta3_DeploymentConfigList,
3128 3127
 		convert_api_DeploymentConfigRollbackSpec_To_v1beta3_DeploymentConfigRollbackSpec,
3129 3128
 		convert_api_DeploymentConfigRollback_To_v1beta3_DeploymentConfigRollback,
3130
-		convert_api_DockerBuildStrategy_To_v1beta3_DockerBuildStrategy,
3131 3129
 		convert_api_EnvVarSource_To_v1beta3_EnvVarSource,
3132 3130
 		convert_api_EnvVar_To_v1beta3_EnvVar,
3133 3131
 		convert_api_GitBuildSource_To_v1beta3_GitBuildSource,
... ...
@@ -3167,7 +2922,6 @@ func init() {
3167 3167
 		convert_api_RoleList_To_v1beta3_RoleList,
3168 3168
 		convert_api_Role_To_v1beta3_Role,
3169 3169
 		convert_api_RouteList_To_v1beta3_RouteList,
3170
-		convert_api_SourceBuildStrategy_To_v1beta3_SourceBuildStrategy,
3171 3170
 		convert_api_SourceControlUser_To_v1beta3_SourceControlUser,
3172 3171
 		convert_api_SourceRevision_To_v1beta3_SourceRevision,
3173 3172
 		convert_api_SubjectAccessReviewResponse_To_v1beta3_SubjectAccessReviewResponse,
... ...
@@ -3184,7 +2938,6 @@ func init() {
3184 3184
 		convert_v1beta3_BuildList_To_api_BuildList,
3185 3185
 		convert_v1beta3_BuildLogOptions_To_api_BuildLogOptions,
3186 3186
 		convert_v1beta3_BuildLog_To_api_BuildLog,
3187
-		convert_v1beta3_BuildOutput_To_api_BuildOutput,
3188 3187
 		convert_v1beta3_BuildRequest_To_api_BuildRequest,
3189 3188
 		convert_v1beta3_BuildSource_To_api_BuildSource,
3190 3189
 		convert_v1beta3_BuildSpec_To_api_BuildSpec,
... ...
@@ -3199,11 +2952,9 @@ func init() {
3199 3199
 		convert_v1beta3_ClusterRoleBindingList_To_api_ClusterRoleBindingList,
3200 3200
 		convert_v1beta3_ClusterRoleList_To_api_ClusterRoleList,
3201 3201
 		convert_v1beta3_ClusterRole_To_api_ClusterRole,
3202
-		convert_v1beta3_CustomBuildStrategy_To_api_CustomBuildStrategy,
3203 3202
 		convert_v1beta3_DeploymentConfigList_To_api_DeploymentConfigList,
3204 3203
 		convert_v1beta3_DeploymentConfigRollbackSpec_To_api_DeploymentConfigRollbackSpec,
3205 3204
 		convert_v1beta3_DeploymentConfigRollback_To_api_DeploymentConfigRollback,
3206
-		convert_v1beta3_DockerBuildStrategy_To_api_DockerBuildStrategy,
3207 3205
 		convert_v1beta3_EnvVarSource_To_api_EnvVarSource,
3208 3206
 		convert_v1beta3_EnvVar_To_api_EnvVar,
3209 3207
 		convert_v1beta3_GitBuildSource_To_api_GitBuildSource,
... ...
@@ -3243,7 +2994,6 @@ func init() {
3243 3243
 		convert_v1beta3_RoleList_To_api_RoleList,
3244 3244
 		convert_v1beta3_Role_To_api_Role,
3245 3245
 		convert_v1beta3_RouteList_To_api_RouteList,
3246
-		convert_v1beta3_SourceBuildStrategy_To_api_SourceBuildStrategy,
3247 3246
 		convert_v1beta3_SourceControlUser_To_api_SourceControlUser,
3248 3247
 		convert_v1beta3_SourceRevision_To_api_SourceRevision,
3249 3248
 		convert_v1beta3_SubjectAccessReviewResponse_To_api_SubjectAccessReviewResponse,
... ...
@@ -4,8 +4,116 @@ import (
4 4
 	"fmt"
5 5
 
6 6
 	kapi "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
7
+	"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
8
+
9
+	newer "github.com/openshift/origin/pkg/build/api"
10
+	imageapi "github.com/openshift/origin/pkg/image/api"
7 11
 )
8 12
 
13
+func convert_v1_SourceBuildStrategy_To_api_SourceBuildStrategy(in *SourceBuildStrategy, out *newer.SourceBuildStrategy, s conversion.Scope) error {
14
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
15
+		return err
16
+	}
17
+	switch in.From.Kind {
18
+	case "ImageStream":
19
+		out.From.Kind = "ImageStreamTag"
20
+		out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
21
+	}
22
+	return nil
23
+}
24
+
25
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
26
+func convert_api_SourceBuildStrategy_To_v1_SourceBuildStrategy(in *newer.SourceBuildStrategy, out *SourceBuildStrategy, s conversion.Scope) error {
27
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
28
+		return err
29
+	}
30
+	return nil
31
+}
32
+
33
+func convert_v1_DockerBuildStrategy_To_api_DockerBuildStrategy(in *DockerBuildStrategy, out *newer.DockerBuildStrategy, s conversion.Scope) error {
34
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
35
+		return err
36
+	}
37
+	if in.From != nil {
38
+		switch in.From.Kind {
39
+		case "ImageStream":
40
+			out.From.Kind = "ImageStreamTag"
41
+			out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
42
+		}
43
+	}
44
+	return nil
45
+}
46
+
47
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
48
+func convert_api_DockerBuildStrategy_To_v1_DockerBuildStrategy(in *newer.DockerBuildStrategy, out *DockerBuildStrategy, s conversion.Scope) error {
49
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
50
+		return err
51
+	}
52
+	return nil
53
+}
54
+
55
+func convert_v1_CustomBuildStrategy_To_api_CustomBuildStrategy(in *CustomBuildStrategy, out *newer.CustomBuildStrategy, s conversion.Scope) error {
56
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
57
+		return err
58
+	}
59
+	switch in.From.Kind {
60
+	case "ImageStream":
61
+		out.From.Kind = "ImageStreamTag"
62
+		out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
63
+	}
64
+	return nil
65
+}
66
+
67
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
68
+func convert_api_CustomBuildStrategy_To_v1_CustomBuildStrategy(in *newer.CustomBuildStrategy, out *CustomBuildStrategy, s conversion.Scope) error {
69
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
70
+		return err
71
+	}
72
+	return nil
73
+}
74
+
75
+func convert_v1_BuildOutput_To_api_BuildOutput(in *BuildOutput, out *newer.BuildOutput, s conversion.Scope) error {
76
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
77
+		return err
78
+	}
79
+	if in.To != nil && (in.To.Kind == "ImageStream" || len(in.To.Kind) == 0) {
80
+		out.To.Kind = "ImageStreamTag"
81
+		out.To.Name = imageapi.JoinImageStreamTag(in.To.Name, "")
82
+	}
83
+	return nil
84
+}
85
+
86
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
87
+func convert_api_BuildOutput_To_v1_BuildOutput(in *newer.BuildOutput, out *BuildOutput, s conversion.Scope) error {
88
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
89
+		return err
90
+	}
91
+	return nil
92
+}
93
+
94
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
95
+func convert_api_BuildTriggerPolicy_To_v1_BuildTriggerPolicy(in *newer.BuildTriggerPolicy, out *BuildTriggerPolicy, s conversion.Scope) error {
96
+	if err := s.DefaultConvert(in, out, conversion.DestFromSource); err != nil {
97
+		return err
98
+	}
99
+	return nil
100
+}
101
+
102
+func convert_v1_BuildTriggerPolicy_To_api_BuildTriggerPolicy(in *BuildTriggerPolicy, out *newer.BuildTriggerPolicy, s conversion.Scope) error {
103
+	if err := s.DefaultConvert(in, out, conversion.DestFromSource); err != nil {
104
+		return err
105
+	}
106
+	switch in.Type {
107
+	case ImageChangeBuildTriggerTypeDeprecated:
108
+		out.Type = newer.ImageChangeBuildTriggerType
109
+	case GenericWebHookBuildTriggerTypeDeprecated:
110
+		out.Type = newer.GenericWebHookBuildTriggerType
111
+	case GitHubWebHookBuildTriggerTypeDeprecated:
112
+		out.Type = newer.GitHubWebHookBuildTriggerType
113
+	}
114
+	return nil
115
+}
116
+
9 117
 func init() {
10 118
 	err := kapi.Scheme.AddDefaultingFuncs(
11 119
 		func(strategy *BuildStrategy) {
... ...
@@ -41,6 +149,19 @@ func init() {
41 41
 		panic(err)
42 42
 	}
43 43
 
44
+	kapi.Scheme.AddConversionFuncs(
45
+		convert_v1_SourceBuildStrategy_To_api_SourceBuildStrategy,
46
+		convert_api_SourceBuildStrategy_To_v1_SourceBuildStrategy,
47
+		convert_v1_DockerBuildStrategy_To_api_DockerBuildStrategy,
48
+		convert_api_DockerBuildStrategy_To_v1_DockerBuildStrategy,
49
+		convert_v1_CustomBuildStrategy_To_api_CustomBuildStrategy,
50
+		convert_api_CustomBuildStrategy_To_v1_CustomBuildStrategy,
51
+		convert_v1_BuildOutput_To_api_BuildOutput,
52
+		convert_api_BuildOutput_To_v1_BuildOutput,
53
+		convert_v1_BuildTriggerPolicy_To_api_BuildTriggerPolicy,
54
+		convert_api_BuildTriggerPolicy_To_v1_BuildTriggerPolicy,
55
+	)
56
+
44 57
 	// Add field conversion funcs.
45 58
 	err = kapi.Scheme.AddFieldLabelConversionFunc("v1", "Build",
46 59
 		func(label, value string) (string, string, error) {
47 60
new file mode 100644
... ...
@@ -0,0 +1,184 @@
0
+package v1_test
1
+
2
+import (
3
+	"testing"
4
+
5
+	knewer "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
6
+	kolder "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1"
7
+
8
+	newer "github.com/openshift/origin/pkg/build/api"
9
+	older "github.com/openshift/origin/pkg/build/api/v1"
10
+)
11
+
12
+var Convert = knewer.Scheme.Convert
13
+
14
+func TestBuildConfigConversion(t *testing.T) {
15
+	buildConfigs := []*older.BuildConfig{
16
+		{
17
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
18
+			Spec: older.BuildConfigSpec{
19
+				BuildSpec: older.BuildSpec{
20
+					Source: older.BuildSource{
21
+						Type: older.BuildSourceGit,
22
+						Git: &older.GitBuildSource{
23
+							URI: "http://github.com/my/repository",
24
+						},
25
+						ContextDir: "context",
26
+					},
27
+					Strategy: older.BuildStrategy{
28
+						Type: older.DockerBuildStrategyType,
29
+						DockerStrategy: &older.DockerBuildStrategy{
30
+							From: &kolder.ObjectReference{
31
+								Kind: "ImageStream",
32
+								Name: "fromstream",
33
+							},
34
+						},
35
+					},
36
+					Output: older.BuildOutput{
37
+						To: &kolder.ObjectReference{
38
+							Kind: "ImageStream",
39
+							Name: "outputstream",
40
+						},
41
+					},
42
+				},
43
+				Triggers: []older.BuildTriggerPolicy{
44
+					{
45
+						Type: older.ImageChangeBuildTriggerTypeDeprecated,
46
+					},
47
+					{
48
+						Type: older.GitHubWebHookBuildTriggerTypeDeprecated,
49
+					},
50
+					{
51
+						Type: older.GenericWebHookBuildTriggerTypeDeprecated,
52
+					},
53
+				},
54
+			},
55
+		},
56
+		{
57
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
58
+			Spec: older.BuildConfigSpec{
59
+				BuildSpec: older.BuildSpec{
60
+					Source: older.BuildSource{
61
+						Type: older.BuildSourceGit,
62
+						Git: &older.GitBuildSource{
63
+							URI: "http://github.com/my/repository",
64
+						},
65
+						ContextDir: "context",
66
+					},
67
+					Strategy: older.BuildStrategy{
68
+						Type: older.SourceBuildStrategyType,
69
+						SourceStrategy: &older.SourceBuildStrategy{
70
+							From: kolder.ObjectReference{
71
+								Kind: "ImageStream",
72
+								Name: "fromstream",
73
+							},
74
+						},
75
+					},
76
+					Output: older.BuildOutput{
77
+						To: &kolder.ObjectReference{
78
+							Kind: "ImageStream",
79
+							Name: "outputstream",
80
+						},
81
+					},
82
+				},
83
+				Triggers: []older.BuildTriggerPolicy{
84
+					{
85
+						Type: older.ImageChangeBuildTriggerTypeDeprecated,
86
+					},
87
+					{
88
+						Type: older.GitHubWebHookBuildTriggerTypeDeprecated,
89
+					},
90
+					{
91
+						Type: older.GenericWebHookBuildTriggerTypeDeprecated,
92
+					},
93
+				},
94
+			},
95
+		},
96
+		{
97
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
98
+			Spec: older.BuildConfigSpec{
99
+				BuildSpec: older.BuildSpec{
100
+					Source: older.BuildSource{
101
+						Type: older.BuildSourceGit,
102
+						Git: &older.GitBuildSource{
103
+							URI: "http://github.com/my/repository",
104
+						},
105
+						ContextDir: "context",
106
+					},
107
+					Strategy: older.BuildStrategy{
108
+						Type: older.CustomBuildStrategyType,
109
+						CustomStrategy: &older.CustomBuildStrategy{
110
+							From: kolder.ObjectReference{
111
+								Kind: "ImageStream",
112
+								Name: "fromstream",
113
+							},
114
+						},
115
+					},
116
+					Output: older.BuildOutput{
117
+						To: &kolder.ObjectReference{
118
+							Kind: "ImageStream",
119
+							Name: "outputstream",
120
+						},
121
+					},
122
+				},
123
+				Triggers: []older.BuildTriggerPolicy{
124
+					{
125
+						Type: older.ImageChangeBuildTriggerTypeDeprecated,
126
+					},
127
+					{
128
+						Type: older.GitHubWebHookBuildTriggerTypeDeprecated,
129
+					},
130
+					{
131
+						Type: older.GenericWebHookBuildTriggerTypeDeprecated,
132
+					},
133
+				},
134
+			},
135
+		},
136
+	}
137
+
138
+	for c, bc := range buildConfigs {
139
+
140
+		var internalbuild newer.BuildConfig
141
+
142
+		Convert(bc, &internalbuild)
143
+		switch bc.Spec.Strategy.Type {
144
+		case older.SourceBuildStrategyType:
145
+			if internalbuild.Spec.Strategy.SourceStrategy.From.Kind != "ImageStreamTag" {
146
+				t.Errorf("[%d] Expected From Kind %s, got %s", c, "ImageStreamTag", internalbuild.Spec.Strategy.SourceStrategy.From.Kind)
147
+			}
148
+		case older.DockerBuildStrategyType:
149
+			if internalbuild.Spec.Strategy.DockerStrategy.From.Kind != "ImageStreamTag" {
150
+				t.Errorf("[%d]Expected From Kind %s, got %s", c, "ImageStreamTag", internalbuild.Spec.Strategy.DockerStrategy.From.Kind)
151
+			}
152
+		case older.CustomBuildStrategyType:
153
+			if internalbuild.Spec.Strategy.CustomStrategy.From.Kind != "ImageStreamTag" {
154
+				t.Errorf("[%d]Expected From Kind %s, got %s", c, "ImageStreamTag", internalbuild.Spec.Strategy.CustomStrategy.From.Kind)
155
+			}
156
+		}
157
+		if internalbuild.Spec.Output.To.Kind != "ImageStreamTag" {
158
+			t.Errorf("[%d]Expected Output Kind %s, got %s", c, "ImageStreamTag", internalbuild.Spec.Output.To.Kind)
159
+		}
160
+		var foundImageChange, foundGitHub, foundGeneric bool
161
+		for _, trigger := range internalbuild.Spec.Triggers {
162
+			switch trigger.Type {
163
+			case newer.ImageChangeBuildTriggerType:
164
+				foundImageChange = true
165
+
166
+			case newer.GenericWebHookBuildTriggerType:
167
+				foundGeneric = true
168
+
169
+			case newer.GitHubWebHookBuildTriggerType:
170
+				foundGitHub = true
171
+			}
172
+		}
173
+		if !foundImageChange {
174
+			t.Errorf("ImageChangeTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
175
+		}
176
+		if !foundGitHub {
177
+			t.Errorf("GitHubWebHookTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
178
+		}
179
+		if !foundGeneric {
180
+			t.Errorf("GenericWebHookTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
181
+		}
182
+	}
183
+}
... ...
@@ -7,19 +7,86 @@ import (
7 7
 	"github.com/GoogleCloudPlatform/kubernetes/pkg/conversion"
8 8
 
9 9
 	newer "github.com/openshift/origin/pkg/build/api"
10
+	imageapi "github.com/openshift/origin/pkg/image/api"
10 11
 )
11 12
 
12
-func convert_api_BuildTriggerPolicy_To_v1beta3_BuildTriggerPolicy(in *newer.BuildTriggerPolicy, out *BuildTriggerPolicy, s conversion.Scope) error {
13
-	if err := s.DefaultConvert(in, out, conversion.DestFromSource); err != nil {
13
+func convert_v1beta3_SourceBuildStrategy_To_api_SourceBuildStrategy(in *SourceBuildStrategy, out *newer.SourceBuildStrategy, s conversion.Scope) error {
14
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
14 15
 		return err
15 16
 	}
16
-	switch in.Type {
17
-	case newer.ImageChangeBuildTriggerType:
18
-		out.Type = ImageChangeBuildTriggerType
19
-	case newer.GenericWebHookBuildTriggerType:
20
-		out.Type = GenericWebHookBuildTriggerType
21
-	case newer.GitHubWebHookBuildTriggerType:
22
-		out.Type = GitHubWebHookBuildTriggerType
17
+	switch in.From.Kind {
18
+	case "ImageStream":
19
+		out.From.Kind = "ImageStreamTag"
20
+		out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
21
+	}
22
+	return nil
23
+}
24
+
25
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
26
+func convert_api_SourceBuildStrategy_To_v1beta3_SourceBuildStrategy(in *newer.SourceBuildStrategy, out *SourceBuildStrategy, s conversion.Scope) error {
27
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
28
+		return err
29
+	}
30
+	return nil
31
+}
32
+
33
+func convert_v1beta3_DockerBuildStrategy_To_api_DockerBuildStrategy(in *DockerBuildStrategy, out *newer.DockerBuildStrategy, s conversion.Scope) error {
34
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
35
+		return err
36
+	}
37
+	if in.From != nil {
38
+		switch in.From.Kind {
39
+		case "ImageStream":
40
+			out.From.Kind = "ImageStreamTag"
41
+			out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
42
+		}
43
+	}
44
+	return nil
45
+}
46
+
47
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
48
+func convert_api_DockerBuildStrategy_To_v1beta3_DockerBuildStrategy(in *newer.DockerBuildStrategy, out *DockerBuildStrategy, s conversion.Scope) error {
49
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
50
+		return err
51
+	}
52
+	return nil
53
+}
54
+
55
+func convert_v1beta3_CustomBuildStrategy_To_api_CustomBuildStrategy(in *CustomBuildStrategy, out *newer.CustomBuildStrategy, s conversion.Scope) error {
56
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
57
+		return err
58
+	}
59
+	switch in.From.Kind {
60
+	case "ImageStream":
61
+		out.From.Kind = "ImageStreamTag"
62
+		out.From.Name = imageapi.JoinImageStreamTag(in.From.Name, "")
63
+	}
64
+	return nil
65
+}
66
+
67
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
68
+func convert_api_CustomBuildStrategy_To_v1beta3_CustomBuildStrategy(in *newer.CustomBuildStrategy, out *CustomBuildStrategy, s conversion.Scope) error {
69
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
70
+		return err
71
+	}
72
+	return nil
73
+}
74
+
75
+func convert_v1beta3_BuildOutput_To_api_BuildOutput(in *BuildOutput, out *newer.BuildOutput, s conversion.Scope) error {
76
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
77
+		return err
78
+	}
79
+	if in.To != nil && (in.To.Kind == "ImageStream" || len(in.To.Kind) == 0) {
80
+		out.To.Kind = "ImageStreamTag"
81
+		out.To.Name = imageapi.JoinImageStreamTag(in.To.Name, "")
82
+	}
83
+	return nil
84
+}
85
+
86
+// empty conversion needed because the conversion generator can't handle unidirectional custom conversions
87
+func convert_api_BuildOutput_To_v1beta3_BuildOutput(in *newer.BuildOutput, out *BuildOutput, s conversion.Scope) error {
88
+	if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
89
+		return err
23 90
 	}
24 91
 	return nil
25 92
 }
... ...
@@ -39,6 +106,21 @@ func convert_v1beta3_BuildTriggerPolicy_To_api_BuildTriggerPolicy(in *BuildTrigg
39 39
 	return nil
40 40
 }
41 41
 
42
+func convert_api_BuildTriggerPolicy_To_v1beta3_BuildTriggerPolicy(in *newer.BuildTriggerPolicy, out *BuildTriggerPolicy, s conversion.Scope) error {
43
+	if err := s.DefaultConvert(in, out, conversion.DestFromSource); err != nil {
44
+		return err
45
+	}
46
+	switch in.Type {
47
+	case newer.ImageChangeBuildTriggerType:
48
+		out.Type = ImageChangeBuildTriggerType
49
+	case newer.GenericWebHookBuildTriggerType:
50
+		out.Type = GenericWebHookBuildTriggerType
51
+	case newer.GitHubWebHookBuildTriggerType:
52
+		out.Type = GitHubWebHookBuildTriggerType
53
+	}
54
+	return nil
55
+}
56
+
42 57
 func init() {
43 58
 	err := kapi.Scheme.AddDefaultingFuncs(
44 59
 		func(strategy *BuildStrategy) {
... ...
@@ -75,6 +157,14 @@ func init() {
75 75
 	}
76 76
 
77 77
 	kapi.Scheme.AddConversionFuncs(
78
+		convert_v1beta3_SourceBuildStrategy_To_api_SourceBuildStrategy,
79
+		convert_api_SourceBuildStrategy_To_v1beta3_SourceBuildStrategy,
80
+		convert_v1beta3_DockerBuildStrategy_To_api_DockerBuildStrategy,
81
+		convert_api_DockerBuildStrategy_To_v1beta3_DockerBuildStrategy,
82
+		convert_v1beta3_CustomBuildStrategy_To_api_CustomBuildStrategy,
83
+		convert_api_CustomBuildStrategy_To_v1beta3_CustomBuildStrategy,
84
+		convert_v1beta3_BuildOutput_To_api_BuildOutput,
85
+		convert_api_BuildOutput_To_v1beta3_BuildOutput,
78 86
 		convert_v1beta3_BuildTriggerPolicy_To_api_BuildTriggerPolicy,
79 87
 		convert_api_BuildTriggerPolicy_To_v1beta3_BuildTriggerPolicy,
80 88
 	)
... ...
@@ -4,6 +4,7 @@ import (
4 4
 	"testing"
5 5
 
6 6
 	knewer "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
7
+	kolder "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3"
7 8
 
8 9
 	newer "github.com/openshift/origin/pkg/build/api"
9 10
 	older "github.com/openshift/origin/pkg/build/api/v1beta3"
... ...
@@ -11,6 +12,177 @@ import (
11 11
 
12 12
 var Convert = knewer.Scheme.Convert
13 13
 
14
+func TestBuildConfigConversion(t *testing.T) {
15
+	buildConfigs := []*older.BuildConfig{
16
+		{
17
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
18
+			Spec: older.BuildConfigSpec{
19
+				BuildSpec: older.BuildSpec{
20
+					Source: older.BuildSource{
21
+						Type: older.BuildSourceGit,
22
+						Git: &older.GitBuildSource{
23
+							URI: "http://github.com/my/repository",
24
+						},
25
+						ContextDir: "context",
26
+					},
27
+					Strategy: older.BuildStrategy{
28
+						Type: older.DockerBuildStrategyType,
29
+						DockerStrategy: &older.DockerBuildStrategy{
30
+							From: &kolder.ObjectReference{
31
+								Kind: "ImageStream",
32
+								Name: "fromstream",
33
+							},
34
+						},
35
+					},
36
+					Output: older.BuildOutput{
37
+						To: &kolder.ObjectReference{
38
+							Kind: "ImageStream",
39
+							Name: "outputstream",
40
+						},
41
+					},
42
+				},
43
+				Triggers: []older.BuildTriggerPolicy{
44
+					{
45
+						Type: older.ImageChangeBuildTriggerType,
46
+					},
47
+					{
48
+						Type: older.GitHubWebHookBuildTriggerType,
49
+					},
50
+					{
51
+						Type: older.GenericWebHookBuildTriggerType,
52
+					},
53
+				},
54
+			},
55
+		},
56
+		{
57
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
58
+			Spec: older.BuildConfigSpec{
59
+				BuildSpec: older.BuildSpec{
60
+					Source: older.BuildSource{
61
+						Type: older.BuildSourceGit,
62
+						Git: &older.GitBuildSource{
63
+							URI: "http://github.com/my/repository",
64
+						},
65
+						ContextDir: "context",
66
+					},
67
+					Strategy: older.BuildStrategy{
68
+						Type: older.SourceBuildStrategyType,
69
+						SourceStrategy: &older.SourceBuildStrategy{
70
+							From: kolder.ObjectReference{
71
+								Kind: "ImageStream",
72
+								Name: "fromstream",
73
+							},
74
+						},
75
+					},
76
+					Output: older.BuildOutput{
77
+						To: &kolder.ObjectReference{
78
+							Kind: "ImageStream",
79
+							Name: "outputstream",
80
+						},
81
+					},
82
+				},
83
+				Triggers: []older.BuildTriggerPolicy{
84
+					{
85
+						Type: older.ImageChangeBuildTriggerType,
86
+					},
87
+					{
88
+						Type: older.GitHubWebHookBuildTriggerType,
89
+					},
90
+					{
91
+						Type: older.GenericWebHookBuildTriggerType,
92
+					},
93
+				},
94
+			},
95
+		},
96
+		{
97
+			ObjectMeta: kolder.ObjectMeta{Name: "config-id", Namespace: "namespace"},
98
+			Spec: older.BuildConfigSpec{
99
+				BuildSpec: older.BuildSpec{
100
+					Source: older.BuildSource{
101
+						Type: older.BuildSourceGit,
102
+						Git: &older.GitBuildSource{
103
+							URI: "http://github.com/my/repository",
104
+						},
105
+						ContextDir: "context",
106
+					},
107
+					Strategy: older.BuildStrategy{
108
+						Type: older.CustomBuildStrategyType,
109
+						CustomStrategy: &older.CustomBuildStrategy{
110
+							From: kolder.ObjectReference{
111
+								Kind: "ImageStream",
112
+								Name: "fromstream",
113
+							},
114
+						},
115
+					},
116
+					Output: older.BuildOutput{
117
+						To: &kolder.ObjectReference{
118
+							Kind: "ImageStream",
119
+							Name: "outputstream",
120
+						},
121
+					},
122
+				},
123
+				Triggers: []older.BuildTriggerPolicy{
124
+					{
125
+						Type: older.ImageChangeBuildTriggerType,
126
+					},
127
+					{
128
+						Type: older.GitHubWebHookBuildTriggerType,
129
+					},
130
+					{
131
+						Type: older.GenericWebHookBuildTriggerType,
132
+					},
133
+				},
134
+			},
135
+		},
136
+	}
137
+
138
+	for _, bc := range buildConfigs {
139
+
140
+		var internalbuild newer.BuildConfig
141
+
142
+		Convert(bc, &internalbuild)
143
+		switch bc.Spec.Strategy.Type {
144
+		case older.SourceBuildStrategyType:
145
+			if internalbuild.Spec.Strategy.SourceStrategy.From.Kind != "ImageStreamTag" {
146
+				t.Errorf("Expected From Kind %s, got %s", "ImageStreamTag", internalbuild.Spec.Strategy.SourceStrategy.From.Kind)
147
+			}
148
+		case older.DockerBuildStrategyType:
149
+			if internalbuild.Spec.Strategy.DockerStrategy.From.Kind != "ImageStreamTag" {
150
+				t.Errorf("Expected From Kind %s, got %s", "ImageStreamTag", internalbuild.Spec.Strategy.DockerStrategy.From.Kind)
151
+			}
152
+		case older.CustomBuildStrategyType:
153
+			if internalbuild.Spec.Strategy.CustomStrategy.From.Kind != "ImageStreamTag" {
154
+				t.Errorf("Expected From Kind %s, got %s", "ImageStreamTag", internalbuild.Spec.Strategy.CustomStrategy.From.Kind)
155
+			}
156
+		}
157
+		if internalbuild.Spec.Output.To.Kind != "ImageStreamTag" {
158
+			t.Errorf("Expected Output Kind %s, got %s", "ImageStreamTag", internalbuild.Spec.Output.To.Kind)
159
+		}
160
+		var foundImageChange, foundGitHub, foundGeneric bool
161
+		for _, trigger := range internalbuild.Spec.Triggers {
162
+			switch trigger.Type {
163
+			case newer.ImageChangeBuildTriggerType:
164
+				foundImageChange = true
165
+
166
+			case newer.GenericWebHookBuildTriggerType:
167
+				foundGeneric = true
168
+
169
+			case newer.GitHubWebHookBuildTriggerType:
170
+				foundGitHub = true
171
+			}
172
+		}
173
+		if !foundImageChange {
174
+			t.Errorf("ImageChangeTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
175
+		}
176
+		if !foundGitHub {
177
+			t.Errorf("GitHubWebHookTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
178
+		}
179
+		if !foundGeneric {
180
+			t.Errorf("GenericWebHookTriggerType not converted correctly: %v", internalbuild.Spec.Triggers)
181
+		}
182
+	}
183
+}
184
+
14 185
 func TestBuildTriggerPolicyOldToNewConversion(t *testing.T) {
15 186
 	testCases := map[string]struct {
16 187
 		Olds                     []older.BuildTriggerType