use of org.gradle.api.GradleException in project gradle by gradle.
the class DefaultLegacyTypesSupport method injectEmptyInterfacesIntoClassLoader.
/**
* Injects the interfaces into an arbitrary classloader via
* {@link ClassLoader#defineClass(String, byte[], int, int)}.
*/
@Override
public void injectEmptyInterfacesIntoClassLoader(ClassLoader classLoader) {
try {
for (String name : syntheticClasses) {
byte[] bytes = generateSyntheticClass(name);
ClassLoaderUtils.define(classLoader, name, bytes);
}
} catch (Exception e) {
throw new GradleException("Could not inject synthetic classes.", e);
}
}
use of org.gradle.api.GradleException in project gradle by gradle.
the class ExecuteActionsTaskExecuter method execute.
public void execute(TaskInternal task, TaskStateInternal state, TaskExecutionContext context) {
listener.beforeActions(task);
if (task.hasTaskActions()) {
outputsGenerationListener.beforeTaskOutputChanged();
}
state.setExecuting(true);
try {
GradleException failure = executeActions(task, state, context);
if (failure != null) {
state.setOutcome(failure);
} else {
state.setOutcome(state.getDidWork() ? TaskExecutionOutcome.EXECUTED : TaskExecutionOutcome.UP_TO_DATE);
}
context.getTaskArtifactState().snapshotAfterTaskExecution(failure, buildInvocationScopeId.getId(), context);
} finally {
state.setExecuting(false);
listener.afterActions(task);
}
}
use of org.gradle.api.GradleException in project gradle by gradle.
the class ResolveTaskOutputCachingStateExecuter method execute.
@Override
public void execute(TaskInternal task, TaskStateInternal state, TaskExecutionContext context) {
if (taskOutputCacheEnabled) {
try {
TaskOutputCachingState taskOutputCachingState = task.getOutputs().getCachingState(context.getTaskProperties());
state.setTaskOutputCaching(taskOutputCachingState);
if (!taskOutputCachingState.isEnabled()) {
LOGGER.info("Caching disabled for {}: {}", task, taskOutputCachingState.getDisabledReason());
}
} catch (Exception t) {
throw new GradleException(String.format("Could not evaluate TaskOutputs.getCachingState().isEnabled() for %s.", task), t);
}
} else {
state.setTaskOutputCaching(DefaultTaskOutputs.DISABLED);
}
delegate.execute(task, state, context);
}
use of org.gradle.api.GradleException in project gradle by gradle.
the class InProcessGradleExecuter method doRunWithFailure.
@Override
protected ExecutionFailure doRunWithFailure() {
if (isForkRequired()) {
return createGradleHandle().waitForFailure();
}
StandardOutputListener outputListener = new OutputListenerImpl();
BuildListenerImpl buildListener = new BuildListenerImpl();
try {
doRun(outputListener, buildListener).rethrowFailure();
throw new AssertionError("expected build to fail but it did not.");
} catch (GradleException e) {
return assertResult(new InProcessExecutionFailure(buildListener.executedTasks, buildListener.skippedTasks, OutputScrapingExecutionFailure.from(outputListener.toString(), ""), e));
}
}
use of org.gradle.api.GradleException in project gradle by gradle.
the class JsHint method doJsHint.
@TaskAction
public void doJsHint() {
RhinoWorkerHandleFactory handleFactory = new DefaultRhinoWorkerHandleFactory(getWorkerProcessBuilderFactory());
LogLevel logLevel = getProject().getGradle().getStartParameter().getLogLevel();
JsHintProtocol worker = handleFactory.create(getRhinoClasspath(), JsHintProtocol.class, JsHintWorker.class, logLevel, getProject().getProjectDir());
JsHintSpec spec = new JsHintSpec();
// flatten because we need to serialize
spec.setSource(getSource().getFiles());
spec.setEncoding(getEncoding());
spec.setJsHint(getJsHint().getSingleFile());
JsHintResult result = worker.process(spec);
setDidWork(true);
// TODO - this is all terribly lame. We need some proper reporting here (which means implementing Reporting).
Logger logger = getLogger();
boolean anyErrors = false;
Map<String, Map<?, ?>> reportData = new LinkedHashMap<String, Map<?, ?>>(result.getResults().size());
for (Map.Entry<File, Map<String, Object>> fileEntry : result.getResults().entrySet()) {
File file = fileEntry.getKey();
Map<String, Object> data = fileEntry.getValue();
reportData.put(file.getAbsolutePath(), data);
if (data.containsKey("errors")) {
anyErrors = true;
URI projectDirUri = getProject().getProjectDir().toURI();
@SuppressWarnings("unchecked") Map<String, Object> errors = (Map<String, Object>) data.get("errors");
if (!errors.isEmpty()) {
URI relativePath = projectDirUri.relativize(file.toURI());
logger.warn("JsHint errors for file: {}", relativePath.getPath());
for (Map.Entry<String, Object> errorEntry : errors.entrySet()) {
@SuppressWarnings("unchecked") Map<String, Object> error = (Map<String, Object>) errorEntry.getValue();
int line = Float.valueOf(error.get("line").toString()).intValue();
int character = Float.valueOf(error.get("character").toString()).intValue();
String reason = error.get("reason").toString();
logger.warn(" {}:{} > {}", new Object[] { line, character, reason });
}
}
}
}
File jsonReportFile = getJsonReport();
if (jsonReportFile != null) {
try {
FileWriter reportWriter = new FileWriter(jsonReportFile);
new GsonBuilder().setPrettyPrinting().create().toJson(reportData, reportWriter);
reportWriter.close();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
if (anyErrors) {
throw new TaskExecutionException(this, new GradleException("JsHint detected errors"));
}
}
Aggregations