Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 327352 - Error resource filtering svn $Id$ keyword as property
Summary: Error resource filtering svn $Id$ keyword as property
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: IAM (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux-GTK
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-08 12:06 EDT by Daniel Robert CLA
Modified: 2012-01-05 13:10 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Robert CLA 2010-10-08 12:06:30 EDT
I'm attempting to use resource filtering to inject the svn keyword $Id$ into a .properties file.  Using IAM, I get this exception during a project build:

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:694)
at org.apache.maven.plugin.resources.util.InterpolationFilterReader.read(InterpolationFilterReader.java:193)
at org.apache.maven.plugin.resources.util.InterpolationFilterReader.read(InterpolationFilterReader.java:162)
at java.io.Reader.read(Reader.java:140)
at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:212)
at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:200)
at org.apache.maven.plugin.resources.ResourcesMojo.copyFile(ResourcesMojo.java:269)
at org.apache.maven.plugin.resources.ResourcesMojo.copyResources(ResourcesMojo.java:183)
at org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:100)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
at org.eclipse.iam.core.embedder.internal.EclipseMaven.executeRequest(EclipseMaven.java:325)
at org.eclipse.iam.core.embedder.internal.EclipseMavenRequest.run(EclipseMavenRequest.java:160)
at org.eclipse.iam.core.embedder.internal.EclipseMaven.executeGoals(EclipseMaven.java:175)
at org.eclipse.iam.builder.internal.resources.ResourceBuilderDelegate.onResourcesChange(ResourceBuilderDelegate.java:401)
at org.eclipse.iam.builder.internal.resources.ResourceBuilderDelegate.runBuild(ResourceBuilderDelegate.java:475)
at org.eclipse.iam.builder.internal.resources.ResourceBuilderDelegate.onFullBuild(ResourceBuilderDelegate.java:250)
at org.eclipse.iam.builder.internal.builder.MavenIncrementalBuilder.doFullBuild(MavenIncrementalBuilder.java:213)
at org.eclipse.iam.builder.internal.builder.MavenIncrementalBuilder.build(MavenIncrementalBuilder.java:119)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


The relevant set-up to reproduce my problem is as follows:

pom.xml:
-------
<properties>
   <my.svn.version>$Id: pom.xml 3113 2010-10-08 14:10:57Z username $</my.svn.version>
</properties>
...
<build>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
...
</build>

src/main/resources/version.properties:
-------
my.svn.version=${my.svn.version}

--------------

It works fine from the command-line running maven v2.2.1
Comment 1 Daniel Robert CLA 2010-10-12 14:06:41 EDT
It's dawning on me this is most likely due to the version of maven utilized by the IAM plugin.  If it gets upgraded to 2.1+, this should be a non-issue.  Please let me know if my assumptions is not correct, although I'm curious what the next release timeline is.