Hi Peter,
thank you for your answer.
I tried the solution you gave, but it doesn't compile :
$ buildr --version
Buildr 1.4.20
$ buildr package
(in /home/jp/src/t2s/performance-tests/querySimulator, development)
sh: 2: Syntax error: EOF in backquote substitution
Buildr aborted!
NoMethodError : undefined method `to_spec' for #<String:0x0000000397c6a8>
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:46:in `block
(3 levels) in <top (required)>'
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:46:in `block
(2 levels) in <top (required)>'
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:45:in `tap'
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:45:in `block
in <top (required)>'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:426:in
`raw_load_buildfile'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:225:in
`block in load_buildfile'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:220:in
`load_buildfile'
(See full trace by running task with --trace)
my buildfile looks like this :
package(:jar)
package(:tgz).tap do |pkg|
pkg.path('lib').include package(:jar), compile.dependencies.select
{|a| a.to_spec != 'org.scala-lang:scala-compiler:jar:2.10.4'}
pkg.path('etc').include _('src/main/resources')
pkg.path('bin').include _('src/main/bin')
end
I also tried it like this :
generated_lib = package(:jar).exclude '*.properties*'
livrable = package :tgz
livrable.path('lib').include generated_lib,
compile.dependencies.select { |a| a.to_spec !=
'org.scala-lang:scala-compiler:jar:2.10.4' }
livrable.path('lib').exclude 'scala-compiler-2.10.4.jar'
livrable.include _('src/main/resources'), :as => 'etc'
livrable.include _('src/main/bin'), :as => 'bin'
But got a similar error:
Buildr aborted!
NoMethodError : undefined method `to_spec' for #<String:0x0000000308d600>
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:45:in `block
(2 levels) in <top (required)>'
/home/jp/src/t2s/performance-tests/querySimulator/buildfile:45:in `block
in <top (required)>'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:426:in
`raw_load_buildfile'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:225:in
`block in load_buildfile'
/var/lib/gems/1.9.1/gems/buildr-1.4.20/lib/buildr/core/application.rb:220:in
`load_buildfile'
Thanks
Le 30/10/2014 23:24, Peter Donald a écrit :
> Hi,
>
> The easiest way to do this is probably replace
>
> compile.dependencies
>
> with
>
> compile.dependencies.select {|a| a.to_spec != 'org.scala-lang:scala-
> compiler:jar:2.10.4'}
>
> I put together an example of this at
>
> https://github.com/realityforge/buildr-examples/tree/master/include_select_deps
>
> HTH
>
>
> On Fri, Oct 31, 2014 at 1:16 AM, Jean-Philippe Caruana <[email protected]>
> wrote:
>
>> Hi,
>>
>> I want to package a scala project as a tgz. In the generated tgz, the
>> scala-compiler-2.10.4.jar is included : it is heavy (14M) and unnecessary.
>>
>> I try to remove it, but it doesn't work :
>>
>> generated_lib = package(:jar).exclude '*.properties*'
>> livrable = package :tgz
>> livrable.path('lib').include generated_lib, compile.dependencies
>> livrable.path('lib').exclude 'scala-compiler-2.10.4.jar'
>>
>>
>> I added a (always failing) check:
>>
>> check livrable, "doesn't need the very heavy (14M) scala-compiler.jar "
>> do
>> it.should_not contain('lib/scala-compiler-2.10.4.jar')
>> end
>>
>>
>> I also tried
>> generated_lib = package(:jar).exclude '*.properties*'
>> livrable = package :tgz
>> livrable.path('lib').include generated_lib, (compile.dependencies -
>> 'org.scala-lang:scala-compiler:jar:2.10.4')
>>
>> How can I do ?
>>
>> --
>> Jean-Philippe Caruana
>> http://www.barreverte.fr
--
Jean-Philippe Caruana
http://www.barreverte.fr