fastlane-plugin-appbox 3.4.0 → 3.5.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 +4 -4
- data/README.md +5 -5
- data/lib/fastlane/plugin/appbox/actions/appbox_action.rb +91 -92
- data/lib/fastlane/plugin/appbox/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a3d1c761409556356ec39f0991325907fcb51f6d3cdc003500f22818a0d31ab
|
4
|
+
data.tar.gz: 907b7f796e46350974092ea21e578c2fae8af565d3075b5ebc11f6f7038c6516
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 547103bab6e974465c46c235af121279b801d400680c2f1b034dc6a0c8ea9e38a5ef64c0431f4840d1cf60b2d87018167c22d445d4233d2acf00ed40336532ea
|
7
|
+
data.tar.gz: 0d08e26a75304f1c8563c850f0dd5e6ecd500daa536bf7527b637f2c5e651bdf22630343a17521f3ce3a49cbc2087033e5dd39e59283ef5a97d23a77a231f3f1
|
data/README.md
CHANGED
@@ -117,20 +117,20 @@ platform :ios do
|
|
117
117
|
gym
|
118
118
|
appbox(
|
119
119
|
emails: 'you@example.com,'someoneelse@example.com',
|
120
|
-
appbox_path:'/Users/vineetchoudhary/Desktop/
|
120
|
+
appbox_path:'/Users/vineetchoudhary/Desktop/AppBox3.4.0/AppBox.app',
|
121
121
|
)
|
122
122
|
end
|
123
123
|
end
|
124
124
|
```
|
125
125
|
|
126
|
+
#### Note
|
127
|
+
When you run this for the first time, a pop-up will appear stating that "Terminal.app" wants to access data from other apps. You must allow this to copy the IPA file to the Appbox temporary directory, enabling Appbox to access and upload it.
|
128
|
+

|
129
|
+
|
126
130
|
## 3. Supported AppBox link access via Fastlane SharedValues
|
127
131
|
- `APPBOX_SHARE_URL` - AppBox short shareable URL to install uploaded application.
|
128
132
|
- `APPBOX_IPA_URL`- Upload IPA file URL to download IPA file.
|
129
133
|
- `APPBOX_MANIFEST_URL` - Manifest file URL for upload application.
|
130
|
-
- `APPBOX_LONG_SHARE_UR` - AppBox long shareable URL to install uploaded application.
|
131
|
-
|
132
|
-

|
133
|
-
|
134
134
|
|
135
135
|
## 4. About AppBox
|
136
136
|
[AppBox](https://getappbox.com) is a tool for iOS developers to build and deploy Development, Ad-Hoc and In-house (Enterprise) applications directly to the devices from your Dropbox account. Also, available on [Github](https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation).
|
@@ -8,111 +8,101 @@ module Fastlane
|
|
8
8
|
APPBOX_IPA_URL = :APPBOX_IPA_URL
|
9
9
|
APPBOX_SHARE_URL = :APPBOX_SHARE_URL
|
10
10
|
APPBOX_MANIFEST_URL = :APPBOX_MANIFEST_URL
|
11
|
-
APPBOX_LONG_SHARE_URL = :APPBOX_LONG_SHARE_URL
|
12
11
|
end
|
13
12
|
|
14
13
|
class AppboxAction < Action
|
15
14
|
def self.run(params)
|
16
|
-
|
15
|
+
|
16
|
+
#custom dropbox folder name
|
17
|
+
if params[:dropbox_folder_name]
|
18
|
+
dropbox_folder_name = params[:dropbox_folder_name]
|
19
|
+
UI.message("Dropbox folder name - #{dropbox_folder_name}")
|
20
|
+
end
|
21
|
+
|
22
|
+
#AppBox CLI
|
23
|
+
appboxcli = "appboxcli"
|
24
|
+
appboxcli_path = `which #{appboxcli}`.strip
|
25
|
+
if appboxcli_path.empty?
|
26
|
+
UI.error("AppBox CLI not found. Please install AppBox CLI first. Read more here - https://docs.getappbox.com/Installation/MacOS/#command-line-interface-cli")
|
27
|
+
exit
|
28
|
+
end
|
29
|
+
|
30
|
+
ipa_path = Actions.lane_context[ Actions::SharedValues::IPA_OUTPUT_PATH ]
|
31
|
+
ipa_file_name = File.basename(ipa_path)
|
32
|
+
UI.message("IPA PATH - #{ipa_path}")
|
33
|
+
|
34
|
+
# Start AppBox
|
35
|
+
UI.message("")
|
36
|
+
UI.message("Starting AppBox...")
|
37
|
+
UI.message("Upload process will start soon. Upload process might take a few minutes. Please don't interrupt the script.")
|
38
|
+
|
39
|
+
command = "#{appboxcli} --ipa '#{ipa_path}'"
|
40
|
+
|
41
|
+
#Add emails param in command
|
17
42
|
if params[:emails]
|
18
|
-
emails
|
19
|
-
UI.message("Emails - #{emails}")
|
43
|
+
command << " --emails '#{params[:emails]}'"
|
44
|
+
UI.message("Emails - #{params[:emails]}")
|
20
45
|
end
|
21
46
|
|
22
|
-
#
|
47
|
+
#Add message param in command
|
23
48
|
if params[:message]
|
24
|
-
message
|
25
|
-
UI.message("Message - #{message}")
|
49
|
+
command << " --message '#{params[:message]}'"
|
50
|
+
UI.message("Message - #{params[:message]}")
|
26
51
|
end
|
27
52
|
|
28
|
-
#
|
29
|
-
if params[:keep_same_link]
|
30
|
-
|
31
|
-
UI.message("Keep Same Link - #{keep_same_link}")
|
53
|
+
#Add Keep Same Link param in command
|
54
|
+
if params[:keep_same_link] == true
|
55
|
+
command << " --keepsamelink"
|
56
|
+
UI.message("Keep Same Link - #{params[:keep_same_link]}")
|
32
57
|
end
|
33
58
|
|
34
|
-
#
|
35
|
-
if
|
36
|
-
|
37
|
-
UI.message("Dropbox
|
59
|
+
#Add dropbox folder name param in command
|
60
|
+
if dropbox_folder_name
|
61
|
+
command << " --dbfolder '#{dropbox_folder_name}'"
|
62
|
+
UI.message("Dropbox Folder Name - #{dropbox_folder_name}")
|
38
63
|
end
|
39
64
|
|
40
|
-
#
|
41
|
-
if params[:
|
42
|
-
|
43
|
-
|
44
|
-
appbox_path = "/Applications/AppBox.app/Contents/MacOS/AppBox"
|
65
|
+
#Add Slack Webhook URL param in command
|
66
|
+
if params[:slack_webhook_url]
|
67
|
+
command << " --slackwebhook '#{params[:slack_webhook_url]}'"
|
68
|
+
UI.message("Slack Webhook URL - #{params[:slack_webhook_url]}")
|
45
69
|
end
|
46
70
|
|
47
|
-
#
|
48
|
-
if
|
49
|
-
|
50
|
-
UI.message("
|
51
|
-
|
52
|
-
ipa_path = Actions.lane_context[ Actions::SharedValues::IPA_OUTPUT_PATH ]
|
53
|
-
ipa_file_name = File.basename(ipa_path)
|
54
|
-
UI.message("IPA PATH - #{ipa_path}")
|
55
|
-
|
56
|
-
# Copy ipa file into AppBox temporary directory
|
57
|
-
appbox_data_dir = File.expand_path("~/Library/Containers/com.developerinsider.AppBox/Data")
|
58
|
-
appbox_temp_path = File.join(appbox_data_dir, "tmp")
|
59
|
-
UI.message("Copying IPA file to AppBox temporary directory - #{appbox_temp_path}")
|
60
|
-
FileUtils.cp ipa_path, appbox_temp_path
|
61
|
-
temp_ipa_path = File.join(appbox_temp_path, ipa_file_name)
|
62
|
-
|
63
|
-
# Start AppBox
|
64
|
-
UI.message("")
|
65
|
-
UI.message("Starting AppBox...")
|
66
|
-
UI.message("Upload process will start soon. Upload process might take a few minutes. Please don't interrupt the script.")
|
67
|
-
if dropbox_folder_name
|
68
|
-
exit_status = system("exec #{appbox_path} ipa='#{temp_ipa_path}' email='#{emails}' message='#{message}' keepsamelink=#{keep_same_link} dbfolder='#{dropbox_folder_name}'")
|
69
|
-
else
|
70
|
-
exit_status = system("exec #{appbox_path} ipa='#{temp_ipa_path}' email='#{emails}' message='#{message}' keepsamelink='#{keep_same_link}'")
|
71
|
-
end
|
71
|
+
#Add MS Teams Webhook URL param in command
|
72
|
+
if params[:ms_teams_webhook_url]
|
73
|
+
command << " --msteamswebhook '#{params[:ms_teams_webhook_url]}'"
|
74
|
+
UI.message("MS Teams Webhook URL - #{params[:ms_teams_webhook_url]}")
|
75
|
+
end
|
72
76
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
share_url_file_path = File.join(appbox_data_dir, "Documents", ".appbox_share_value.json")
|
78
|
-
if File.file?(share_url_file_path)
|
79
|
-
file = File.read(share_url_file_path)
|
80
|
-
share_urls_values = JSON.parse(file)
|
81
|
-
|
82
|
-
Actions.lane_context[SharedValues::APPBOX_IPA_URL] = share_urls_values['APPBOX_IPA_URL']
|
83
|
-
Actions.lane_context[SharedValues::APPBOX_SHARE_URL] = share_urls_values['APPBOX_SHARE_URL']
|
84
|
-
Actions.lane_context[SharedValues::APPBOX_MANIFEST_URL] = share_urls_values['APPBOX_MANIFEST_URL']
|
85
|
-
|
86
|
-
FastlaneCore::PrintTable.print_values(config: share_urls_values, hide_keys: [], title: "Summary for AppBox")
|
87
|
-
end
|
88
|
-
clean_temporary_files(appbox_temp_path)
|
89
|
-
UI.success('AppBox finished successfully')
|
90
|
-
else
|
91
|
-
clean_temporary_files(appbox_temp_path)
|
92
|
-
UI.error('AppBox finished with errors')
|
93
|
-
UI.message('Please feel free to open an issue on the project GitHub page. Please include a description of what is not working right with your issue. https://github.com/getappbox/fastlane-plugin-appbox/issues/new')
|
94
|
-
exit
|
95
|
-
end
|
96
|
-
else
|
97
|
-
UI.error("AppBox not found at path #{appbox_path}. Please download (https://getappbox.com/download) and install appbox first. ")
|
98
|
-
exit
|
77
|
+
#Add Webhook Message param in command
|
78
|
+
if params[:webhook_message]
|
79
|
+
command << " --webhookmessage '#{params[:webhook_message]}'"
|
80
|
+
UI.message("Webhook Message - #{params[:webhook_message]}")
|
99
81
|
end
|
100
|
-
|
101
|
-
end
|
102
82
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
83
|
+
UI.message("AppBox Command - #{command}")
|
84
|
+
|
85
|
+
# Execute command
|
86
|
+
exit_status = system("exec #{command}")
|
87
|
+
|
88
|
+
# Print upload status
|
89
|
+
if exit_status
|
90
|
+
UI.success("Successfully uploaded the IPA file to DropBox. Check below summary for more details.")
|
91
|
+
# Check if share url file exist and print value
|
92
|
+
share_url_file_path = File.join(File.expand_path('~'), ".appbox_share_value.json")
|
93
|
+
if File.file?(share_url_file_path)
|
94
|
+
file = File.read(share_url_file_path)
|
95
|
+
share_urls_values = JSON.parse(file)
|
96
|
+
Actions.lane_context[SharedValues::APPBOX_IPA_URL] = share_urls_values['APPBOX_IPA_URL']
|
97
|
+
Actions.lane_context[SharedValues::APPBOX_SHARE_URL] = share_urls_values['APPBOX_SHARE_URL']
|
98
|
+
Actions.lane_context[SharedValues::APPBOX_MANIFEST_URL] = share_urls_values['APPBOX_MANIFEST_URL']
|
99
|
+
FastlaneCore::PrintTable.print_values(config: share_urls_values, hide_keys: [], title: "Summary for AppBox")
|
115
100
|
end
|
101
|
+
UI.success('AppBox finished successfully')
|
102
|
+
else
|
103
|
+
UI.error('AppBox finished with errors')
|
104
|
+
UI.message('Please feel free to open an issue on the project GitHub page. Please include a description of what is not working right with your issue. https://github.com/getappbox/fastlane-plugin-appbox/issues/new')
|
105
|
+
exit
|
116
106
|
end
|
117
107
|
end
|
118
108
|
|
@@ -121,7 +111,6 @@ module Fastlane
|
|
121
111
|
['APPBOX_IPA_URL', 'Upload IPA file URL to download IPA file.'],
|
122
112
|
['APPBOX_MANIFEST_URL', 'Manifest file URL for upload application.'],
|
123
113
|
['APPBOX_SHARE_URL', 'AppBox short shareable URL to install uploaded application.'],
|
124
|
-
['APPBOX_LONG_SHARE_URL', 'AppBox long shareable URL to install uploaded application.']
|
125
114
|
]
|
126
115
|
end
|
127
116
|
|
@@ -142,16 +131,11 @@ module Fastlane
|
|
142
131
|
FastlaneCore::ConfigItem.new(key: :emails,
|
143
132
|
env_name: "FL_APPBOX_EMAILS",
|
144
133
|
description: "Comma-separated list of email address that should receive application installation link",
|
145
|
-
optional: false),
|
146
|
-
|
147
|
-
FastlaneCore::ConfigItem.new(key: :appbox_path,
|
148
|
-
env_name: "FL_APPBOX_PATH",
|
149
|
-
description: "If you've setup AppBox in the different directory then you need to mention that here. Default is '/Applications/AppBox.app'",
|
150
134
|
optional: true),
|
151
135
|
|
152
136
|
FastlaneCore::ConfigItem.new(key: :message,
|
153
137
|
env_name: "FL_APPBOX_MESSAGE",
|
154
|
-
description: "Attach personal message in the email. Supported Keywords: The {
|
138
|
+
description: "Attach personal message in the email. Supported Keywords: The {BUILD_NAME} - For Build Name, {BUILD_VERSION} - For Build Version, and {BUILD_NUMBER} - For Build Number",
|
155
139
|
optional: true),
|
156
140
|
|
157
141
|
FastlaneCore::ConfigItem.new(key: :keep_same_link,
|
@@ -165,6 +149,21 @@ module Fastlane
|
|
165
149
|
env_name: "FL_APPBOX_DB_FOLDER_NAME",
|
166
150
|
description: "You can change the link by providing a Custom Dropbox Folder Name. By default folder name will be the application bundle identifier. So, AppBox will keep the same link for the IPA file available in the same folder. Read more here - https://docs.getappbox.com/Features/keepsamelink/",
|
167
151
|
optional: true),
|
152
|
+
|
153
|
+
FastlaneCore::ConfigItem.new(key: :slack_webhook_url,
|
154
|
+
env_name: "FL_APPBOX_SLACK_WEBHOOK_URL",
|
155
|
+
description: "Slack Incoming Webhook URL to send notification to a Slack channel",
|
156
|
+
optional: true),
|
157
|
+
|
158
|
+
FastlaneCore::ConfigItem.new(key: :ms_teams_webhook_url,
|
159
|
+
env_name: "FL_APPBOX_MS_TEAMS_WEBHOOK_URL",
|
160
|
+
description: "Microsoft Teams Incoming Webhook URL to send notification to a Teams channel",
|
161
|
+
optional: true),
|
162
|
+
|
163
|
+
FastlaneCore::ConfigItem.new(key: :webhook_message,
|
164
|
+
env_name: "FL_APPBOX_WEBHOOK_MESSAGE",
|
165
|
+
description: "Custom message to send along with Slack or Microsoft Teams notification. Supported Keywords: {BUILD_NAME}, {BUILD_VERSION}, {BUILD_NUMBER}, {SHARE_URL}",
|
166
|
+
optional: true),
|
168
167
|
]
|
169
168
|
end
|
170
169
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-appbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vineet Choudhary
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 2.111.0
|
139
|
-
description:
|
139
|
+
description:
|
140
140
|
email: vineetchoudhary@live.in
|
141
141
|
executables: []
|
142
142
|
extensions: []
|
@@ -152,7 +152,7 @@ homepage: https://github.com/getappbox/fastlane-plugin-appbox
|
|
152
152
|
licenses:
|
153
153
|
- MIT
|
154
154
|
metadata: {}
|
155
|
-
post_install_message:
|
155
|
+
post_install_message:
|
156
156
|
rdoc_options: []
|
157
157
|
require_paths:
|
158
158
|
- lib
|
@@ -167,8 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: '0'
|
169
169
|
requirements: []
|
170
|
-
rubygems_version: 3.
|
171
|
-
signing_key:
|
170
|
+
rubygems_version: 3.0.3.1
|
171
|
+
signing_key:
|
172
172
|
specification_version: 4
|
173
173
|
summary: Deploy Development, Ad-Hoc and In-house (Enterprise) iOS applications directly
|
174
174
|
to the devices from your Dropbox account.
|