Skip to content

Commit 2df55ef

Browse files
Merge pull request #323 from iocanel/fluent
feat (#137): Introduce builder generation.
2 parents 94dbc80 + 1d72f38 commit 2df55ef

File tree

4 files changed

+60
-0
lines changed

4 files changed

+60
-0
lines changed

kubernetes/build.gradle

100644100755
+1
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,6 @@ dependencies {
9999
compile 'com.squareup.okhttp:logging-interceptor:2.7.5'
100100
compile 'com.google.code.gson:gson:2.6.2'
101101
compile 'joda-time:joda-time:2.9.3'
102+
compile 'io.sundr:builder-annotations:0.8.0'
102103
testCompile 'junit:junit:4.12'
103104
}

kubernetes/pom.xml

100644100755
+12
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,12 @@
129129
</build>
130130

131131
<dependencies>
132+
<dependency>
133+
<groupId>io.sundr</groupId>
134+
<artifactId>builder-annotations</artifactId>
135+
<version>${sundrio.version}</version>
136+
<scope>compile</scope>
137+
</dependency>
132138
<dependency>
133139
<groupId>io.swagger</groupId>
134140
<artifactId>swagger-annotations</artifactId>
@@ -154,6 +160,11 @@
154160
<artifactId>joda-time</artifactId>
155161
<version>${jodatime-version}</version>
156162
</dependency>
163+
<dependency>
164+
<groupId>org.joda</groupId>
165+
<artifactId>joda-convert</artifactId>
166+
<version>1.2</version>
167+
</dependency>
157168
<dependency>
158169
<groupId>org.apache.commons</groupId>
159170
<artifactId>commons-lang3</artifactId>
@@ -183,6 +194,7 @@
183194
<maven.compiler.source>${java.version}</maven.compiler.source>
184195
<maven.compiler.target>${java.version}</maven.compiler.target>
185196
<swagger-core-version>1.5.12</swagger-core-version>
197+
<sundrio.version>0.8.0</sundrio.version>
186198
<okhttp-version>2.7.5</okhttp-version>
187199
<gson-version>2.6.2</gson-version>
188200
<jodatime-version>2.9.3</jodatime-version>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package io.kubernetes.client.fluent;
2+
3+
import io.sundr.builder.annotations.ExternalBuildables;
4+
5+
@ExternalBuildables(
6+
editableEnabled = false,
7+
generateBuilderPackage = true,
8+
builderPackage = "io.kubernetes.client.fluent",
9+
value = {"io.kubernetes.client.models"}
10+
)
11+
public class Config {
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.kubernetes.client.models;
2+
3+
import java.util.Arrays;
4+
5+
import org.junit.Assert;
6+
import org.junit.Test;
7+
8+
public class V1PodBuilderTest {
9+
10+
@Test
11+
public void testBuilder() {
12+
V1Pod pod1 = new V1PodBuilder()
13+
.withNewMetadata()
14+
.withName("mypod")
15+
.endMetadata()
16+
.withNewSpec()
17+
.addNewContainer()
18+
.withName("cnt")
19+
.endContainer()
20+
.endSpec()
21+
.build();
22+
23+
V1Pod pod2 = new V1Pod()
24+
.metadata(new V1ObjectMeta().name("mypod"))
25+
.spec(new V1PodSpec()
26+
.containers(Arrays.asList(
27+
new V1Container().name("cnt")
28+
)
29+
)
30+
);
31+
32+
33+
Assert.assertEquals(pod1, pod2);
34+
}
35+
}

0 commit comments

Comments
 (0)