use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.
the class PomManagementServiceImpl method parseUnparsedPoms.
private Set<Pom> parseUnparsedPoms() {
final Map<String, String> pomModuleMap = new HashMap<String, String>();
final Set<Pom> newPoms = new HashSet<Pom>();
for (final Iterator<String> iter = toBeParsed.iterator(); iter.hasNext(); ) {
final String pathToChangedPom = iter.next();
if (new File(pathToChangedPom).exists()) {
String pomContents = "";
try {
pomContents = org.apache.commons.io.FileUtils.readFileToString(new File(pathToChangedPom));
} catch (IOException ignored) {
}
if (StringUtils.isNotBlank(pomContents)) {
final Element rootElement = XmlUtils.stringToElement(pomContents);
resolvePoms(rootElement, pathToChangedPom, pomModuleMap);
final String moduleName = getModuleName(FileUtils.getFirstDirectory(pathToChangedPom));
final Pom pom = getPomFactory().getInstance(rootElement, pathToChangedPom, moduleName);
Validate.notNull(pom, "POM is null for module '%s' and path '%s'", moduleName, pathToChangedPom);
pomMap.put(pathToChangedPom, pom);
newPoms.add(pom);
iter.remove();
}
}
}
return newPoms;
}
use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.
the class MavenOperationsImpl method createModule.
private void createModule(final String moduleName, final PackagingProvider selectedPackagingProvider, final String artifactId, final String folder) {
Validate.isTrue(isCreateModuleAvailable(), "Cannot create modules at this time");
if (getProjectOperations().getPomFromModuleName(moduleName) != null) {
throw new IllegalArgumentException(String.format("Module %s already exists", moduleName));
}
// Get parent pom
Pom parentPom = getProjectOperations().getPomFromModuleName("");
setModule(parentPom);
// Validate parent has POM packaging
if (!parentPom.getPackaging().equals("pom")) {
throw new IllegalArgumentException("ERROR: Parent module packaging is not POM");
}
final PackagingProvider packagingProvider = getPackagingProvider(selectedPackagingProvider);
final String pathToNewPom = packagingProvider.createArtifacts(getProjectOperations().getTopLevelPackage(parentPom.getModuleName()), artifactId, "", new GAV(parentPom.getGroupId(), parentPom.getArtifactId(), parentPom.getVersion()), moduleName, this);
updateParentModulePom(moduleName);
setModule(pomManagementService.getPomFromPath(pathToNewPom));
if (folder == null) {
createFolder(getProjectOperations().getTopLevelPackage(moduleName), null);
} else {
createFolder(getProjectOperations().getTopLevelPackage(parentPom.getModuleName()), folder);
}
}
use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.
the class ProjectMetadataTest method testConstructorForLevelTwoModule.
@Test
public void testConstructorForLevelTwoModule() {
// Set up
final Pom mockPom = mock(Pom.class);
when(mockPom.getModuleName()).thenReturn(LEVEL_TWO_MODULE);
// Invoke
final ProjectMetadata projectMetadata = new ProjectMetadata(mockPom);
// Check
assertEquals(mockPom, projectMetadata.getPom());
assertEquals(LEVEL_TWO_MODULE, projectMetadata.getModuleName());
assertEquals(LEVEL_TWO_MID, projectMetadata.getId());
}
use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.
the class MavenOperationsImplTest method testRemoveDependencyTwiceWhenItExistsOnce.
@Test
public void testRemoveDependencyTwiceWhenItExistsOnce() {
// Set up
when(mockFileManager.getInputStream(POM_PATH)).thenReturn(new ByteArrayInputStream(POM_BEFORE_DEPENDENCY_REMOVED.getBytes()));
// -- Dependency to remove
final Dependency mockDependency = mock(Dependency.class);
when(mockDependency.getArtifactId()).thenReturn(ARTIFACT_ID);
when(mockDependency.getClassifier()).thenReturn(CLASSIFIER);
when(mockDependency.getGroupId()).thenReturn(GROUP_ID);
when(mockDependency.getSimpleDescription()).thenReturn(SIMPLE_DESCRIPTION);
when(mockDependency.getType()).thenReturn(DependencyType.JAR);
when(mockDependency.getVersion()).thenReturn(VERSION);
when(mockMetadataService.get(ProjectMetadata.getProjectIdentifier(""))).thenReturn(mockProjectMetadata);
final Pom pom = mock(Pom.class);
when(pom.getPath()).thenReturn(POM_PATH);
when(mockProjectMetadata.getPom()).thenReturn(pom);
final Collection<Dependency> dependencies = Arrays.asList(mockDependency, mockDependency);
when(pom.isAnyDependenciesRegistered(dependencies)).thenReturn(true);
when(pom.isDependencyRegistered(mockDependency, false)).thenReturn(true);
// Invoke
projectOperations.removeDependencies("", dependencies);
// Check
final String expectedPom = POM_AFTER_DEPENDENCY_REMOVED.replace("\n", LINE_SEPARATOR);
verify(mockFileManager).createOrUpdateTextFileIfRequired(eq(POM_PATH), eq(expectedPom), (String) any(), eq(false));
}
use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.
the class MavenOperationsImplTest method testGetFocusedModuleWhenChildModuleHasFocus.
@Test
public void testGetFocusedModuleWhenChildModuleHasFocus() {
// Set up
when(mockPomManagementService.getFocusedModuleName()).thenReturn("child");
final Pom mockChildPom = mock(Pom.class);
final ProjectMetadata mockChildMetadata = mock(ProjectMetadata.class);
when(mockChildMetadata.getPom()).thenReturn(mockChildPom);
when(mockMetadataService.get(ProjectMetadata.getProjectIdentifier("child"))).thenReturn(mockChildMetadata);
// Invoke and check
assertEquals(mockChildPom, projectOperations.getFocusedModule());
}
Aggregations