fastlane-plugin-paper_tools_builds 0.2.0 → 0.3.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: 00367a8178507c2050db5b42dc353a26c9b6b8bb3063f3e65ac3aa41f2356dc4
4
- data.tar.gz: f9b77b5f48a1b7c025f1cac969349dd47dc1d077aef7a3644936e06cb3fb8d17
3
+ metadata.gz: 9bf5e0f0808b2892b64ef89058aae10e528d2f1354ab657f395e5d9bd386c90a
4
+ data.tar.gz: bf0ff556454cbc93257cb33d40b85c8f0f4a09ab0f2dd7483b45b1860db78d8f
5
5
  SHA512:
6
- metadata.gz: 50d3ea8cb0572015ed17299fef8f526bb2a54408f659c1bd0aceb74a78133683e437bee969e03936ec146c220fbfdb6d0355beb8071342398c32c5732bb380e3
7
- data.tar.gz: 5325cd36984897ab2318cc0673e322258580a3bdb592ebac6e10d6b14e6568327d89bbfb543ed8910140c4fddba4096a2548c70493b88d662afb935b1ef81ef2
6
+ metadata.gz: c065acc5befcbc8fd5352bd7dc2965e3c5044c06ca20d58e45d5c1441f514012d2770fa837aab06bb96cd1621041c9ade83b99b78f052037fd6bb8c9560b5b16
7
+ data.tar.gz: 5c2f833fc0d5a7c84c0dcb22c296fd60b5f475458f53edb44e549751e2222416bd5978ac942ddc4bf3efb8e53784c6298bf2afc40035efc13e4b605a9984a747
data/README.md CHANGED
@@ -29,11 +29,11 @@ lane :distribute do
29
29
 
30
30
  build_id = paper_tools_builds_upload(
31
31
  file: lane_context[SharedValues::IPA_OUTPUT_PATH],
32
- channel: "qa",
33
32
  org: "your-org-id",
34
33
  app: "your-app-id",
35
34
  token: ENV["BUILDS_TOKEN"],
36
- to: "qa,cto@acme.com",
35
+ to: "cto@acme.com",
36
+ lists: "qa",
37
37
  version: get_version_number,
38
38
  build_number: get_build_number
39
39
  )
@@ -47,22 +47,28 @@ from the environment for you. The token still never belongs in a Fastfile, so
47
47
  read it from a CI secret as above. The build id the action returns is also on
48
48
  `lane_context[SharedValues::PAPER_TOOLS_BUILDS_BUILD_ID]`.
49
49
 
50
+ Distribution is per-build. `to` names recipient emails and `lists` names
51
+ distribution lists; a build with neither is uploaded but not handed to anyone.
52
+ There are no channels — an upload that used `channel:` now sets `to:` or `lists:`
53
+ instead.
54
+
50
55
  ## Options
51
56
 
52
57
  | Option | Description |
53
58
  | --------------- | ---------------------------------------------- |
54
59
  | `file` | Path to the `.ipa`, `.apk`, or `.aab`. Required. |
55
- | `channel` | The channel to land on. Required. |
56
60
  | `token` | A `builds:write` token. Required. |
57
- | `to` | Comma-separated recipients. |
61
+ | `to` | Comma-separated recipient emails to distribute to. |
62
+ | `lists` | Comma-separated distribution list names to distribute to. |
58
63
  | `org` | The organisation id. Required. |
59
64
  | `app` | The app id. Required. |
60
65
  | `version` | The marketing version. |
61
66
  | `build_number` | The build number. |
62
67
  | `release_notes` | Release notes. |
63
68
  | `tags` | Comma-separated tags. |
69
+ | `expires_in` | Seconds until the distribution expires. |
64
70
  | `format` | Force the format when the extension is unclear. |
65
- | `notify` | Notify recipients. |
71
+ | `notify` | Notify recipients of the distribution. |
66
72
  | `concurrency` | Parallel part uploads. |
67
73
  | `binary` | Path to the `builds` binary. Defaults to `builds`. |
68
74
 
