buildr 1.4.7.pre2 → 1.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +24 -2
- data/Rakefile +4 -1
- data/addon/buildr/{checkstyle.rake → checkstyle.rb} +0 -0
- data/addon/buildr/{findbugs.rake → findbugs.rb} +0 -0
- data/addon/buildr/gwt.rake +82 -0
- data/addon/buildr/{javancss.rake → javancss.rb} +0 -0
- data/addon/buildr/jdepend.rb.orig +178 -0
- data/addon/buildr/nailgun.rb +2 -2
- data/addon/buildr/{pmd.rake → pmd.rb} +3 -1
- data/addon/buildr/sonar.rb +142 -0
- data/buildr.gemspec +21 -17
- data/doc/installing.textile.orig +282 -0
- data/doc/more_stuff.textile +31 -0
- data/doc/more_stuff.textile.orig +1004 -0
- data/etc/KEYS +44 -0
- data/lib/buildr.rb +3 -3
- data/lib/buildr/core/doc.rb +9 -3
- data/lib/buildr/core/generate.rb +2 -2
- data/lib/buildr/core/run.rb +1 -1
- data/lib/buildr/core/shell.rb +1 -1
- data/lib/buildr/core/test.rb +1 -1
- data/lib/buildr/core/util.rb +2 -2
- data/lib/buildr/ide/eclipse.rb +4 -4
- data/lib/buildr/ide/idea.rb +184 -1
- data/lib/buildr/java/ant.rb +2 -3
- data/lib/buildr/java/bdd.rb +4 -4
- data/lib/buildr/java/pom.rb +5 -4
- data/lib/buildr/java/rjb.rb +1 -1
- data/lib/buildr/java/test_result.rb +4 -0
- data/lib/buildr/packaging/version_requirement.rb +1 -1
- data/lib/buildr/packaging/zip.rb +1 -1
- data/lib/buildr/run.rb +3 -2
- data/lib/buildr/scala/org/apache/buildr/Specs2Runner.class +0 -0
- data/lib/buildr/version.rb +1 -1
- data/rakelib/doc.rake +5 -5
- data/rakelib/package.rake +3 -3
- data/rakelib/rspec.rake +22 -4
- data/rakelib/stage.rake +16 -12
- data/spec/core/application_spec.rb +1 -1
- data/spec/core/cc_spec.rb +12 -4
- data/spec/core/doc_spec.rb +1 -1
- data/spec/core/run_spec.rb +17 -4
- data/spec/core/test_spec.rb +5 -3
- data/spec/ide/idea_spec.rb +2 -2
- data/spec/java/cobertura_spec.rb +4 -0
- data/spec/java/emma_spec.rb +4 -1
- data/spec/java/java_spec.rb +1 -1
- data/spec/java/pom_spec.rb +125 -0
- data/spec/packaging/archive_spec.rb +1 -1
- data/spec/packaging/artifact_spec.rb +1 -1
- data/spec/sandbox.rb +4 -0
- data/spec/spec_helpers.rb +6 -1
- data/spec/version_requirement_spec.rb +2 -0
- metadata +390 -239
    
        data/etc/KEYS
    CHANGED
    
    | @@ -187,3 +187,47 @@ sIHg4pUCB3Z7wT6vvSs/eQ3jARt7mok3JE56JL0sV2+Z2SePiFUn/ixKdn1lKP8d | |
| 187 187 | 
             
            +THIYJ/ZdpxUZeNKy7f1djoctqAk5T7ujVJh2d6xRXwqvQcJKoeW
         | 
| 188 188 | 
             
            =6E9O
         | 
| 189 189 | 
             
            -----END PGP PUBLIC KEY BLOCK-----
         | 
| 190 | 
            +
            pub   2048R/C694390E 2012-05-19 [expires: 2016-05-19]
         | 
| 191 | 
            +
            uid                  Peter Donald <peter.j.donald@gmail.com>
         | 
| 192 | 
            +
            sig 3        C694390E 2012-05-19  Peter Donald <peter.j.donald@gmail.com>
         | 
| 193 | 
            +
            sub   2048R/0C53F414 2012-05-19 [expires: 2016-05-19]
         | 
| 194 | 
            +
            sig          C694390E 2012-05-19  Peter Donald <peter.j.donald@gmail.com>
         | 
| 195 | 
            +
             | 
| 196 | 
            +
            -----BEGIN PGP PUBLIC KEY BLOCK-----
         | 
| 197 | 
            +
            Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
         | 
| 198 | 
            +
            Comment: GPGTools - http://gpgtools.org
         | 
| 199 | 
            +
             | 
| 200 | 
            +
            mQENBE+3DnEBCACZZ1LEEPx0C5sTfAJqnFo5uUJWV9d7OPEOV4QkbYkprGAP2C80
         | 
| 201 | 
            +
            3L7urVzNUQQeG4XDcY89fUKpNLXtn05AKnsZLUHiPFaJnNGVnMLuGfrxAyfhAeG3
         | 
| 202 | 
            +
            r0XXL1t4PV1Uieq+VEO+5jmEpU9nPEE6V0EiQ5FIZvEeT3k14PFLKMOxqYIQJEHi
         | 
| 203 | 
            +
            tgPJySwzdhLAzPyqYUJFEOSRl3IZuibXoMf5NkGYTRuz5uZfMxrH2ht9N27L3c/e
         | 
| 204 | 
            +
            LpLRdXpJwP/vXuZyZ5tCEu5rIai+bjPjuza7Dd7PxMJDwj155Eg+ff2pwnhMqPXb
         | 
