Skip to content

Commit 32c8c96

Browse files
committed
Upgrade Tekton Model to v0.46.0
- Upgrade Tekton Pipelines to v0.46.0 - Upgrade Tekton Triggers to v0.23.0 - Add the new `v1` Tekton Pipelines API Group - Merge generator code into single package per module (to avoid duplicating boilerplate + version drifts between API groups) and remove obsolete Golang setup (e.g. vendoring) - Rename `ArrayOrString` to `ParamValue` (has been renamed upstream) - Fix various tests, delete obsolete ones
1 parent b44cf33 commit 32c8c96

File tree

171 files changed

+12657
-11748
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+12657
-11748
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#### Improvements
99
* Fix #4477 exposing LeaderElector.release to force an elector to give up the lease
10+
* Upgrade Tekton Model to v0.46.0
1011

1112
#### Dependency Upgrade
1213

extensions/tekton/client/pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@
6060
<groupId>io.sundr</groupId>
6161
<artifactId>transform-annotations</artifactId>
6262
</dependency>
63+
<dependency>
64+
<groupId>io.fabric8</groupId>
65+
<artifactId>tekton-model-v1</artifactId>
66+
</dependency>
6367
<dependency>
6468
<groupId>io.fabric8</groupId>
6569
<artifactId>tekton-model-v1alpha1</artifactId>

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/DefaultTektonClient.java

+6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.fabric8.kubernetes.client.dsl.FunctionCallable;
2323
import io.fabric8.kubernetes.client.extension.ExtensionRootClientAdapter;
2424
import io.fabric8.kubernetes.client.extension.SupportTestingClient;
25+
import io.fabric8.tekton.client.dsl.V1APIGroupDSL;
2526
import io.fabric8.tekton.client.dsl.V1alpha1APIGroupDSL;
2627
import io.fabric8.tekton.client.dsl.V1beta1APIGroupDSL;
2728

@@ -50,6 +51,11 @@ public FunctionCallable<NamespacedTektonClient> withRequestConfig(RequestConfig
5051
return new WithRequestCallable<>(this, requestConfig);
5152
}
5253

