cocoapods-terra-bom 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/cocoapods-terra-bom/command/bom.rb +17 -0
- data/lib/cocoapods-terra-bom/command.rb +1 -0
- data/lib/cocoapods-terra-bom/gem_version.rb +3 -0
- data/lib/cocoapods-terra-bom/pod/bom.rb +56 -0
- data/lib/cocoapods-terra-bom/pod/pod.rb +23 -0
- data/lib/cocoapods-terra-bom.rb +1 -0
- data/lib/cocoapods_plugin.rb +2 -0
- metadata +78 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 17fdce4ad4e3176ea46eb7d7fbda33efdc0e5aba4ff6b420e4362178b05230d0
|
4
|
+
data.tar.gz: ed54712caeb12b105b3f61a6591e72db289457143f21acb5d1ff0541c4468f1f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 025757637db52c86668f080c65c6f428a24c0eae9978fe551f96798aa806e9fae75ac1359c61a25ae2926970d51ccac4291eece09947999c1cfcca6c3f7e4ebc
|
7
|
+
data.tar.gz: accfcbfa267810621b9537f4cb28307df5f44d5925ffab681c1b7e75f3f928c4e3a61d24a8413e10acb6b72ecac54dfc8d7587cf74db99b67659ea7a46b4766d
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Pod
|
2
|
+
class Command
|
3
|
+
class Bom < Command
|
4
|
+
self.summary = <<-SUMMARY
|
5
|
+
Syncs hooks between team members
|
6
|
+
SUMMARY
|
7
|
+
self.description = <<-DESC
|
8
|
+
CocoaPods plugins that syncs git-hooks placed in .git-hooks directory between team members
|
9
|
+
DESC
|
10
|
+
self.arguments = []
|
11
|
+
|
12
|
+
def run
|
13
|
+
puts 'Bom running'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'cocoapods-terra-bom/command/bom'
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
module Pod
|
5
|
+
class Command
|
6
|
+
module BomPodCommand
|
7
|
+
|
8
|
+
TERRA_SPECS_SOURCE_URL = "https://raw.githubusercontent.com/teko-vn/Specs-ios/master"
|
9
|
+
BOM_SPEC_NAME = "TerraBOM"
|
10
|
+
|
11
|
+
def self.get_version(name)
|
12
|
+
source_url = self.get_terra_bom_podspec_url
|
13
|
+
|
14
|
+
unless source_url.nil?
|
15
|
+
contents = open(source_url, 'Authorization' => 'Bearer ' + ENV['GITHUB_USER_TOKEN']) {|f| f.read }
|
16
|
+
|
17
|
+
lines = contents.split(/\n/)
|
18
|
+
matches = lines.select { |line| line[/dependency \'#{name}\'/i] }
|
19
|
+
if matches.length() > 0
|
20
|
+
substrings = matches[0].scan(/'(.*?)'/).flatten
|
21
|
+
if substrings.length() > 1
|
22
|
+
version = substrings[1]
|
23
|
+
version.gsub!(/'/, "")
|
24
|
+
version
|
25
|
+
else
|
26
|
+
nil
|
27
|
+
end
|
28
|
+
else
|
29
|
+
nil
|
30
|
+
end
|
31
|
+
else
|
32
|
+
nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.get_terra_bom_podspec_url
|
37
|
+
pod_file_content = open('Podfile') { |f| f.read }
|
38
|
+
lines = pod_file_content.split(/\n/)
|
39
|
+
matches = lines.select { |line| line[/TerraBomVersion/i] }
|
40
|
+
if matches.length() > 0
|
41
|
+
substrings = matches[0].split(/=/)
|
42
|
+
version = substrings[1]
|
43
|
+
version.strip!
|
44
|
+
version.gsub!(/'/, "")
|
45
|
+
TERRA_SPECS_SOURCE_URL + '/' + BOM_SPEC_NAME + '/' + version + '/' + BOM_SPEC_NAME + '.podspec'
|
46
|
+
else
|
47
|
+
nil
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.print(message)
|
52
|
+
UI.puts("#{BOM_SPEC_NAME.cyan} #{message}")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative 'bom'
|
2
|
+
|
3
|
+
module Pod
|
4
|
+
class Podfile
|
5
|
+
module DSL
|
6
|
+
alias_method :real_pod, :pod
|
7
|
+
|
8
|
+
def pod(name = nil, *requirements, &block)
|
9
|
+
if requirements.length() > 0
|
10
|
+
real_pod(name, *requirements, &block)
|
11
|
+
else
|
12
|
+
version = Pod::Command::BomPodCommand.get_version(name)
|
13
|
+
|
14
|
+
unless version.nil?
|
15
|
+
real_pod(name, version, &block)
|
16
|
+
else
|
17
|
+
real_pod(name, *requirements, &block)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'cocoapods-terra-bom/gem_version'
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cocoapods-terra-bom
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tung Nguyen
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-10-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: TerraBOM cocoapods plugin
|
42
|
+
email:
|
43
|
+
- tung.nx@teko.vn
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- lib/cocoapods-terra-bom.rb
|
49
|
+
- lib/cocoapods-terra-bom/command.rb
|
50
|
+
- lib/cocoapods-terra-bom/command/bom.rb
|
51
|
+
- lib/cocoapods-terra-bom/gem_version.rb
|
52
|
+
- lib/cocoapods-terra-bom/pod/bom.rb
|
53
|
+
- lib/cocoapods-terra-bom/pod/pod.rb
|
54
|
+
- lib/cocoapods_plugin.rb
|
55
|
+
homepage: https://github.com/teko-vn/Specs-ios
|
56
|
+
licenses:
|
57
|
+
- MIT
|
58
|
+
metadata: {}
|
59
|
+
post_install_message:
|
60
|
+
rdoc_options: []
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
requirements: []
|
74
|
+
rubygems_version: 3.0.3
|
75
|
+
signing_key:
|
76
|
+
specification_version: 4
|
77
|
+
summary: TerraBOM cocoapods plugin
|
78
|
+
test_files: []
|