buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Grotzke <martin.grot...@javakaffee.de>
Subject Re: How to 'fix' bad pom when using transitive()
Date Mon, 02 Mar 2009 09:30:54 GMT
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?

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 <
> martin.grotzke@javakaffee.de> 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
> > > <martin.grotzke@javakaffee.de> 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
> > > >
> > >
> >

Mime
View raw message