fastlane-plugin-google_drive 0.4.1 → 0.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 +12 -2
- data/lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb +1 -1
- data/lib/fastlane/plugin/google_drive/actions/update_google_drive_file_action.rb +103 -0
- data/lib/fastlane/plugin/google_drive/helper/google_drive_helper.rb +12 -0
- data/lib/fastlane/plugin/google_drive/version.rb +1 -1
- metadata +26 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbca024b341c811412e22d2b275bf3fccb75557aacee681df62f808a17ae011f
|
4
|
+
data.tar.gz: 2d55aeeb8afb05861e733974e09d9a2376d3f69a1dcb1d56b9543f0565dc2930
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae3dc9110b9f974d4b35d48b7f45c072683ba0ef3004e08fe63a0ac0ac0d7d9fed4feb5c31b7dc9319097846c85d150c0a30bdebb9d8b25df12851267b9d504d
|
7
|
+
data.tar.gz: fbeec3d0f8cd9e7593ef48e693a16c2a8e97cefafb26aa4e5134c182b961587eac8e3b48a05fb54c287dffd0446458b9d78a479bef57e9d55be7636c9d74a3c8
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ fastlane add_plugin google_drive
|
|
19
19
|
> Please refer to [this guide](https://github.com/gimite/google-drive-ruby/blob/master/doc/authorization.md) to create an Google Drive credential.
|
20
20
|
|
21
21
|
Upload files to Google Drive folder.
|
22
|
-
> Aliases for this action - `google_drive_upload` and `upload_google_drive` will be
|
22
|
+
> Aliases for this action - `google_drive_upload` and `upload_google_drive` will be removed in next version.
|
23
23
|
|
24
24
|
```ruby
|
25
25
|
upload_to_google_drive(
|
@@ -30,7 +30,7 @@ upload_to_google_drive(
|
|
30
30
|
)
|
31
31
|
```
|
32
32
|
|
33
|
-
Create new Google Drive folder
|
33
|
+
Create new Google Drive folder:
|
34
34
|
|
35
35
|
```ruby
|
36
36
|
create_google_drive_folder(
|
@@ -40,6 +40,16 @@ create_google_drive_folder(
|
|
40
40
|
)
|
41
41
|
```
|
42
42
|
|
43
|
+
Update the content of existing Google Drive file:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
update_google_drive_file(
|
47
|
+
drive_keyfile: 'drive_key.json',
|
48
|
+
file_id: 'file_id',
|
49
|
+
upload_file: 'path/to/file.txt'
|
50
|
+
)
|
51
|
+
```
|
52
|
+
|
43
53
|
Download feature is not implemented yet. PR is always welcome.
|
44
54
|
|
45
55
|
## Example
|
@@ -67,7 +67,7 @@ module Fastlane
|
|
67
67
|
optional: false,
|
68
68
|
type: String,
|
69
69
|
verify_block: proc do |value|
|
70
|
-
UI.user_error!("No target
|
70
|
+
UI.user_error!("No target folder_id given, pass using `folder_id: 'some_id'`") unless value and !value.empty?
|
71
71
|
end),
|
72
72
|
FastlaneCore::ConfigItem.new(key: :folder_title,
|
73
73
|
env_name: "GDRIVE_FOLDER_NAME",
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require_relative '../helper/google_drive_helper'
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
module SharedValues
|
7
|
+
GDRIVE_UPDATED_FILE_NAME = :GDRIVE_UPDATED_FILE_NAME
|
8
|
+
GDRIVE_UPDATED_FILE_URL = :GDRIVE_UPDATED_FILE_URL
|
9
|
+
end
|
10
|
+
class UpdateGoogleDriveFileAction < Action
|
11
|
+
def self.run(params)
|
12
|
+
UI.message("Using config file: #{params[:drive_keyfile]}")
|
13
|
+
|
14
|
+
session = Helper::GoogleDriveHelper.setup(
|
15
|
+
keyfile: params[:drive_keyfile],
|
16
|
+
service_account: params[:service_account]
|
17
|
+
)
|
18
|
+
|
19
|
+
file = Helper::GoogleDriveHelper.file_by_id(
|
20
|
+
session: session, fid: params[:file_id]
|
21
|
+
)
|
22
|
+
|
23
|
+
upload_file = params[:upload_file]
|
24
|
+
UI.abort_with_message!("No file to upload") if upload_file.nil? or upload_file.empty?
|
25
|
+
|
26
|
+
UI.message('------------------')
|
27
|
+
UI.important("Uploading #{upload_file}")
|
28
|
+
Helper::GoogleDriveHelper.update_file(file: file, file_name: upload_file)
|
29
|
+
UI.success('Success')
|
30
|
+
UI.message('------------------')
|
31
|
+
|
32
|
+
Actions.lane_context[SharedValues::GDRIVE_UPDATED_FILE_NAME] = file.title
|
33
|
+
Actions.lane_context[SharedValues::GDRIVE_UPDATED_FILE_URL] = file.human_url
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.description
|
37
|
+
'Update a Google Drive file'
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.details
|
41
|
+
[
|
42
|
+
'Update a Google Drive file',
|
43
|
+
'See https://github.com/gimite/google-drive-ruby/blob/master/doc/authorization.md to get a keyfile'
|
44
|
+
].join("\n")
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.available_options
|
48
|
+
[
|
49
|
+
FastlaneCore::ConfigItem.new(key: :drive_keyfile,
|
50
|
+
env_name: 'GDRIVE_KEY_FILE',
|
51
|
+
description: 'Json config file',
|
52
|
+
type: String,
|
53
|
+
default_value: 'drive_key.json',
|
54
|
+
verify_block: proc do |value|
|
55
|
+
UI.user_error!("Couldn't find config keyfile at path '#{value}'") unless File.exist?(value)
|
56
|
+
end),
|
57
|
+
FastlaneCore::ConfigItem.new(key: :service_account,
|
58
|
+
env_name: 'GDRIVE_SERVICE_ACCOUNT',
|
59
|
+
description: 'Credential is service account',
|
60
|
+
optional: true,
|
61
|
+
is_string: false,
|
62
|
+
default_value: false),
|
63
|
+
FastlaneCore::ConfigItem.new(key: :file_id,
|
64
|
+
env_name: "GDRIVE_UPDATE_FILE_ID",
|
65
|
+
description: "Target file id to update the content",
|
66
|
+
optional: false,
|
67
|
+
type: String,
|
68
|
+
verify_block: proc do |value|
|
69
|
+
UI.user_error!("No target file id given, pass using `file_id: 'some_id'`") unless value and !value.empty?
|
70
|
+
end),
|
71
|
+
FastlaneCore::ConfigItem.new(key: :upload_file,
|
72
|
+
env_name: "GDRIVE_UPLOAD_FILE",
|
73
|
+
description: "Path to a file to be uploaded",
|
74
|
+
optional: false,
|
75
|
+
is_string: false,
|
76
|
+
verify_block: proc do |value|
|
77
|
+
UI.user_error!("No upload file is given, pass using `upload_file: 'some/path/a.txt'`") unless value and !value.empty?
|
78
|
+
UI.user_error!("Couldn't find upload file at path '#{value}'") unless File.exist?(value)
|
79
|
+
end)
|
80
|
+
]
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.output
|
84
|
+
[
|
85
|
+
['GDRIVE_UPDATED_FILE_NAME', 'The name of the uploaded file'],
|
86
|
+
['GDRIVE_UPDATED_FILE_URL', 'The link to the uploaded file']
|
87
|
+
]
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.return_value
|
91
|
+
# nothing
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.authors
|
95
|
+
['Bumsoo Kim (@bskim45)']
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.is_supported?(platform)
|
99
|
+
true
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -42,6 +42,18 @@ module Fastlane
|
|
42
42
|
UI.error(e.message)
|
43
43
|
UI.user_error!("Create '#{title}' failed")
|
44
44
|
end
|
45
|
+
|
46
|
+
def self.update_file(file: nil, file_name: nil)
|
47
|
+
raise "Not a Google Drive file" unless file.kind_of?(::GoogleDrive::File)
|
48
|
+
|
49
|
+
begin
|
50
|
+
file = file.update_from_file(file_name)
|
51
|
+
file
|
52
|
+
rescue Exception => e
|
53
|
+
UI.error(e.message)
|
54
|
+
UI.user_error!("Upload '#{file_name}' failed")
|
55
|
+
end
|
56
|
+
end
|
45
57
|
end
|
46
58
|
end
|
47
59
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-google_drive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bumsoo Kim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google_drive
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.5
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,23 @@ dependencies:
|
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.0.5
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: google-api-client
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.37.0
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.37.0
|
27
47
|
- !ruby/object:Gem::Dependency
|
28
48
|
name: pry
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,14 +162,14 @@ dependencies:
|
|
142
162
|
requirements:
|
143
163
|
- - ">="
|
144
164
|
- !ruby/object:Gem::Version
|
145
|
-
version: 2.
|
165
|
+
version: 2.140.0
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
149
169
|
requirements:
|
150
170
|
- - ">="
|
151
171
|
- !ruby/object:Gem::Version
|
152
|
-
version: 2.
|
172
|
+
version: 2.140.0
|
153
173
|
description:
|
154
174
|
email: bskim45@gmail.com
|
155
175
|
executables: []
|
@@ -161,6 +181,7 @@ files:
|
|
161
181
|
- lib/fastlane/plugin/google_drive.rb
|
162
182
|
- lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb
|
163
183
|
- lib/fastlane/plugin/google_drive/actions/google_drive_upload_action.rb
|
184
|
+
- lib/fastlane/plugin/google_drive/actions/update_google_drive_file_action.rb
|
164
185
|
- lib/fastlane/plugin/google_drive/actions/upload_google_drive_action.rb
|
165
186
|
- lib/fastlane/plugin/google_drive/actions/upload_to_google_drive_action.rb
|
166
187
|
- lib/fastlane/plugin/google_drive/helper/google_drive_helper.rb
|
@@ -184,8 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
184
205
|
- !ruby/object:Gem::Version
|
185
206
|
version: '0'
|
186
207
|
requirements: []
|
187
|
-
|
188
|
-
rubygems_version: 2.7.7
|
208
|
+
rubygems_version: 3.0.8
|
189
209
|
signing_key:
|
190
210
|
specification_version: 4
|
191
211
|
summary: Upload files to Google Drive
|