module Buildr::GWT

Public Class Methods

dependencies(version = nil) click to toggle source

The specs for requirements

# File addon/buildr/gwt.rb, line 29
def dependencies(version = nil)
  validation_deps =
    %w(javax.validation:validation-api:jar:1.0.0.GA javax.validation:validation-api:jar:sources:1.0.0.GA)
  v = version || self.version
  gwt_dev_jar = "com.google.gwt:gwt-dev:jar:#{v}"
  if v <= '2.6.1'
    [gwt_dev_jar] + validation_deps
  elsif v == '2.7.0'
    [
      gwt_dev_jar,
      'org.ow2.asm:asm:jar:5.0.3'
    ] + validation_deps
  elsif v == '2.8.0'
    %w(
        com.google.jsinterop:jsinterop-annotations:jar:1.0.1
        com.google.jsinterop:jsinterop-annotations:jar:sources:1.0.1
        org.w3c.css:sac:jar:1.3
        com.google.gwt:gwt-dev:jar:2.8.0
        com.google.gwt:gwt-user:jar:2.8.0
        com.google.code.gson:gson:jar:2.6.2
        org.ow2.asm:asm:jar:5.0.3
        org.ow2.asm:asm-util:jar:5.0.3
        org.ow2.asm:asm-tree:jar:5.0.3
        org.ow2.asm:asm-commons:jar:5.0.3
        colt:colt:jar:1.2.0
        ant:ant:jar:1.6.5
        commons-collections:commons-collections:jar:3.2.2
        commons-io:commons-io:jar:2.4
        com.ibm.icu:icu4j:jar:50.1.1
        tapestry:tapestry:jar:4.0.2

        javax.annotation:javax.annotation-api:jar:1.2
        javax.servlet:javax.servlet-api:jar:3.1.0
        org.eclipse.jetty:jetty-annotations:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-continuation:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-plus:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-security:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlet:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlets:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-xml:jar:9.2.14.v20151106
        org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0
    ) + validation_deps
  elsif v == '2.8.1'
    %w(
        com.google.jsinterop:jsinterop-annotations:jar:1.0.1
        com.google.jsinterop:jsinterop-annotations:jar:sources:1.0.1
        org.w3c.css:sac:jar:1.3
        com.google.gwt:gwt-dev:jar:2.8.1
        com.google.gwt:gwt-user:jar:2.8.1
        com.google.code.gson:gson:jar:2.6.2
        org.ow2.asm:asm:jar:5.0.3
        org.ow2.asm:asm-util:jar:5.0.3
        org.ow2.asm:asm-tree:jar:5.0.3
        org.ow2.asm:asm-commons:jar:5.0.3
        colt:colt:jar:1.2.0
        ant:ant:jar:1.6.5
        commons-collections:commons-collections:jar:3.2.2
        commons-io:commons-io:jar:2.4
        com.ibm.icu:icu4j:jar:50.1.1
        tapestry:tapestry:jar:4.0.2

        javax.annotation:javax.annotation-api:jar:1.2
        javax.servlet:javax.servlet-api:jar:3.1.0
        org.eclipse.jetty:jetty-annotations:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-continuation:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-plus:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-security:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlet:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlets:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-xml:jar:9.2.14.v20151106
        org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0
    ) + validation_deps
  elsif v == '2.8.2'
    %w(
        com.google.jsinterop:jsinterop-annotations:jar:1.0.2
        com.google.jsinterop:jsinterop-annotations:jar:sources:1.0.2
        org.w3c.css:sac:jar:1.3
        com.google.gwt:gwt-dev:jar:2.8.2
        com.google.gwt:gwt-user:jar:2.8.2
        com.google.code.gson:gson:jar:2.6.2
        org.ow2.asm:asm:jar:5.0.3
        org.ow2.asm:asm-util:jar:5.0.3
        org.ow2.asm:asm-tree:jar:5.0.3
        org.ow2.asm:asm-commons:jar:5.0.3
        colt:colt:jar:1.2.0
        ant:ant:jar:1.6.5
        commons-collections:commons-collections:jar:3.2.2
        commons-io:commons-io:jar:2.4
        com.ibm.icu:icu4j:jar:50.1.1
        tapestry:tapestry:jar:4.0.2

        javax.annotation:javax.annotation-api:jar:1.2
        javax.servlet:javax.servlet-api:jar:3.1.0
        org.eclipse.jetty:jetty-annotations:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-continuation:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-plus:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-security:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlet:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-servlets:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106
        org.eclipse.jetty:jetty-xml:jar:9.2.14.v20151106
        org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0
    ) + validation_deps
  else
    raise "Unknown GWT version #{v}"
  end
end
gwt_css2gss(filenames, options = {}) click to toggle source
# File addon/buildr/gwt.rb, line 228
def gwt_css2gss(filenames, options = {})
  cp = Buildr.artifacts(self.dependencies(options[:version])).each(&:invoke).map(&:to_s)
  properties = options[:properties] ? options[:properties].dup : {}
  java_args = options[:java_args] ? options[:java_args].dup : {}
  Java::Commands.java 'com.google.gwt.resources.converter.Css2Gss', *([filenames] + [{ :classpath => cp, :properties => properties, :java_args => java_args, :pathing_jar => false }])
end
gwt_superdev(module_name, source_artifacts, work_dir, options = {}) click to toggle source
# File addon/buildr/gwt.rb, line 209
def gwt_superdev(module_name, source_artifacts, work_dir, options = {})

  cp = Buildr.artifacts(self.superdev_dependencies(options[:version])).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, :pathing_jar => false}])
end
gwtc_main(modules, source_artifacts, output_dir, unit_cache_dir, options = {}) click to toggle source
# File addon/buildr/gwt.rb, line 154
def gwtc_main(modules, source_artifacts, output_dir, unit_cache_dir, options = {})
  base_dependencies = self.dependencies(options[:version])
  cp = Buildr.artifacts(base_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'
  unless style == 'OBFUSCATED'
    args << '-style'
    args << style
  end
  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[:gwtc_args]
    args += options[:gwtc_args]
  end

  if options[:enable_closure_compiler] && options[:version] == '2.7.0'
    args << '-XenableClosureCompiler'
  end

  if options[:js_exports]
    args << '-generateJsInteropExports'
  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], :pathing_jar => false}])
end
superdev_dependencies(version = nil) click to toggle source
# File addon/buildr/gwt.rb, line 205
def superdev_dependencies(version = nil)
  self.dependencies + ["com.google.gwt:gwt-codeserver:jar:#{version || self.version}"]
end
version() click to toggle source
# File addon/buildr/gwt.rb, line 24
def version
  @version || Buildr.settings.build['gwt'] || '2.8.2'
end
version=(version) click to toggle source
# File addon/buildr/gwt.rb, line 20
def version=(version)
  @version = version
end