Add a transform method when merging artifacts to transform file contents
[buildr.git] / buildr.gemspec
1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements.  See the NOTICE file distributed with this
3 # work for additional information regarding copyright ownership.  The ASF
4 # licenses this file to you under the Apache License, Version 2.0 (the
5 # "License"); you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #    http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
13 # License for the specific language governing permissions and limitations under
14 # the License.
15
16 unless defined?(Buildr::VERSION)
17   require File.join(File.dirname(__FILE__), 'lib', 'buildr', 'version.rb')
18   $LOADED_FEATURES << 'buildr/version.rb'
19 end
20
21 # Rakefile needs to create spec for all platforms (ruby and java), using the
22 # BUILDR_PLATFORM environment variable. In all other cases, we figure it out
23 # from RUBY_PLATFORM.
24 $platform = ENV['BUILDR_PLATFORM'] || RUBY_PLATFORM[/java/] || Gem::Platform::CURRENT
25
26 Gem::Specification.new do |spec|
27   spec.name           = 'buildr'
28   spec.version        = Buildr::VERSION.dup
29   spec.author         = 'Apache Buildr'
30   spec.email          = 'users@buildr.apache.org'
31   spec.homepage       = 'http://buildr.apache.org/'
32   spec.summary        = 'Build like you code'
33   spec.licenses        = %w(Apache-2.0)
34   spec.description    = <<-TEXT
35 Apache Buildr is a build system for Java-based applications, including support
36 for Scala, Groovy and a growing number of JVM languages and tools.  We wanted
37 something that's simple and intuitive to use, so we only need to tell it what
38 to do, and it takes care of the rest.  But also something we can easily extend
39 for those one-off tasks, with a language that's a joy to use.
40   TEXT
41   spec.rubyforge_project  = 'buildr'
42
43   spec.platform       = $platform
44
45   spec.files          = Dir['{addon,bin,doc,etc,lib,rakelib,spec}/**/*', '*.{gemspec,buildfile}'] +
46                         %w(LICENSE NOTICE CHANGELOG README.rdoc Rakefile _buildr _jbuildr)
47   spec.require_paths  = 'lib', 'addon'
48   spec.bindir         = 'bin'                               # Use these for applications.
49   spec.executable     = 'buildr'
50
51   spec.extra_rdoc_files = 'README.rdoc', 'CHANGELOG', 'LICENSE', 'NOTICE'
52   spec.rdoc_options     = '--title', 'Buildr', '--main', 'README.rdoc',
53                           '--webcvs', 'https://github.com/apache/buildr'
54   spec.post_install_message = 'To get started run buildr --help'
55
56   spec.required_rubygems_version = '>= 1.8.6'
57
58   # Tested against these dependencies.
59   spec.add_dependency 'rake',                 '0.9.2.2'
60   spec.add_dependency 'builder',              '3.2.2'
61   spec.add_dependency 'net-ssh',              '3.1.1' if RUBY_VERSION >= '2.0.0'
62   spec.add_dependency 'net-ssh',              '2.9.4' if RUBY_VERSION < '2.0.0'
63   spec.add_dependency 'net-sftp',             '2.1.2'
64   # Required for sftp support under windows
65   spec.add_dependency 'jruby-pageant',        '1.1.1' if $platform.to_s == 'java'
66   spec.add_dependency 'rubyzip',              '1.2.0'
67   spec.add_dependency 'json_pure',            '1.8.3'
68   spec.add_dependency 'rjb',                  '1.5.4' if ($platform.to_s == 'x86-mswin32' || $platform.to_s == 'ruby')
69   spec.add_dependency 'atoulme-Antwrap',      '0.7.5'
70   spec.add_dependency 'diff-lcs',             '1.2.5'
71   spec.add_dependency 'xml-simple',           '1.1.5'
72   spec.add_dependency 'minitar',              '0.5.4'
73   spec.add_dependency 'jruby-openssl',        '~> 0.9.17' if $platform.to_s == 'java'
74   spec.add_dependency 'bundler'
75   spec.add_dependency 'win32console'          '1.3.2' if $platform.to_s == 'x86-mswin32'
76
77   # Unable to get this consistently working under jruby on windows
78   unless $platform.to_s == 'java'
79     spec.add_development_dependency 'jekyll', '3.1.3'
80     spec.add_development_dependency 'RedCloth', '4.2.9'
81     spec.add_development_dependency 'jekylltask', '1.1.0'
82     spec.add_development_dependency 'pygments.rb', '0.6.3'
83     spec.add_development_dependency 'rdoc', '4.2.2'
84     spec.add_development_dependency 'jekyll-textile-converter', '0.1.0'
85   end
86
87   spec.add_development_dependency 'hoe',                  '3.15.1'
88   spec.add_development_dependency 'rspec-expectations',   '2.14.3'
89   spec.add_development_dependency 'rspec-mocks',          '2.14.3'
90   spec.add_development_dependency 'rspec-core',           '2.14.5'
91   spec.add_development_dependency 'rspec',                '2.14.1'
92   spec.add_development_dependency 'rspec-retry',          '0.2.1'
93   spec.add_development_dependency 'test-unit',            '3.2.1'
94   spec.add_development_dependency 'ci_reporter',          '1.9.0'
95   # Ideally we would depend on psych when the platform has >= 1.9.2 support and jruby platform version > 1.6.6
96   #spec.add_development_dependency 'psych' if RUBY_VERSION >= '1.9.2'
97   spec.add_development_dependency 'pygmentize', '0.0.3'
98   spec.add_development_dependency 'saikuro_treemap', '0.2.0'
99   spec.add_development_dependency 'atoulme-Saikuro', '1.2.1'
100 end