use of org.guvnor.ala.source.git.executor.GitConfigExecutor in project kie-wb-common by kiegroup.
the class WildflyRuntimeTest method waitForAppBuildTest.
@Test
public void waitForAppBuildTest() {
final Optional<Source> _source = new GitConfigExecutor(new InMemorySourceRegistry()).apply(new GitConfigImpl(tempPath.getAbsolutePath(), "master", gitUrl, "drools-workshop-build", "true"));
assertTrue(_source.isPresent());
final Source source = _source.get();
assertNotNull(source);
List<String> goals = new ArrayList<>();
goals.add("package");
Properties properties = new Properties();
properties.setProperty("failIfNoTests", "false");
final Path projectRoot = source.getPath();
final InputStream pomStream = org.uberfire.java.nio.file.Files.newInputStream(projectRoot.resolve("pom.xml"));
final MavenProject project = MavenProjectLoader.parseMavenPom(pomStream);
RepositoryVisitor repositoryVisitor = new RepositoryVisitor(projectRoot, project.getName());
final String expectedBinary = project.getArtifact().getArtifactId() + "-" + project.getArtifact().getVersion() + "." + project.getArtifact().getType();
final org.guvnor.ala.build.maven.model.MavenProject mavenProject = new MavenProjectImpl(project.getId(), project.getArtifact().getType(), project.getName(), expectedBinary, source.getPath(), source.getPath(), source.getPath().resolve("target").resolve(expectedBinary).toAbsolutePath(), repositoryVisitor.getRoot().getAbsolutePath(), null);
final File pom = new File(mavenProject.getTempDir(), "pom.xml");
MavenBuildExecutor.executeMaven(pom, properties, goals.toArray(new String[0]));
final File file = new File(repositoryVisitor.getRoot().getAbsolutePath() + "/target/" + mavenProject.getExpectedBinary());
WildflyClient wildflyClient = new WildflyClient("", "admin", "Admin#70365", ip, 8080, 9990);
wildflyClient.deploy(file);
final String id = file.getName();
WildflyAppState appState = wildflyClient.getAppState(id);
assertNotNull(appState);
assertTrue(appState.getState().equals(RUNNING));
wildflyClient.undeploy(id);
appState = wildflyClient.getAppState(id);
assertNotNull(appState);
assertTrue(appState.getState().equals(UNKNOWN));
wildflyClient.deploy(file);
appState = wildflyClient.getAppState(id);
assertNotNull(appState);
assertTrue(appState.getState().equals(RUNNING));
}
use of org.guvnor.ala.source.git.executor.GitConfigExecutor in project kie-wb-common by kiegroup.
the class MavenCliOutputTest method buildAppAndWaitForMavenOutputTest.
@Test
public void buildAppAndWaitForMavenOutputTest() throws IOException {
final Optional<Source> _source = new GitConfigExecutor(new InMemorySourceRegistry()).apply(new GitConfigImpl(tempPath.getAbsolutePath(), "master", gitUrl, "drools-workshop", "true"));
assertTrue(_source.isPresent());
final Source source = _source.get();
boolean buildProcessReady = false;
Throwable error = null;
PipedOutputStream baosOut = new PipedOutputStream();
PipedOutputStream baosErr = new PipedOutputStream();
final PrintStream out = new PrintStream(baosOut, true);
final PrintStream err = new PrintStream(baosErr, true);
// Build the project in a different thread
new Thread(() -> {
buildMavenProject(source, out, err);
}).start();
// Use the PipeOutputStream to read the execution output and validate that the application was built.
StringBuilder sb = new StringBuilder();
BufferedReader bufferedReader;
bufferedReader = new BufferedReader(new InputStreamReader(new PipedInputStream(baosOut)));
String line;
while (!(buildProcessReady || error != null)) {
if ((line = bufferedReader.readLine()) != null) {
sb.append(line).append("\n");
if (line.contains("Building war:")) {
buildProcessReady = true;
out.close();
err.close();
baosOut.close();
baosErr.close();
}
}
}
assertTrue(sb.toString().contains("Building war:"));
assertTrue(buildProcessReady);
assertTrue(error == null);
}
use of org.guvnor.ala.source.git.executor.GitConfigExecutor in project kie-wb-common by kiegroup.
the class MavenProjectConfigExecutorTest method testAPI.
@Test
public void testAPI() {
final SourceRegistry sourceRegistry = new InMemorySourceRegistry();
final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Git Source", new MyGitConfig()).addConfigStage("Maven Project", new MavenProjectConfigImpl()).addConfigStage("Maven Build Config", new MavenBuildConfigImpl()).addConfigStage("Maven Build", new MavenBuildExecConfigImpl()).buildAs("my pipe");
final PipelineExecutor executor = new PipelineExecutor(asList(new GitConfigExecutor(sourceRegistry), new MavenProjectConfigExecutor(sourceRegistry), new MavenBuildConfigExecutor(), new MavenBuildExecConfigExecutor(buildRegistry)));
executor.execute(new Input() {
{
put("repo-name", "drools-workshop-pipe");
put("create-repo", "true");
put("branch", "master");
put("out-dir", tempPath.getAbsolutePath());
put("origin", gitUrl);
}
}, pipe, System.out::println);
List<Repository> allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
Repository repo = allRepositories.get(0);
List<Project> allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(1, allProjects.size());
List<Binary> allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(0));
final String tempDir = sourceRegistry.getAllProjects(repo).get(0).getTempDir();
executor.execute(new Input() {
{
put("project-temp-dir", tempDir);
put("repo-name", "drools-workshop-pipe");
put("branch", "master");
}
}, pipe, System.out::println);
allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
repo = allRepositories.get(0);
allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(2, allProjects.size());
allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(1));
}
use of org.guvnor.ala.source.git.executor.GitConfigExecutor in project kie-wb-common by kiegroup.
the class CloneTestJUnitTest method hello.
@Test
public void hello() throws Exception {
final String repoName = "drools-workshop-build";
final Optional<Source> source = new GitConfigExecutor(new InMemorySourceRegistry()).apply(new GitConfigImpl(tempPath.getAbsolutePath(), "master", gitUrl, repoName, "true"));
assertTrue(source.isPresent());
final String targetRepoDir = tempPath.getAbsolutePath() + "/" + repoName + ".git";
Git git = Git.open(new File(targetRepoDir));
assertNotNull(git.getRepository().exactRef(Constants.HEAD));
}
use of org.guvnor.ala.source.git.executor.GitConfigExecutor in project kie-wb-common by kiegroup.
the class MavenProjectConfigExecutorTest method testReuseTmpDirectoryAPI.
@Test
public void testReuseTmpDirectoryAPI() {
final SourceRegistry sourceRegistry = new InMemorySourceRegistry();
final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Git Source", new MyGitConfig()).addConfigStage("Maven Project", new MavenProjectConfigImpl()).addConfigStage("Maven Build Config", new MavenBuildConfigImpl()).addConfigStage("Maven Build", new MavenBuildExecConfigImpl()).buildAs("my pipe");
final PipelineExecutor executor = new PipelineExecutor(asList(new GitConfigExecutor(sourceRegistry), new MavenProjectConfigExecutor(sourceRegistry), new MavenBuildConfigExecutor(), new MavenBuildExecConfigExecutor(buildRegistry)));
executor.execute(new Input() {
{
put("repo-name", "drools-workshop-pipe2");
put("create-repo", "true");
put("branch", "master");
put("out-dir", tempPath.getAbsolutePath());
put("origin", gitUrl);
}
}, pipe, System.out::println);
List<Repository> allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
Repository repo = allRepositories.get(0);
List<Project> allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(1, allProjects.size());
List<Binary> allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(0));
final String tempDir = sourceRegistry.getAllProjects(repo).get(0).getTempDir();
executor.execute(new Input() {
{
put("project-temp-dir", tempDir);
put("repo-name", "drools-workshop-pipe2");
put("branch", "master");
}
}, pipe, System.out::println);
allRepositories = sourceRegistry.getAllRepositories();
assertEquals(1, allRepositories.size());
repo = allRepositories.get(0);
allProjects = sourceRegistry.getAllProjects(repo);
assertEquals(2, allProjects.size());
allBinaries = buildRegistry.getAllBinaries();
assertEquals(1, allBinaries.size());
assertMavenBinary(allBinaries.get(0), allProjects.get(1));
}
Aggregations