[
https://issues.apache.org/jira/browse/MANTRUN-204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16046053#comment-16046053
]
Hudson commented on MANTRUN-204:
--------------------------------
SUCCESS: Integrated in Jenkins build maven-plugins #8996 (See
[https://builds.apache.org/job/maven-plugins/8996/])
[MANTRUN-204] antrun loops the backing map of java.util.Properties withouth
checking type safety
Avoid blind casts to String when copying Ant project properties to Maven
properties. (gboue: [http://svn.apache.org/viewvc/?view=rev&rev=1798389])
* (add) maven-antrun-plugin/src/it/export-ant-properties
* (add) maven-antrun-plugin/src/it/export-ant-properties/invoker.properties
* (add) maven-antrun-plugin/src/it/export-ant-properties/pom.xml
* (edit)
maven-antrun-plugin/src/main/java/org/apache/maven/plugins/antrun/AntRunMojo.java
> antrun loops the backing map of java.util.Properties withouth checking type
> safety
> ----------------------------------------------------------------------------------
>
> Key: MANTRUN-204
> URL: https://issues.apache.org/jira/browse/MANTRUN-204
> Project: Maven Antrun Plugin
> Issue Type: Bug
> Affects Versions: 1.8
> Environment: seen in maven 3.3.3, maven 3.3.9
> Reporter: Gene Smith
>
> In AntRunMojo's copyProperties method, visible at either of these:
>
> http://svn.apache.org/viewvc/maven/plugins/tags/maven-antrun-plugin-1.8/src/main/java/org/apache/maven/plugin/antrun/AntRunMojo.java?view=markup#l401
>
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven.plugins/maven-antrun-plugin/1.8/org/apache/maven/plugin/antrun/AntRunMojo.java#AntRunMojo
> This loop does not check the type of objects in the Properties object it is
> looping:
> Properties mavenProps = mavenProject.getProperties();
> for ( Map.Entry<?, ?> entry : mavenProps.entrySet() )
> {
> antProject.setProperty( (String) entry.getKey(), (String)
> entry.getValue() );
> }
> Antrun 1.7 used an iterator and java.util.Properties' getters and setters (so
> the conversion was done for it).
> The Properties object itself allows access to the backing map but strongly
> discourages using it. For type safety, if you loop the entryset you need to
> check types (or check null and call "toString" instead of casting). Maven
> does NOT enforce the type of objects put into that map, so
> some plugins put non String objects in it. (In my use case,
> "org.eclipse.rcptt:rcptt-maven-plugin" stores a boolean in it.)
> ....
> As a work around I antrun 1.7 in this usecase.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)