| 205 | 
            +
            K/dgP1Ek0hiRhgu6VZMe1JYE4caD0IkUQTobABEBAAG0J1BldGVyIERvbmFsZCA8
         | 
| 206 | 
            +
            cGV0ZXIuai5kb25hbGRAZ21haWwuY29tPokBPwQTAQIAKQUCT7cOcQIbLwUJB4Yf
         | 
| 207 | 
            +
            gAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEEwEMYnGlDkOIloH/iReMb39
         | 
| 208 | 
            +
            60hcoSV5ySR1rKlyXSIu0dgLExRMPAPc16KP7zE3q8sM1bjEolmYB8lRTnHXK2MV
         | 
| 209 | 
            +
            u/ukosN9CXJtp22QEJp+IQyl3aI05JEMU0/m81t9fznknUXymIvyTb1JGWqGDCaV
         | 
| 210 | 
            +
            /N0x71rjF+oIuUv+QeIpEki/Fy4frG4uAQkeSdwaWi9XTKyIKIgHRceZ+cOnjHuf
         | 
| 211 | 
            +
            RP0LmLeu1djdleJwZuIqhN5z5pOLK3Nctpg8uxCyDzVks2E47dziqwbKKoKLJrCm
         | 
| 212 | 
            +
            Pau05xVfV0iU0hPGG3z2Vtj1B/UqbuXAPtoz5azMloJ9idDy80rVaXsvxQ/MWbYy
         | 
| 213 | 
            +
            nWKM9VEAmcGw8MK5AQ0ET7cOcQEIANBmwD7KQx3bFpUl7M9rwsB5X4888fo1wXOT
         | 
| 214 | 
            +
            S4GsGf8J3WXh0HQR3H0u6LAfmfvaCMptJL2KwoG8w8faHYJ8W2x3kGOLkCoaTVRZ
         | 
| 215 | 
            +
            Paeja59+PVCFtk5VENOVL0Bgoo0BTsgRz3vA9M5riShLyvBh5bvxKOLjLpVFBalO
         | 
| 216 | 
            +
            7dkRQkG5mCAxF+/FwnY/nvsp2edxviLKqTn3lpyYyxS8HriTHVoIRsSLq8ybNwcz
         | 
| 217 | 
            +
            Us8cKkTBArV0yhbGSNcoC9AbUNpl4QPu4JBB7sI0AyrrW1wkHaPAtjdRikKbG9wL
         | 
| 218 | 
            +
            4Ec+M3bGiDWv7Jit7JcLAe6wLgJSZpsGLCJsZe0pEvIrActkCZ0AEQEAAYkCRAQY
         | 
| 219 | 
            +
            AQIADwUCT7cOcQIbLgUJB4YfgAEpCRBMBDGJxpQ5DsBdIAQZAQIABgUCT7cOcQAK
         | 
| 220 | 
            +
            CRBYyoUHDFP0FJIMCAClB/aYgeL4V04LcQK1dWLxg8pTXiI25TVmWCc+ZwTlN5dN
         | 
| 221 | 
            +
            SujGZ6ctjjmZAfl/sG5AtQMKLlMh6csuYjjBvuloyFAmTvEPSlTMAmyPuUPWvcYh
         | 
| 222 | 
            +
            l+1rB3J07+IDEIRppUngXqqd3m6hDbZlTFZWVPyl7lByaiim9R9C9s0Bo03jzogc
         | 
| 223 | 
            +
            ueVDOMeDYuXfjYR/bMFLvyCwpHgdr5xg7IVmaJLMiAOqtnT2mJylBv5mSZse+XG8
         | 
| 224 | 
            +
            nExh2tRpdX+yKlS8R1Kbf4T9F5XnA91bR3J2Gd2YaGuCXhBKnKTeBDISVhuuv5bX
         | 
| 225 | 
            +
            ATKD57tKl8nVPdH9SKZvosFv5t+UQ+SA+iBf6nbgQ9wH/jRFStYfDJTeyhQOoFQL
         | 
| 226 | 
            +
            zIz/zuq6iddlV6T5E6DRbjj//e1nBWYFUzHyJ57ZKMvopRidhHRiFY+ZAdlhn/wf
         | 
| 227 | 
            +
            efq/08hyqtAb0Y4bXdAPMLOIxC1vD8rlk8t36Ec8jepLzgB6g7+oxc4/zfTZIFdX
         | 
| 228 | 
            +
            h/xR2AmxTe9fsE6xYWOFKb036s5fbr2ED1qWCPN14o+8ZgV93rq3deQS8TzCqFZ0
         | 
| 229 | 
            +
            yYEv5T1E0TZ2YD4O3+Ftnd+Q46US1KXCHmSkv461wvTnPaLnGK7D+uZzXlQsGI37
         | 
| 230 | 
            +
            ApsiYNbEfoq0U4Fj3PFsWXMHngom5lNWLlVSpn7zvhAIwpXY/Np3YFx5BVchCDBG
         | 
| 231 | 
            +
            IAU=
         | 
| 232 | 
            +
            =dNyx
         | 
| 233 | 
            +
            -----END PGP PUBLIC KEY BLOCK-----
         | 
    
        data/lib/buildr.rb
    CHANGED
    
    | @@ -18,6 +18,9 @@ unless defined?(Buildr::VERSION) | |
| 18 18 | 
             
            end
         | 
