fastlane 1.56.0 → 1.57.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4c20def76e6fe0472da7444245c73b8a5cbf79a
4
- data.tar.gz: 5c292c07a24f1ca865ee96ed0e5e0fb394da3709
3
+ metadata.gz: 6915ebe511946271b82ca544dc561dcebf771aa0
4
+ data.tar.gz: ae7fd9d61785da58b7d4386c7c0bb53c801918ec
5
5
  SHA512:
6
- metadata.gz: 3d662d8f4001d3b52190f7a9ab331c1d413d6c08b90ca1237efdbac6dcc656e70cc56dc0bb59a7781524ba7c02818624d134774c49abf98ebf141e44fd215438
7
- data.tar.gz: 01838abf66f15b89dbd049975a5632b9c14f7b3ec4024b61450e64a47d0e984fc0a31241d7bf34fc6aca7499e0a732bb7af01fdc987f1d4e5292ae317d8126ef
6
+ metadata.gz: 87efec434c9b094ed323fa09f391796f0a4066dbad0b774df1a2b22537e294a84cb01babcbee4fb86e73fb183ef1505727143c18b09d84a72b4ea0bf49817280
7
+ data.tar.gz: 79778563981d7b502ac7769bba74f682cd5a5fb855256e35c0ac182ba1b573055bf595455981fee4d9f02a201fda9fba49922fedcbad51ed9ffac0a1067567aa
@@ -1,9 +1,9 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <testsuites name="fastlane">
3
- <testsuite name="run">
2
+ <testsuites>
3
+ <testsuite name="fastlane.lanes">
4
4
  <% @steps.each_with_index do |step, index| %>
5
5
  <% name = [index, step[:name]].join(": ") %>
6
- <testcase name=<%= name.encode(:xml => :attr) %> time="<%= step[:time] %>">
6
+ <testcase classname="fastlane.lanes" name=<%= name.encode(:xml => :attr) %> time="<%= step[:time] %>">
7
7
  <% if step[:error] %>
8
8
  <failure message=<%= step[:error].encode(:xml => :attr).gsub("\n", "&#10;") %> />
9
9
  <% end %>
@@ -2,8 +2,16 @@ module Fastlane
2
2
  module Actions
3
3
  class BadgeAction < Action
4
4
  def self.run(params)
5
+ Actions.verify_gem!('badge')
5
6
  require 'badge'
6
- Badge::Runner.new.run('.', params[:dark], params[:custom], params[:no_badge], params[:shield], params[:alpha])
7
+ options = {
8
+ dark: params[:dark],
9
+ custom: params[:custom],
10
+ no_badge: params[:no_badge],
11
+ shield: params[:shield],
12
+ alpha: params[:alpha]
13
+ }
14
+ Badge::Runner.new.run('.', options)
7
15
  end
8
16
 
9
17
  #####################################################
@@ -9,7 +9,7 @@ module Fastlane
9
9
  if params[:between]
10
10
  from, to = params[:between]
11
11
  else
12
- from = Actions.last_git_tag_name(params[:match_lightweight_tag])
12
+ from = Actions.last_git_tag_name(params[:match_lightweight_tag], params[:tag_match_pattern])
13
13
  Helper.log.debug "Found the last Git tag: #{from}"
14
14
  to = 'HEAD'
15
15
  end
@@ -67,6 +67,10 @@ module Fastlane
67
67
  optional: true,
68
68
  default_value: '%B',
69
69
  is_string: true),
70
+ FastlaneCore::ConfigItem.new(key: :tag_match_pattern,
71
+ env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_TAG_MATCH_PATTERN',
72
+ description: 'A glob(7) pattern to match against when finding the last git tag',
73
+ optional: true),
70
74
  FastlaneCore::ConfigItem.new(key: :match_lightweight_tag,
71
75
  env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_MATCH_LIGHTWEIGHT_TAG',
72
76
  description: 'Whether or not to match a lightweight tag when searching for the last one',
@@ -0,0 +1,80 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ end
5
+ class InstallOnDeviceAction < Action
6
+ def self.run(params)
7
+ unless Helper.test?
8
+ raise "ios-deploy not installed, see https://github.com/phonegap/ios-deploy for instructions".red if `which ios-deploy`.length == 0
9
+ end
10
+ taxi_cmd = [
11
+ "ios-deploy",
12
+ params[:extra],
13
+ "--bundle",
14
+ params[:ipa]
15
+ ]
16
+ taxi_cmd << "--no-wifi" if params[:skip_wifi]
17
+ taxi_cmd << ["--id", params[:device_id]] if params[:device_id]
18
+ return taxi_cmd.join(" ") if Helper.test?
19
+ Actions.sh(taxi_cmd.join(" "))
20
+ Helper.log.info "Deployed #{params[:ipa]} to device!"
21
+ end
22
+
23
+ #####################################################
24
+ # @!group Documentation
25
+ #####################################################
26
+
27
+ def self.description
28
+ "Installs an .ipa file on a connected iOS-device via usb or wifi"
29
+ end
30
+
31
+ def self.available_options
32
+ [
33
+ FastlaneCore::ConfigItem.new(key: :extra,
34
+ short_option: "-X",
35
+ env_name: "FL_IOD_EXTRA",
36
+ description: "Extra Commandline arguments passed to ios-deploy",
37
+ optional: true,
38
+ is_string: true
39
+ ),
40
+ FastlaneCore::ConfigItem.new(key: :device_id,
41
+ short_option: "-d",
42
+ env_name: "FL_IOD_DEVICE_ID",
43
+ description: "id of the device / if not set defaults to first found device",
44
+ optional: true,
45
+ is_string: true
46
+ ),
47
+ FastlaneCore::ConfigItem.new(key: :skip_wifi,
48
+ short_option: "-w",
49
+ env_name: "FL_IOD_WIFI",
50
+ description: "Do not search for devices via WiFi",
51
+ optional: true,
52
+ is_string: false
53
+ ),
54
+ FastlaneCore::ConfigItem.new(key: :ipa,
55
+ short_option: "-i",
56
+ env_name: "FL_IOD_IPA",
57
+ description: "The IPA file to put on the device",
58
+ optional: true,
59
+ is_string: true,
60
+ default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] || Dir["*.ipa"].first,
61
+ verify_block: proc do |value|
62
+ unless Helper.test?
63
+ raise "Could not find ipa file at path '#{value}'" unless File.exist? value
64
+ raise "'#{value}' doesn't seem to be an ipa file" unless value.end_with? ".ipa"
65
+ end
66
+ end
67
+ )
68
+ ]
69
+ end
70
+
71
+ def self.authors
72
+ ["hjanuschka"]
73
+ end
74
+
75
+ def self.is_supported?(platform)
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
@@ -1,4 +1,3 @@
1
- # rubocop:disable Metrics/PerceivedComplexity
2
1
  # rubocop:disable Metrics/AbcSize
3
2
  require 'fastlane/erb_template_helper'
4
3
  require 'ostruct'
@@ -85,13 +84,15 @@ module Fastlane
85
84
  url_part = expand_path_with_substitutions_from_ipa_plist( ipa_file, s3_path )
86
85
  ipa_file_name = File.basename(ipa_file)
87
86
  ipa_url = "https://#{s3_subdomain}.amazonaws.com/#{s3_bucket}/#{url_part}#{ipa_file_name}"
88
- dsym_url = "https://#{s3_subdomain}.amazonaws.com/#{s3_bucket}/#{url_part}#{dsym_file}" if dsym_file
89
87
 
90
88
  # Setting action and environment variables
91
89
  Actions.lane_context[SharedValues::S3_IPA_OUTPUT_PATH] = ipa_url
92
90
  ENV[SharedValues::S3_IPA_OUTPUT_PATH.to_s] = ipa_url
93
91
 
94
92
  if dsym_file
93
+ dsym_file_name = File.basename(dsym_file)
94
+ dsym_url = "https://#{s3_subdomain}.amazonaws.com/#{s3_bucket}/#{url_part}#{dsym_file_name}"
95
+
95
96
  Actions.lane_context[SharedValues::S3_DSYM_OUTPUT_PATH] = dsym_url
96
97
  ENV[SharedValues::S3_DSYM_OUTPUT_PATH.to_s] = dsym_url
97
98
  end
@@ -353,5 +354,4 @@ module Fastlane
353
354
  end
354
355
  end
355
356
  end
356
- # rubocop:enable Metrics/PerceivedComplexity
357
357
  # rubocop:enable Metrics/AbcSize
@@ -5,6 +5,7 @@ module Fastlane
5
5
  require 'plist'
6
6
  require 'xcodeproj'
7
7
 
8
+ info_plist_key = 'INFOPLIST_FILE'
8
9
  identifier_key = 'PRODUCT_BUNDLE_IDENTIFIER'
9
10
 
10
11
  # Read existing plist file
@@ -22,6 +23,11 @@ module Fastlane
22
23
  configs = project.objects.select { |obj| obj.isa == 'XCBuildConfiguration' && !obj.build_settings[identifier_key].nil? }
23
24
  raise "Info plist uses $(#{identifier_key}), but xcodeproj does not".red unless configs.count > 0
24
25
 
26
+ unless Helper.test?
27
+ configs = configs.select { |obj| obj.build_settings[info_plist_key] == params[:plist_path] }
28
+ raise "Xcodeproj doesn't have configuration with info plist #{params[:plist_path]}.".red unless configs.count > 0
29
+ end
30
+
25
31
  # For each of the build configurations, set app identifier
26
32
  configs.each do |c|
27
33
  c.build_settings[identifier_key] = params[:app_identifier]
@@ -12,10 +12,12 @@ module Fastlane
12
12
  nil
13
13
  end
14
14
 
15
- def self.last_git_tag_name(match_lightweight = true)
15
+ def self.last_git_tag_name(match_lightweight = true, tag_match_pattern = nil)
16
+ tag_pattern_param = tag_match_pattern ? "=#{tag_match_pattern.shellescape}" : ''
17
+
16
18
  command = ['git describe']
17
19
  command << '--tags' if match_lightweight
18
- command << '`git rev-list --tags --max-count=1`'
20
+ command << "`git rev-list --tags#{tag_pattern_param} --max-count=1`"
19
21
  Actions.sh(command.join(' '), log: false).chomp
20
22
  rescue
21
23
  nil
@@ -35,8 +35,12 @@ module Fastlane
35
35
 
36
36
  if exit_status != 0
37
37
  # this will also append the output to the exception
38
- message = "Exit status of command '#{command}' was #{exit_status} instead of 0."
39
- message += "\n#{result}" if log
38
+ if log
39
+ message = "Exit status of command '#{command}' was #{exit_status} instead of 0."
40
+ message += "\n#{result}"
41
+ else
42
+ message = "Shell command exited with exit status #{exit_status} instead of 0."
43
+ end
40
44
  UI.crash!(message)
41
45
  end
42
46
  end
@@ -3,6 +3,7 @@ module Fastlane
3
3
  def self.generate(results)
4
4
  # JUnit file documentation: http://llg.cubic.org/docs/junit/
5
5
  # And http://nelsonwells.net/2012/09/how-jenkins-ci-parses-and-displays-junit-output/
6
+ # And http://windyroad.com.au/dl/Open%20Source/JUnit.xsd
6
7
 
7
8
  containing_folder = ENV['FL_REPORT_PATH'] || Fastlane::FastlaneFolder.path || Dir.pwd
8
9
  path = File.join(containing_folder, 'report.xml')
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.56.0'
2
+ VERSION = '1.57.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.56.0
4
+ version: 1.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-01 00:00:00.000000000 Z
11
+ date: 2016-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: krausefx-shenzhen
@@ -294,7 +294,7 @@ dependencies:
294
294
  requirements:
295
295
  - - ">="
296
296
  - !ruby/object:Gem::Version
297
- version: 1.3.0
297
+ version: 1.3.1
298
298
  - - "<"
299
299
  - !ruby/object:Gem::Version
300
300
  version: 2.0.0
@@ -304,7 +304,7 @@ dependencies:
304
304
  requirements:
305
305
  - - ">="
306
306
  - !ruby/object:Gem::Version
307
- version: 1.3.0
307
+ version: 1.3.1
308
308
  - - "<"
309
309
  - !ruby/object:Gem::Version
310
310
  version: 2.0.0
@@ -658,6 +658,7 @@ files:
658
658
  - lib/fastlane/actions/import_from_git.rb
659
659
  - lib/fastlane/actions/increment_build_number.rb
660
660
  - lib/fastlane/actions/increment_version_number.rb
661
+ - lib/fastlane/actions/install_on_device.rb
661
662
  - lib/fastlane/actions/install_xcode_plugin.rb
662
663
  - lib/fastlane/actions/installr.rb
663
664
  - lib/fastlane/actions/ipa.rb