[ https://issues.apache.org/jira/browse/MANTRUN-204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Boué closed MANTRUN-204. ---------------------------------- Resolution: Fixed Assignee: Guillaume Boué Fix Version/s: 3.0.0 > 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 > Assignee: Guillaume Boué > Fix For: 3.0.0 > > > 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)