Author: donaldp
Date: Thu Apr 18 00:05:13 2013
New Revision: 1469110

URL: http://svn.apache.org/r1469110
Log:
Added support for SuperDevMode in gwt addon and upgraded to GWT 2.5.1 by 
default.

Modified:
    buildr/trunk/CHANGELOG
    buildr/trunk/addon/buildr/gwt.rb

Modified: buildr/trunk/CHANGELOG
URL: 
http://svn.apache.org/viewvc/buildr/trunk/CHANGELOG?rev=1469110&r1=1469109&r2=1469110&view=diff
==============================================================================
--- buildr/trunk/CHANGELOG (original)
+++ buildr/trunk/CHANGELOG Thu Apr 18 00:05:13 2013
@@ -1,4 +1,6 @@
 1.4.12 (Pending)
+* Added:  Added support for SuperDevMode in gwt addon and upgraded to
+          GWT 2.5.1 by default.
 * Change: BUILDR-664 Update Checkstyle addon so that extra_dependencies is
           empty by default.
 * Fixed:  BUILDR-663 require 'buildr' fails for Ruby 2.0.0.

Modified: buildr/trunk/addon/buildr/gwt.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/addon/buildr/gwt.rb?rev=1469110&r1=1469109&r2=1469110&view=diff
==============================================================================
--- buildr/trunk/addon/buildr/gwt.rb (original)
+++ buildr/trunk/addon/buildr/gwt.rb Thu Apr 18 00:05:13 2013
@@ -1,82 +1,127 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with this
-# work for additional information regarding copyright ownership.  The ASF
-# licenses this file to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-# License for the specific language governing permissions and limitations under
-# the License.
-
-module Buildr
-  module GWT
-
-    class << self
-      # The specs for requirements
-      def dependencies
-        ['com.google.gwt:gwt-dev:jar:2.4.0']
-      end
-
-      def gwtc_main(modules, source_artifacts, output_dir, options = {})
-        cp = Buildr.artifacts(self.dependencies).each(&:invoke).map(&:to_s) + 
Buildr.artifacts(source_artifacts).each(&:invoke).map(&:to_s)
-        style = options[:style] || "OBFUSCATED," # "PRETTY", "DETAILED"
-        log_level = options[:log_level] #  ERROR, WARN, INFO, TRACE, DEBUG, 
SPAM, or ALL
-        workers = options[:workers] || 2
-
-        args = []
-        if log_level
-          args << "-logLevel"
-          args << log_level
-        end
-        args << "-strict"
-        args << "-style"
-        args << style
-        args << "-localWorkers"
-        args << workers
-        args << "-war"
-        args << output_dir
-        if options[:compile_report_dir]
-          args << "-compileReport"
-          args << "-extra"
-          args << options[:compile_report_dir]
-        end
-
-        if options[:draft_compile]
-          args << "-draftCompile"
-        end
-
-        args += modules
-
-        Java::Commands.java 'com.google.gwt.dev.Compiler', *(args + 
[{:classpath => cp, :properties => options[:properties], :java_args => 
options[:java_args]}])
-      end
-    end
-
-    module ProjectExtension
-      include Extension
-
-      def gwt(module_names, options = {})
-        output_key = options[:output_key] || project.id
-        output_dir = project._(:target, :generated, :gwt, output_key)
-        artifacts = (project.compile.sources + 
project.resources.sources).collect do |a|
-          a.is_a?(String) ? file(a) : a
-        end
-        dependencies = artifacts(options[:dependencies]) || 
project.compile.dependencies
-        task = file(output_dir) do
-          Buildr::GWT.gwtc_main(module_names, dependencies + artifacts, 
output_dir, options.dup)
-        end
-        task.enhance(dependencies)
-        task.enhance([project.compile])
-        task
-      end
-    end
-  end
-end
-
-class Buildr::Project
-  include Buildr::GWT::ProjectExtension
-end
\ No newline at end of file
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with this
+# work for additional information regarding copyright ownership.  The ASF
+# licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+module Buildr
+  module GWT
+
+    class << self
+      # The specs for requirements
+      def dependencies
+        %w(com.google.gwt:gwt-dev:jar:2.5.1)
+      end
+
+      def gwtc_main(modules, source_artifacts, output_dir, unit_cache_dir, 
options = {})
+        cp = Buildr.artifacts(self.dependencies).each(&:invoke).map(&:to_s) + 
Buildr.artifacts(source_artifacts).each(&:invoke).map(&:to_s)
+        style = options[:style] || "OBFUSCATED," # "PRETTY", "DETAILED"
+        log_level = options[:log_level] #  ERROR, WARN, INFO, TRACE, DEBUG, 
SPAM, or ALL
+        workers = options[:workers] || 2
+
+        args = []
+        if log_level
+          args << "-logLevel"
+          args << log_level
+        end
+        args << "-strict"
+        args << "-style"
+        args << style
+        args << "-localWorkers"
+        args << workers
+        args << "-war"
+        args << output_dir
+        if options[:compile_report_dir]
+          args << "-compileReport"
+          args << "-extra"
+          args << options[:compile_report_dir]
+        end
+
+        if options[:draft_compile]
+          args << "-draftCompile"
+        end
+
+        if options[:enable_closure_compiler].nil? || 
options[:enable_closure_compiler]
+          args << "-XenableClosureCompiler"
+        end
+
+        args += modules
+
+        properties = options[:properties] ? options[:properties].dup : {}
+        properties["gwt.persistentunitcache"] = "true"
+        properties["gwt.persistentunitcachedir"] = unit_cache_dir
+
+        Java::Commands.java 'com.google.gwt.dev.Compiler', *(args + 
[{:classpath => cp, :properties => properties, :java_args => 
options[:java_args]}])
+      end
+
+      def superdev_dependencies
+        self.dependencies + %w(com.google.gwt:gwt-codeserver:jar:2.5.1)
+      end
+
+      def gwt_superdev(module_name, source_artifacts, work_dir, options = {})
+
+        cp = 
Buildr.artifacts(self.superdev_dependencies).each(&:invoke).map(&:to_s) + 
Buildr.artifacts(source_artifacts).each(&:invoke).map(&:to_s)
+
+        args = []
+        args << "-port" << (options[:port] || 5050)
+        args << "-workDir" << work_dir
+        (options[:src] || []).each do |src|
+          args << "-src" << src
+        end
+        args << module_name
+
+        properties = options[:properties] ? options[:properties].dup : {}
+
+        java_args = options[:java_args] ? options[:java_args].dup : {}
+
+        Java::Commands.java 'com.google.gwt.dev.codeserver.CodeServer', *(args 
+ [{:classpath => cp, :properties => properties, :java_args => java_args}])
+      end
+    end
+
+    module ProjectExtension
+      include Extension
+
+      def gwt(module_names, options = {})
+        output_key = options[:output_key] || project.id
+        output_dir = project._(:target, :generated, :gwt, output_key)
+        artifacts = (project.compile.sources + 
project.resources.sources).collect do |a|
+          a.is_a?(String) ? file(a) : a
+        end
+        dependencies = artifacts(options[:dependencies]) || 
project.compile.dependencies
+
+        unit_cache_dir = project._(:target, :gwt, :unit_cache_dir, output_key)
+
+        task = file(output_dir) do
+          Buildr::GWT.gwtc_main(module_names, dependencies + artifacts, 
output_dir, unit_cache_dir, options.dup)
+        end
+        task.enhance(dependencies)
+        task.enhance([project.compile])
+        task
+      end
+
+      def gwt_superdev_runner(module_name, options = {})
+        dependencies = artifacts(options[:dependencies]) || 
project.compile.dependencies
+
+        desc "Run Superdev mode"
+        project.task("superdev") do
+          work_dir = project._(:target, :gwt, :superdev)
+          mkdir_p work_dir
+          Buildr::GWT.gwt_superdev(module_name, dependencies, work_dir, 
options)
+        end
+      end
+    end
+  end
+end
+
+class Buildr::Project
+  include Buildr::GWT::ProjectExtension
+end


Reply via email to