54+
@Override
55+
public V1APIGroupDSL v1() {
56+
return adapt(V1APIGroupClient.class);
57+
}
58+
5359
@Override
5460
public V1beta1APIGroupDSL v1beta1() {
5561
return adapt(V1beta1APIGroupClient.class);

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/TektonClient.java

+8
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,21 @@
1616
package io.fabric8.tekton.client;
1717

1818
import io.fabric8.kubernetes.client.Client;
19+
import io.fabric8.tekton.client.dsl.V1APIGroupDSL;
1920
import io.fabric8.tekton.client.dsl.V1alpha1APIGroupDSL;
2021
import io.fabric8.tekton.client.dsl.V1beta1APIGroupDSL;
2122

2223
/**
2324
* Main interface for Tekton client library.
2425
*/
2526
public interface TektonClient extends Client {
27+
/**
28+
* API entrypoint for tekton.dev/v1 API group resources
29+
*
30+
* @return {@link V1APIGroupDSL} for Tekton resource operations in this API group.
31+
*/
32+
V1APIGroupDSL v1();
33+
2634
/**
2735
* API entrypoint for tekton.dev/v1beta1 API group resources
2836
*

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/TektonExtensionAdapter.java

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import io.fabric8.kubernetes.client.Client;
1919
import io.fabric8.kubernetes.client.extension.ExtensionAdapter;
20+
import io.fabric8.tekton.client.dsl.V1APIGroupDSL;
2021
import io.fabric8.tekton.client.dsl.V1alpha1APIGroupDSL;
2122
import io.fabric8.tekton.client.dsl.V1beta1APIGroupDSL;
2223

@@ -34,6 +35,7 @@ public TektonClient adapt(Client client) {
3435

3536
@Override
3637
public void registerClients(ClientFactory factory) {
38+
factory.register(V1APIGroupDSL.class, new V1APIGroupClient());
3739
factory.register(V1beta1APIGroupDSL.class, new V1beta1APIGroupClient());
3840
factory.register(V1alpha1APIGroupDSL.class, new V1alpha1APIGroupClient());
3941
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
* Copyright (C) 2015 Red Hat, Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.fabric8.tekton.client;
17+
18+
import io.fabric8.kubernetes.client.dsl.MixedOperation;
19+
import io.fabric8.kubernetes.client.dsl.Resource;
20+
import io.fabric8.kubernetes.client.extension.ClientAdapter;
21+
import io.fabric8.tekton.client.dsl.V1APIGroupDSL;
22+
import io.fabric8.tekton.pipeline.v1.Pipeline;
23+
import io.fabric8.tekton.pipeline.v1.PipelineList;
24+
import io.fabric8.tekton.pipeline.v1.PipelineRun;
25+
import io.fabric8.tekton.pipeline.v1.PipelineRunList;
26+
import io.fabric8.tekton.pipeline.v1.Task;
27+
import io.fabric8.tekton.pipeline.v1.TaskList;
28+
import io.fabric8.tekton.pipeline.v1.TaskRun;
29+
import io.fabric8.tekton.pipeline.v1.TaskRunList;
30+
31+
public class V1APIGroupClient extends ClientAdapter<V1APIGroupClient> implements V1APIGroupDSL {
32+
33+
@Override
34+
public V1APIGroupClient newInstance() {
35+
return new V1APIGroupClient();
36+
}
37+
38+
@Override
39+
public MixedOperation<Pipeline, PipelineList, Resource<Pipeline>> pipelines() {
40+
return resources(Pipeline.class, PipelineList.class);
41+
}
42+
43+
@Override
44+
public MixedOperation<PipelineRun, PipelineRunList, Resource<PipelineRun>> pipelineRuns() {
45+
return resources(PipelineRun.class, PipelineRunList.class);
46+
}
47+
48+
@Override
49+
public MixedOperation<Task, TaskList, Resource<Task>> tasks() {
50+
return resources(Task.class, TaskList.class);
51+
}
52+
53+
@Override
54+
public MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns() {
55+
return resources(TaskRun.class, TaskRunList.class);
56+
}
57+
}

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/V1alpha1APIGroupClient.java

-49
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,6 @@
2020
import io.fabric8.kubernetes.client.dsl.Resource;
2121
import io.fabric8.kubernetes.client.extension.ClientAdapter;
2222
import io.fabric8.tekton.client.dsl.V1alpha1APIGroupDSL;
23-
import io.fabric8.tekton.pipeline.v1alpha1.ClusterTask;
24-
import io.fabric8.tekton.pipeline.v1alpha1.ClusterTaskList;
25-
import io.fabric8.tekton.pipeline.v1alpha1.Condition;
26-
import io.fabric8.tekton.pipeline.v1alpha1.ConditionList;
27-
import io.fabric8.tekton.pipeline.v1alpha1.Pipeline;
28-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineList;
29-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineRun;
30-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineRunList;
31-
import io.fabric8.tekton.pipeline.v1alpha1.Task;
32-
import io.fabric8.tekton.pipeline.v1alpha1.TaskList;
33-
import io.fabric8.tekton.pipeline.v1alpha1.TaskRun;
34-
import io.fabric8.tekton.pipeline.v1alpha1.TaskRunList;
35-
import io.fabric8.tekton.resource.v1alpha1.PipelineResource;
36-
import io.fabric8.tekton.resource.v1alpha1.PipelineResourceList;
3723
import io.fabric8.tekton.triggers.v1alpha1.ClusterInterceptor;
3824
import io.fabric8.tekton.triggers.v1alpha1.ClusterInterceptorList;
3925
import io.fabric8.tekton.triggers.v1alpha1.ClusterTriggerBinding;
@@ -54,36 +40,6 @@ public V1alpha1APIGroupClient newInstance() {
5440
return new V1alpha1APIGroupClient();
5541
}
5642

57-
@Override
58-
public MixedOperation<Pipeline, PipelineList, Resource<Pipeline>> pipelines() {
59-
return resources(Pipeline.class, PipelineList.class);
60-
}
61-
62-
@Override
63-
public MixedOperation<PipelineRun, PipelineRunList, Resource<PipelineRun>> pipelineRuns() {
64-
return resources(PipelineRun.class, PipelineRunList.class);
65-
}
66-
67-
@Override
68-
public MixedOperation<PipelineResource, PipelineResourceList, Resource<PipelineResource>> pipelineResources() {
69-
return resources(PipelineResource.class, PipelineResourceList.class);
70-
}
71-
72-
@Override
73-
public MixedOperation<Task, TaskList, Resource<Task>> tasks() {
74-
return resources(Task.class, TaskList.class);
75-
}
76-
77-
@Override
78-
public MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns() {
79-
return resources(TaskRun.class, TaskRunList.class);
80-
}
81-
82-
@Override
83-
public MixedOperation<Condition, ConditionList, Resource<Condition>> conditions() {
84-
return resources(Condition.class, ConditionList.class);
85-
}
86-
8743
@Override
8844
public MixedOperation<TriggerTemplate, TriggerTemplateList, Resource<TriggerTemplate>> triggerTemplates() {
8945
return resources(TriggerTemplate.class, TriggerTemplateList.class);
@@ -104,11 +60,6 @@ public MixedOperation<EventListener, EventListenerList, Resource<EventListener>>
10460
return resources(EventListener.class, EventListenerList.class);
10561
}
10662

107-
@Override
108-
public NonNamespaceOperation<ClusterTask, ClusterTaskList, Resource<ClusterTask>> clusterTasks() {
109-
return resources(ClusterTask.class, ClusterTaskList.class);
110-
}
111-
11263
@Override
11364
public NonNamespaceOperation<ClusterTriggerBinding, ClusterTriggerBindingList, Resource<ClusterTriggerBinding>> clusterTriggerBindings() {
11465
return resources(ClusterTriggerBinding.class, ClusterTriggerBindingList.class);

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/V1beta1APIGroupClient.java

+7
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import io.fabric8.tekton.client.dsl.V1beta1APIGroupDSL;
2323
import io.fabric8.tekton.pipeline.v1beta1.ClusterTask;
2424
import io.fabric8.tekton.pipeline.v1beta1.ClusterTaskList;
25+
import io.fabric8.tekton.pipeline.v1beta1.CustomRun;
26+
import io.fabric8.tekton.pipeline.v1beta1.CustomRunList;
2527
import io.fabric8.tekton.pipeline.v1beta1.Pipeline;
2628
import io.fabric8.tekton.pipeline.v1beta1.PipelineList;
2729
import io.fabric8.tekton.pipeline.v1beta1.PipelineRun;
@@ -68,6 +70,11 @@ public MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns() {
6870
return resources(TaskRun.class, TaskRunList.class);
6971
}
7072

73+
@Override
74+
public MixedOperation<CustomRun, CustomRunList, Resource<CustomRun>> customRuns() {
75+
return resources(CustomRun.class, CustomRunList.class);
76+
}
77+
7178
@Override
7279
public NonNamespaceOperation<ClusterTask, ClusterTaskList, Resource<ClusterTask>> clusterTasks() {
7380
return resources(ClusterTask.class, ClusterTaskList.class);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/**
2+
* Copyright (C) 2015 Red Hat, Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.fabric8.tekton.client.dsl;
17+
18+
import io.fabric8.kubernetes.client.Client;
19+
import io.fabric8.kubernetes.client.dsl.MixedOperation;
20+
import io.fabric8.kubernetes.client.dsl.Resource;
21+
import io.fabric8.tekton.pipeline.v1.Pipeline;
22+
import io.fabric8.tekton.pipeline.v1.PipelineList;
23+
import io.fabric8.tekton.pipeline.v1.PipelineRun;
24+
import io.fabric8.tekton.pipeline.v1.PipelineRunList;
25+
import io.fabric8.tekton.pipeline.v1.Task;
26+
import io.fabric8.tekton.pipeline.v1.TaskList;
27+
import io.fabric8.tekton.pipeline.v1.TaskRun;
28+
import io.fabric8.tekton.pipeline.v1.TaskRunList;
29+
30+
public interface V1APIGroupDSL extends Client {
31+
/**
32+
* API entrypoint for Pipeline(tekton.dev/v1)
33+
*
34+
* @return MixedOperation for Pipeline class
35+
*/
36+
MixedOperation<Pipeline, PipelineList, Resource<Pipeline>> pipelines();
37+
38+
/**
39+
* API entrypoint for PipelineRun(tekton.dev/v1)
40+
*
41+
* @return MixedOperation for PipelineRun class
42+
*/
43+
MixedOperation<PipelineRun, PipelineRunList, Resource<PipelineRun>> pipelineRuns();
44+
45+
/**
46+
* API entrypoint for Task(tekton.dev/v1)
47+
*
48+
* @return MixedOperation for Task class
49+
*/
50+
MixedOperation<Task, TaskList, Resource<Task>> tasks();
51+
52+
/**
53+
* API entrypoint for TaskRun(tekton.dev/v1)
54+
*
55+
* @return MixedOperation for TaskRun class
56+
*/
57+
MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns();
58+
}

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/dsl/V1alpha1APIGroupDSL.java

-63
Original file line numberDiff line numberDiff line change
@@ -19,65 +19,9 @@
1919
import io.fabric8.kubernetes.client.dsl.MixedOperation;
2020
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
2121
import io.fabric8.kubernetes.client.dsl.Resource;
22-
import io.fabric8.tekton.pipeline.v1alpha1.ClusterTask;
23-
import io.fabric8.tekton.pipeline.v1alpha1.ClusterTaskList;
24-
import io.fabric8.tekton.pipeline.v1alpha1.Condition;
25-
import io.fabric8.tekton.pipeline.v1alpha1.ConditionList;
26-
import io.fabric8.tekton.pipeline.v1alpha1.Pipeline;
27-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineList;
28-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineRun;
29-
import io.fabric8.tekton.pipeline.v1alpha1.PipelineRunList;
30-
import io.fabric8.tekton.pipeline.v1alpha1.Task;
31-
import io.fabric8.tekton.pipeline.v1alpha1.TaskList;
32-
import io.fabric8.tekton.pipeline.v1alpha1.TaskRun;
33-
import io.fabric8.tekton.pipeline.v1alpha1.TaskRunList;
34-
import io.fabric8.tekton.resource.v1alpha1.PipelineResource;
35-
import io.fabric8.tekton.resource.v1alpha1.PipelineResourceList;
3622
import io.fabric8.tekton.triggers.v1alpha1.*;
3723

3824
public interface V1alpha1APIGroupDSL extends Client {
39-
/**
40-
* API entrypoint for Pipeline(tekton.dev/v1alpha1)
41-
*
42-
* @return MixedOperation for Pipeline class
43-
*/
44-
MixedOperation<Pipeline, PipelineList, Resource<Pipeline>> pipelines();
45-
46-
/**
47-
* API entrypoint for PipelineRun(tekton.dev/v1alpha1)
48-
*
49-
* @return MixedOperation for PipelineRun class
50-
*/
51-
MixedOperation<PipelineRun, PipelineRunList, Resource<PipelineRun>> pipelineRuns();
52-
53-
/**
54-
* API entrypoint for PipelineResource(tekton.dev/v1alpha1)
55-
*
56-
* @return MixedOperation for PipelineResource class
57-
*/
58-
MixedOperation<PipelineResource, PipelineResourceList, Resource<PipelineResource>> pipelineResources();
59-
60-
/**
61-
* API entrypoint for Task(tekton.dev/v1alpha1)
62-
*
63-
* @return MixedOperation for Task class
64-
*/
65-
MixedOperation<Task, TaskList, Resource<Task>> tasks();
66-
67-
/**
68-
* API entrypoint for TaskRun(tekton.dev/v1alpha1)
69-
*
70-
* @return MixedOperation for TaskRun class
71-
*/
72-
MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns();
73-
74-
/**
75-
* API entrypoint for Condition(tekton.dev/v1alpha1)
76-
*
77-
* @return MixedOperation for Condition class
78-
*/
79-
MixedOperation<Condition, ConditionList, Resource<Condition>> conditions();
80-
8125
/**
8226
* API entrypoint for TriggerTemplate(triggers.tekton.dev/v1alpha1)
8327
*
@@ -106,13 +50,6 @@ public interface V1alpha1APIGroupDSL extends Client {
10650
*/
10751
MixedOperation<EventListener, EventListenerList, Resource<EventListener>> eventListeners();
10852

109-
/**
110-
* API entrypoint for ClusterTask(tekton.dev/v1alpha1)
111-
*
112-
* @return MixedOperation for ClusterTask class
113-
*/
114-
NonNamespaceOperation<ClusterTask, ClusterTaskList, Resource<ClusterTask>> clusterTasks();
115-
11653
/**
11754
* API entrypoint for ClusterTriggerBinding(triggers.tekton.dev/v1alpha1)
11855
*

extensions/tekton/client/src/main/java/io/fabric8/tekton/client/dsl/V1beta1APIGroupDSL.java

+9
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import io.fabric8.kubernetes.client.dsl.Resource;
2222
import io.fabric8.tekton.pipeline.v1beta1.ClusterTask;
2323
import io.fabric8.tekton.pipeline.v1beta1.ClusterTaskList;
24+
import io.fabric8.tekton.pipeline.v1beta1.CustomRun;
25+
import io.fabric8.tekton.pipeline.v1beta1.CustomRunList;
2426
import io.fabric8.tekton.pipeline.v1beta1.Pipeline;
2527
import io.fabric8.tekton.pipeline.v1beta1.PipelineList;
2628
import io.fabric8.tekton.pipeline.v1beta1.PipelineRun;
@@ -69,6 +71,13 @@ public interface V1beta1APIGroupDSL extends Client {
6971
*/
7072
MixedOperation<TaskRun, TaskRunList, Resource<TaskRun>> taskRuns();
7173

74+
/**
75+
* API entrypoint for CustomRun(tekton.dev/v1beta1)
76+
*
77+
* @return MixedOperation for CustomRun class
78+
*/
79+
MixedOperation<CustomRun, CustomRunList, Resource<CustomRun>> customRuns();
80+
7281
/**
7382
* API entrypoint for ClusterTask(tekton.dev/v1beta1)
7483
*

extensions/tekton/examples/src/main/java/io/fabric8/tekton/api/examples/PipelineList.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class PipelineList {
2222
public static void main(String[] args) {
2323
try (TektonClient client = ClientFactory.newClient(args)) {
2424
System.out.println("Pipelines:");
25-
client.v1beta1().pipelines().list().getItems().forEach(System.out::println);
25+
client.v1().pipelines().list().getItems().forEach(System.out::println);
2626
System.out.println("done.");
2727
}
2828
System.exit(0);

0 commit comments

Comments
 (0)