Ensure execution stops on failure

This commit is contained in:
Erik C. Thauvin 2024-07-03 16:23:20 -07:00
parent 3e564915ea
commit c1c5433472
Signed by: erik
GPG key ID: 776702A6A2DA330E

View file

@ -19,9 +19,9 @@ package rife.bld.extension;
import rife.bld.BaseProject; import rife.bld.BaseProject;
import rife.bld.operations.AbstractOperation; import rife.bld.operations.AbstractOperation;
import rife.bld.operations.exceptions.ExitStatusException;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -92,9 +92,28 @@ public class GeneratedVersionOperation extends AbstractOperation<GeneratedVersio
* Generates a version data class for this project. * Generates a version data class for this project.
*/ */
@Override @Override
public void execute() { @SuppressWarnings("PMD.PreserveStackTrace")
if (generatedVersion.getProject() == null && LOGGER.isLoggable(Level.SEVERE)) { public void execute() throws Exception {
LOGGER.severe("A project must be specified."); if (generatedVersion_.getProject() == null) {
if (LOGGER.isLoggable(Level.SEVERE) && !silent()) {
LOGGER.severe("A project must be specified.");
}
throw new ExitStatusException(ExitStatusException.EXIT_FAILURE);
} else {
try {
var template = generatedVersion_.buildTemplate();
generatedVersion_.writeTemplate(template);
if (LOGGER.isLoggable(Level.INFO) && !silent()) {
LOGGER.log(Level.INFO, "Generated version ({0}) class saved to: file://{1}",
new String[]{generatedVersion_.getProject().version().toString(),
generatedVersion_.getClassFile().toURI().getPath()});
}
} catch (Exception e) {
if (LOGGER.isLoggable(Level.SEVERE) && !silent()) {
LOGGER.severe(e.getMessage());
}
throw new ExitStatusException(ExitStatusException.EXIT_FAILURE);
}
} }
} }