@@ -15,12 +15,14 @@ module Fastlane
15
15
  # without reimplementing any of it.
16
16
  class PaperToolsBuildsUploadAction < Action
17
17
  def self.run(params)
18
- command = [params[:binary], 'upload', params[:file], '--channel', params[:channel], '--json']
18
+ command = [params[:binary], 'upload', params[:file], '--json']
19
19
  command += ['--to', params[:to]] unless params[:to].nil?
20
+ command += ['--lists', params[:lists]] unless params[:lists].nil?
20
21
  command += ['--version', params[:version]] unless params[:version].nil?
21
22
  command += ['--build-number', params[:build_number].to_s] unless params[:build_number].nil?
22
23
  command += ['--release-notes', params[:release_notes]] unless params[:release_notes].nil?
23
24
  command += ['--tags', params[:tags]] unless params[:tags].nil?
25
+ command += ['--expires-in', params[:expires_in].to_s] unless params[:expires_in].nil?
24
26
  command += ['--format', params[:format]] unless params[:format].nil?
25
27
  command += ['--concurrency', params[:concurrency].to_s] unless params[:concurrency].nil?
26
28
  command += ['--org', params[:org], '--app', params[:app]]
@@ -30,7 +32,7 @@ module Fastlane
30
32
  # plugin reads from the environment behind the caller's back.
31
33
  command += ['--token', params[:token]]
32
34
 
33
- UI.message("Uploading #{params[:file]} to channel #{params[:channel]}…")
35
+ UI.message("Uploading #{params[:file]}…")
34
36
  stdout, stderr, status = Open3.capture3(*command)
35
37
 
36
38
  unless status.success?
@@ -81,13 +83,14 @@ module Fastlane
81
83
  verify_block: proc do |value|
82
84
  UI.user_error!("No file at #{value}") unless File.exist?(value)
83
85
  end),
84
- FastlaneCore::ConfigItem.new(key: :channel,
85
- description: 'The channel to land on'),
86
86
  FastlaneCore::ConfigItem.new(key: :token,
87
87
  description: 'A builds:write API token',
88
88
  sensitive: true),
89
89
  FastlaneCore::ConfigItem.new(key: :to,
90
- description: 'Comma-separated recipients to distribute to',
90
+ description: 'Comma-separated recipient emails to distribute to',
91
+ optional: true),
92
+ FastlaneCore::ConfigItem.new(key: :lists,
93
+ description: 'Comma-separated distribution list names to distribute to',
91
94
  optional: true),
92
95
  FastlaneCore::ConfigItem.new(key: :org,
93
96
  description: 'The organisation id'),
@@ -108,8 +111,12 @@ module Fastlane
108
111
  FastlaneCore::ConfigItem.new(key: :format,
109
112
  description: 'Force the format when the extension does not name it',
110
113
  optional: true),
114
+ FastlaneCore::ConfigItem.new(key: :expires_in,
115
+ description: 'Seconds until the distribution expires',
116
+ optional: true,
117
+ type: Integer),
111
118
  FastlaneCore::ConfigItem.new(key: :notify,
112
- description: 'Notify recipients; defaults to the channel setting',
119
+ description: 'Notify recipients of the distribution',
113
120
  optional: true,
114
121
  is_string: false),
115
122
  FastlaneCore::ConfigItem.new(key: :concurrency,
@@ -135,10 +142,11 @@ module Fastlane
135
142
  [
136
143
  'paper_tools_builds_upload(
137
144
  file: lane_context[SharedValues::IPA_OUTPUT_PATH],
138
- channel: "qa",
139
145
  org: "your-org-id",
140
146
  app: "your-app-id",
141
147
  token: ENV["BUILDS_TOKEN"],
148
+ to: "cto@acme.com",
149
+ lists: "qa",
142
150
  version: get_version_number,
143
151
  build_number: get_build_number
144
152
  )',
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module PaperToolsBuilds
3
- VERSION = '0.2.0'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-paper_tools_builds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - paper.tools
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-24 00:00:00.000000000 Z
11
+ date: 2026-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane