module FIR::BuildApk
Public Instance Methods
build_apk(*args, options)
click to toggle source
# File lib/fir/util/build_apk.rb, line 6 def build_apk(*args, options) initialize_build_common_options(args, options) set_flavor(options) Dir.chdir(@build_dir) @build_cmd = initialize_apk_build_cmd logger_info_and_run_build_command output_apk publish_build_app(options) if options.publish? logger_info_blank_line end
Private Instance Methods
check_build_gradle_exist()
click to toggle source
# File lib/fir/util/build_apk.rb, line 69 def check_build_gradle_exist return if File.exist?("#{@build_dir}/build.gradle") logger.error "The build.gradle isn't exit, please use gradle and edit" exit 1 end
check_no_output_apk()
click to toggle source
# File lib/fir/util/build_apk.rb, line 62 def check_no_output_apk unless @builded_apk logger.error 'Builded has no output apk' exit 1 end end
gradle_build_path()
click to toggle source
# File lib/fir/util/build_apk.rb, line 40 def gradle_build_path "#{@build_dir}/build/outputs/apk" end
initialize_apk_build_cmd()
click to toggle source
# File lib/fir/util/build_apk.rb, line 32 def initialize_apk_build_cmd check_build_gradle_exist cmd = "./gradlew build" cmd = "./gradlew #{@flavor}" unless @flavor.blank? cmd end
output_apk()
click to toggle source
# File lib/fir/util/build_apk.rb, line 48 def output_apk @builded_apk ||= Dir["#{gradle_build_path}/*.apk"].find { |i| i =~ /release/ } @builded_apk ||= Dir["#{prefix_gradle_build_path}/*.apk"].find { |i| i =~ /release/ } @builded_apk ||= Dir["#{@build_dir}/*.apk"].find { |i| i =~ /release/ } check_no_output_apk apk_info = FIR.apk_info(@builded_apk) @apk_name = @name.blank? ? "#{apk_info[:name]}-#{apk_info[:version]}-Build-#{apk_info[:build]}" : @name @builded_app_path = "#{@output_path}/#{@apk_name}.apk" FileUtils.cp(@builded_apk, @builded_app_path) end
prefix_gradle_build_path()
click to toggle source
# File lib/fir/util/build_apk.rb, line 44 def prefix_gradle_build_path "#{@build_dir}/app/build/outputs/apk" end
set_flavor(options)
click to toggle source
# File lib/fir/util/build_apk.rb, line 23 def set_flavor(options) unless options.flavor.blank? @flavor = options.flavor unless @flavor =~ /^assemble(.+)/ @flavor = "assemble#{@flavor}Release" end end end