fastlane-plugin-import_from_url 0.1.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2eac70ee1c368f97c08131a9df3a074c1ed573dc1096b1398bbbe88c45c4c6a0
|
4
|
+
data.tar.gz: de8e31fc344683f7ae55156af2fe8768ee7cd47a83c9ec9b51d1fffaccdbad47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53fb8b0838d9638d2d71adad05289c09871a6160b01274be3ef1d989cdee2a088b9768b01323f3f3197fcfb48584dc55707c01ecabe6081e55cf3997f60d8c13
|
7
|
+
data.tar.gz: 985e1260f38f3558bad6ada1250e2bc582f6cf00e43bb7c51b304fdf8681b26ddc3cb9be07aa6b1ac4c1f2070ddfcb14cdf5b46077959dce8ad18be10dabdbce
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# import_from_url plugin
|
2
2
|
|
3
3
|
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-import_from_url)
|
4
|
-
[![
|
5
|
-
[![
|
4
|
+
[![Github Actions](https://github.com/dorukkangal/fastlane-plugin-import_from_url/workflows/build/badge.svg)](https://github.com/dorukkangal/fastlane-plugin-import_from_url/actions)
|
5
|
+
[![CircleCi](https://circleci.com/gh/circleci/circleci-docs.svg?style=shield)](https://app.circleci.com/pipelines/github/dorukkangal/fastlane-plugin-import_from_url/)
|
6
|
+
[![Travis](https://travis-ci.com/dorukkangal/fastlane-plugin-import_from_url.svg?branch=master)](https://travis-ci.com/dorukkangal/fastlane-plugin-import_from_url)
|
6
7
|
|
7
8
|
## Getting Started
|
8
9
|
|
@@ -1,113 +1,116 @@
|
|
1
1
|
require 'fastlane/action'
|
2
|
-
require_relative '../helper/import_from_url_helper'
|
3
2
|
require 'uri'
|
4
3
|
require 'open-uri'
|
5
4
|
require 'fileutils'
|
5
|
+
require_relative '../helper/import_from_url_helper'
|
6
6
|
|
7
7
|
module Fastlane
|
8
8
|
module Actions
|
9
9
|
class ImportFromUrlAction < Action
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
attr_reader :url_address, :download_path, :file_name, :file_path
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def run(params)
|
14
|
+
new(params).import
|
15
|
+
end
|
16
|
+
|
17
|
+
def available_options
|
18
|
+
[
|
19
|
+
FastlaneCore::ConfigItem.new(
|
20
|
+
key: :url,
|
21
|
+
env_name: "IMPORT_FROM_URL",
|
22
|
+
description: "The url address of the Fastfile to use its lanes",
|
23
|
+
optional: false,
|
24
|
+
type: String
|
25
|
+
),
|
26
|
+
|
27
|
+
FastlaneCore::ConfigItem.new(
|
28
|
+
key: :file_name,
|
29
|
+
env_name: "IMPORT_FROM_FILE_NAME",
|
30
|
+
description: "The name of the file to be downloaded",
|
31
|
+
optional: true,
|
32
|
+
type: String
|
33
|
+
),
|
34
|
+
|
35
|
+
FastlaneCore::ConfigItem.new(
|
36
|
+
key: :path,
|
37
|
+
env_name: "IMPORT_FROM_FILE_NAME",
|
38
|
+
description: "The path of the file to be downloaded",
|
39
|
+
optional: true,
|
40
|
+
type: String
|
41
|
+
)
|
42
|
+
]
|
43
|
+
end
|
44
|
+
|
45
|
+
def authors
|
46
|
+
["Doruk Kangal"]
|
47
|
+
end
|
48
|
+
|
49
|
+
def description
|
50
|
+
"Import another Fastfile from given url to use its lanes"
|
51
|
+
end
|
52
|
+
|
53
|
+
def details
|
54
|
+
"This is useful if you have shared lanes across multiple apps and you want to store a Fastfile in a url"
|
55
|
+
end
|
56
|
+
|
57
|
+
def example_code
|
58
|
+
"import_from_url(
|
59
|
+
url: '<the url of the Fastfile to be downloaded>', # Required and cannot be empty,
|
60
|
+
path: '<the path of the Fastfile to be downloaded>', # Optional and default is fastlane/.cache
|
61
|
+
file_name: '<the name of the Fastfile to be downloaded>' # Optional and default is DownloadedFastfile
|
62
|
+
)"
|
21
63
|
end
|
22
64
|
end
|
23
65
|
|
24
|
-
def
|
66
|
+
def initialize(params)
|
67
|
+
@url_address = params[:url]
|
68
|
+
@download_path = params[:path]
|
69
|
+
@file_name = params[:file_name]
|
70
|
+
end
|
71
|
+
|
72
|
+
def import
|
73
|
+
return UI.user_error!("The url address #{url_address} is not valid.") unless url_valid?
|
74
|
+
|
75
|
+
download_fast_file
|
76
|
+
import_to_fastlane
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
|
81
|
+
def import_to_fastlane
|
82
|
+
Fastlane::FastFile.new.import(file_path)
|
83
|
+
end
|
84
|
+
|
85
|
+
def download_fast_file
|
25
86
|
puts("Downloading from #{url_address}")
|
26
87
|
|
27
|
-
download_path
|
28
|
-
file_name
|
88
|
+
download_path ||= 'fastlane/.cache'
|
89
|
+
file_name ||= 'DownloadedFastfile'
|
29
90
|
|
30
91
|
Dir.mkdir(download_path) unless Dir.exist?(download_path)
|
31
92
|
download_dir = Dir.open(download_path)
|
32
|
-
file_path = File.join(Dir.pwd, download_dir.path, file_name)
|
93
|
+
@file_path = File.join(Dir.pwd, download_dir.path, file_name)
|
33
94
|
|
34
95
|
begin
|
35
96
|
download = open(url_address)
|
36
97
|
IO.copy_stream(download, file_path)
|
37
|
-
file_path
|
38
98
|
rescue => err
|
39
99
|
UI.user_error!("An exception occurred while downloading Fastfile from #{url_address} -> #{err}")
|
40
100
|
err
|
41
101
|
end
|
42
102
|
end
|
43
103
|
|
44
|
-
def
|
45
|
-
if
|
46
|
-
false
|
47
|
-
end
|
104
|
+
def url_valid?
|
105
|
+
return false if url_address.nil?
|
48
106
|
|
49
107
|
begin
|
50
|
-
uri = URI.parse(
|
108
|
+
uri = URI.parse(url_address)
|
51
109
|
uri.host && uri.kind_of?(URI::HTTP)
|
52
110
|
rescue URI::InvalidURIError
|
53
111
|
false
|
54
112
|
end
|
55
113
|
end
|
56
|
-
|
57
|
-
def self.available_options
|
58
|
-
[
|
59
|
-
FastlaneCore::ConfigItem.new(key: :url,
|
60
|
-
env_name: "IMPORT_FROM_URL",
|
61
|
-
description: "The url address of the Fastfile to use its lanes",
|
62
|
-
optional: false,
|
63
|
-
type: String),
|
64
|
-
|
65
|
-
FastlaneCore::ConfigItem.new(key: :file_name,
|
66
|
-
env_name: "IMPORT_FROM_FILE_NAME",
|
67
|
-
description: "The name of the file to be downloaded",
|
68
|
-
optional: true,
|
69
|
-
type: String),
|
70
|
-
|
71
|
-
FastlaneCore::ConfigItem.new(key: :path,
|
72
|
-
env_name: "IMPORT_FROM_FILE_NAME",
|
73
|
-
description: "The path of the file to be downloaded",
|
74
|
-
optional: true,
|
75
|
-
type: String)
|
76
|
-
]
|
77
|
-
end
|
78
|
-
|
79
|
-
def self.description
|
80
|
-
"Import another Fastfile from given url to use its lanes"
|
81
|
-
end
|
82
|
-
|
83
|
-
def self.authors
|
84
|
-
["Doruk Kangal"]
|
85
|
-
end
|
86
|
-
|
87
|
-
def self.return_value
|
88
|
-
# If your method provides a return value, you can describe here what it does
|
89
|
-
end
|
90
|
-
|
91
|
-
def self.details
|
92
|
-
# Optional:
|
93
|
-
"This is useful if you have shared lanes across multiple apps and you want to store a Fastfile in a url"
|
94
|
-
end
|
95
|
-
|
96
|
-
def self.is_supported?(platform)
|
97
|
-
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
98
|
-
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
99
|
-
#
|
100
|
-
# [:ios, :mac, :android].include?(platform)
|
101
|
-
true
|
102
|
-
end
|
103
|
-
|
104
|
-
def self.example_code
|
105
|
-
"import_from_url(
|
106
|
-
url: '<the url of the Fastfile to be downloaded>', # Required and cannot be empty,
|
107
|
-
path: '<the path of the Fastfile to be downloaded>', # Optional and default is fastlane/.cache
|
108
|
-
file_name: '<the name of the Fastfile to be downloaded>' # Optional and default is DownloadedFastfile
|
109
|
-
)"
|
110
|
-
end
|
111
114
|
end
|
112
115
|
end
|
113
116
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-import_from_url
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doruk Kangal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|