use of org.kie.workbench.common.services.backend.compiler.impl.kie.KieCompilationResponse in project kie-wb-common by kiegroup.
the class MavenRestHandler method postAsync.
/**
* Endpoint to ask an async build
*/
@POST
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public void postAsync(@Suspended AsyncResponse ar, @HeaderParam("project") String projectRepo, @HeaderParam("mavenrepo") String mavenRepoPath, @HeaderParam("settings_xml") String settingsXmlPath) throws Exception {
CompletableFuture<KieCompilationResponse> response = compilerService.build(projectRepo, mavenRepoPath, settingsXmlPath);
response.whenCompleteAsync((kieCompilationResponse, throwable) -> {
if (throwable != null) {
logger.error(throwable.getMessage());
ar.resume(Response.serverError().build());
} else {
byte[] bytes = RestUtils.serialize(new DefaultHttpCompilationResponse(kieCompilationResponse));
ar.resume(Response.ok(bytes).build());
}
});
}
use of org.kie.workbench.common.services.backend.compiler.impl.kie.KieCompilationResponse in project kie-wb-common by kiegroup.
the class CompilerOffProcessServiceTest method offProcessServiceCompileAsyncTest.
@Test
@Ignore("https://issues.redhat.com/browse/AF-2892")
public void offProcessServiceCompileAsyncTest() throws Exception {
CompilerOffprocessService service = new CompilerOffprocessServiceImpl(executor, queueProvider);
WorkspaceCompilationInfo info = new WorkspaceCompilationInfo(prjPath);
String uuid = UUID.randomUUID().toString();
CompilationRequest req = new DefaultCompilationRequest(mavenRepo, info, new String[] { MavenCLIArgs.COMPILE, MavenCLIArgs.ALTERNATE_USER_SETTINGS + alternateSettingsAbsPath }, Boolean.FALSE, uuid);
CompletableFuture<KieCompilationResponse> futureRes = service.compile(req);
logger.info("offProcessOneBuildAsyncTest build completed");
KieCompilationResponse res = futureRes.get();
assertThat(res).isNotNull();
assertThat(res.isSuccessful()).isTrue();
assertThat(res.getMavenOutput()).isNotEmpty();
DefaultKieCompilationResponse kres = (DefaultKieCompilationResponse) res;
assertThat(uuid).isEqualToIgnoringCase(kres.getRequestUUID());
}
use of org.kie.workbench.common.services.backend.compiler.impl.kie.KieCompilationResponse in project kie-wb-common by kiegroup.
the class DefaultLocalExecutor method internalBuild.
private CompletableFuture<KieCompilationResponse> internalBuild(Path projectPath, String mavenRepoPath, boolean skipProjectDepCreation, String[] args) {
WorkspaceCompilationInfo info = new WorkspaceCompilationInfo(projectPath);
AFCompiler compiler = getCompiler(projectPath);
CompilationRequest req = getDefaultRequest(mavenRepoPath, info, skipProjectDepCreation, args);
return CompletableFuture.supplyAsync(() -> ((KieCompilationResponse) compiler.compile(req)), executor);
}
use of org.kie.workbench.common.services.backend.compiler.impl.kie.KieCompilationResponse in project kie-wb-common by kiegroup.
the class DefaultLocalExecutor method internalBuild.
private CompletableFuture<KieCompilationResponse> internalBuild(Path projectPath, String mavenRepoPath, String settingXML, boolean skipProjectDepCreation, String goal, Map<Path, InputStream> override) {
WorkspaceCompilationInfo info = new WorkspaceCompilationInfo(projectPath);
AFCompiler compiler = getCompiler(projectPath);
CompilationRequest req;
if (settingXML != null) {
req = getDefaultRequest(mavenRepoPath, info, skipProjectDepCreation, new String[] { MavenCLIArgs.ALTERNATE_USER_SETTINGS + settingXML, goal });
} else {
req = getDefaultRequest(mavenRepoPath, info, skipProjectDepCreation, new String[] { goal });
}
return CompletableFuture.supplyAsync(() -> ((KieCompilationResponse) compiler.compile(req, override)), executor);
}
use of org.kie.workbench.common.services.backend.compiler.impl.kie.KieCompilationResponse in project kie-wb-common by kiegroup.
the class DefaultLocalExecutorTest method buildNonExistentProject.
@Test
public void buildNonExistentProject() throws Exception {
DefaultLocalExecutor executor = new DefaultLocalExecutor(executorService);
CompletableFuture<KieCompilationResponse> futureRes = executor.build(tmpRoot, mavenRepoPath, TestUtilMaven.getSettingsFile());
KieCompilationResponse res = futureRes.get();
assertThat(res.isSuccessful()).isFalse();
}
Aggregations