public ParentBuilder(final Element parentElement, final String pomPath) { groupId = XmlUtils.getTextContent("/project/groupId", parentElement); artifactId = XmlUtils.getTextContent("/project/artifactId", parentElement); version = XmlUtils.getTextContent("/project/version", parentElement); relativePath = XmlUtils.getTextContent("/project/relativePath", parentElement); this.pomPath = pomPath; }
public static String getTextContent(final String path, final Element parentElement) { return getTextContent(path, parentElement, null); }
/** * Returns the groupId defined in the given POM * * @param root the POM's root element (required) * @return a non-blank groupId */ private String getGroupId(final Element root) { final String projectGroupId = XmlUtils.getTextContent(GROUP_ID_XPATH, root); if (StringUtils.isNotBlank(projectGroupId)) { return projectGroupId; } // Fall back to a group ID assumed to be the same as any possible // <parent> (ROO-1193) return XmlUtils.getTextContent(PARENT_GROUP_ID_XPATH, root); }
private Collection<Path> getPaths(final Element root, final String packaging) { final String packagingProviderId = XmlUtils.getTextContent(PACKAGING_PROVIDER_PROPERTY_XPATH, root, packaging); final PackagingProvider packagingProvider = packagingProviderRegistry.getPackagingProvider(packagingProviderId); Validate.notNull(packagingProvider, "No PackagingProvider found with the ID '%s'", packagingProviderId); return packagingProvider.getPaths(); }
private void resolveParentPom(final String pomPath, final Map<String, String> pomSet, final Element parentElement) { final String relativePath = XmlUtils.getTextContent("/relativePath", parentElement, DEFAULT_RELATIVE_PATH); final String parentPomPath = resolveRelativePath(pomPath, relativePath); final boolean alreadyDiscovered = pomSet.containsKey(parentPomPath); if (!alreadyDiscovered) { pomSet.put(parentPomPath, pomSet.get(parentPomPath)); if (new File(parentPomPath).isFile()) { final Document pomDocument = XmlUtils.readXml(getFileManager().getInputStream(parentPomPath)); final Element root = pomDocument.getDocumentElement(); resolvePoms(root, parentPomPath, pomSet); } } }
public Pom getInstance(final Element root, final String pomPath, final String moduleName) { Validate.notBlank(pomPath, "POM's canonical path is required"); final String artifactId = XmlUtils.getTextContent(ARTIFACT_ID_XPATH, root); final String groupId = getGroupId(root); final String name = XmlUtils.getTextContent(NAME_XPATH, root); final String packaging = XmlUtils.getTextContent(PACKAGING_XPATH, root, DEFAULT_PACKAGING); String version = XmlUtils.getTextContent(VERSION_XPATH, root); final String sourceDirectory = XmlUtils.getTextContent(SOURCE_DIRECTORY_XPATH, root); final String testSourceDirectory = XmlUtils.getTextContent(TEST_SOURCE_DIRECTORY_XPATH, root); final List<Dependency> dependenciesInDependencyManagement = parseElements(Dependency.class, DEPENDENCY_IN_DEPENDENCY_MANAGEMENT_XPATH, root); final List<Repository> repositories = parseElements(Repository.class, REPOSITORY_XPATH, root); final List<Resource> resources = parseElements(Resource.class, RESOURCE_XPATH, root); final String projectParentVersion = XmlUtils.getTextContent("/project/parent/version", root); final Parent parent = getParent(pomPath, root); if (version == null) {
private Parent getParent(final String pomPath, final Element root) { final Element parentElement = XmlUtils.findFirstElement(PARENT_XPATH, root); if (parentElement == null) { return null; } final String relativePath = XmlUtils.getTextContent("/relativePath", parentElement, DEFAULT_RELATIVE_PATH); final String parentPomPath = resolveRelativePath(pomPath, relativePath); return new ParentBuilder(parentElement, parentPomPath).build(); }