##// END OF EJS Templates
added setters to ContainerExtension
cin -
r6:c7ba4d8ec41a v1.1.1 default
parent child
Show More
@@ -1,2 +1,2
1 group=org.implab.gradle
1 group=org.implab.gradle
2 version=1.1 No newline at end of file
2 version=1.1.1 No newline at end of file
@@ -1,94 +1,156
1 package org.implab.gradle.containers;
1 package org.implab.gradle.containers;
2
2
3 import java.util.Optional;
3 import java.util.Optional;
4
4
5 import org.gradle.api.Project;
5 import org.gradle.api.Project;
6 import org.gradle.api.file.Directory;
6 import org.gradle.api.file.DirectoryProperty;
7 import org.gradle.api.file.DirectoryProperty;
7 import org.gradle.api.file.ProjectLayout;
8 import org.gradle.api.file.ProjectLayout;
9 import org.gradle.api.file.RegularFile;
8 import org.gradle.api.file.RegularFileProperty;
10 import org.gradle.api.file.RegularFileProperty;
9 import org.gradle.api.model.ObjectFactory;
11 import org.gradle.api.model.ObjectFactory;
10 import org.gradle.api.provider.Property;
12 import org.gradle.api.provider.Property;
11 import org.gradle.api.provider.Provider;
13 import org.gradle.api.provider.Provider;
12
14
13 public class ContainerExtension {
15 public class ContainerExtension {
14
16
15 private final Property<String> cliCmd;
17 private final Property<String> cliCmd;
16
18
17 private final Property<String> imageAuthority;
19 private final Property<String> imageAuthority;
18
20
19 private final Property<String> imageGroup;
21 private final Property<String> imageGroup;
20
22
21 private final Property<String> imageShortName;
23 private final Property<String> imageShortName;
22
24
23 private final Property<String> imageTag;
25 private final Property<String> imageTag;
24
26
25 private final Property<ImageName> imageName;
27 private final Property<ImageName> imageName;
26
28
27 private final DirectoryProperty contextDir;
29 private final DirectoryProperty contextDir;
28
30
29 private final RegularFileProperty imageIdFile;
31 private final RegularFileProperty imageIdFile;
30
32
31 public ContainerExtension(ObjectFactory factory, ProjectLayout layout, Project project) {
33 public ContainerExtension(ObjectFactory factory, ProjectLayout layout, Project project) {
32 contextDir = factory.directoryProperty();
34 contextDir = factory.directoryProperty();
33 contextDir.convention(layout.getBuildDirectory().dir("context"));
35 contextDir.convention(layout.getBuildDirectory().dir("context"));
34
36
35 imageIdFile = factory.fileProperty();
37 imageIdFile = factory.fileProperty();
36 imageIdFile.convention(layout.getBuildDirectory().file("imageId"));
38 imageIdFile.convention(layout.getBuildDirectory().file("imageId"));
37
39
38 cliCmd = factory.property(String.class);
40 cliCmd = factory.property(String.class);
39 cliCmd.set("docker");
41 cliCmd.set("docker");
40
42
41 imageAuthority = factory.property(String.class);
43 imageAuthority = factory.property(String.class);
42 imageGroup = factory.property(String.class);
44 imageGroup = factory.property(String.class);
43 imageShortName = factory.property(String.class);
45 imageShortName = factory.property(String.class);
44
46
45 imageShortName.convention(project.getName());
47 imageShortName.convention(project.getName());
46
48
47 imageTag = factory.property(String.class);
49 imageTag = factory.property(String.class);
48 imageTag.set(project
50 imageTag.set(project
49 .provider(() -> Optional.ofNullable(project.getVersion()).map(v -> v.toString()).orElse("latest")));
51 .provider(() -> Optional.ofNullable(project.getVersion()).map(v -> v.toString()).orElse("latest")));
50
52
51 Provider<String> imageRepository = imageGroup.map(g -> g + "/" + imageShortName.get()).orElse(imageShortName);
53 Provider<String> imageRepository = imageGroup.map(g -> g + "/" + imageShortName.get()).orElse(imageShortName);
52
54
53 imageName = factory.property(ImageName.class);
55 imageName = factory.property(ImageName.class);
54 imageName.convention(project.provider(
56 imageName.convention(project.provider(
55 () -> new ImageName().authority(imageAuthority.get()).name(imageRepository.get()).tag(imageTag.get())));
57 () -> new ImageName().authority(imageAuthority.get()).name(imageRepository.get()).tag(imageTag.get())));
56 }
58 }
57
59
58 public Property<String> getCliCmd() {
60 public Property<String> getCliCmd() {
59 return cliCmd;
61 return cliCmd;
60 }
62 }
61
63
62 public void setCliCmd(String cliCmd) {
64 public void setCliCmd(String cliCmd) {
63 this.cliCmd.set(cliCmd);
65 this.cliCmd.set(cliCmd);
64 }
66 }
65
67
66 public DirectoryProperty getContextDirectory() {
68 public DirectoryProperty getContextDirectory() {
67 return contextDir;
69 return contextDir;
68 }
70 }
69
71
72 public void setContextDirectory(Directory dir) {
73 contextDir.set(dir);
74 }
75
76 public void setContextDirectory(Provider<Directory> dir) {
77 contextDir.set(dir);
78 }
79
70 public RegularFileProperty getImageIdFile() {
80 public RegularFileProperty getImageIdFile() {
71 return imageIdFile;
81 return imageIdFile;
72 }
82 }
73
83
84 public void setImageIdFile(RegularFile file) {
85 imageIdFile.set(file);
86 }
87
88 public void setImageIdFile(Provider<RegularFile> file) {
89 imageIdFile.set(file);
90 }
91
74 public Property<String> getImageAuthority() {
92 public Property<String> getImageAuthority() {
75 return imageAuthority;
93 return imageAuthority;
76 }
94 }
77
95
96 public void setImageAuthority(String value) {
97 imageAuthority.set(value);
98 }
99
100 public void setImageAuthority(Provider<String> value) {
101 imageAuthority.set(value);
102 }
103
78 public Property<String> getImageGroup() {
104 public Property<String> getImageGroup() {
79 return imageGroup;
105 return imageGroup;
80 }
106 }
81
107
108 public void setImageGroup(String value) {
109 imageGroup.set(value);
110 }
111
112 public void setImageGroup(Provider<String> value) {
113 imageGroup.set(value);
114 }
115
82 public Property<ImageName> getImageName() {
116 public Property<ImageName> getImageName() {
83 return imageName;
117 return imageName;
84 }
118 }
85
119
120 public void setImageName(ImageName name) {
121 imageName.set(name);
122 }
123
124 public void setImageName(Provider<ImageName> name) {
125 imageName.set(name);
126 }
127
86 public Property<String> getImageShortName() {
128 public Property<String> getImageShortName() {
87 return imageShortName;
129 return imageShortName;
88 }
130 }
89
131
132 public void setImageShortName(String name) {
133 imageShortName.set(name);
134 }
135
136 public void setImageShortName(Provider<String> name) {
137 imageShortName.set(name);
138 }
139
140 public Property<String> getImageTag() {
141 return imageTag;
142 }
143
144 public void setImageTag(String tag) {
145 imageTag.set(tag);
146 }
147
148 public void setImageTag(Provider<String> tag) {
149 imageTag.set(tag);
150 }
151
90 public ImageName createImageName() {
152 public ImageName createImageName() {
91 return new ImageName();
153 return new ImageName();
92 }
154 }
93
155
94 } No newline at end of file
156 }
General Comments 0
You need to be logged in to leave comments. Login now