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 =
"1.2.1"
Class Method Summary collapse
-
.check_bundler! ⇒ Object
Checks Bundler version.
-
.check_jruby! ⇒ Object
Checks if JRuby is being used.
- .configure {|config| ... } ⇒ Object
- .mv_to_output_dir(src_dir, src_file) ⇒ Object
- .upload_pack(attrs) ⇒ Object
Methods included from UI
announce, colorize?, error, info, success, warning
Class Method Details
.check_bundler! ⇒ Object
Checks Bundler version. Bundler 1.16 is not supported by Warbler 1.4. But since uuCloudg01C3, uuCloudg01OperationRegistry and uuLogStoreg01 are implemented according tu uuApps 2.1 standard, they need to depend on Warbler 1.4. Therefore Bundler version needs to be lower than 1.16.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/dtc_rake/util.rb', line 40 def check_bundler! string = `bundler -v` if string =~ /\d+\.\d+.\d+/ version = string.match(/\d+\.\d+.\d+/).to_s version_parts = version.split('.') if version_parts[1].to_i > 15 error("Unable to build war files with bundler #{version}.\nBundler version must be lower than 1.16.x.") end else warning( "Unknown version of bundler.\n" \ "Your bundler is not working correctly or dtc_rake isn't able to check version on your platform.\n" \ "`bundler -v` returned: #{string}" ) end end |
.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).
28 29 30 |
# File 'lib/dtc_rake/util.rb', line 28 def check_jruby! error(".war files must be built using JRuby!") unless RUBY_PLATFORM == "java" end |
.configure {|config| ... } ⇒ Object
5 6 7 8 9 |
# File 'lib/dtc_rake/config.rb', line 5 def configure(&block) config = Config.instance yield config config.validate! end |
.mv_to_output_dir(src_dir, src_file) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/dtc_rake/util.rb', line 12 def mv_to_output_dir(src_dir, src_file) output_dir = DtcRake::Config.instance.output_dir output_dir_name = File.basename(output_dir) # get just the last path element (e.g. "target") FileUtils.mkpath output_dir src_file_path = File.join(src_dir, output_dir_name, src_file) dest_file = File.join(output_dir, src_file) FileUtils.mv src_file_path, dest_file success "#{dest_file} created" end |
.upload_pack(attrs) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/dtc_rake/util.rb', line 58 def upload_pack(attrs) file = attrs[:file] artifact_uri = attrs[:appbox_uri] || DtcRake::Product.instance.appbox_uri = attrs[:attachment_code] credentials = attrs[:credentials] abort "Specify login credentials" unless credentials UU::OS::Security::Session.login(credentials) attch_uri = UU::OS::UESURIBuilder.parse_uesuri(artifact_uri).set_object_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: , data: UU::OS::REST::BinaryValue.new(f) ) end end attch_uri end |