fastlane-plugin-apadmi_grout 1.0.0 → 1.1.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
  SHA256:
3
- metadata.gz: 1a9fa2dc6dc2a72cf93887b268e8b4b70e1dc46448ae6c176deff32bc6e4638c
4
- data.tar.gz: 8ac1bfa13931a3a16e84b0f26ed2d1608601e6c0f889a902877f2b549cfd9abe
3
+ metadata.gz: e09c118b4ee869170d2846d836cf0f7e1193619e41bbd92771fc187f0e1c5eb2
4
+ data.tar.gz: d0f1ae6d8c4210f74795363f9662e94cf14fe101835aeed85c527c3723f5640b
5
5
  SHA512:
6
- metadata.gz: c2b0c484165f980e30782d00658721585a8230032e14f1b47a69a2c0ab2804a00ce2f65e0053e47dd4b668f63730ccf57bf00491159230c55657f6e5b8f8c7f0
7
- data.tar.gz: '0537160518d0f2b27c0fe3552fe363a7956bd6fcc6943f1ca87ada8ae98e94f92baefe3e9025237f933a87cb869692340ae13e7aa71714c521c9331c3ce590ab'
6
+ metadata.gz: c52883e0ff3547408b61893df958bb7f152c59a4c609e8af5ce0828290b3d662140e3b3ed8342c4475002d111a6a06976de60cf673986341c24d52aa38b05a98
7
+ data.tar.gz: db570ea6fb066f893248bea522a932d03e1792a1d817635e1c910ebf6b8c06b21aa4fb9648b4328f3d1e57235351a63497046cb1a56ede6a946e7b21a434c3f8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Fastlane Plugin Changelog
2
2
 
3
- ## [Unreleased]
3
+ ## [1.1.0] - 2022-05-12
4
+ * Support allowing tickets that aren't assigned to a sprint to be moved.
5
+ * Create action for obtaining iOS deployment target
4
6
 
5
7
  ## [1.0.0] - 2022-05-09 - Initial release
6
8
 
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fastlane/action"
4
+ require "apadmi_grout"
5
+ require "gym"
6
+ require_relative "../utils/fastlane_logger"
7
+
8
+ # WARNING: Since this is calling out to Gym, this isn't covered at all by tests
9
+ # Be very very careful before making any changes.
10
+ module Fastlane
11
+ module Actions
12
+ # Build an IPA binary
13
+ class BuildIpaAction < Action
14
+ def self.run(params)
15
+ logger = FastLane::FastlaneLogger.new
16
+
17
+ output_name = params[:output_name] || Apadmi::Grout::FilenameUtils.binary_output_filename(
18
+ client_name: params[:client_name],
19
+ product_name: params[:product_name],
20
+ platform: "iOS",
21
+ version: params[:version],
22
+ build_number: params[:build_number],
23
+ suffix: params[:suffix]
24
+ )
25
+
26
+ logger.message("Generating IPA: #{output_name}.ipa")
27
+ new_params = params
28
+ new_params[:output_name] = output_name
29
+
30
+ # Output dir being "." is the gym default, so overwrite this
31
+ if params[:output_directory].empty? || params[:output_directory] == "."
32
+ new_params[:output_directory] = ENV["BITRISE_DEPLOY_DIR"] || "#{Apadmi::Grout::GitUtils.git_root}/build"
33
+ end
34
+
35
+ result = Fastlane::Actions::GymAction.run(new_params)
36
+
37
+ logger.success("Generated #{output_name}.ipa in #{result}")
38
+ result
39
+ end
40
+
41
+ def self.description
42
+ "Builds an IPA"
43
+ end
44
+
45
+ def self.authors
46
+ ["samdc@apadmi.com"]
47
+ end
48
+
49
+ def self.available_options
50
+ [
51
+ FastlaneCore::ConfigItem.new(key: :client_name,
52
+ description: "The name of the ipa's client",
53
+ env_name: "CLIENT_NAME",
54
+ type: String,
55
+ verify_block: proc do |value|
56
+ UI.user_error!("Didn't pass a valid client name") unless value
57
+ end,
58
+ optional: false),
59
+ FastlaneCore::ConfigItem.new(key: :product_name,
60
+ description: "The name of the product",
61
+ env_name: "PRODUCT_NAME",
62
+ type: String,
63
+ verify_block: proc do |value|
64
+ UI.user_error!("Didn't pass a valid product name") unless value
65
+ end,
66
+ optional: false),
67
+ FastlaneCore::ConfigItem.new(key: :version,
68
+ description: "The app version e.g. 0.1.0",
69
+ type: String,
70
+ verify_block: proc do |value|
71
+ UI.user_error!("Didn't pass a valid version name") unless value
72
+ end,
73
+ optional: false),
74
+ FastlaneCore::ConfigItem.new(key: :build_number,
75
+ description: "The app build number e.g. 3948",
76
+ default_value: Apadmi::Grout::GitUtils.number_of_commits,
77
+ type: String,
78
+ verify_block: proc do |value|
79
+ UI.user_error!("Didn't pass a valid build number") unless value
80
+ end,
81
+ optional: false),
82
+ FastlaneCore::ConfigItem.new(key: :suffix,
83
+ description: "Suffix to identify what this output is (e.g. SOURCE, UAT, QA, DEV)",
84
+ type: String,
85
+ default_value: "",
86
+ verify_block: proc do |value|
87
+ UI.user_error!("Didn't pass a valid suffix") unless value
88
+ end,
89
+ optional: false)
90
+ ] + Gym::Options.available_options
91
+ end
92
+
93
+ def self.is_supported?(platform)
94
+ platform == :ios
95
+ end
96
+ end
97
+ end
98
+ end
@@ -24,7 +24,9 @@ module Fastlane
24
24
  build_tools.find_tickets_to_move_action.run(
25
25
  params[:jira_component_name],
26
26
  params[:jira_status_from],
27
- []
27
+ [],
28
+ params[:custom_flag_messages],
29
+ params[:options]
28
30
  )
