fastlane-plugin-eac_upload 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8632e05557228f6f56419640aca6a00713297601640a7ccb2410f6566bf76a2a
4
- data.tar.gz: 84dbfa275c82122b2b969bd784c0fb4443fb2605a753438d13fb0e92a11befb5
3
+ metadata.gz: 5839d73d999acb2b7da44aedd0cfdc0f39abc2adee0764a6ed46d46e426d6d65
4
+ data.tar.gz: 833c45952f79f71b7a87aee92674b6915cb1319091c072346925b49570acbffe
5
5
  SHA512:
6
- metadata.gz: 610870b1571230373f84291274534dd8631408eb4c34dd7848ca72b06679fe32df5928bfdc480c9e41ab7125af35cd523e38c411134c75b969be205cf2ae0c89
7
- data.tar.gz: 2136f4b8a1edf552271a787748c2db4b044357f4cdb2ba5592daca0c0053eb81cf69129c5a022d20b1f010961efa1172e4aa2c15c0aedd470ee7824c268cb3e6
6
+ metadata.gz: fed29f146587cc3ebaff9ea845420e942da37030a6a7c2282ca832270ef85e936dff80952a875fff6841e70f0c5241e7c9ffd800087664a2fd6213350d63c0c4
7
+ data.tar.gz: 67fdd8f81c9a2fe78bf18dd3c91a86ae0d08780981ca28e7c6fbb20ed413e80f3c7536800476f0032e32a77ed4a0ecdb97914123681121cc5036926149e46b75
data/README.md CHANGED
@@ -14,13 +14,62 @@ fastlane add_plugin eac_upload
14
14
 
15
15
  Upload IPA/APK/AAB to Enterprise App Cloud
16
16
 
17
- **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
17
+ This requires a valid API Token from https://www.enterprise-app-cloud.com
18
18
 
19
19
  ## Example
20
20
 
21
- Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
21
+ In its most basic form, you can just call the action with an api token and it will automatically use the output of any preceding `gym` or `gradle` action
22
22
 
23
- **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
23
+ ```
24
+ eac(
25
+ token: "API_KEY"
26
+ )
27
+ ```
28
+
29
+ Alternatively you can provide the token with the environment variable `FL_EAC_TOKEN` and omit it from the call
30
+
31
+ ```
32
+ eac()
33
+ ```
34
+
35
+ In any case where you produce multiple build files in multiple steps that you all want to upload, the artifacts from the first step will remain available in the lane context, so they have to explicitly be ignored in any following steps
36
+ ```
37
+ # Build APK
38
+ gradle(
39
+ gradle_path: gradle_path,
40
+ task: "clean assembleLiveDebug"
41
+ )
42
+ eac()
43
+
44
+ # Build AAB
45
+ gradle(
46
+ gradle_path: gradle_path,
47
+ task: "bundleLiveDebug",
48
+ )
49
+ eac(ignore_apk: true)
50
+ ```
51
+
52
+ The installation url of the uploaded app will be available in the lane context under `FL_EAC_INSTALL_URL`
53
+ ```
54
+ eac()
55
+ slack(pretext: "*Neue Version (iOS) - #{version} (#{build})*",
56
+ message: Actions.lane_context[SharedValues::FL_EAC_INSTALL_URL])
57
+ ```
58
+
59
+ Should an app be available in multiple teams, you can pass the target team in an additional parameter
60
+ ```
61
+ eac(
62
+ token: "API_KEY",
63
+ team_slug: "second_team"
64
+ )
65
+ ```
66
+
67
+ You can add a change with the `changelog` parameter
68
+ ```
69
+ eac(
70
+ changelog: "Some changelog text"
71
+ )
72
+ ```
24
73
 
25
74
  ## Run tests for this plugin
26
75
 
@@ -32,14 +32,20 @@ module Fastlane
32
32
  require "uri"
33
33
  require "json"
34
34
 
35
+ # Get build files but respect ignore flags
36
+ ipa = options[:ignore_ipa] ? nil : options[:ipa]
37
+ apk = options[:ignore_apk] ? nil : options[:apk]
38
+ aab = options[:ignore_aab] ? nil : options[:aab]
39
+
35
40
  build_file = [
36
- options[:ipa],
37
- options[:apk]
41
+ ipa,
42
+ apk,
43
+ aab
38
44
  ].detect { |e| !e.to_s.empty? }
39
-
40
45
  if build_file.nil?
41
- UI.user_error!("You have to provide a build file (params 'apk' or 'ipa')")
46
+ UI.user_error!("You have to provide a build file (params 'apk' or 'ipa' or 'aab')")
42
47
  end
48
+ UI.message("Using build file: #{build_file}")
43
49
 
