You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by bo...@apache.org on 2011/01/28 06:45:30 UTC

svn commit: r1064465 - in /buildr/trunk: CHANGELOG lib/buildr/java/packaging.rb lib/buildr/scala/doc.rb spec/scala/doc_spec.rb

Author: boisvert
Date: Fri Jan 28 05:45:30 2011
New Revision: 1064465

URL: http://svn.apache.org/viewvc?rev=1064465&view=rev
Log:
Added: BUILDR-564 Add package(:scaladoc)
Fixed: Scaladoc task would cause build to exit prematurely

Modified:
    buildr/trunk/CHANGELOG
    buildr/trunk/lib/buildr/java/packaging.rb
    buildr/trunk/lib/buildr/scala/doc.rb
    buildr/trunk/spec/scala/doc_spec.rb

Modified: buildr/trunk/CHANGELOG
URL: http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1064465&r1=1064464&r2=1064465&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Fri Jan 28 05:45:30 2011
@@ -12,6 +12,7 @@
 * Added:  BUILDR-538 Shell tasks should support passing :java_args
 * Added:  BUILDR-544 Support ${groupId} in pom files (Chris Dean)
 * Added:  BUILDR-552 Projects may now be defined using project(:name) and a block
+* Added:  BUILDR-564 Add package(:scaladoc)
 * Added:  Automatically add "require buildr/{groovy,scala}"  when generating
           project if Groovy/Scala files are detected.
 * Change: BUILDR-540 Upgrade to rspec 2.1.0
@@ -35,6 +36,7 @@
 * Fixed:  BUILDR-558 Artifact uploads should show a progress bar (Tammo van Lessen)
 * Fixed:  BUILDR-560 show a meaning full error message when POM cannot be parsed
           (Tammo van Lessen)
+* Fixed:  Scaladoc task would cause build to exit prematurely
 
 1.4.4 (2010-11-16)
 * Change: BUILDR-549 Upgrade to RJB 1.3.3 to address "Cannot create JVM" issue with Java Update 3

Modified: buildr/trunk/lib/buildr/java/packaging.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/java/packaging.rb?rev=1064465&r1=1064464&r2=1064465&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/java/packaging.rb (original)
+++ buildr/trunk/lib/buildr/java/packaging.rb Fri Jan 28 05:45:30 2011
@@ -714,7 +714,7 @@ module Buildr
       end
 
       def package_as_javadoc_spec(spec) #:nodoc:
-        spec.merge(:type=>:zip, :classifier=>'javadoc')
+        spec.merge(:type=>:jar, :classifier=>'javadoc')
       end
 
       def package_as_javadoc(file_name) #:nodoc:

Modified: buildr/trunk/lib/buildr/scala/doc.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/scala/doc.rb?rev=1064465&r1=1064464&r2=1064465&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/scala/doc.rb (original)
+++ buildr/trunk/lib/buildr/scala/doc.rb Fri Jan 28 05:45:30 2011
@@ -61,8 +61,11 @@ module Buildr
           info "Generating Scaladoc for #{project.name}"
           trace (['scaladoc'] + cmd_args).join(' ')
           Java.load
-          Java.scala.tools.nsc.ScalaDoc.main(cmd_args.to_java(Java.java.lang.String)) == 0 or
-            fail 'Failed to generate Scaladocs, see errors above'
+          begin
+            Java.scala.tools.nsc.ScalaDoc.process(cmd_args.to_java(Java.java.lang.String))
+          rescue => e
+            fail 'Failed to generate Scaladocs, see errors above: ' + e
+          end
         end
       end
     end
@@ -115,8 +118,23 @@ module Buildr
     end
   end
 
+  module Packaging
+    module Scala
+      def package_as_scaladoc_spec(spec) #:nodoc:
+        spec.merge(:type=>:jar, :classifier=>'scaladoc')
+      end
+
+      def package_as_scaladoc(file_name) #:nodoc:
+        ZipTask.define_task(file_name).tap do |zip|
+          zip.include :from=>doc.target
+        end
+      end
+    end
+  end
+
   class Project
     include ScaladocDefaults
+    include Packaging::Scala
   end
 end
 

Modified: buildr/trunk/spec/scala/doc_spec.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/spec/scala/doc_spec.rb?rev=1064465&r1=1064464&r2=1064465&view=diff
==============================================================================
--- buildr/trunk/spec/scala/doc_spec.rb (original)
+++ buildr/trunk/spec/scala/doc_spec.rb Fri Jan 28 05:45:30 2011
@@ -57,12 +57,32 @@ describe "Scaladoc" do
     define('foo') do
       doc.using :windowtitle => "foo"
     end
-    Java.scala.tools.nsc.ScalaDoc.should_receive(:main) do |args|
+    Java.scala.tools.nsc.ScalaDoc.should_receive(:process) do |args|
       # Convert Java Strings to Ruby Strings, if needed.
       args.map { |a| a.is_a?(String) ? a : a.toString }.should include("-doc-title")
       0 # normal return
     end
     project('foo').doc.invoke
   end
+end
+
+describe "package(:scaladoc)" do
+  it "should generate target/project-version-scaladoc.jar" do
+    write 'src/main/scala/Foo.scala', 'class Foo'
+    define 'foo', :version=>'1.0' do
+      package(:scaladoc)
+    end
+
+    scaladoc = project('foo').package(:scaladoc)
+    scaladoc.should point_to_path('target/foo-1.0-scaladoc.jar')
 
+    lambda {
+      project('foo').task('package').invoke
+    }.should change { File.exist?('target/foo-1.0-scaladoc.jar') }.to(true)
+
+    scaladoc.should exist
+    scaladoc.should contain('index.html')
+    scaladoc.should contain('Foo.html')
+  end
 end
+