Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
*/
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
Expand Down Expand Up @@ -83,12 +85,13 @@ public void execute() throws MojoExecutionException, MojoFailureException {
if (!clusterBuildDir.exists()) {
clusterBuildDir.mkdirs();
}

// relativize to get path from target
Path relativizedfolder = Paths.get(session.getCurrentProject().getBuild().getDirectory()).relativize(nbmBuildDir.toPath());
List<MavenProject> reactorProjects = session.getProjects();
if (reactorProjects != null && !reactorProjects.isEmpty()) {
for (MavenProject proj : reactorProjects) {

File nbmDir = new File(nbmBuildDir, "clusters");
// nbmDir scan for each reactor project
File nbmDir = new File(proj.getBuild().getDirectory(), relativizedfolder.toString() + File.separator + "clusters");
if (nbmDir.exists()) {
Copy copyTask = (Copy) antProject.createTask("copy");
copyTask.setTodir(clusterBuildDir);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
Expand Down Expand Up @@ -62,6 +64,7 @@ public void testEmptyProject() throws Exception {
CreateClusterMojo createclustermojo = (CreateClusterMojo) lookupMojo("cluster", pom);
MavenSession mocksession = Mockito.mock(MavenSession.class);
setVariableValueToObject(createclustermojo, "session", mocksession);
Mockito.doReturn(new MavenProjectStubImpl()).when(mocksession).getCurrentProject();
assertNotNull(createclustermojo);
MojoExecutionException assertThrows = assertThrows(MojoExecutionException.class, () -> createclustermojo.execute());
assertEquals("This goal only makes sense on reactor projects.", assertThrows.getMessage());
Expand All @@ -85,8 +88,16 @@ public String getId() {
return "foo";
}

@Override
public Build getBuild() {
Build mock = Mockito.mock(Build.class);
Mockito.doReturn(getBasedir() + File.separator + "nbm").when(mock).getDirectory();
return mock;
}

});
Mockito.doReturn(lmp).when(mocksession).getProjects();
Mockito.doReturn(new MavenProjectStubImpl()).when(mocksession).getCurrentProject();
setVariableValueToObject(createclustermojo, "session", mocksession);
assertNotNull(createclustermojo);
MojoFailureException assertThrows = assertThrows(MojoFailureException.class, () -> createclustermojo.execute());
Expand All @@ -112,8 +123,21 @@ public String getId() {
return "foo";
}

@Override
public Build getBuild() {
Build mock = Mockito.mock(Build.class);
Mockito.doReturn(getBasedir() + File.separator + "nbm").when(mock).getDirectory();
try {
Files.createDirectories(Paths.get(getBasedir() + File.separator + "nbm"));
} catch (IOException ex) {
System.getLogger(CreateClusterMojoTest.class.getName()).log(System.Logger.Level.ERROR, (String) null, ex);
}
return mock;
}

});
Mockito.doReturn(lmp).when(mocksession).getProjects();
Mockito.doReturn(new MavenProjectStubImpl()).when(mocksession).getCurrentProject();
File clusterdir = (File) getVariableValueFromObject(createclustermojo, "nbmBuildDir");
File file = new File(clusterdir, "clusters");
file.mkdirs();
Expand Down Expand Up @@ -150,6 +174,7 @@ public Build getBuild() {

});
Mockito.doReturn(lmp).when(mocksession).getProjects();
Mockito.doReturn(new MavenProjectStubImpl()).when(mocksession).getCurrentProject();
setVariableValueToObject(createclustermojo, "session", mocksession);
assertNotNull(createclustermojo);
createclustermojo.execute();
Expand Down Expand Up @@ -199,7 +224,7 @@ public Build getBuild() {

});
Mockito.doReturn(lmp).when(mocksession).getProjects();
Mockito.doReturn(new MavenProjectStub()).when(mocksession).getCurrentProject();
Mockito.doReturn(new MavenProjectStubImpl()).when(mocksession).getCurrentProject();
setVariableValueToObject(createclustermojo, "project", lmp.get(0));
setVariableValueToObject(createclustermojo, "session", mocksession);
setVariableValueToObject(createclustermojo, "cluster", "cl");
Expand All @@ -222,4 +247,28 @@ private void createDummyJarApp(String folder) throws IOException {
jos.closeEntry();
}
}

private static class MavenProjectStubImpl extends MavenProjectStub {

public MavenProjectStubImpl() {
}

@Override
public String getPackaging() {
return "nbm";
}

@Override
public String getId() {
return "foo";
}

@Override
public Build getBuild() {
Build mock = Mockito.mock(Build.class);
Mockito.doReturn(getBasedir() + File.separator + "nbm").when(mock).getDirectory();
return mock;
}

}
}