[forge-issues] [JBoss JIRA] (FORGE-430) Fix MavenCoreFacetImpl getPom()
Lincoln Baxter III (JIRA)
jira-events at lists.jboss.org
Mon Jan 16 13:49:18 EST 2012
[ https://issues.jboss.org/browse/FORGE-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lincoln Baxter III updated FORGE-430:
-------------------------------------
Description:
Please have a look at org.jboss.forge.maven.facets.MavenCoreFacetImpl in the forge-project-model-maven project.
The getPom() method reads the pom directly from the file resource. This results in a warning when using maven properties for dependency versions, e.g. when you try to install a plugin via the source-plugin command (***WARNING*** Could not resolve dependency [org.some:dependency:jar::${some.version}])
The plugin works after installation and I don't know if its important to resolve this issue, but in the code is a "//FIXME"-remark too. The same may be relevant for setPOM(final Model pom) too.
{code:title=MavenCoreFacetImpl getPom()}
@Override
public Model getPOM()
{
try
{
Model result = new Model();
// FIXME this should/can-not use the Maven Native file writer if we are going to abstract file APIs
MavenXpp3Reader reader = new MavenXpp3Reader();
FileInputStream stream = new FileInputStream(getPOMFile().getUnderlyingResourceObject());
if (stream.available() > 0)
{
result = reader.read(stream);
}
stream.close();
result.setPomFile(getPOMFile().getUnderlyingResourceObject());
return result;
}
catch (IOException e)
{
throw new ProjectModelException("Could not open POM file: " + getPOMFile(), e);
}
catch (XmlPullParserException e)
{
throw new ProjectModelException("Could not parse POM file: " + getPOMFile(), e);
}
}
{code}
Example for my plugins pom.xml
{code}
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<some.version>1.0</some.version>
</properties>
<dependencies>
<dependency>
<groupId>org.some</groupId>
<artifactId>dependency</artifactId>
<version>${some.version}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>repository.some</id>
<name>Some Repository for Maven</name>
<url>http://some.repo.url</url>
</repository>
</repositories>
</project>
{code}
Best regards
Max
was:
Please have a look at org.jboss.forge.maven.facets.MavenCoreFacetImpl in the forge-project-model-maven project.
The getPom() method reads the pom directly from the file resource. This results in a warning when using maven properties for dependency versions, e.g. when you try to install a plugin via the source-plugin command (***WARNING*** Could not resolve dependency [org.some:dependency:jar::${some.version}])
The plugin works after installation and I don't know if its important to resolve this issue, but in the code is a "//FIXME"-remark too. The same may be relevant for setPOM(final Model pom) too.
{code:title=MavenCoreFacetImpl getPom()}
@Override
public Model getPOM()
{
try
{
Model result = new Model();
// FIXME this should/can-not use the Maven Native file writer if we are going to abstract file APIs
MavenXpp3Reader reader = new MavenXpp3Reader();
FileInputStream stream = new FileInputStream(getPOMFile().getUnderlyingResourceObject());
if (stream.available() > 0)
{
result = reader.read(stream);
}
stream.close();
result.setPomFile(getPOMFile().getUnderlyingResourceObject());
return result;
}
catch (IOException e)
{
throw new ProjectModelException("Could not open POM file: " + getPOMFile(), e);
}
catch (XmlPullParserException e)
{
throw new ProjectModelException("Could not parse POM file: " + getPOMFile(), e);
}
}
{code}
Example for my plugins pom.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
.
.
.
<properties>
<some.version>1.0</some.version>
</properties>
<dependencies>
.
.
.
<dependency>
<groupId>org.some</groupId>
<artifactId>dependency</artifactId>
<version>${some.version}</version>
</dependency>
.
.
.
</dependencies>
<repositories>
.
.
.
<repository>
<id>repository.some</id>
<name>Some Repository for Maven</name>
<url>http://some.repo.url</url>
</repository>
.
.
.
</repositories>
.
.
.
</project>
{code}
Best regards
Max
> Fix MavenCoreFacetImpl getPom()
> -------------------------------
>
> Key: FORGE-430
> URL: https://issues.jboss.org/browse/FORGE-430
> Project: Forge
> Issue Type: Bug
> Affects Versions: 1.0.0.Beta5
> Environment: Windows 7, Desktop PC
> Reporter: Max Schwaab
> Priority: Minor
> Labels: maven
> Fix For: Future
>
>
> Please have a look at org.jboss.forge.maven.facets.MavenCoreFacetImpl in the forge-project-model-maven project.
> The getPom() method reads the pom directly from the file resource. This results in a warning when using maven properties for dependency versions, e.g. when you try to install a plugin via the source-plugin command (***WARNING*** Could not resolve dependency [org.some:dependency:jar::${some.version}])
> The plugin works after installation and I don't know if its important to resolve this issue, but in the code is a "//FIXME"-remark too. The same may be relevant for setPOM(final Model pom) too.
> {code:title=MavenCoreFacetImpl getPom()}
> @Override
> public Model getPOM()
> {
> try
> {
> Model result = new Model();
> // FIXME this should/can-not use the Maven Native file writer if we are going to abstract file APIs
> MavenXpp3Reader reader = new MavenXpp3Reader();
> FileInputStream stream = new FileInputStream(getPOMFile().getUnderlyingResourceObject());
> if (stream.available() > 0)
> {
> result = reader.read(stream);
> }
> stream.close();
> result.setPomFile(getPOMFile().getUnderlyingResourceObject());
> return result;
> }
> catch (IOException e)
> {
> throw new ProjectModelException("Could not open POM file: " + getPOMFile(), e);
> }
> catch (XmlPullParserException e)
> {
> throw new ProjectModelException("Could not parse POM file: " + getPOMFile(), e);
> }
> }
> {code}
> Example for my plugins pom.xml
> {code}
> <project
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
> xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <properties>
> <some.version>1.0</some.version>
> </properties>
> <dependencies>
> <dependency>
> <groupId>org.some</groupId>
> <artifactId>dependency</artifactId>
> <version>${some.version}</version>
> </dependency>
> </dependencies>
> <repositories>
> <repository>
> <id>repository.some</id>
> <name>Some Repository for Maven</name>
> <url>http://some.repo.url</url>
> </repository>
> </repositories>
> </project>
> {code}
> Best regards
> Max
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the forge-issues
mailing list