29
31
  end
30
32
 
@@ -94,7 +96,17 @@ module Fastlane
94
96
  verify_block: proc do |value|
95
97
  UI.user_error!("Didn't pass a valid JIRA status") unless value
96
98
  end,
97
- optional: false)
99
+ optional: false),
100
+ FastlaneCore::ConfigItem.new(key: :custom_flag_messages,
101
+ description: "Custom messages to use when flagging tickets",
102
+ type: Apadmi::Grout::FlagMessages,
103
+ default_value: nil,
104
+ optional: true),
105
+ FastlaneCore::ConfigItem.new(key: :options,
106
+ description: "Additional options to customize search",
107
+ type: Apadmi::Grout::FindTicketsOptions,
108
+ default_value: nil,
109
+ optional: true)
98
110
  ]
99
111
  end
100
112
 
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fastlane/action"
4
+ require "apadmi_grout"
5
+ require_relative "../utils/fastlane_logger"
6
+
7
+ # WARNING: Since this is calling out to Gym, this isn't covered at all by tests
8
+ # Be very very careful before making any changes.
9
+ module Fastlane
10
+ module Actions
11
+ # Build an IPA binary
12
+ class GetDeploymentTargetAction < Action
13
+ def self.run(params)
14
+ logger = FastLane::FastlaneLogger.new
15
+
16
+ configuration = params[:configuration]
17
+ project = Fastlane::Actions::GetVersionNumberAction.get_project!(
18
+ params[:xcodeproj_path_or_dir]
19
+ )
20
+
21
+ logger.message("Searching for target #{params[:target]} in #{params[:xcodeproj_path_or_dir]}")
22
+ target = Fastlane::Actions::GetVersionNumberAction.get_target!(
23
+ project,
24
+ params[:target]
25
+ )
26
+
27
+ target.build_configurations.each do |config|
28
+ next unless configuration.nil? || config.name == configuration
29
+
30
+ value = config.resolve_build_setting("IPHONEOS_DEPLOYMENT_TARGET")
31
+ return value unless value.blank?
32
+ end
33
+
34
+ raise "Could not find deployment target for #{params[:xcodeproj_path_or_dir]} and #{params[:target]}"
35
+ end
36
+
37
+ def self.description
38
+ "Pulls the deployment target from the XCode project"
39
+ end
40
+
41
+ def self.authors
42
+ ["samdc@apadmi.com"]
43
+ end
44
+
45
+ def self.available_options
46
+ [
47
+ FastlaneCore::ConfigItem.new(key: :xcodeproj_path_or_dir,
48
+ description: "Path to, or directory of xcode project file",
49
+ type: String,
50
+ default_value: ".",
51
+ optional: false),
52
+ FastlaneCore::ConfigItem.new(key: :target,
53
+ description: "The target who's deployment target you want",
54
+ type: String,
55
+ default_value: "app",
56
+ optional: false),
57
+ FastlaneCore::ConfigItem.new(key: :configuration,
58
+ description: "The configuration who's target you want",
59
+ type: String,
60
+ optional: true)
61
+ ]
62
+ end
63
+
64
+ def self.is_supported?(platform)
65
+ platform == :ios
66
+ end
67
+ end
68
+ end
69
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Fastlane
4
4
  module ApadmiGrout
5
- VERSION = "1.0.0"
5
+ VERSION = "1.1.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-apadmi_grout
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-09 00:00:00.000000000 Z
11
+ date: 2022-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apadmi_grout
@@ -160,8 +160,10 @@ files:
160
160
  - CHANGELOG.md
161
161
  - LICENSE
162
162
  - lib/fastlane/plugin/apadmi_grout.rb
163
+ - lib/fastlane/plugin/apadmi_grout/actions/build_ipa_action.rb
163
164
  - lib/fastlane/plugin/apadmi_grout/actions/find_tickets_to_move_action.rb
164
165
  - lib/fastlane/plugin/apadmi_grout/actions/generate_release_notes_action.rb
166
+ - lib/fastlane/plugin/apadmi_grout/actions/get_deployment_target_action.rb
165
167
  - lib/fastlane/plugin/apadmi_grout/actions/move_jira_tickets_action.rb
166
168
  - lib/fastlane/plugin/apadmi_grout/utils/fastlane_logger.rb
167
169
  - lib/fastlane/plugin/apadmi_grout/version.rb