Skip to content

Commit 2627c47

Browse files
committed
fix: an exception during bundle generation should fail the build
1 parent 650a5c4 commit 2627c47

File tree

1 file changed

+70
-73
lines changed
  • bundle-generator/deployment/src/main/java/io/quarkiverse/operatorsdk/bundle/deployment

1 file changed

+70
-73
lines changed

bundle-generator/deployment/src/main/java/io/quarkiverse/operatorsdk/bundle/deployment/BundleProcessor.java

Lines changed: 70 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -178,80 +178,77 @@ void generateBundle(ApplicationInfoBuildItem configuration,
178178
List<GeneratedKubernetesResourceBuildItem> generatedKubernetesManifests,
179179
BuildProducer<GeneratedFileSystemResourceBuildItem> generatedCSVs) {
180180
if (bundleConfiguration.enabled) {
181-
try {
182-
final var crds = generatedCustomResourcesDefinitions.getCRDGenerationInfo().getCrds()
183-
.values().stream()
184-
.flatMap(entry -> entry.values().stream())
185-
.collect(Collectors.toMap(CRDInfo::getCrdName, Function.identity()));
186-
final var outputDir = outputTarget.getOutputDirectory().resolve(BUNDLE);
187-
final var serviceAccounts = new LinkedList<ServiceAccount>();
188-
final var clusterRoleBindings = new LinkedList<ClusterRoleBinding>();
189-
final var clusterRoles = new LinkedList<ClusterRole>();
190-
final var roleBindings = new LinkedList<RoleBinding>();
191-
final var roles = new LinkedList<Role>();
192-
final var deployments = new LinkedList<Deployment>();
193-
194-
generatedKubernetesManifests.stream()
195-
.filter(bi -> bi.getName().equals("kubernetes.yml"))
196-
.findAny()
197-
.ifPresent(
198-
bi -> {
199-
final var resources = Serialization
200-
.unmarshalAsList(new ByteArrayInputStream(bi.getContent()));
201-
resources.getItems().forEach(r -> {
202-
if (r instanceof ServiceAccount) {
203-
serviceAccounts.add((ServiceAccount) r);
204-
return;
205-
}
206-
207-
if (r instanceof ClusterRoleBinding) {
208-
clusterRoleBindings.add((ClusterRoleBinding) r);
209-
return;
210-
}
211-
212-
if (r instanceof ClusterRole) {
213-
clusterRoles.add((ClusterRole) r);
214-
return;
215-
}
216-
217-
if (r instanceof RoleBinding) {
218-
roleBindings.add((RoleBinding) r);
219-
return;
220-
}
221-
222-
if (r instanceof Role) {
223-
roles.add((Role) r);
224-
return;
225-
}
226-
227-
if (r instanceof Deployment) {
228-
deployments.add((Deployment) r);
229-
}
230-
});
181+
final var crds = generatedCustomResourcesDefinitions.getCRDGenerationInfo().getCrds()
182+
.values().stream()
183+
.flatMap(entry -> entry.values().stream())
184+
.collect(Collectors.toMap(CRDInfo::getCrdName, Function.identity()));
185+
final var outputDir = outputTarget.getOutputDirectory().resolve(BUNDLE);
186+
final var serviceAccounts = new LinkedList<ServiceAccount>();
187+
final var clusterRoleBindings = new LinkedList<ClusterRoleBinding>();
188+
final var clusterRoles = new LinkedList<ClusterRole>();
189+
final var roleBindings = new LinkedList<RoleBinding>();
190+
final var roles = new LinkedList<Role>();
191+
final var deployments = new LinkedList<Deployment>();
192+
193+
generatedKubernetesManifests.stream()
194+
.filter(bi -> bi.getName().equals("kubernetes.yml"))
195+
.findAny()
196+
.ifPresent(
197+
bi -> {
198+
final var resources = Serialization
199+
.unmarshalAsList(new ByteArrayInputStream(bi.getContent()));
200+
resources.getItems().forEach(r -> {
201+
if (r instanceof ServiceAccount) {
202+
serviceAccounts.add((ServiceAccount) r);
203+
return;
204+
}
205+
206+
if (r instanceof ClusterRoleBinding) {
207+
clusterRoleBindings.add((ClusterRoleBinding) r);
208+
return;
209+
}
210+
211+
if (r instanceof ClusterRole) {
212+
clusterRoles.add((ClusterRole) r);
213+
return;
214+
}
215+
216+
if (r instanceof RoleBinding) {
217+
roleBindings.add((RoleBinding) r);
218+
return;
219+
}
220+
221+
if (r instanceof Role) {
222+
roles.add((Role) r);
223+
return;
224+
}
225+
226+
if (r instanceof Deployment) {
227+
deployments.add((Deployment) r);
228+
}
231229
});
232-
final var generated = BundleGenerator.prepareGeneration(bundleConfiguration, versionBuildItem.getVersion(),
233-
csvMetadata.getCsvGroups(), crds, outputTarget.getOutputDirectory());
234-
generated.forEach(manifestBuilder -> {
235-
final var fileName = manifestBuilder.getFileName();
236-
try {
237-
generatedCSVs.produce(
238-
new GeneratedFileSystemResourceBuildItem(
239-
Path.of(BUNDLE).resolve(manifestBuilder.getName()).resolve(fileName).toString(),
240-
manifestBuilder.getManifestData(serviceAccounts, clusterRoleBindings, clusterRoles,
241-
roleBindings, roles, deployments)));
242-
log.infov("Generating {0} for ''{1}'' controller -> {2}",
243-
manifestBuilder.getManifestType(),
244-
manifestBuilder.getName(),
245-
outputDir.resolve(manifestBuilder.getName()).resolve(fileName));
246-
} catch (IOException e) {
247-
log.errorv("Cannot generate {0} for ''{1}'' controller: {2}",
248-
manifestBuilder.getManifestType(), manifestBuilder.getName(), e.getMessage());
249-
}
250-
});
251-
doneGeneratingCSV.produce(new GeneratedBundleBuildItem());
252-
} catch (Exception e) {
253-
log.infov(e, "Couldn't generate bundle:");
254-
}
230+
});
231+
final var generated = BundleGenerator.prepareGeneration(bundleConfiguration, versionBuildItem.getVersion(),
232+
csvMetadata.getCsvGroups(), crds, outputTarget.getOutputDirectory());
233+
generated.forEach(manifestBuilder -> {
234+
final var fileName = manifestBuilder.getFileName();
235+
try {
236+
generatedCSVs.produce(
237+
new GeneratedFileSystemResourceBuildItem(
238+
Path.of(BUNDLE).resolve(manifestBuilder.getName()).resolve(fileName).toString(),
239+
manifestBuilder.getManifestData(serviceAccounts, clusterRoleBindings, clusterRoles,
240+
roleBindings, roles, deployments)));
241+
log.infov("Generating {0} for ''{1}'' controller -> {2}",
242+
manifestBuilder.getManifestType(),
243+
manifestBuilder.getName(),
244+
outputDir.resolve(manifestBuilder.getName()).resolve(fileName));
245+
} catch (IOException e) {
246+
log.errorv("Cannot generate {0} for ''{1}'' controller: {2}",
247+
manifestBuilder.getManifestType(), manifestBuilder.getName(), e.getMessage());
248+
}
249+
});
250+
doneGeneratingCSV.produce(new GeneratedBundleBuildItem());
251+
255252
}
256253
}
257254

0 commit comments

Comments
 (0)