| 19 19 |  | 
| 20 20 | 
             
            require 'rake'
         | 
| 21 | 
            +
            include Rake::DSL
         | 
| 22 | 
            +
            Rake::TaskManager.record_task_metadata = true
         | 
| 23 | 
            +
             | 
| 21 24 | 
             
            require 'rbconfig'
         | 
| 22 25 | 
             
            require 'pathname'
         | 
| 23 26 | 
             
            autoload :Tempfile, 'tempfile'
         | 
| @@ -32,9 +35,6 @@ require 'find' | |
| 32 35 | 
             
            require 'uri'
         | 
| 33 36 | 
             
            require 'stringio'
         | 
| 34 37 | 
             
            require 'fileutils'
         | 
| 35 | 
            -
            require 'yaml' # From test_result.rb: necessary to require YAML even if it is mentioned by autoload as it fails on some platforms.
         | 
| 36 | 
            -
            require 'rspec/core/formatters/base_formatter' # From test_result.rb
         | 
| 37 | 
            -
             | 
| 38 38 |  | 
| 39 39 | 
             
            require 'buildr/core/util'
         | 
| 40 40 | 
             
            require 'buildr/core/common'
         | 
    
        data/lib/buildr/core/doc.rb
    CHANGED
    
    | @@ -112,7 +112,13 @@ module Buildr | |
| 112 112 | 
             
                  # Includes additional source files and directories when generating the documentation
         | 
| 113 113 | 
             
                  # and returns self. When specifying a directory, includes all source files in that directory.
         | 
| 114 114 | 
             
                  def include(*files)
         | 
| 115 | 
            -
                     | 
| 115 | 
            +
                    files.each do |file|
         | 
| 116 | 
            +
                      if file.respond_to? :to_ary
         | 
| 117 | 
            +
                        include(*file.to_ary)
         | 
| 118 | 
            +
                      else
         | 
| 119 | 
            +
                        @files.include *files.flatten.compact.collect { |f| File.expand_path(f.to_s) }
         | 
| 120 | 
            +
                      end
         | 
| 121 | 
            +
                    end
         | 
| 116 122 | 
             
                    self
         | 
| 117 123 | 
             
                  end
         | 
| 118 124 |  | 
| @@ -121,7 +127,7 @@ module Buildr | |
| 121 127 | 
             
                  #
         | 
| 122 128 | 
             
                  # Excludes source files and directories from generating the documentation.
         | 
| 123 129 | 
             
                  def exclude(*files)
         | 
| 124 | 
            -
                    @files.exclude *files
         | 
| 130 | 
            +
                    @files.exclude *files.collect{|f|File.expand_path(f)}
         | 
| 125 131 | 
             
                    self
         | 
| 126 132 | 
             
                  end
         | 
| 127 133 |  | 
| @@ -205,7 +211,7 @@ module Buildr | |
| 205 211 | 
             
                  def source_files #:nodoc:
         | 
| 206 212 | 
             
                    @source_files ||= @files.map(&:to_s).map do |file|
         | 
| 207 213 | 
             
                      Array(engine.class.source_ext).map do |ext|
         | 
| 208 | 
            -
                        File.directory?(file) ? FileList[File.join(file, "**/*.#{ext}")] : file
         | 
| 214 | 
            +
                        File.directory?(file) ? FileList[File.join(file, "**/*.#{ext}")] : File.expand_path(file)
         | 
| 209 215 | 
             
                      end
         | 
| 210 216 | 
             
                    end.flatten.reject { |file| @files.exclude?(file) }
         | 
| 211 217 | 
             
                  end
         | 
    
        data/lib/buildr/core/generate.rb
    CHANGED
    
    | @@ -52,7 +52,7 @@ GROUP = "#{name}" | |
| 52 52 | 
             
            COPYRIGHT = ""
         | 
| 53 53 |  | 
| 54 54 | 
             
            # Specify Maven 2.0 remote repositories here, like this:
         | 
| 55 | 
            -
            repositories.remote << "http:// | 
| 55 | 
            +
            repositories.remote << "http://repo1.maven.org/maven2"
         | 
| 56 56 |  | 
| 57 57 | 
             
            desc "The #{name.capitalize} project"
         | 
| 58 58 | 
             
            define "#{name}" do
         | 
| @@ -122,7 +122,7 @@ define "#{name}" do | |
| 122 122 | 
             
                        legacy = repository["layout"].to_s =~ /legacy/
         | 
| 123 123 | 
             
                        !legacy
         | 
| 124 124 | 
             
                      } rescue nil
         | 
