module Buildr::GWT::ProjectExtension
Public Instance Methods
gwt(module_names, options = {})
click to toggle source
# File addon/buildr/gwt.rb, line 247 def gwt(module_names, options = {}) p = options[:target_project] target_project = p.nil? ? project : p.is_a?(String) ? project(p) : p output_key = options[:output_key] || project.id output_dir = project._(:target, :generated, :gwt, output_key) artifacts = ([project.compile.target] + project.compile.sources + project.resources.sources).flatten.compact.collect do |a| a.is_a?(String) ? file(a) : a end dependencies = options[:dependencies] ? artifacts(options[:dependencies]) : (project.compile.dependencies + [project.compile.target]).flatten.compact.collect do |dep| dep.is_a?(String) ? file(dep) : dep end unit_cache_dir = project._(:target, :gwt, :unit_cache_dir, output_key) version = gwt_detect_version(dependencies) || Buildr::GWT.version additional_gwt_deps = [] existing_deps = project.compile.dependencies.collect do |d| a = artifact(d) a.invoke if a.is_a?(Buildr::Artifact) a.to_s end Buildr::GWT.dependencies(version).each do |d| a = artifact(d) a.invoke if a.respond_to?(:invoke) unless options[:skip_merge_gwt_dependencies] project.iml.main_dependencies << a unless !project.iml? || existing_deps.include?(a.to_s) project.compile.dependencies << a unless existing_deps.include?(a.to_s) end additional_gwt_deps << a end task = project.file(output_dir) do Buildr::GWT.gwtc_main(module_names, (dependencies + artifacts + additional_gwt_deps).flatten.compact, output_dir, unit_cache_dir, {:version => version}.merge(options)) end task.enhance(dependencies) task.enhance([project.compile]) target_project.assets.paths << task task end
gwt_superdev_runner(module_name, options = {})
click to toggle source
# File addon/buildr/gwt.rb, line 292 def gwt_superdev_runner(module_name, options = {}) dependencies = [] if options[:dependencies] dependencies = artifacts(options[:dependencies]) else sources = [] + project.compile.sources + project.resources.sources classes = [] + project.compile.dependencies + [project.compile.target] dependencies = (classes + sources).collect do |dep| dep.is_a?(String) ? file(dep) : dep end end 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, {:version => gwt_detect_version(dependencies)}.merge(options)) end end
Protected Instance Methods
gwt_detect_version(dependencies)
click to toggle source
# File addon/buildr/gwt.rb, line 318 def gwt_detect_version(dependencies) version = nil dependencies.each do |dep| if dep.respond_to?(:to_spec_hash) hash = dep.to_spec_hash if 'com.google.gwt' == hash[:group] && 'gwt-user' == hash[:id] && :jar == hash[:type] version = hash[:version] end end end version end