On Mar 2, 2009, at 1:30 AM, Martin Grotzke <[email protected]> wrote:

Hi Assaf,

thanx for the pointer. Now it looks like this:

artifact 'javax.ejb:ejb:pom:3.0' do |f|
 # Create the directory first
 Dir.mkdir(File.dirname(f.name))
 touch f.name
end

and there's an empty ejb-3.0.pom at the expected place.

However, now the build fails with this error:

[Failed] Your build failed with an error: /home/grotzke/proj/ freiheit/mywebapp:
File does not exist: .
buildr aborted!
File does not exist: .
/usr/lib/ruby/gems/1.8/gems/xml-simple-1.0.11/lib/xmlsimple.rb: 977:in `find_xml_file' /usr/lib/ruby/gems/1.8/gems/xml-simple-1.0.11/lib/xmlsimple.rb: 168:in `xml_in' /usr/lib/ruby/gems/1.8/gems/xml-simple-1.0.11/lib/xmlsimple.rb: 203:in `xml_in' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 73:in `initialize' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 55:in `new' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 55:in `load' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 47:in `load' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 43:in `load' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 99:in `dependencies' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 88:in `map' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 88:in `dependencies' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/packaging/ artifact.rb:654:in `transitive' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/java/pom.rb: 87:in `inject' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/packaging/ artifact.rb:649:in `each' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/packaging/ artifact.rb:649:in `inject' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/packaging/ artifact.rb:649:in `transitive'
./dependencies.rb:35
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'


When I create the pom file with correct content everything's fine.

So, for me as a ruby-nuby: what's the easiest way to create an xml file?


write "<pom>...</pom>"

If you need something more generic that can escape characters, quote attributed and such, use Builder (with an er). Buildr uses it for POM and IDE files. For simpler cases, strings are easier to use.

Assaf





Thanx && cheers,
Martin




On Mon, 2009-03-02 at 00:54 -0800, Assaf Arkin wrote:
On Mon, Mar 2, 2009 at 12:02 AM, Martin Grotzke <
[email protected]> wrote:

Hi Daniel,

When I try

artifact 'javax.ejb:ejb:pom:3.0' do |f|
 touch f


touch f.name

Assaf



end

(as buildr tries to download the pom first)

I get this error:

[Failed] Your build failed with an error:
/home/grotzke/proj/freiheit/mywebapp:
undefined method `to_str' for #<Buildr::Artifact:0xb79c31c0>
buildr aborted!
undefined method `to_str' for #<Buildr::Artifact:0xb79c31c0>
/usr/lib/ruby/1.8/fileutils.rb:1388:in `fu_list'
/usr/lib/ruby/1.8/fileutils.rb:1388:in `map'
/usr/lib/ruby/1.8/fileutils.rb:1388:in `fu_list'
/usr/lib/ruby/1.8/fileutils.rb:1019:in `touch'
./dependencies.rb:25
/home/grotzke/.gem/ruby/1.8/gems/rake-0.8.1/lib/rake.rb:544:in `call' /home/grotzke/.gem/ruby/1.8/gems/rake-0.8.1/lib/rake.rb:544:in `execute' /home/grotzke/.gem/ruby/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `each' /home/grotzke/.gem/ruby/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute' /usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/core/ application.rb:482:in
`invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/buildr-1.3.3/lib/buildr/core/ application.rb:468:in
`synchronize'

Do I have to create the pom.xml with the appropriate content, or what does
that mean?

Thanx && cheers,
Martin


On Sun, 2009-03-01 at 17:37 -0600, Daniel Spiewak wrote:
You could define the artifact task for that particular signature to
just create a dummy JAR file. I forget the syntax, but I think it is
something like this:

artifact 'javax.ejb:ejb:jar:3.0' do |f|
  touch f
end

Daniel

On Mar 1, 2009, at 5:32 PM, Martin Grotzke
<[email protected]> wrote:

Hi,

I just want to depend on spring-2.5.6 using transitive().

Unfortunately, spring declares a dependency on 'javax.ejb:ejb:jar:
3.0',
which seems to be not available in public maven repos.

I already tried to do s.th. like this:

transitive(SPRING).reject { |a| a.group == 'javax.ejb' }

but unfortunately buildr tries to get the javax.ejb:ejb pom, so that
my
build fails with

buildr aborted!
Failed to download javax.ejb:ejb:pom:3.0

Is there a way to fix this issue, e.g. with 'fixing' the pom when it's
loaded via transitive?

Thanx && cheers,
Martin



Reply via email to