You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Brendan Grainger <br...@gmail.com> on 2009/05/22 00:55:38 UTC
Creating an artifact containing all jars in a zip
Hi,
I'm trying to create an artifact that contains all jars found in a zip
download. So far I have this:
task :install_jars do
batik_zip = artifact("batik:batik:zip:1.7")
download(batik_zip.name => "http://apache.osuosl.org/xmlgraphics/batik/batik-1.7.zip
")
unzip_batik = unzip('target' => batik_zip)
unzip_batik.target.invoke
batik_dir = File.join(unzip_batik.target.name, "batik*", "lib",
"*.jar")
Dir.glob(batik_dir) do |t|
# Now what?
# bean = artifact('example.com:beans:jar:1.0').from(bean_jar)
end
batik_dir = File.join(unzip_batik.target.name, "batik*", "*.jar")
puts batik_dir.inspect
batik_artifact = artifact("batik:batik:jar:1.7")
Dir.glob(batik_dir) do |t|
# Now what?
end
# bean = artifact('example.com:beans:jar:1.0').from(bean_jar)
end
Any ideas about the now what? part. Sorry I'm still pretty
inexperienced with buildr, but can see it's potential.
Cheers
Brendan
Re: Creating an artifact containing all jars in a zip
Posted by Alex Boisvert <bo...@intalio.com>.
How about something like,
batik_artifacts = [] # initialized by task :init_task
task :init_batik do
...
Dir.glob(batik_dir) do |t|
(name, version) =
File.basename(t).match(/(.*)-(\d[\d\.]*)\.jar/).to_a[1..2]
batik_artifacts << artifact("batik:#{name}:jar:#{version}").from(t)
end
end
alex
2009/5/21 Brendan Grainger <br...@gmail.com>
> Hi,
>
> I'm trying to create an artifact that contains all jars found in a zip
> download. So far I have this:
>
> task :install_jars do
> batik_zip = artifact("batik:batik:zip:1.7")
> download(batik_zip.name => "
> http://apache.osuosl.org/xmlgraphics/batik/batik-1.7.zip")
> unzip_batik = unzip('target' => batik_zip)
> unzip_batik.target.invoke
> batik_dir = File.join(unzip_batik.target.name, "batik*", "lib",
> "*.jar")
>
> Dir.glob(batik_dir) do |t|
> # Now what?
> # bean = artifact('example.com:beans:jar:1.0').from(bean_jar)
> end
>
> batik_dir = File.join(unzip_batik.target.name, "batik*", "*.jar")
> puts batik_dir.inspect
> batik_artifact = artifact("batik:batik:jar:1.7")
> Dir.glob(batik_dir) do |t|
>
> # Now what?
> end
>
> # bean = artifact('example.com:beans:jar:1.0').from(bean_jar)
> end
>
> Any ideas about the now what? part. Sorry I'm still pretty inexperienced
> with buildr, but can see it's potential.
>
> Cheers
> Brendan