use of org.codehaus.plexus.util.xml.pull.XmlPullParserException in project liferay-ide by liferay.
the class LiferayMavenLegacyProjectUpdater method _hasDependency.
private boolean _hasDependency(IProject project, String groupId, String artifactId) {
boolean retVal = false;
IFile iFile = project.getFile("pom.xml");
File pomFile = iFile.getLocation().toFile();
MavenXpp3Reader mavenReader = new MavenXpp3Reader();
try (FileReader reader = new FileReader(pomFile.getAbsolutePath())) {
Model model = mavenReader.read(reader);
List<Dependency> dependencies = model.getDependencies();
for (Dependency dependency : dependencies) {
if (groupId.equals(dependency.getGroupId()) && artifactId.equals(dependency.getArtifactId())) {
retVal = true;
break;
}
}
} catch (FileNotFoundException fnfe) {
} catch (IOException ioe) {
} catch (XmlPullParserException xppe) {
}
return retVal;
}
use of org.codehaus.plexus.util.xml.pull.XmlPullParserException in project archiva by apache.
the class Maven2RepositoryStorage method applyServerSideRelocation.
@Override
public void applyServerSideRelocation(ManagedRepositoryContent managedRepository, ArtifactReference artifact) throws ProxyDownloadException {
if ("pom".equals(artifact.getType())) {
return;
}
// Build the artifact POM reference
ArtifactReference pomReference = new ArtifactReference();
pomReference.setGroupId(artifact.getGroupId());
pomReference.setArtifactId(artifact.getArtifactId());
pomReference.setVersion(artifact.getVersion());
pomReference.setType("pom");
RepositoryProxyConnectors connectors = applicationContext.getBean("repositoryProxyConnectors#default", RepositoryProxyConnectors.class);
// Get the artifact POM from proxied repositories if needed
connectors.fetchFromProxies(managedRepository, pomReference);
// Open and read the POM from the managed repo
Path pom = managedRepository.toFile(pomReference);
if (!Files.exists(pom)) {
return;
}
try {
// MavenXpp3Reader leaves the file open, so we need to close it ourselves.
Model model = null;
try (Reader reader = Files.newBufferedReader(pom, Charset.defaultCharset())) {
model = MAVEN_XPP_3_READER.read(reader);
}
DistributionManagement dist = model.getDistributionManagement();
if (dist != null) {
Relocation relocation = dist.getRelocation();
if (relocation != null) {
// artifact is relocated : update the repositoryPath
if (relocation.getGroupId() != null) {
artifact.setGroupId(relocation.getGroupId());
}
if (relocation.getArtifactId() != null) {
artifact.setArtifactId(relocation.getArtifactId());
}
if (relocation.getVersion() != null) {
artifact.setVersion(relocation.getVersion());
}
}
}
} catch (IOException e) {
// Unable to read POM : ignore.
} catch (XmlPullParserException e) {
// Invalid POM : ignore
}
}
use of org.codehaus.plexus.util.xml.pull.XmlPullParserException in project drools by kiegroup.
the class StaticMethodTestHelper method getProjectVersion.
static String getProjectVersion() {
URL codeLocUrl = StaticMethodTestHelper.class.getProtectionDomain().getCodeSource().getLocation();
String projVersionStr = null;
String codeLocStr = null;
try {
codeLocStr = codeLocUrl.toURI().toString();
if (codeLocStr.endsWith(".jar")) {
Matcher jarLocMatcher = jarLocRegex.matcher(codeLocStr);
assertTrue("Regex for code (jar) location did not match location!", jarLocMatcher.matches() && jarLocMatcher.groupCount() >= 2);
projVersionStr = jarLocMatcher.group(1);
} else {
codeLocStr = codeLocStr.replace("target/classes/", "pom.xml");
File pomFile = new File(new URI(codeLocStr));
assertTrue(codeLocStr + " does not exist!", pomFile.exists());
Reader reader = null;
try {
reader = new FileReader(pomFile);
MavenXpp3Reader xpp3Reader = new MavenXpp3Reader();
Model model = xpp3Reader.read(reader);
projVersionStr = model.getVersion();
if (projVersionStr == null) {
projVersionStr = model.getParent().getVersion();
}
String projectName = model.getGroupId() + ":" + model.getArtifactId();
assertNotNull("Unable to resolve project version for " + projectName, projVersionStr);
} catch (FileNotFoundException fnfe) {
throw new RuntimeException("Unable to open " + pomFile.getAbsolutePath(), fnfe);
} catch (IOException ioe) {
throw new RuntimeException("Unable to read " + codeLocStr, ioe);
} catch (XmlPullParserException xppe) {
throw new RuntimeException("Unable to parse " + codeLocStr, xppe);
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
// no-op
}
}
}
} catch (URISyntaxException urise) {
throw new RuntimeException("Invalid URL: " + codeLocStr, urise);
}
return projVersionStr;
}
use of org.codehaus.plexus.util.xml.pull.XmlPullParserException in project kie-wb-common by kiegroup.
the class PomEditorTest method testDefault.
private void testDefault(String prj) {
path = Paths.get("file://" + currentDir + prj + "pom.xml");
pathCopy = Paths.get("file://" + currentDir + prj + "copy_pom.xml");
Files.copy(path, pathCopy);
try {
Model original = editor.getModel(path);
assertThat(original.getBuild().getPlugins().size()).isEqualTo(1);
;
Model modelUpdated = editor.updatePomWithoutWrite(path);
assertThat(modelUpdated.getPackaging()).isEqualToIgnoringCase("kjar");
assertThat(modelUpdated).isNotNull();
assertThat(modelUpdated.getBuild().getPlugins()).hasSize(1);
List<Dependency> deps = modelUpdated.getDependencies();
for (Dependency dep : deps) {
assertThat(dep.getVersion()).isNotNull();
}
} catch (IOException ioex) {
logger.error(ioex.getMessage(), ioex);
throw new AssertionError(ioex.getMessage());
} catch (XmlPullParserException xmlEx) {
logger.error(xmlEx.getMessage(), xmlEx);
throw new AssertionError(xmlEx.getMessage());
}
}
use of org.codehaus.plexus.util.xml.pull.XmlPullParserException in project BIMserver by opensourceBIM.
the class MavenPluginLocation method getPluginBundleVersion.
public SPluginBundleVersion getPluginBundleVersion(String version) {
try {
Path pomFile = getVersionPom(version);
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
Model model = null;
try (FileReader fileReader = new FileReader(pomFile.toFile())) {
model = mavenreader.read(fileReader);
}
SPluginBundleVersion sPluginBundleVersion = new SPluginBundleVersion();
sPluginBundleVersion.setOrganization(model.getOrganization().getName());
sPluginBundleVersion.setName(model.getName());
sPluginBundleVersion.setType(SPluginBundleType.MAVEN);
sPluginBundleVersion.setGroupId(groupId);
sPluginBundleVersion.setArtifactId(artifactId);
sPluginBundleVersion.setVersion(version);
sPluginBundleVersion.setDescription(model.getDescription());
// sPluginBundleVersion.setRepository(defaultrepository);
sPluginBundleVersion.setMismatch(false);
try {
sPluginBundleVersion.setIcon(getVersionIcon(version));
} catch (ArtifactResolutionException e) {
// Not a problem
}
try {
GregorianCalendar date = getVersionDate(version);
// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
if (date != null) {
sPluginBundleVersion.setDate(date.getTime());
}
} catch (ArtifactResolutionException e) {
// Not a problem
} catch (Exception e) {
LOGGER.error("", e);
}
return sPluginBundleVersion;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (ArtifactResolutionException e) {
e.printStackTrace();
}
return null;
}
Aggregations