Class: Fastlane::Actions::IncrementBuildNumberAction
- Inherits:
-
Fastlane::Action
- Object
- Fastlane::Action
- Fastlane::Actions::IncrementBuildNumberAction
- Defined in:
- lib/fastlane/actions/increment_build_number.rb
Class Method Summary collapse
- .author ⇒ Object
- .available_options ⇒ Object
- .description ⇒ Object
- .is_supported?(platform) ⇒ Boolean
- .output ⇒ Object
- .run(params) ⇒ Object
Methods inherited from Fastlane::Action
Class Method Details
.author ⇒ Object
79 80 81 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 79 def self. "KrauseFx" end |
.available_options ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 55 def self. [ FastlaneCore::ConfigItem.new(key: :build_number, env_name: "FL_BUILD_NUMBER_BUILD_NUMBER", description: "Change to a specific version", optional: true, is_string: false), FastlaneCore::ConfigItem.new(key: :xcodeproj, env_name: "FL_BUILD_NUMBER_PROJECT", description: "optional, you must specify the path to your main Xcode project if it is not in the project root directory", optional: true, verify_block: Proc.new do |value| raise "Please pass the path to the project, not the workspace".red if value.include?"workspace" raise "Could not find Xcode project".red if (not File.exists?(value) and not Helper.is_test?) end) ] end |
.description ⇒ Object
51 52 53 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 51 def self.description "Increment the build number of your project" end |
.is_supported?(platform) ⇒ Boolean
10 11 12 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 10 def self.is_supported?(platform) platform == :ios end |
.output ⇒ Object
73 74 75 76 77 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 73 def self.output [ ['BUILD_NUMBER', 'The new build number'] ] end |
.run(params) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/fastlane/actions/increment_build_number.rb', line 14 def self.run(params) # More information about how to set up your project and how it works: # https://developer.apple.com/library/ios/qa/qa1827/_index.html # Attention: This is NOT the version number - but the build number begin folder = params[:xcodeproj] ? File.join('.', params[:xcodeproj], '..') : '.' command_prefix = [ 'cd', File.(folder).shellescape, '&&' ].join(' ') command = [ command_prefix, 'agvtool', params[:build_number] ? "new-version -all #{params[:build_number]}" : 'next-version -all' ].join(' ') if Helper.test? Actions.lane_context[SharedValues::BUILD_NUMBER] = command else Actions.sh command # Store the new number in the shared hash build_number = `#{command_prefix} agvtool what-version`.split("\n").last.to_i Actions.lane_context[SharedValues::BUILD_NUMBER] = build_number end rescue => ex Helper.log.error 'Make sure to to follow the steps to setup your Xcode project: https://developer.apple.com/library/ios/qa/qa1827/_index.html'.yellow raise ex end end |