You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Oliver Kopp <ko...@googlemail.com> on 2012/05/07 09:52:55 UTC
filter and "ArgumentError : interning empty string"
Hi,
I want to replace ${version} in a specific .js file with a version string.
I'm trying to follow the suggestion of
http://stackoverflow.com/questions/6938984/buildr-filter-web-xml-in-packaging-war.
I'm having about 1700 files in subdirectories, which should not be too
much. buildr, however, complains with "ArgumentError : interning empty
string" at line "filter('src/main/webapp/').into(task.to_s).using(".
A second run outputs no errors, but the string is not replaced.
How can I debug this issue?
buildr --trace package doesn't help much. Outputs some "mkdir -p"
statements and then states that an "Exception while invoking prerequisites
of task <Rake::Task default => [build]>" happened.
Cheers,
Oliver
Re: filter and "ArgumentError : interning empty string"
Posted by Alex Boisvert <al...@gmail.com>.
On Mon, May 7, 2012 at 11:29 PM, Oliver Kopp <ko...@googlemail.com> wrote:
> >
> > One speculation is that you have an empty placeholder in one of your
> files,
> > e.g., ${}.
> >
>
> That's right. prototype.js :)
>
> If that's the case, you could try adding a mapping from the empty string to
> > the empty string as a workaround,
> >
>
> Tried it:
>
> ArgumentError : symbol string may not contain '\0'
>
> buildr seems to filter also binary files. Maybe it has got a problem there?
>
> Isn't it possible to say that only a certain file pattern (e.g., *.js and
> *.jsp*) should be filtered?
>
Yes, filter supports both include and exclude.
http://buildr.apache.org/rdoc/classes/Buildr/Filter.html
alex
Re: filter and "ArgumentError : interning empty string"
Posted by Oliver Kopp <ko...@googlemail.com>.
>
> One speculation is that you have an empty placeholder in one of your files,
> e.g., ${}.
>
That's right. prototype.js :)
If that's the case, you could try adding a mapping from the empty string to
> the empty string as a workaround,
>
Tried it:
ArgumentError : symbol string may not contain '\0'
buildr seems to filter also binary files. Maybe it has got a problem there?
Isn't it possible to say that only a certain file pattern (e.g., *.js and
*.jsp*) should be filtered?
Re: filter and "ArgumentError : interning empty string"
Posted by Alex Boisvert <al...@gmail.com>.
One speculation is that you have an empty placeholder in one of your files,
e.g., ${}.
If that's the case, you could try adding a mapping from the empty string to
the empty string as a workaround,
filter('src/main/webapp/').into(task.to_s).using(
'copyright' => COPYRIGHT,
'version' => VERSION_STRING,
'' => '' # empty strings
).run
Does that work?
On Mon, May 7, 2012 at 10:12 AM, Oliver Kopp <ko...@googlemail.com> wrote:
> You mean the following fragment?
>
> # replace version information in webapp files
> # tip from
>
> http://stackoverflow.com/questions/6938984/buildr-filter-web-xml-in-packaging-war
> filter_webapp = file("target/webapp") do |task|
> filter('src/main/webapp/').into(task.to_s).using(
> 'copyright' => COPYRIGHT,
> 'version' => VERSION_STRING
> ).run
> end
>
Re: filter and "ArgumentError : interning empty string"
Posted by Oliver Kopp <ko...@googlemail.com>.
You mean the following fragment?
# replace version information in webapp files
# tip from
http://stackoverflow.com/questions/6938984/buildr-filter-web-xml-in-packaging-war
filter_webapp = file("target/webapp") do |task|
filter('src/main/webapp/').into(task.to_s).using(
'copyright' => COPYRIGHT,
'version' => VERSION_STRING
).run
end
Re: filter and "ArgumentError : interning empty string"
Posted by Alex Boisvert <al...@gmail.com>.
On Mon, May 7, 2012 at 12:52 AM, Oliver Kopp <ko...@googlemail.com> wrote:
> I'm trying to follow the suggestion of
>
> http://stackoverflow.com/questions/6938984/buildr-filter-web-xml-in-packaging-war
> .
> I'm having about 1700 files in subdirectories, which should not be too
> much. buildr, however, complains with "ArgumentError : interning empty
> string" at line "filter('src/main/webapp/').into(task.to_s).using(".
>
And what's the full line here? (it got truncated)
alex
Re: filter and "ArgumentError : interning empty string"
Posted by Oliver Kopp <ko...@googlemail.com>.
>
> Do you get a full stack trace?
>
Yes:
mkdir -p
C:/git-repos/valesca/valesca/target/webapp/scc-editor/editor/scripts/Core/SVG
Buildr aborted!
ArgumentError : interning empty string
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:319:in
`transform'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:336:in
`maven_transform'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:336:in
`gsub'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:336:in
`maven_transform'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:319:in
`transform'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:187:in
`run'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:180:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/filter.rb:180:in
`run'
C:/git-repos/valesca/valesca/buildfile:65
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:634:in
`call'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:634:in
`execute'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
`execute'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:674:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:667:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/compile.rb:420:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:667:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:667:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:667:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:655:in
`invoke'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:326:in
`local_task'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:351:in
`[]'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:351:in
`local_projects'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:351:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:351:in
`local_projects'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/project.rb:324:in
`local_task'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
`call'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
`execute'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
`execute'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:674:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:667:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/1.8/monitor.rb:191:in
`mon_synchronize'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:660:in
`invoke_with_call_chain'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:655:in
`invoke'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in
`invoke_task'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:246:in
`top_level'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:246:in
`each'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:246:in
`top_level'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:535:in
`standard_exception_handling'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:237:in
`top_level'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:138:in
`run'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:535:in
`standard_exception_handling'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/lib/buildr/core/application.rb:135:in
`run'
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/bin/buildr:19
C:/Users/koppor/AppData/Roaming/.pik/rubies/jruby-1.5.6/lib/ruby/gems/1.8/gems/buildr-1.4.6-java/bin/buildr:19:in
`load'
C:\Users\koppor\AppData\Roaming\.pik\rubies\jruby-1.5.6\bin\buildr:19
Re: filter and "ArgumentError : interning empty string"
Posted by Alex Boisvert <al...@gmail.com>.
Do you get a full stack trace?
Try running: buildr --trace all package
On Monday, May 7, 2012, Oliver Kopp wrote:
> Hi,
>
> I want to replace ${version} in a specific .js file with a version string.
>
> I'm trying to follow the suggestion of
>
> http://stackoverflow.com/questions/6938984/buildr-filter-web-xml-in-packaging-war
> .
> I'm having about 1700 files in subdirectories, which should not be too
> much. buildr, however, complains with "ArgumentError : interning empty
> string" at line "filter('src/main/webapp/').into(task.to_s).using(".
>
> A second run outputs no errors, but the string is not replaced.
>
> How can I debug this issue?
> buildr --trace package doesn't help much. Outputs some "mkdir -p"
> statements and then states that an "Exception while invoking prerequisites
> of task <Rake::Task default => [build]>" happened.
>
> Cheers,
>
> Oliver
>