fastlane-plugin-testappio 1.0.0 → 1.0.4
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d55de14e5648c1807325ebdea9de2ebf7553a9c61d8a8c7e4f58484409c29dc1
|
4
|
+
data.tar.gz: 7d560dce67bef063702fb942b3bbfa508a3a55cf49a98e8b3a7d5e65bb803c1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57d59c0bd2d320dcec29a97b53a21de3e2cc8290967738dd4591cabfd2317beb03567d8d92823f1bf6b39e10e7e8c4b00a2b23f07ad40408723178ae4dd0f637
|
7
|
+
data.tar.gz: 310cc7eb9e585a5b6dbb2eadb28084b921a8a217a50723abd7c365be3f1d02abee51e7427191a5412e7fdfae19f32b61fbeede3aa090359d153868e08b256f03
|
data/README.md
CHANGED
@@ -1,86 +1,107 @@
|
|
1
1
|
# [<img src="https://assets.testapp.io/logo/blue.svg" alt="TestApp.io"/>](https://testapp.io/) Fastlane Plugin
|
2
2
|
|
3
|
-
>
|
3
|
+
> BETA mode. Your feedback is highly appreciated.
|
4
4
|
|
5
|
-
A
|
5
|
+
A Fastlane plugin to upload both Android & iOS apps to TestApp.io to notify everyone for testing and feedback.
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
<!-- [](https://rubygems.org/gems/fastlane-plugin-testappio) -->
|
10
|
-
|
11
|
-
- [TestApp.io plugin](#testappio-plugin)
|
12
|
-
- [Getting started](#getting-started)
|
13
|
-
- [TestApp.io actions](#testappio-actions)
|
14
|
-
- [Action **upload_to_testappio**](#action-upload_to_testappio)
|
15
|
-
- [Issues and feedback](#issues-and-feedback)
|
16
|
-
- [Troubleshooting](#troubleshooting)
|
17
|
-
- [Using _fastlane_ plugins](#using-fastlane-plugins)
|
18
|
-
- [About _fastlane_](#about-fastlane)
|
7
|
+
[](https://rubygems.org/gems/fastlane-plugin-testappio) [](https://badge.fury.io/rb/fastlane-plugin-testappio)
|
19
8
|
|
20
9
|
## Getting started
|
21
10
|
|
22
|
-
This project is a [
|
11
|
+
This project is a [_Fastlane_](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-testappio`, add it to your project by running:
|
23
12
|
|
24
13
|
```bash
|
25
14
|
fastlane add_plugin testappio
|
26
15
|
```
|
27
16
|
|
17
|
+
## Configuration
|
18
|
+
|
19
|
+
_More info here: [https://help.testapp.io/ta-cli](https://help.testapp.io/ta-cli/)_
|
20
|
+
|
21
|
+
| Key | Description | Env Var(s) | Default |
|
22
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------- | ------- |
|
23
|
+
| api_token | You can get it from https://portal.testapp.io/settings/api-credentials | TESTAPPIO_API_TOKEN | |
|
24
|
+
| app_id | You can get it from your app page at [https://portal.testapp.io/apps](https://portal.testapp.io/apps?action=select-for-integrations) | TESTAPPIO_APP_ID | |
|
25
|
+
| release | It can be either both or Android or iOS | TESTAPPIO_RELEASE | |
|
26
|
+
| apk_file | Path to the Android APK file | TESTAPPIO_ANDROID_PATH | |
|
27
|
+
| ipa_file | Path to the iOS IPA file | TESTAPPIO_IOS_PATH | |
|
28
|
+
| release_notes | Manually add the release notes to be displayed for the testers | TESTAPPIO_RELEASE_NOTES | |
|
29
|
+
| git_release_notes | Collect release notes from the latest git commit message to be displayed for the testers: true or false | TESTAPPIO_GIT_RELEASE_NOTES | true |
|
30
|
+
| git_commit_id | Include the last commit ID in the release notes (works with both release notes options): true or false | TESTAPPIO_GIT_COMMIT_ID | false |
|
31
|
+
| notify | Send notifications to your team members about this release: true or false | TESTAPPIO_NOTIFY | false |
|
32
|
+
|
28
33
|
## TestApp.io actions
|
29
34
|
|
30
|
-
Actions provided by the CLI: [ta-cli](https://
|
35
|
+
Actions provided by the CLI: [ta-cli](https://help.testapp.io/ta-cli/)
|
36
|
+
|
37
|
+
Check out the [example Fastfile](https://github.com/testappio/fastlane-plugin-testappio/blob/main/fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
31
38
|
|
32
|
-
|
39
|
+
To upload after the Fastlane `gym` action:
|
33
40
|
|
34
|
-
|
41
|
+
##### iOS
|
35
42
|
|
36
43
|
```ruby
|
37
|
-
lane :
|
38
|
-
|
39
|
-
|
44
|
+
lane :beta do
|
45
|
+
|
46
|
+
increment_build_number
|
47
|
+
match(type: "adhoc")
|
48
|
+
gym(export_method: "ad-hoc")
|
49
|
+
|
40
50
|
upload_to_testappio(
|
41
51
|
api_token: "Your API Token",
|
42
52
|
app_id: "Your App ID",
|
43
|
-
|
44
|
-
apk_file: "/full/path/to/app.apk",
|
45
|
-
ipa_file: "/full/path/to/app.ipa",
|
46
|
-
release_notes: "release notes go here",
|
53
|
+
release_notes: "My release notes here...",
|
47
54
|
git_release_notes: true,
|
48
55
|
git_commit_id: false,
|
49
|
-
notify:
|
56
|
+
notify: true
|
50
57
|
)
|
58
|
+
|
59
|
+
clean_build_artifacts #optional
|
60
|
+
|
51
61
|
end
|
52
62
|
```
|
53
63
|
|
54
|
-
|
64
|
+
##### Android
|
55
65
|
|
56
|
-
|
66
|
+
```ruby
|
67
|
+
lane :beta do
|
57
68
|
|
58
|
-
|
59
|
-
| ----------------- | ------------------------------------------------------------------------------------------------------- | --------------------------- | ------- |
|
60
|
-
| api_token | You can get it from https://portal.testapp.io/settings/api-credentials | TESTAPPIO_API_TOKEN | |
|
61
|
-
| app_id | You can get it from your app page in https://portal.testapp.io/apps | TESTAPPIO_APP_ID | |
|
62
|
-
| release | It can be either both or android or ios | TESTAPPIO_RELEASE | |
|
63
|
-
| apk_file | Path to the android apk file | TESTAPPIO_ANDROID_PATH | |
|
64
|
-
| ipa_file | Path to the ios ipa file | TESTAPPIO_IOS_PATH | |
|
65
|
-
| release_notes | Manually add the release notes to be displayed for the testers | TESTAPPIO_RELEASE_NOTES | |
|
66
|
-
| git_release_notes | Collect release notes from the latest git commit message to be displayed for the testers: true or false | TESTAPPIO_GIT_RELEASE_NOTES | true |
|
67
|
-
| git_commit_id | Include the last commit ID in the release notes (works with both release notes option): true or false | TESTAPPIO_GIT_COMMIT_ID | false |
|
68
|
-
| notify | Send notificaitons to your team members about this release: true or false | TESTAPPIO_NOTIFY | false |
|
69
|
+
increment_version_code #[Optional] fastlane add_plugin increment_version_code
|
69
70
|
|
70
|
-
|
71
|
+
gradle(task: "clean assembleDebug") #or clean assembleRelease
|
71
72
|
|
72
|
-
|
73
|
+
upload_to_testappio(
|
74
|
+
api_token: "Your API Token", #You can get it from https://portal.testapp.io/settings/api-credentials
|
75
|
+
app_id: "Your App ID", #You can get it from your app page in https://portal.testapp.io/apps
|
76
|
+
release_notes: "My release notes here...",
|
77
|
+
git_release_notes: true,
|
78
|
+
git_commit_id: false,
|
79
|
+
notify: true
|
80
|
+
)
|
73
81
|
|
74
|
-
|
82
|
+
end
|
83
|
+
```
|
75
84
|
|
76
85
|
## Troubleshooting
|
77
86
|
|
78
87
|
If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
|
79
88
|
|
80
|
-
## Using
|
89
|
+
## Using _Fastlane_ plugins
|
90
|
+
|
91
|
+
Check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/) for more information about how the plugin system works.
|
92
|
+
|
93
|
+
## About _Fastlane_
|
94
|
+
|
95
|
+
_Fastlane_ is the easiest way to automate beta deployments and releases for iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).
|
96
|
+
|
97
|
+
---
|
98
|
+
|
99
|
+
## Feedback & Support
|
100
|
+
|
101
|
+
Developers built [TestApp.io](https://testapp.io) to solve the pain of app distribution & feedback for mobile app development teams.
|
81
102
|
|
82
|
-
|
103
|
+
Join our [community](https://help.testapp.io/faq/join-our-community/) for feedback and support.
|
83
104
|
|
84
|
-
|
105
|
+
Check out our [Help Center](https://help.testapp.io/) for more info and other integrations.
|
85
106
|
|
86
|
-
|
107
|
+
Happy releasing 🎉
|
@@ -2,11 +2,15 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class UploadToTestappioAction < Action
|
4
4
|
SUPPORTED_FILE_EXTENSIONS = ["apk", "ipa"]
|
5
|
+
|
5
6
|
def self.run(params)
|
6
|
-
# Check if ta-cli is installed
|
7
|
-
Helper::TestappioHelper.check_ta_cli
|
8
7
|
|
9
|
-
#
|
8
|
+
# Check if `ta_cli` exists, install it if not
|
9
|
+
unless Helper::TestappioHelper.check_ta_cli
|
10
|
+
UI.error("Error detecting ta-cli")
|
11
|
+
return
|
12
|
+
end
|
13
|
+
|
10
14
|
api_token = params[:api_token]
|
11
15
|
app_id = params[:app_id]
|
12
16
|
apk_file = params[:apk_file]
|
@@ -16,36 +20,42 @@ module Fastlane
|
|
16
20
|
git_release_notes = params[:git_release_notes]
|
17
21
|
git_commit_id = params[:git_commit_id]
|
18
22
|
notify = params[:notify]
|
23
|
+
self_update = params[:self_update]
|
24
|
+
|
25
|
+
# Check if ta-cli needs to be updated
|
26
|
+
unless Helper::TestappioHelper.check_update(self_update)
|
27
|
+
UI.error("Error updating ta-cli")
|
28
|
+
return
|
29
|
+
end
|
19
30
|
|
20
31
|
validate_file_path(apk_file) unless release == "ios"
|
21
32
|
validate_file_path(ipa_file) unless release == "android"
|
22
33
|
|
23
|
-
command = ["ta-cli"
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
34
|
+
command = ["ta-cli", "publish",
|
35
|
+
"--api_token=#{api_token}",
|
36
|
+
"--app_id=#{app_id}",
|
37
|
+
"--release=#{release}"]
|
38
|
+
|
28
39
|
command.push("--apk=#{apk_file}") unless release == "ios"
|
29
40
|
command.push("--ipa=#{ipa_file}") unless release == "android"
|
30
|
-
|
31
|
-
command
|
32
|
-
|
33
|
-
|
34
|
-
|
41
|
+
|
42
|
+
command += ["--release_notes=#{release_notes}",
|
43
|
+
"--git_release_notes=#{git_release_notes}",
|
44
|
+
"--git_commit_id=#{git_commit_id}",
|
45
|
+
"--notify=#{notify}",
|
46
|
+
"--source=Fastlane"]
|
35
47
|
|
36
48
|
UI.message("Uploading to TestApp.io")
|
37
49
|
Helper::TestappioHelper.call_ta_cli(command)
|
38
50
|
UI.success("Successfully uploaded to TestApp.io!")
|
39
51
|
end
|
40
52
|
|
41
|
-
# Validate file_path.
|
42
53
|
def self.validate_file_path(file_path)
|
43
54
|
UI.user_error!("No file found at '#{file_path}'.") unless File.exist?(file_path)
|
44
55
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
UI.user_error!("file_path is invalid, only files with extensions " + SUPPORTED_FILE_EXTENSIONS.to_s + " are allowed to be uploaded.")
|
56
|
+
file_ext = File.extname(file_path).delete('.')
|
57
|
+
unless SUPPORTED_FILE_EXTENSIONS.include?(file_ext)
|
58
|
+
UI.user_error!("file_path is invalid, only files with extensions #{SUPPORTED_FILE_EXTENSIONS} are allowed to be uploaded.")
|
49
59
|
end
|
50
60
|
end
|
51
61
|
|
@@ -81,7 +91,7 @@ module Fastlane
|
|
81
91
|
end),
|
82
92
|
FastlaneCore::ConfigItem.new(key: :app_id,
|
83
93
|
env_name: "TESTAPPIO_APP_ID",
|
84
|
-
description: "You can get it from your app page in https://portal.testapp.io/apps",
|
94
|
+
description: "You can get it from your app page in https://portal.testapp.io/apps?action=select-for-integrations",
|
85
95
|
is_string: false),
|
86
96
|
FastlaneCore::ConfigItem.new(key: :release,
|
87
97
|
env_name: "TESTAPPIO_RELEASE",
|
@@ -122,7 +132,13 @@ module Fastlane
|
|
122
132
|
description: "Send notificaitons to your team members about this release: true or false",
|
123
133
|
optional: true,
|
124
134
|
is_string: false,
|
125
|
-
default_value: false)
|
135
|
+
default_value: false),
|
136
|
+
FastlaneCore::ConfigItem.new(key: :self_update,
|
137
|
+
env_name: "TESTAPPIO_SELF_UPDATE",
|
138
|
+
description: "Automatically update ta-cli if a new version is available or required: true or false",
|
139
|
+
optional: true,
|
140
|
+
is_string: false,
|
141
|
+
default_value: true)
|
126
142
|
]
|
127
143
|
end
|
128
144
|
|
@@ -5,29 +5,86 @@ module Fastlane
|
|
5
5
|
|
6
6
|
module Helper
|
7
7
|
class TestappioHelper
|
8
|
+
|
8
9
|
# Check if `ta_cli` exists, install it if not
|
9
10
|
def self.check_ta_cli
|
10
|
-
unless
|
11
|
+
unless system('which ta-cli > /dev/null 2>&1')
|
11
12
|
UI.error("ta-cli not found, installing")
|
12
|
-
|
13
|
+
|
14
|
+
unless system('curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash')
|
15
|
+
UI.error("Error installing ta-cli")
|
16
|
+
return false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
return true
|
21
|
+
end
|
22
|
+
|
23
|
+
# Check if there is an update available for `ta_cli`, and install it if necessary
|
24
|
+
def self.check_update(self_update)
|
25
|
+
require 'open3'
|
26
|
+
|
27
|
+
version_output = `ta-cli version`
|
28
|
+
UI.verbose(version_output)
|
29
|
+
|
30
|
+
if version_output.include?("breaking changes")
|
31
|
+
if self_update
|
32
|
+
UI.message("Updating ta-cli due to breaking changes...")
|
33
|
+
else
|
34
|
+
UI.user_error!("Update necessary due to breaking changes. Please update ta-cli manually or set self_update to true")
|
35
|
+
return false
|
36
|
+
end
|
37
|
+
elsif version_output.include?("New version available")
|
38
|
+
if self_update
|
39
|
+
UI.message("Updating ta-cli...")
|
40
|
+
else
|
41
|
+
UI.error("New version available, but skipping update as self_update is set to false.")
|
42
|
+
return true
|
43
|
+
end
|
44
|
+
else
|
45
|
+
UI.success("ta-cli is already up-to-date")
|
46
|
+
return true
|
47
|
+
end
|
48
|
+
|
49
|
+
update_command = "curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash"
|
50
|
+
update_output, update_errors, update_status = Open3.capture3(update_command)
|
51
|
+
UI.verbose(update_output)
|
52
|
+
|
53
|
+
if update_output.include?("ta-cli successfully installed") || update_output.include?("ta-cli has been updated")
|
54
|
+
version_output = `ta-cli version`
|
55
|
+
UI.verbose(version_output)
|
56
|
+
|
57
|
+
if version_output.include?("Update necessary due to breaking changes") || version_output.include?("New version available")
|
58
|
+
UI.user_error!("Error updating ta-cli: the version is still outdated")
|
59
|
+
return false
|
60
|
+
else
|
61
|
+
UI.success("ta-cli has been updated successfully")
|
62
|
+
return true
|
63
|
+
end
|
64
|
+
else
|
65
|
+
UI.user_error!("Error updating ta-cli: #{update_output}")
|
66
|
+
return false
|
13
67
|
end
|
14
68
|
end
|
15
69
|
|
16
70
|
# Handle errors from `ta_cli`, if contains 'Error', the process stops,
|
17
71
|
# otherwise, just print to user console
|
18
72
|
def self.handle_error(errors)
|
19
|
-
fatal = false
|
20
73
|
errors.each do |error|
|
21
74
|
if error
|
22
75
|
if error =~ /Error/
|
23
76
|
UI.error(error.to_s)
|
24
|
-
fatal = true
|
25
77
|
else
|
26
78
|
UI.verbose(error.to_s)
|
27
79
|
end
|
28
80
|
end
|
29
81
|
end
|
30
|
-
|
82
|
+
|
83
|
+
if errors.any? { |e| e =~ /Error/ }
|
84
|
+
UI.user_error!('Error while calling ta-cli')
|
85
|
+
elsif errors.any?
|
86
|
+
UI.user_error!("Error while calling ta-cli: #{errors.join(', ')}")
|
87
|
+
end
|
31
88
|
end
|
32
89
|
|
33
90
|
# Run the given command
|
@@ -45,18 +102,17 @@ module Fastlane
|
|
45
102
|
Open3.popen3(final_command) do |stdin, stdout, stderr, wait_thr|
|
46
103
|
while (line = stdout.gets)
|
47
104
|
out << line
|
48
|
-
UI.message(line.strip!)
|
105
|
+
UI.message(line.strip!) if FastlaneCore::Globals.verbose? && !line.strip.empty?
|
49
106
|
end
|
50
107
|
while (line = stderr.gets)
|
51
108
|
error << line.strip!
|
52
109
|
end
|
53
110
|
exit_status = wait_thr.value
|
54
|
-
unless exit_status.success?
|
55
|
-
handle_error(error)
|
56
|
-
end
|
111
|
+
handle_error(error) unless exit_status.success?
|
57
112
|
end
|
58
113
|
out.join
|
59
114
|
end
|
115
|
+
|
60
116
|
end
|
61
117
|
end
|
62
118
|
end
|
metadata
CHANGED
@@ -1,33 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-testappio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TestApp.io
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fastlane
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.204'
|
31
34
|
- - ">="
|
32
35
|
- !ruby/object:Gem::Version
|
33
36
|
version: 2.204.3
|
@@ -35,6 +38,9 @@ dependencies:
|
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.204'
|
38
44
|
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
40
46
|
version: 2.204.3
|
@@ -42,58 +48,58 @@ dependencies:
|
|
42
48
|
name: pry
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - "
|
51
|
+
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
53
|
+
version: '0.13'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
|
-
- - "
|
58
|
+
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
60
|
+
version: '0.13'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: rake
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
67
|
+
version: '13.0'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
|
-
- - "
|
72
|
+
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
74
|
+
version: '13.0'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: rspec
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
|
-
- - "
|
79
|
+
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
81
|
+
version: '3.0'
|
76
82
|
type: :development
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
|
-
- - "
|
86
|
+
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
88
|
+
version: '3.0'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: rspec_junit_formatter
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
87
|
-
- - "
|
93
|
+
- - "~>"
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
95
|
+
version: '0.4'
|
90
96
|
type: :development
|
91
97
|
prerelease: false
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
|
-
- - "
|
100
|
+
- - "~>"
|
95
101
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
102
|
+
version: '0.4'
|
97
103
|
- !ruby/object:Gem::Dependency
|
98
104
|
name: rubocop
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,45 +118,45 @@ dependencies:
|
|
112
118
|
name: rubocop-performance
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
114
120
|
requirements:
|
115
|
-
- - "
|
121
|
+
- - "~>"
|
116
122
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
123
|
+
version: 1.17.1
|
118
124
|
type: :development
|
119
125
|
prerelease: false
|
120
126
|
version_requirements: !ruby/object:Gem::Requirement
|
121
127
|
requirements:
|
122
|
-
- - "
|
128
|
+
- - "~>"
|
123
129
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
130
|
+
version: 1.17.1
|
125
131
|
- !ruby/object:Gem::Dependency
|
126
132
|
name: rubocop-require_tools
|
127
133
|
requirement: !ruby/object:Gem::Requirement
|
128
134
|
requirements:
|
129
|
-
- - "
|
135
|
+
- - "~>"
|
130
136
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
137
|
+
version: 0.1.2
|
132
138
|
type: :development
|
133
139
|
prerelease: false
|
134
140
|
version_requirements: !ruby/object:Gem::Requirement
|
135
141
|
requirements:
|
136
|
-
- - "
|
142
|
+
- - "~>"
|
137
143
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
144
|
+
version: 0.1.2
|
139
145
|
- !ruby/object:Gem::Dependency
|
140
146
|
name: simplecov
|
141
147
|
requirement: !ruby/object:Gem::Requirement
|
142
148
|
requirements:
|
143
|
-
- - "
|
149
|
+
- - "~>"
|
144
150
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
151
|
+
version: '0.21'
|
146
152
|
type: :development
|
147
153
|
prerelease: false
|
148
154
|
version_requirements: !ruby/object:Gem::Requirement
|
149
155
|
requirements:
|
150
|
-
- - "
|
156
|
+
- - "~>"
|
151
157
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
description:
|
158
|
+
version: '0.21'
|
159
|
+
description:
|
154
160
|
email: support@testapp.io
|
155
161
|
executables: []
|
156
162
|
extensions: []
|
@@ -166,7 +172,7 @@ homepage: https://github.com/testappio/fastlane-plugin-testappio
|
|
166
172
|
licenses:
|
167
173
|
- MIT
|
168
174
|
metadata: {}
|
169
|
-
post_install_message:
|
175
|
+
post_install_message:
|
170
176
|
rdoc_options: []
|
171
177
|
require_paths:
|
172
178
|
- lib
|
@@ -174,15 +180,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
174
180
|
requirements:
|
175
181
|
- - ">="
|
176
182
|
- !ruby/object:Gem::Version
|
177
|
-
version: '2.
|
183
|
+
version: '2.6'
|
178
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
185
|
requirements:
|
180
186
|
- - ">="
|
181
187
|
- !ruby/object:Gem::Version
|
182
188
|
version: '0'
|
183
189
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
-
signing_key:
|
190
|
+
rubygems_version: 3.4.12
|
191
|
+
signing_key:
|
186
192
|
specification_version: 4
|
187
193
|
summary: Deploy your Android & iOS to TestApp.io
|
188
194
|
test_files: []
|