44
50
  response = self.upload(options, build_file)
45
51
 
@@ -89,6 +95,24 @@ module Fastlane
89
95
 
90
96
  def self.available_options
91
97
  [
98
+ FastlaneCore::ConfigItem.new(key: :ignore_apk,
99
+ env_name: "FL_EAC_IGNORE_APK",
100
+ description: "If true, ignores APK file even if it's available in lane context",
101
+ default_value: false,
102
+ is_string: false,
103
+ optional: true),
104
+ FastlaneCore::ConfigItem.new(key: :ignore_ipa,
105
+ env_name: "FL_EAC_IGNORE_IPA",
106
+ description: "If true, ignores IPA file even if it's available in lane context",
107
+ default_value: false,
108
+ is_string: false,
109
+ optional: true),
110
+ FastlaneCore::ConfigItem.new(key: :ignore_aab,
111
+ env_name: "FL_EAC_IGNORE_AAB",
112
+ description: "If true, ignores AAB file even if it's available in lane context",
113
+ default_value: false,
114
+ is_string: false,
115
+ optional: true),
92
116
  FastlaneCore::ConfigItem.new(key: :host,
93
117
  env_name: "FL_EAC_HOST",
94
118
  description: "The host of the mobivention Enterprise App Cloud API",
@@ -109,28 +133,39 @@ module Fastlane
109
133
  env_name: "FL_EAC_IPA",
110
134
  description: "Path to your IPA file. Optional if you use the _gym_ or _xcodebuild_ action",
111
135
  default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
112
- default_value_dynamic: true,
113
136
  optional: true,
114
137
  verify_block: proc do |value|
115
138
  UI.user_error!("Couldn't find ipa file at path '#{value}'") unless File.exist?(value)
116
139
  end,
117
- conflicting_options: [:apk],
140
+ conflicting_options: [:apk, :aab],
118
141
  conflict_block: proc do |value|
119
142
  UI.user_error!("You can't use 'ipa' and '#{value.key}' options in one run")
120
143
  end),
121
144
  FastlaneCore::ConfigItem.new(key: :apk,
122
145
  env_name: "FL_EAC_APK",
123
- description: "Path to your APK file",
146
+ description: "Path to your APK file. Optional if you use the _gradle_ action",
124
147
  default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],
125
- default_value_dynamic: true,
126
148
  optional: true,
127
149
  verify_block: proc do |value|
128
150
  UI.user_error!("Couldn't find apk file at path '#{value}'") unless File.exist?(value)
129
151
  end,
130
- conflicting_options: [:ipa],
152
+ conflicting_options: [:ipa, :aab],
131
153
  conflict_block: proc do |value|
132
154
  UI.user_error!("You can't use 'apk' and '#{value.key}' options in one run")
155
+ end),
156
+ FastlaneCore::ConfigItem.new(key: :aab,
157
+ env_name: "FL_EAC_AAB",
158
+ description: "Path to your AAB file. Optional if you use the _gradle_ action",
159
+ default_value: Actions.lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],
160
+ optional: true,
161
+ verify_block: proc do |value|
162
+ UI.user_error!("Couldn't find aab file at path '#{value}'") unless File.exist?(value)
163
+ end,
164
+ conflicting_options: [:ipa, :apk],
165
+ conflict_block: proc do |value|
166
+ UI.user_error!("You can't use 'aab' and '#{value.key}' options in one run")
133
167
  end)
168
+
134
169
  ]
135
170
  end
136
171
 
@@ -151,6 +186,12 @@ module Fastlane
151
186
  'eac(
152
187
  host: "https://enterprise-app-cloud.com",
153
188
  token: "abcdefgh",
189
+ )',
190
+ 'eac(
191
+ host: "https://enterprise-app-cloud.com",
192
+ token: "abcdefgh",
193
+ ignore_apk: true,
194
+ ipa: "./path/to/my/app.ipa"
154
195
  )'
155
196
  ]
156
197
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module EacUpload
3
- VERSION = "0.2.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -1,10 +1,10 @@
1
- require 'fastlane/plugin/eac_upload/version'
1
+ require "fastlane/plugin/eac_upload/version"
2
2
 
3
3
  module Fastlane
4
4
  module EacUpload
5
5
  # Return all .rb files inside the "actions" and "helper" directory
6
6
  def self.all_classes
7
- Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
7
+ Dir[File.expand_path("**/{actions,helper}/*.rb", File.dirname(__FILE__))]
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-eac_upload
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mobivention GmbH
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-07-15 00:00:00.000000000 Z
10
+ date: 2025-07-16 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  email: technik@mobivention.com
13
13
  executables: []