Module: DtcRake

Includes:
UI
Defined in:
lib/dtc_rake/ui.rb,
lib/dtc_rake/util.rb,
lib/dtc_rake/tasks.rb,
lib/dtc_rake/config.rb,
lib/dtc_rake/product.rb,
lib/dtc_rake/version.rb

Defined Under Namespace

Modules: Tasks, UI Classes: Config, Product

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Methods included from UI

announce, error, info, success, warning

Class Method Details

.check_jruby!Object

Checks if JRuby is being used. This check is important when building .war files - gems with native extensions (like json, bson) must be added to the output .war file for Java platform. Otherwise certain gems (e.g. uu_os_persistence) cannot be loaded when deployed on servlet container (Tomcat).



27
28
29
# File 'lib/dtc_rake/util.rb', line 27

def check_jruby!
  error(".war files must be built using JRuby!") unless RUBY_PLATFORM == "java"
end

.configure {|Config.instance| ... } ⇒ Object

Yields:



5
6
7
# File 'lib/dtc_rake/config.rb', line 5

def configure(&block)
  yield Config.instance
end

.mv_to_output_dir(src_dir, src_file) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/dtc_rake/util.rb', line 12

def mv_to_output_dir(src_dir, src_file)
  output_dir = DtcRake::Config.instance.output_dir
  FileUtils.mkpath output_dir
  src_file_path = File.join(src_dir, output_dir, src_file)
  dest_file = File.expand_path(File.join(".", output_dir, src_file))
  FileUtils.mv src_file_path, dest_file
  success "#{dest_file} created"
end

.upload_pack(attrs) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/dtc_rake/util.rb', line 32

def upload_pack(attrs)
  file = attrs[:file]
  artifact_uri = attrs[:appbox_uri] || DtcRake::Product.instance.appbox_uri
  attachment_code = attrs[:attachment_code]
  credentials = attrs[:credentials]

  abort "Specify login credentials" unless credentials
  UU::OS::Security::Session.(credentials)

  attch_uri = UU::OS::UESURIBuilder.parse_uesuri(artifact_uri).set_object_code(attachment_code).to_uesuri

  if UU::OS::Search.exists(attch_uri)
    File.open(file, "rb") do |f|
      UU::OS::Attachment.check_in(attch_uri, data: UU::OS::REST::BinaryValue.new(f))
    end
  else
    File.open(file, "rb") do |f|
      attch_uri = UU::OS::Attachment.create(artifact_uri, code: attachment_code,
          data: UU::OS::REST::BinaryValue.new(f)
      )
    end
  end

  attch_uri
end