1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.api.plugin.descriptor.another;
20
21 import org.apache.maven.api.plugin.descriptor.PluginDescriptor;
22 import org.junit.jupiter.api.Test;
23
24 import static org.junit.jupiter.api.Assertions.assertEquals;
25
26
27
28
29 class ExtendedPluginDescriptorTest {
30
31
32
33
34 static class ExtendedPluginDescriptor extends PluginDescriptor {
35
36 private final String additionalField;
37
38 ExtendedPluginDescriptor(Builder builder) {
39 super(builder);
40 this.additionalField = builder.additionalField;
41 }
42
43 public String getAdditionalField() {
44 return additionalField;
45 }
46
47 static class Builder extends PluginDescriptor.Builder {
48 protected String additionalField;
49
50 Builder() {
51 super(false);
52 }
53
54 public Builder additionalField(String additionalField) {
55 this.additionalField = additionalField;
56 return this;
57 }
58
59 @Override
60 public ExtendedPluginDescriptor build() {
61 return new ExtendedPluginDescriptor(this);
62 }
63 }
64 }
65
66 @Test
67 void testExtendedPluginDescriptor() {
68 ExtendedPluginDescriptor.Builder builder = new ExtendedPluginDescriptor.Builder();
69
70 builder.additionalField("additional")
71 .groupId("org.apache.maven")
72 .artifactId("maven-plugin-api")
73 .version("1.0.0");
74 ExtendedPluginDescriptor descriptor = builder.build();
75 assertEquals("additional", descriptor.getAdditionalField());
76 assertEquals("org.apache.maven", descriptor.getGroupId());
77 }
78 }