| 125 | 
            -
                      repositories = [{"name" => "Standard maven2 repository", "url" => "http:// | 
| 125 | 
            +
                      repositories = [{"name" => "Standard maven2 repository", "url" => "http://repo1.maven.org/maven2"}] if repositories.nil? || repositories.empty?
         | 
| 126 126 | 
             
                      repositories.each do |repository|
         | 
| 127 127 | 
             
                        name, url = repository["name"], repository["url"]
         | 
| 128 128 | 
             
                        script << "# #{name}"
         | 
    
        data/lib/buildr/core/run.rb
    CHANGED
    
    | @@ -23,7 +23,7 @@ module Buildr | |
| 23 23 |  | 
| 24 24 | 
             
                  def run(task)
         | 
| 25 25 | 
             
                    fail "Missing :main option" unless task.options[:main]
         | 
| 26 | 
            -
                    cp = project.compile.dependencies + [project.path_to(:target, :classes)] + task.classpath
         | 
| 26 | 
            +
                    cp = project.compile.dependencies + [project.path_to(:target, :classes), project.path_to(:target, :resources)] + task.classpath
         | 
| 27 27 | 
             
                    Java::Commands.java(task.options[:main], {
         | 
| 28 28 | 
             
                      :properties => jrebel_props(project).merge(task.options[:properties] || {}),
         | 
| 29 29 | 
             
                      :classpath => cp,
         | 
    
        data/lib/buildr/core/shell.rb
    CHANGED
    
    | @@ -115,7 +115,7 @@ module Buildr | |
| 115 115 |  | 
| 116 116 | 
             
                private
         | 
| 117 117 | 
             
                  def jruby_home
         | 
| 118 | 
            -
                    @jruby_home ||= RUBY_PLATFORM =~ /java/ ?  | 
| 118 | 
            +
                    @jruby_home ||= RUBY_PLATFORM =~ /java/ ? RbConfig::CONFIG['prefix'] : ENV['JRUBY_HOME']
         | 
| 119 119 | 
             
                  end
         | 
| 120 120 |  | 
| 121 121 | 
             
                  def jruby_artifact
         | 
    
        data/lib/buildr/core/test.rb
    CHANGED
    
    | @@ -139,7 +139,7 @@ module Buildr | |
| 139 139 | 
             
              # cases are written in Java, then JUnit is selected as the test framework.  You can also select
         | 
| 140 140 | 
             
              # a specific test framework, for example, to use TestNG instead of JUnit:
         | 
| 141 141 | 
             
              #   test.using :testng
         | 
| 142 | 
            -
              class TestTask < Rake::Task
         | 
| 142 | 
            +
              class TestTask < ::Rake::Task
         | 
| 143 143 |  | 
| 144 144 | 
             
                class << self
         | 
| 145 145 |  | 
    
        data/lib/buildr/core/util.rb
    CHANGED
    
    | @@ -32,7 +32,7 @@ module Buildr | |
| 32 32 | 
             
                # For JRuby, the value for RUBY_PLATFORM will always be 'java'
         | 
| 33 33 | 
             
                # That's why this function checks on Config::CONFIG['host_os']
         | 
| 34 34 | 
             
                def win_os?
         | 
| 35 | 
            -
                   | 
| 35 | 
            +
                  RbConfig::CONFIG['host_os'] =~ /windows|cygwin|bccwin|cygwin|djgpp|mingw|mswin|wince/i
         | 
| 36 36 | 
             
                end
         | 
| 37 37 |  | 
| 38 38 | 
             
                # Runs Ruby with these command line arguments.  The last argument may be a hash,
         | 
| @@ -43,7 +43,7 @@ module Buildr | |
| 43 43 | 
             
                def ruby(*args)
         | 
| 44 44 | 
             
                  options = Hash === args.last ? args.pop : {}
         | 
| 45 45 | 
             
                  cmd = []
         | 
| 46 | 
            -
                  ruby_bin = normalize_path( | 
| 46 | 
            +
                  ruby_bin = normalize_path(RbConfig::CONFIG['ruby_install_name'], RbConfig::CONFIG['bindir'])
         | 
| 47 47 | 
             
                  if options.delete(:sudo) && !(win_os? || Process.uid == File.stat(ruby_bin).uid)
         | 
| 48 48 | 
             
                    cmd << 'sudo' << '-u' << "##{File.stat(ruby_bin).uid}"
         | 
| 49 49 | 
             
                  end
         | 
    
        data/lib/buildr/ide/eclipse.rb
    CHANGED
    
    | @@ -250,16 +250,16 @@ module Buildr | |
| 250 250 | 
             
                                classpathentry.src project.test.resources
         | 
| 251 251 | 
             
                              end
         | 
| 252 252 |  | 
| 253 | 
            +
                              project.eclipse.classpath_containers.each { |container|
         | 
| 254 | 
            +
                                classpathentry.con container
         | 
| 255 | 
            +
                              }
         | 
| 256 | 
            +
             | 
| 253 257 | 
             
                              # Classpath elements from other projects
         | 
| 254 258 | 
             
                              classpathentry.src_projects project_libs
         | 
| 255 259 |  | 
| 256 260 | 
             
                              classpathentry.output project.compile.target if project.compile.target
         | 
| 257 261 | 
             
                              classpathentry.lib libs
         | 
| 258 262 | 
             
                              classpathentry.var vars
         | 
| 259 | 
            -
             | 
| 260 | 
            -
                              project.eclipse.classpath_containers.each { |container|
         | 
| 261 | 
            -
                                classpathentry.con container
         | 
| 262 | 
            -
                              }
         | 
| 263 263 | 
             
                            end
         | 
| 264 264 | 
             
                          end
         | 
| 265 265 | 
             
                        end
         | 
    
        data/lib/buildr/ide/idea.rb
    CHANGED
    
    | @@ -238,6 +238,113 @@ module Buildr | |
| 238 238 | 
             
                    @skip_content = true
         | 
| 239 239 | 
             
                  end
         | 
| 240 240 |  | 
| 241 | 
            +
                  def add_gwt_facet(modules = {}, options = {})
         | 
| 242 | 
            +
                    name = options[:name] || "GWT"
         | 
| 243 | 
            +
                    settings =
         | 
| 244 | 
            +
                      {
         | 
| 245 | 
            +
                        :webFacet => "Web",
         | 
| 246 | 
            +
                        :compilerMaxHeapSize => "512",
         | 
| 247 | 
            +
                        :compilerParameters => "-draftCompile -localWorkers 2 -strict",
         | 
| 248 | 
            +
                        :gwtSdkUrl => "file://$GWT_TOOLS$",
         | 
| 249 | 
            +
                        :gwtScriptOutputStyle => "PRETTY"
         | 
| 250 | 
            +
                      }.merge(options[:settings] || {})
         | 
| 251 | 
            +
             | 
| 252 | 
            +
                    add_facet(name, "gwt") do |f|
         | 
| 253 | 
            +
                      f.configuration do |c|
         | 
| 254 | 
            +
                        settings.each_pair do |k, v|
         | 
| 255 | 
            +
                          c.setting :name => k.to_s, :value => v.to_s
         | 
| 256 | 
            +
                        end
         | 
| 257 | 
            +
                        c.packaging do |d|
         | 
| 258 | 
            +
                          modules.each_pair do |k, v|
         | 
| 259 | 
            +
                            d.module :name => k, :enabled => v
         | 
| 260 | 
            +
                          end
         | 
| 261 | 
            +
                        end
         | 
| 262 | 
            +
                      end
         | 
| 263 | 
            +
                    end
         | 
| 264 | 
            +
                  end
         | 
| 265 | 
            +
             | 
| 266 | 
            +
                  def add_web_facet(options = {})
         | 
| 267 | 
            +
                    name = options[:name] || "Web"
         | 
| 268 | 
            +
                    url_base = options[:url_base] || "/"
         | 
| 269 | 
            +
                    default_webroots = [buildr_project._(:source, :main, :webapp)]
         | 
| 270 | 
            +
                    webroots = options[:webroots] || default_webroots
         | 
| 271 | 
            +
                    web_xml = options[:web_xml] || "#{buildr_project._(:source, :main, :webapp)}/WEB-INF/web.xml"
         | 
| 272 | 
            +
                    version = options[:version] || "3.0"
         | 
| 273 | 
            +
             | 
| 274 | 
            +
                    add_facet(name, "web") do |f|
         | 
| 275 | 
            +
                      f.configuration do |c|
         | 
| 276 | 
            +
                        c.descriptors do |d|
         | 
| 277 | 
            +
                          if File.exist?(web_xml) || default_web_xml != web_xml
         | 
| 278 | 
            +
                            d.deploymentDescriptor :name => 'web.xml', :url => file_path(web_xml), :optional => "true", :version => version
         | 
| 279 | 
            +
                          end
         | 
| 280 | 
            +
                        end
         | 
| 281 | 
            +
                        c.webroots do |w|
         | 
| 282 | 
            +
                          webroots.each do |webroot|
         | 
| 283 | 
            +
                            w.root :url => file_path(webroot), :relative => url_base
         | 
| 284 | 
            +
                          end
         | 
| 285 | 
            +
                        end
         | 
| 286 | 
            +
                      end
         | 
| 287 | 
            +
                    end
         | 
| 288 | 
            +
                  end
         | 
| 289 | 
            +
             | 
| 290 | 
            +
                  def add_jruby_facet(options = {})
         | 
| 291 | 
            +
                    name = options[:name] || "JRuby"
         | 
| 292 | 
            +
                    jruby_version = options[:jruby_version] || "jruby-1.5.2-p249"
         | 
| 293 | 
            +
                    add_facet(name, "JRUBY") do |f|
         | 
| 294 | 
            +
                      f.configuration(:number => 0) do |c|
         | 
| 295 | 
            +
                        c.JRUBY_FACET_CONFIG_ID :NAME => "JRUBY_SDK_NAME", :VALUE => jruby_version
         | 
| 296 | 
            +
                      end
         | 
| 297 | 
            +
                    end
         | 
| 298 | 
            +
                  end
         | 
| 299 | 
            +
             | 
| 300 | 
            +
                  def add_jpa_facet(options = {})
         | 
| 301 | 
            +
                    name = options[:name] || "JPA"
         | 
| 302 | 
            +
                    factory_entry = options[:factory_entry] || buildr_project.name.to_s
         | 
| 303 | 
            +
                    validation_enabled = options[:validation_enabled].nil? ? true : options[:validation_enabled]
         | 
| 304 | 
            +
                    provider_enabled = options[:provider_enabled] || 'Hibernate'
         | 
| 305 | 
            +
                    default_persistence_xml = buildr_project._(:source, :main, :resources, "META-INF/persistence.xml")
         | 
| 306 | 
            +
                    persistence_xml = options[:persistence_xml] || default_persistence_xml
         | 
| 307 | 
            +
                    default_orm_xml = buildr_project._(:source, :main, :resources, "META-INF/orm.xml")
         | 
| 308 | 
            +
                    orm_xml = options[:orm_xml] || default_orm_xml
         | 
| 309 | 
            +
                    add_facet(name, "jpa") do |f|
         | 
| 310 | 
            +
                      f.configuration do |c|
         | 
| 311 | 
            +
                        c.setting :name => "validation-enabled", :value => validation_enabled
         | 
| 312 | 
            +
                        c.setting :name => "provider-name", :value => provider_enabled
         | 
| 313 | 
            +
                        c.tag!('datasource-mapping') do |ds|
         | 
| 314 | 
            +
                          ds.tag!('factory-entry', :name => factory_entry)
         | 
| 315 | 
            +
                        end
         | 
| 316 | 
            +
                        if File.exist?(persistence_xml) || default_persistence_xml != persistence_xml
         | 
| 317 | 
            +
                          c.deploymentDescriptor :name => 'persistence.xml', :url => file_path(persistence_xml)
         | 
| 318 | 
            +
                        end
         | 
| 319 | 
            +
                        if File.exist?(orm_xml) || default_orm_xml != orm_xml
         | 
| 320 | 
            +
                          c.deploymentDescriptor :name => 'orm.xml', :url => file_path(orm_xml)
         | 
| 321 | 
            +
                        end
         | 
| 322 | 
            +
                      end
         | 
| 323 | 
            +
                    end
         | 
| 324 | 
            +
                  end
         | 
| 325 | 
            +
             | 
| 326 | 
            +
                  def add_ejb_facet(options = {})
         | 
| 327 | 
            +
                    name = options[:name] || "EJB"
         | 
| 328 | 
            +
                    default_ejb_xml = buildr_project._(:source, :main, :resources, "WEB-INF/ejb-jar.xml")
         | 
| 329 | 
            +
                    ejb_xml = options[:ejb_xml] || default_ejb_xml
         | 
| 330 | 
            +
                    ejb_roots = options[:ejb_roots] || [buildr_project.compile.sources, buildr_project.resources.sources].flatten
         | 
| 331 | 
            +
             | 
| 332 | 
            +
                    add_facet(name, "ejb") do |facet|
         | 
| 333 | 
            +
                      facet.configuration do |c|
         | 
| 334 | 
            +
                        c.descriptors do |d|
         | 
| 335 | 
            +
                          if File.exist?(ejb_xml) || default_ejb_xml != ejb_xml
         | 
| 336 | 
            +
                            d.deploymentDescriptor :name => 'ejb-jar.xml', :url => file_path(ejb_xml)
         | 
| 337 | 
            +
                          end
         | 
| 338 | 
            +
                        end
         | 
| 339 | 
            +
                        c.ejbRoots do |e|
         | 
| 340 | 
            +
                          ejb_roots.each do |ejb_root|
         | 
| 341 | 
            +
                            e.root :url => file_path(ejb_root)
         | 
| 342 | 
            +
                          end
         | 
| 343 | 
            +
                        end
         | 
| 344 | 
            +
                      end
         | 
| 345 | 
            +
                    end
         | 
| 346 | 
            +
                  end
         | 
| 347 | 
            +
             | 
| 241 348 | 
             
                  protected
         | 
| 242 349 |  | 
| 243 350 | 
             
                  def test_dependency_details
         | 
| @@ -445,6 +552,82 @@ module Buildr | |
| 445 552 | 
             
                    end
         | 
| 446 553 | 
             
                  end
         | 
| 447 554 |  | 
| 555 | 
            +
                  def add_exploded_war_artifact(project, options = {})
         | 
| 556 | 
            +
                    artifact_name = options[:name] || project.iml.id
         | 
| 557 | 
            +
                    build_on_make = options[:build_on_make].nil? ? false : options[:build_on_make]
         | 
| 558 | 
            +
             | 
| 559 | 
            +
                    add_artifact(artifact_name, "exploded-war", build_on_make) do |xml|
         | 
| 560 | 
            +
                      dependencies = (options[:dependencies] || ([project] + project.compile.dependencies)).flatten
         | 
| 561 | 
            +
                      libraries, projects = partition_dependencies(dependencies)
         | 
| 562 | 
            +
             | 
| 563 | 
            +
                      ## The content here can not be indented
         | 
| 564 | 
            +
                      output_dir = options[:output_dir] || project._(:artifacts, artifact_name)
         | 
| 565 | 
            +
                      xml.tag!('output-path', output_dir)
         | 
| 566 | 
            +
             | 
| 567 | 
            +
                      xml.root :id => "root" do
         | 
| 568 | 
            +
                        xml.element :id => "directory", :name => "WEB-INF" do
         | 
| 569 | 
            +
                          xml.element :id => "directory", :name => "classes" do
         | 
| 570 | 
            +
                            projects.each do |p|
         | 
| 571 | 
            +
                              xml.element :id => "module-output", :name => p.iml.id
         | 
| 572 | 
            +
                            end
         | 
| 573 | 
            +
                            if options[:enable_jpa]
         | 
| 574 | 
            +
                              module_names = options[:jpa_module_names] || [project.iml.id]
         | 
| 575 | 
            +
                              module_names.each do |module_name|
         | 
| 576 | 
            +
                                facet_name = options[:jpa_facet_name] || "JPA"
         | 
| 577 | 
            +
                                xml.element :id => "jpa-descriptors", :facet => "#{module_name}/jpa/#{facet_name}"
         | 
| 578 | 
            +
                              end
         | 
| 579 | 
            +
                            end
         | 
| 580 | 
            +
                            if options[:enable_ejb]
         | 
| 581 | 
            +
                              module_names = options[:ejb_module_names] || [project.iml.id]
         | 
| 582 | 
            +
                              module_names.each do |module_name|
         | 
| 583 | 
            +
                                facet_name = options[:ejb_facet_name] || "EJB"
         | 
| 584 | 
            +
                                xml.element :id => "javaee-facet-resources", :facet => "#{module_name}/ejb/#{facet_name}"
         | 
| 585 | 
            +
                              end
         | 
| 586 | 
            +
                            end
         | 
| 587 | 
            +
                          end
         | 
| 588 | 
            +
                          xml.element :id => "directory", :name => "lib" do
         | 
| 589 | 
            +
                            libraries.each(&:invoke).map(&:to_s).each do |dependency_path|
         | 
| 590 | 
            +
                              xml.element :id => "file-copy", :path => resolve_path(dependency_path)
         | 
| 591 | 
            +
                            end
         | 
| 592 | 
            +
                          end
         | 
| 593 | 
            +
                        end
         | 
| 594 | 
            +
             | 
| 595 | 
            +
                        if options[:enable_war].nil? || options[:enable_war]
         | 
| 596 | 
            +
                          module_names = options[:war_module_names] || [project.iml.id]
         | 
| 597 | 
            +
                          module_names.each do |module_name|
         | 
| 598 | 
            +
                            facet_name = options[:war_facet_name] || "Web"
         | 
| 599 | 
            +
                            xml.element :id => "javaee-facet-resources", :facet => "#{module_name}/web/#{facet_name}"
         | 
| 600 | 
            +
                          end
         | 
| 601 | 
            +
                        end
         | 
| 602 | 
            +
             | 
| 603 | 
            +
                        if options[:enable_gwt]
         | 
| 604 | 
            +
                          module_names = options[:gwt_module_names] || [project.iml.id]
         | 
| 605 | 
            +
                          module_names.each do |module_name|
         | 
| 606 | 
            +
                            facet_name = options[:gwt_facet_name] || "GWT"
         | 
| 607 | 
            +
                            xml.element :id => "gwt-compiler-output", :facet => "#{module_name}/gwt/#{facet_name}"
         | 
| 608 | 
            +
                          end
         | 
| 609 | 
            +
                        end
         | 
| 610 | 
            +
                      end
         | 
| 611 | 
            +
                    end
         | 
| 612 | 
            +
                  end
         | 
| 613 | 
            +
             | 
| 614 | 
            +
                  def add_gwt_configuration(launch_page, project, options = {})
         | 
| 615 | 
            +
                    name = options[:name] || "Run #{launch_page}"
         | 
| 616 | 
            +
                    shell_parameters = options[:shell_parameters] || ""
         | 
| 617 | 
            +
                    vm_parameters = options[:vm_parameters] || "-Xmx512m"
         | 
| 618 | 
            +
             | 
| 619 | 
            +
                    add_configuration(name, "GWT.ConfigurationType", "GWT Configuration") do |xml|
         | 
| 620 | 
            +
                      xml.module(:name => project.iml.id)
         | 
| 621 | 
            +
                      xml.option(:name => "RUN_PAGE", :value => launch_page)
         | 
| 622 | 
            +
                      xml.option(:name => "SHELL_PARAMETERS", :value => shell_parameters)
         | 
| 623 | 
            +
                      xml.option(:name => "VM_PARAMETERS", :value => vm_parameters)
         | 
| 624 | 
            +
             | 
| 625 | 
            +
                      xml.RunnerSettings(:RunnerId => "Run")
         | 
| 626 | 
            +
                      xml.ConfigurationWrapper(:RunnerId => "Run")
         | 
| 627 | 
            +
                      xml.method()
         | 
| 628 | 
            +
                    end
         | 
| 629 | 
            +
                  end
         | 
| 630 | 
            +
             | 
| 448 631 | 
             
                  protected
         | 
| 449 632 |  | 
| 450 633 | 
             
                  def extension
         | 
| @@ -509,7 +692,7 @@ module Buildr | |
| 509 692 | 
             
                          if subproject.iml.group == true
         | 
| 510 693 | 
             
                            attribs[:group] = subproject.parent.name.gsub(':', '/')
         | 
| 511 694 | 
             
                          elsif !subproject.iml.group.nil?
         | 
| 512 | 
            -
                            attribs[:group] = subproject.group.to_s
         | 
| 695 | 
            +
                            attribs[:group] = subproject.iml.group.to_s
         | 
| 513 696 | 
             
                          end
         | 
| 514 697 | 
             
                          xml.module attribs
         | 
| 515 698 | 
             
                        end
         | 
    
        data/lib/buildr/java/ant.rb
    CHANGED
    
    | @@ -22,7 +22,7 @@ module Buildr | |
| 22 22 | 
             
              module Ant
         | 
| 23 23 |  | 
| 24 24 | 
             
                # Which version of Ant we're using by default.
         | 
| 25 | 
            -
                VERSION = '1.8. | 
| 25 | 
            +
                VERSION = '1.8.3'
         | 
| 26 26 |  | 
| 27 27 | 
             
                class << self
         | 
| 28 28 | 
             
                  # Current version of Ant being used.
         | 
| @@ -34,8 +34,7 @@ module Buildr | |
| 34 34 | 
             
                  def dependencies
         | 
| 35 35 | 
             
                    # Ant-Trax required for running the JUnitReport task, and there's no other place
         | 
| 36 36 | 
             
                    # to put it but the root classpath.
         | 
| 37 | 
            -
                    @dependencies ||= ["org.apache.ant:ant:jar:#{version}", "org.apache.ant:ant-launcher:jar:#{version}" | 
| 38 | 
            -
                      "org.apache.ant:ant-trax:jar:#{version}"]
         | 
| 37 | 
            +
                    @dependencies ||= ["org.apache.ant:ant:jar:#{version}", "org.apache.ant:ant-launcher:jar:#{version}"]
         | 
| 39 38 | 
             
                  end
         | 
| 40 39 |  | 
| 41 40 | 
             
                private
         | 
    
        data/lib/buildr/java/bdd.rb
    CHANGED
    
    | @@ -115,7 +115,7 @@ module Buildr | |
| 115 115 | 
             
                end
         | 
| 116 116 |  | 
| 117 117 | 
             
                def jruby_home
         | 
| 118 | 
            -
                  @jruby_home ||= RUBY_PLATFORM =~ /java/ ?  | 
| 118 | 
            +
                  @jruby_home ||= RUBY_PLATFORM =~ /java/ ? RbConfig::CONFIG['prefix'] :
         | 
| 119 119 | 
             
                    ( ENV['JRUBY_HOME'] || File.expand_path('~/.jruby') )
         | 
| 120 120 | 
             
                end
         | 
| 121 121 |  | 
| @@ -166,7 +166,7 @@ module Buildr | |
| 166 166 | 
             
                   require 'jruby'
         | 
| 167 167 | 
             
                   def JRuby.gem(name, version = '>0', *args)
         | 
| 168 168 | 
             
                      require 'rbconfig'
         | 
| 169 | 
            -
                      jruby_home =  | 
| 169 | 
            +
                      jruby_home = RbConfig::CONFIG['prefix']
         | 
| 170 170 | 
             
                      expected_version = '#{TestFramework::JRubyBased.version}'
         | 
| 171 171 | 
             
                      unless JRUBY_VERSION >= expected_version
         | 
| 172 172 | 
             
                        fail "Expected JRuby version \#{expected_version} installed at \#{jruby_home} but got \#{JRUBY_VERSION}"
         | 
| @@ -194,7 +194,7 @@ module Buildr | |
| 194 194 | 
             
                  runner.requires ||= []
         | 
| 195 195 | 
             
                  runner.requires.unshift File.join(File.dirname(__FILE__), 'test_result')
         | 
| 196 196 | 
             
                  runner.gems ||= {}
         | 
| 197 | 
            -
                  runner.rspec ||= ['--format', 'progress', '--format',  | 
| 197 | 
            +
                  runner.rspec ||= ['--format', 'progress', '--format', 'documentation']
         | 
| 198 198 | 
             
                  runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
         | 
| 199 199 | 
             
                  runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter"
         | 
| 200 200 | 
             
                  runner.rspec.push '-o', runner.result
         | 
| @@ -240,7 +240,7 @@ module Buildr | |
| 240 240 |  | 
| 241 241 | 
             
                def runner_config
         | 
| 242 242 | 
             
                  runner = super
         | 
| 243 | 
            -
                  runner.gems.update 'rspec' => '~> 2. | 
| 243 | 
            +
                  runner.gems.update 'rspec' => '~> 2.9.0'
         | 
| 244 244 | 
             
                  runner.requires.unshift 'rspec'
         | 
| 245 245 | 
             
                  runner
         | 
| 246 246 | 
             
                end
         | 
    
        data/lib/buildr/java/pom.rb
    CHANGED
    
    | @@ -103,10 +103,10 @@ module Buildr | |
| 103 103 | 
             
                        if options[:scopes].include?(spec[:scope])
         | 
| 104 104 | 
             
                          spec.delete(:scope)
         | 
| 105 105 |  | 
| 106 | 
            -
                          exclusions = dep["exclusions"]["exclusion"] rescue nil
         | 
| 106 | 
            +
                          exclusions = dep["exclusions"].first["exclusion"] rescue nil
         | 
| 107 107 | 
             
                          transitive_deps = POM.load(spec).dependencies(options[:scopes_transitive] || SCOPES_TRANSITIVE)
         | 
| 108 108 | 
             
                          transitive_deps = transitive_deps.reject{|dep|
         | 
| 109 | 
            -
                            exclusions.find {|ex| dep.index("#{ | 
| 109 | 
            +
                            exclusions.find {|ex| dep.index("#{ex['groupId'].first}:#{ex['artifactId'].first}:") == 0}
         | 
| 110 110 | 
             
                          } if exclusions
         | 
| 111 111 |  | 
| 112 112 | 
             
                          [Artifact.to_spec(spec)] + transitive_deps
         | 
| @@ -130,7 +130,7 @@ module Buildr | |
| 130 130 | 
             
                      hash
         | 
| 131 131 | 
             
                    }
         | 
| 132 132 | 
             
                    props = project["properties"].first rescue {}
         | 
| 133 | 
            -
                    props = props.inject({}) { |mapped, pair| mapped[pair.first] = value_of(pair.last,  | 
| 133 | 
            +
                    props = props.inject({}) { |mapped, pair| mapped[pair.first] = value_of(pair.last, props) ; mapped }
         | 
| 134 134 | 
             
                    (parent ? parent.properties.merge(props) : props).merge(pom)
         | 
| 135 135 | 
             
                  end
         | 
| 136 136 | 
             
                end
         | 
| @@ -164,7 +164,8 @@ module Buildr | |
| 164 164 | 
             
                # property substitution.
         | 
| 165 165 | 
             
                def value_of(element, substitute = nil)
         | 
| 166 166 | 
             
                  value = element.to_a.join.strip
         | 
| 167 | 
            -
                   | 
| 167 | 
            +
                  value = value.gsub(/\$\{([^}]+)\}/) { |key| Array(substitute[$1]).join.strip } if substitute
         | 
| 168 | 
            +
                  value
         | 
| 168 169 | 
             
                end
         | 
| 169 170 |  | 
| 170 171 | 
             
                # :call-seq:
         |