You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dennis Lundberg (JIRA)" <ji...@codehaus.org> on 2008/02/02 18:55:58 UTC
[jira] Updated: (MCHECKSTYLE-59) Checkstyle Report fails if
propertyExpansion contains file names
[ http://jira.codehaus.org/browse/MCHECKSTYLE-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dennis Lundberg updated MCHECKSTYLE-59:
---------------------------------------
Description:
The chechkstyle plugin fails on windows plattforms, if the propertyExpansion element contains file names like
mms.suppressions.file=${basedir}/../../project/resources/checkstyle/suppressions.xml
The backslashes in ${basedir} (like D:\foo\bar) are missing (D:foobar) and checkstyle fails. It seems to be an issue with StringInputStream.
I've replaced the following old code in CheckstyleReport.java
{code}
if ( StringUtils.isNotEmpty( propertyExpansion ) )
{
p.load( new StringInputStream( propertyExpansion ) );
}
{code}
with the new Code
{code}
if ( StringUtils.isNotEmpty( propertyExpansion ) ) {
BufferedReader reader = new BufferedReader(new StringReader(propertyExpansion));
String line = reader.readLine();
while (line != null) {
int delimPosition = line.indexOf('=');
if (delimPosition > -1) {
String name = line.substring(0, delimPosition).trim();
delimPosition++;
if (delimPosition < line.length()) {
String value = line.substring(delimPosition).trim();
if (value.length() > 0) {
p.put(name, value);
getLog().info("Property: " + name + " = " + p.getProperty(name));
}
}
}
line = reader.readLine();
}
reader.close();
}
{code}
and it works.
Regards, carsten
was:
The chechkstyle plugin fails on windows plattforms, if the propertyExpansion element contains file names like
mms.suppressions.file=${basedir}/../../project/resources/checkstyle/suppressions.xml
The backslashes in ${basedir} (like D:\foo\bar) are missing (D:foobar) and checkstyle fails. It seems to be an issue with StringInputStream.
I've replaced the following old code in CheckstyleReport.java
if ( StringUtils.isNotEmpty( propertyExpansion ) )
{
p.load( new StringInputStream( propertyExpansion ) );
}
with the new Code
if ( StringUtils.isNotEmpty( propertyExpansion ) ) {
BufferedReader reader = new BufferedReader(new StringReader(propertyExpansion));
String line = reader.readLine();
while (line != null) {
int delimPosition = line.indexOf('=');
if (delimPosition > -1) {
String name = line.substring(0, delimPosition).trim();
delimPosition++;
if (delimPosition < line.length()) {
String value = line.substring(delimPosition).trim();
if (value.length() > 0) {
p.put(name, value);
getLog().info("Property: " + name + " = " + p.getProperty(name));
}
}
}
line = reader.readLine();
}
reader.close();
}
and it works.
Regards, carsten
> Checkstyle Report fails if propertyExpansion contains file names
> ----------------------------------------------------------------
>
> Key: MCHECKSTYLE-59
> URL: http://jira.codehaus.org/browse/MCHECKSTYLE-59
> Project: Maven 2.x Checkstyle Plugin
> Issue Type: Bug
> Affects Versions: 2.1
> Environment: Windows XP, JDK 1.4, Maven 2.0.4
> Reporter: Carsten Karkola
> Attachments: MCHECKSTYLE-59-PATCH.patch, MCHECKSTYLE-59-PATCH2.patch
>
>
> The chechkstyle plugin fails on windows plattforms, if the propertyExpansion element contains file names like
> mms.suppressions.file=${basedir}/../../project/resources/checkstyle/suppressions.xml
> The backslashes in ${basedir} (like D:\foo\bar) are missing (D:foobar) and checkstyle fails. It seems to be an issue with StringInputStream.
> I've replaced the following old code in CheckstyleReport.java
> {code}
> if ( StringUtils.isNotEmpty( propertyExpansion ) )
> {
> p.load( new StringInputStream( propertyExpansion ) );
> }
> {code}
> with the new Code
> {code}
> if ( StringUtils.isNotEmpty( propertyExpansion ) ) {
> BufferedReader reader = new BufferedReader(new StringReader(propertyExpansion));
> String line = reader.readLine();
> while (line != null) {
> int delimPosition = line.indexOf('=');
> if (delimPosition > -1) {
> String name = line.substring(0, delimPosition).trim();
> delimPosition++;
> if (delimPosition < line.length()) {
> String value = line.substring(delimPosition).trim();
> if (value.length() > 0) {
> p.put(name, value);
> getLog().info("Property: " + name + " = " + p.getProperty(name));
> }
> }
> }
> line = reader.readLine();
> }
> reader.close();
> }
> {code}
> and it works.
> Regards, carsten
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira