cocoapods-trunk 1.3.1 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +64 -0
- data/CHANGELOG.md +52 -0
- data/Gemfile.lock +67 -48
- data/README.md +2 -3
- data/lib/cocoapods_trunk.rb +1 -1
- data/lib/pod/command/trunk/push.rb +23 -11
- data/spec/command/trunk/delete_spec.rb +5 -4
- data/spec/command/trunk/push_spec.rb +60 -14
- data/spec/spec_helper.rb +1 -1
- metadata +8 -9
- data/.travis.yml +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b3bc8b97075a3ccef4bf732006d05ee7a3c17fa6f4b8ed5c7b3cf585091caac
|
4
|
+
data.tar.gz: 2265b69fcca3c4868631be9cdaae6259aaade1ff184c54bb39fb96de0b5453c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a35ddecad29e7e99c6efd3f6171471d16824fdbcf3b2fe81faa99fd0f3266271a2cb57223d0e49c67db1367992576cc7ea5ca7d7ef3f3c95a4c5f551c6d0a2b2
|
7
|
+
data.tar.gz: 349a6a173998300f3141c6c2024c5dbe618d992e94c2558f0f8e719bd16a9c64e4e69d3e22c854e69a07ab3855917c8633bef50a8d3a89988b502f0363ba5a33
|
@@ -0,0 +1,64 @@
|
|
1
|
+
name: Specs
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
specs:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
task: [SPECS]
|
9
|
+
ruby: [2.6, 2.7]
|
10
|
+
os: [ubuntu-16.04]
|
11
|
+
include:
|
12
|
+
- task: SPECS
|
13
|
+
os: macos-10.15
|
14
|
+
ruby: system
|
15
|
+
|
16
|
+
name: ${{ matrix.task }} / ${{ matrix.os }} / Ruby ${{ matrix.ruby }}
|
17
|
+
runs-on: ${{ matrix.os }}
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- name: Set build image var
|
21
|
+
run: echo "ImageVersion=$ImageVersion" >> $GITHUB_ENV
|
22
|
+
|
23
|
+
- name: Checkout git
|
24
|
+
uses: actions/checkout@v1
|
25
|
+
|
26
|
+
- name: Set up Ruby
|
27
|
+
uses: ruby/setup-ruby@v1
|
28
|
+
if: ${{ matrix.ruby != 'system' }}
|
29
|
+
with:
|
30
|
+
ruby-version: ${{ matrix.ruby }}
|
31
|
+
|
32
|
+
- name: Update git submodules
|
33
|
+
run: git submodule update --init
|
34
|
+
|
35
|
+
- uses: actions/cache@v2
|
36
|
+
with:
|
37
|
+
path: vendor/bundle
|
38
|
+
key: gems@v1-${{ matrix.os }}-${{ env.ImageVersion }}-Ruby${{ matrix.ruby }}-${{ hashFiles('Gemfile.lock') }}
|
39
|
+
restore-keys: |
|
40
|
+
gems@v1-${{ matrix.os }}-${{ env.ImageVersion }}-Ruby${{ matrix.ruby }}-
|
41
|
+
- name: Run bundle install
|
42
|
+
run: |
|
43
|
+
gem install bundler -v "~> 1.17"
|
44
|
+
bundle config path vendor/bundle
|
45
|
+
bundle install --jobs 4 --retry 3 --without debugging documentation
|
46
|
+
- name: Set up git identity
|
47
|
+
run: |
|
48
|
+
git config --global user.email "tests@cocoapods.org"
|
49
|
+
git config --global user.name "CocoaPods Tests"
|
50
|
+
|
51
|
+
- name: Run Tests
|
52
|
+
run: bundle exec rake spec
|
53
|
+
env:
|
54
|
+
COCOAPODS_CI_TASKS: ${{ matrix.task }}
|
55
|
+
|
56
|
+
on:
|
57
|
+
push:
|
58
|
+
branches:
|
59
|
+
- "master"
|
60
|
+
- "*-stable"
|
61
|
+
pull_request:
|
62
|
+
branches:
|
63
|
+
- master
|
64
|
+
- "*-stable"
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,55 @@
|
|
1
|
+
## 1.6.0 (2021-09-01)
|
2
|
+
|
3
|
+
##### Enhancements
|
4
|
+
|
5
|
+
* None.
|
6
|
+
|
7
|
+
##### Bug Fixes
|
8
|
+
|
9
|
+
* None.
|
10
|
+
|
11
|
+
|
12
|
+
## 1.5.0 (2020-05-01)
|
13
|
+
|
14
|
+
##### Enhancements
|
15
|
+
|
16
|
+
* Add --synchronous option to `pod trunk push`.
|
17
|
+
[Paul Beusterien](https://github.com/paulb777)
|
18
|
+
[#147](https://github.com/CocoaPods/cocoapods-trunk/pull/147)
|
19
|
+
[CocoaPods#9497](https://github.com/CocoaPods/CocoaPods/issues/9497)
|
20
|
+
|
21
|
+
##### Bug Fixes
|
22
|
+
|
23
|
+
* None.
|
24
|
+
|
25
|
+
|
26
|
+
## 1.4.1 (2019-09-26)
|
27
|
+
|
28
|
+
##### Enhancements
|
29
|
+
|
30
|
+
* None.
|
31
|
+
|
32
|
+
##### Bug Fixes
|
33
|
+
|
34
|
+
* Use a more robust `Trunk` init when pushing.
|
35
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
36
|
+
[#135](https://github.com/CocoaPods/cocoapods-trunk/pull/135)
|
37
|
+
|
38
|
+
|
39
|
+
## 1.4.0 (2019-08-21)
|
40
|
+
|
41
|
+
##### Enhancements
|
42
|
+
|
43
|
+
* None.
|
44
|
+
|
45
|
+
##### Bug Fixes
|
46
|
+
|
47
|
+
* Update to get the master spec repo from `Source::Manager` for validation - effectively
|
48
|
+
use the new CDN `TrunkSource` for podspec validation and not a hard-coded URL
|
49
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
50
|
+
[#132](https://github.com/CocoaPods/cocoapods-trunk/pull/132)
|
51
|
+
[CocoaPods#9112](https://github.com/CocoaPods/CocoaPods/issues/9112)
|
52
|
+
|
1
53
|
## 1.3.1 (2018-08-16)
|
2
54
|
|
3
55
|
##### Enhancements
|
data/Gemfile.lock
CHANGED
@@ -1,44 +1,49 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/CocoaPods/CLAide.git
|
3
|
-
revision:
|
3
|
+
revision: a5d1a29b08ca88f90f47104805bc4fad2efc93c9
|
4
4
|
branch: master
|
5
5
|
specs:
|
6
|
-
claide (1.0.
|
6
|
+
claide (1.0.3)
|
7
7
|
|
8
8
|
GIT
|
9
9
|
remote: https://github.com/CocoaPods/CocoaPods.git
|
10
|
-
revision:
|
10
|
+
revision: 035518e56945778e9916d8118ea5e61ecb96beb0
|
11
11
|
branch: master
|
12
12
|
specs:
|
13
|
-
cocoapods (1.
|
14
|
-
|
13
|
+
cocoapods (1.11.0)
|
14
|
+
addressable (~> 2.8)
|
15
15
|
claide (>= 1.0.2, < 2.0)
|
16
|
-
cocoapods-core (= 1.
|
17
|
-
cocoapods-deintegrate (>= 1.0.
|
18
|
-
cocoapods-downloader (>= 1.
|
16
|
+
cocoapods-core (= 1.11.0)
|
17
|
+
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
18
|
+
cocoapods-downloader (>= 1.4.0, < 2.0)
|
19
19
|
cocoapods-plugins (>= 1.0.0, < 2.0)
|
20
20
|
cocoapods-search (>= 1.0.0, < 2.0)
|
21
|
-
cocoapods-
|
22
|
-
cocoapods-trunk (= 1.3.1)
|
21
|
+
cocoapods-trunk (= 1.6.0)
|
23
22
|
cocoapods-try (>= 1.1.0, < 2.0)
|
24
23
|
colored2 (~> 3.1)
|
25
24
|
escape (~> 0.0.4)
|
26
|
-
fourflusher (
|
25
|
+
fourflusher (>= 2.3.0, < 3.0)
|
27
26
|
gh_inspector (~> 1.0)
|
28
|
-
molinillo (~> 0.
|
27
|
+
molinillo (~> 0.8.0)
|
29
28
|
nap (~> 1.0)
|
30
|
-
ruby-macho (
|
31
|
-
xcodeproj (>= 1.
|
29
|
+
ruby-macho (>= 1.0, < 3.0)
|
30
|
+
xcodeproj (>= 1.21.0, < 2.0)
|
32
31
|
|
33
32
|
GIT
|
34
33
|
remote: https://github.com/CocoaPods/Core.git
|
35
|
-
revision:
|
34
|
+
revision: a8e38de9907968d6e627b1465f053c55fc778118
|
36
35
|
branch: master
|
37
36
|
specs:
|
38
|
-
cocoapods-core (1.
|
39
|
-
activesupport (>=
|
37
|
+
cocoapods-core (1.11.0)
|
38
|
+
activesupport (>= 5.0, < 7)
|
39
|
+
addressable (~> 2.8)
|
40
|
+
algoliasearch (~> 1.0)
|
41
|
+
concurrent-ruby (~> 1.1)
|
40
42
|
fuzzy_match (~> 2.0.4)
|
41
43
|
nap (~> 1.0)
|
44
|
+
netrc (~> 0.11)
|
45
|
+
public_suffix (~> 4.0)
|
46
|
+
typhoeus (~> 1.0)
|
42
47
|
|
43
48
|
GIT
|
44
49
|
remote: https://github.com/segiddins/json.git
|
@@ -50,43 +55,52 @@ GIT
|
|
50
55
|
PATH
|
51
56
|
remote: .
|
52
57
|
specs:
|
53
|
-
cocoapods-trunk (1.
|
58
|
+
cocoapods-trunk (1.6.0)
|
54
59
|
nap (>= 0.8, < 2.0)
|
55
60
|
netrc (~> 0.11)
|
56
61
|
|
57
62
|
GEM
|
58
63
|
remote: https://rubygems.org/
|
59
64
|
specs:
|
60
|
-
CFPropertyList (
|
61
|
-
activesupport (4.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
tzinfo (~>
|
66
|
-
|
67
|
-
|
65
|
+
CFPropertyList (3.0.3)
|
66
|
+
activesupport (6.1.4.1)
|
67
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
68
|
+
i18n (>= 1.6, < 2)
|
69
|
+
minitest (>= 5.1)
|
70
|
+
tzinfo (~> 2.0)
|
71
|
+
zeitwerk (~> 2.3)
|
72
|
+
addressable (2.8.0)
|
73
|
+
public_suffix (>= 2.0.2, < 5.0)
|
74
|
+
algoliasearch (1.27.5)
|
75
|
+
httpclient (~> 2.8, >= 2.8.3)
|
76
|
+
json (>= 1.5.1)
|
68
77
|
ast (2.2.0)
|
78
|
+
atomos (0.1.3)
|
69
79
|
bacon (1.2.0)
|
70
|
-
cocoapods-deintegrate (1.0.
|
71
|
-
cocoapods-downloader (1.
|
80
|
+
cocoapods-deintegrate (1.0.5)
|
81
|
+
cocoapods-downloader (1.5.0)
|
72
82
|
cocoapods-plugins (1.0.0)
|
73
83
|
nap
|
74
|
-
cocoapods-search (1.0.
|
75
|
-
cocoapods-
|
76
|
-
cocoapods-try (1.1.0)
|
84
|
+
cocoapods-search (1.0.1)
|
85
|
+
cocoapods-try (1.2.0)
|
77
86
|
codeclimate-test-reporter (0.4.7)
|
78
87
|
simplecov (>= 0.7.1, < 1.0.0)
|
79
88
|
colored2 (3.1.2)
|
89
|
+
concurrent-ruby (1.1.9)
|
80
90
|
crack (0.4.3)
|
81
91
|
safe_yaml (~> 1.0.0)
|
82
92
|
docile (1.1.5)
|
83
93
|
escape (0.0.4)
|
84
|
-
|
85
|
-
|
94
|
+
ethon (0.14.0)
|
95
|
+
ffi (>= 1.15.0)
|
96
|
+
ffi (1.15.3)
|
97
|
+
fourflusher (2.3.1)
|
86
98
|
fuzzy_match (2.0.4)
|
87
|
-
gh_inspector (1.
|
99
|
+
gh_inspector (1.1.3)
|
88
100
|
hashdiff (0.3.4)
|
89
|
-
|
101
|
+
httpclient (2.8.3)
|
102
|
+
i18n (1.8.10)
|
103
|
+
concurrent-ruby (~> 1.0)
|
90
104
|
kicker (3.0.0)
|
91
105
|
listen (~> 1.3.0)
|
92
106
|
notify (~> 0.5.2)
|
@@ -95,14 +109,14 @@ GEM
|
|
95
109
|
rb-inotify (>= 0.9)
|
96
110
|
rb-kqueue (>= 0.2)
|
97
111
|
metaclass (0.0.4)
|
98
|
-
minitest (5.
|
112
|
+
minitest (5.14.4)
|
99
113
|
mocha (1.1.0)
|
100
114
|
metaclass (~> 0.0.1)
|
101
115
|
mocha-on-bacon (0.2.2)
|
102
116
|
mocha (>= 0.13.0)
|
103
|
-
molinillo (0.
|
117
|
+
molinillo (0.8.0)
|
104
118
|
multi_json (1.11.2)
|
105
|
-
nanaimo (0.
|
119
|
+
nanaimo (0.3.0)
|
106
120
|
nap (1.1.0)
|
107
121
|
netrc (0.11.0)
|
108
122
|
notify (0.5.2)
|
@@ -111,7 +125,7 @@ GEM
|
|
111
125
|
powerpack (0.1.1)
|
112
126
|
prettybacon (0.0.2)
|
113
127
|
bacon (~> 1.2)
|
114
|
-
public_suffix (
|
128
|
+
public_suffix (4.0.6)
|
115
129
|
rainbow (2.1.0)
|
116
130
|
rake (10.4.2)
|
117
131
|
rb-fsevent (0.9.5)
|
@@ -119,13 +133,14 @@ GEM
|
|
119
133
|
ffi (>= 0.5.0)
|
120
134
|
rb-kqueue (0.2.4)
|
121
135
|
ffi (>= 0.5.0)
|
136
|
+
rexml (3.2.5)
|
122
137
|
rubocop (0.39.0)
|
123
138
|
parser (>= 2.3.0.7, < 3.0)
|
124
139
|
powerpack (~> 0.1)
|
125
140
|
rainbow (>= 1.99.1, < 3.0)
|
126
141
|
ruby-progressbar (~> 1.7)
|
127
142
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
128
|
-
ruby-macho (
|
143
|
+
ruby-macho (2.5.1)
|
129
144
|
ruby-progressbar (1.7.5)
|
130
145
|
safe_yaml (1.0.4)
|
131
146
|
simplecov (0.9.2)
|
@@ -133,19 +148,23 @@ GEM
|
|
133
148
|
multi_json (~> 1.0)
|
134
149
|
simplecov-html (~> 0.9.0)
|
135
150
|
simplecov-html (0.9.0)
|
136
|
-
|
137
|
-
|
138
|
-
|
151
|
+
typhoeus (1.4.0)
|
152
|
+
ethon (>= 0.9.0)
|
153
|
+
tzinfo (2.0.4)
|
154
|
+
concurrent-ruby (~> 1.0)
|
139
155
|
unicode-display_width (1.0.3)
|
140
|
-
webmock (3.
|
156
|
+
webmock (3.5.1)
|
141
157
|
addressable (>= 2.3.6)
|
142
158
|
crack (>= 0.3.2)
|
143
159
|
hashdiff
|
144
|
-
xcodeproj (1.
|
145
|
-
CFPropertyList (
|
160
|
+
xcodeproj (1.21.0)
|
161
|
+
CFPropertyList (>= 2.3.3, < 4.0)
|
162
|
+
atomos (~> 0.1.3)
|
146
163
|
claide (>= 1.0.2, < 2.0)
|
147
164
|
colored2 (~> 3.1)
|
148
|
-
nanaimo (~> 0.
|
165
|
+
nanaimo (~> 0.3.0)
|
166
|
+
rexml (~> 3.2.4)
|
167
|
+
zeitwerk (2.4.2)
|
149
168
|
|
150
169
|
PLATFORMS
|
151
170
|
ruby
|
@@ -168,4 +187,4 @@ DEPENDENCIES
|
|
168
187
|
webmock
|
169
188
|
|
170
189
|
BUNDLED WITH
|
171
|
-
1.
|
190
|
+
1.17.3
|
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# CocoaPods::Trunk
|
2
2
|
|
3
|
-
[![Build Status](https://img.shields.io/
|
4
|
-
[![
|
5
|
-
[![Code Climate](https://img.shields.io/codeclimate/github/CocoaPods/cocoapods-trunk.svg?style=flat)](https://codeclimate.com/github/CocoaPods/cocoapods-trunk)
|
3
|
+
[![Build Status](https://img.shields.io/github/workflow/status/CocoaPods/cocoapods-trunk/Specs)](https://github.com/CocoaPods/cocoapods-trunk/actions)
|
4
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/157b8b7f7b73976f3edf/maintainability)](https://codeclimate.com/github/CocoaPods/cocoapods-trunk/maintainability)
|
6
5
|
|
7
6
|
CocoaPods plugin for trunk.
|
8
7
|
|
data/lib/cocoapods_trunk.rb
CHANGED
@@ -7,7 +7,7 @@ module Pod
|
|
7
7
|
self.summary = 'Publish a podspec'
|
8
8
|
self.description = <<-DESC
|
9
9
|
Publish the podspec at `PATH` to make it available to all users of
|
10
|
-
the ‘
|
10
|
+
the ‘trunk’ spec-repo. If `PATH` is not provided, defaults to the
|
11
11
|
current directory.
|
12
12
|
|
13
13
|
Before pushing the podspec to cocoapods.org, this will perform a local
|
@@ -36,6 +36,7 @@ module Pod
|
|
36
36
|
'This takes precedence over a .swift-version file.'],
|
37
37
|
['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
|
38
38
|
['--skip-tests', 'Lint skips building and running tests during validation'],
|
39
|
+
['--synchronous', 'If validation depends on other recently pushed pods, synchronize'],
|
39
40
|
].concat(super)
|
40
41
|
end
|
41
42
|
|
@@ -47,6 +48,7 @@ module Pod
|
|
47
48
|
@skip_import_validation = argv.flag?('skip-import-validation', false)
|
48
49
|
@skip_tests = argv.flag?('skip-tests', false)
|
49
50
|
@path = argv.shift_argument || '.'
|
51
|
+
@synchronous = argv.flag?('synchronous', false)
|
50
52
|
find_podspec_file if File.directory?(@path)
|
51
53
|
super
|
52
54
|
end
|
@@ -54,7 +56,7 @@ module Pod
|
|
54
56
|
def validate!
|
55
57
|
super
|
56
58
|
unless token
|
57
|
-
help! 'You need to register a session first.'
|
59
|
+
help! 'You need to run `pod trunk register` to register a session first.'
|
58
60
|
end
|
59
61
|
unless @path
|
60
62
|
help! 'Please specify the path to the podspec file.'
|
@@ -80,6 +82,8 @@ module Pod
|
|
80
82
|
|
81
83
|
private
|
82
84
|
|
85
|
+
MASTER_GIT_REPO_URL = 'https://github.com/CocoaPods/Specs.git'.freeze
|
86
|
+
|
83
87
|
def push_to_trunk
|
84
88
|
spec.attributes_hash[:pushed_with_swift_version] = @swift_version if @swift_version
|
85
89
|
response = request_path(:post, "pods?allow_warnings=#{@allow_warnings}",
|
@@ -118,7 +122,7 @@ module Pod
|
|
118
122
|
def validate_podspec
|
119
123
|
UI.puts 'Validating podspec'.yellow
|
120
124
|
|
121
|
-
validator = Validator.new(spec,
|
125
|
+
validator = Validator.new(spec, [repo_url])
|
122
126
|
validator.allow_warnings = @allow_warnings
|
123
127
|
validator.use_frameworks = @use_frameworks
|
124
128
|
if validator.respond_to?(:use_modular_headers=)
|
@@ -139,16 +143,24 @@ module Pod
|
|
139
143
|
@swift_version = validator.respond_to?(:used_swift_version) && validator.used_swift_version
|
140
144
|
end
|
141
145
|
|
146
|
+
def repo_url
|
147
|
+
@synchronous ? MASTER_GIT_REPO_URL : Pod::TrunkSource::TRUNK_REPO_URL
|
148
|
+
end
|
149
|
+
|
142
150
|
def update_master_repo
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
151
|
+
# more robust Trunk setup logic:
|
152
|
+
# - if Trunk exists, updates it
|
153
|
+
# - if Trunk doesn't exist, add it and update it
|
154
|
+
#
|
155
|
+
repo = sources_manager.find_or_create_source_with_url(repo_url)
|
156
|
+
sources_manager.update(repo.name)
|
157
|
+
end
|
158
|
+
|
159
|
+
def sources_manager
|
160
|
+
if defined?(Pod::SourcesManager)
|
161
|
+
Pod::SourcesManager
|
150
162
|
else
|
151
|
-
|
163
|
+
config.sources_manager
|
152
164
|
end
|
153
165
|
end
|
154
166
|
end
|
@@ -20,20 +20,21 @@ module Pod
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'confirms deletion' do
|
23
|
+
Colored2.disable!
|
23
24
|
UI.inputs += %w(garbage true false)
|
24
25
|
command = Command.parse(%w( trunk delete Stencil 1.0.0 ))
|
25
26
|
command.send(:confirm_deletion?).should.be.true
|
26
27
|
command.send(:confirm_deletion?).should.be.false
|
27
28
|
|
28
29
|
UI.output.should == <<-OUTPUT.gsub(/^>$/, '> ')
|
29
|
-
|
30
|
-
Please consider using the `deprecate` command instead
|
30
|
+
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
|
31
|
+
Please consider using the `deprecate` command instead.
|
31
32
|
Are you sure you want to delete this Pod version?
|
32
33
|
>
|
33
34
|
Are you sure you want to delete this Pod version?
|
34
35
|
>
|
35
|
-
|
36
|
-
Please consider using the `deprecate` command instead
|
36
|
+
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
|
37
|
+
Please consider using the `deprecate` command instead.
|
37
38
|
Are you sure you want to delete this Pod version?
|
38
39
|
>
|
39
40
|
OUTPUT
|
@@ -104,6 +104,7 @@ module Pod
|
|
104
104
|
describe 'validation' do
|
105
105
|
before do
|
106
106
|
Installer.any_instance.stubs(:aggregate_targets).returns([])
|
107
|
+
Installer.any_instance.stubs(:pod_targets).returns([])
|
107
108
|
|
108
109
|
Validator.any_instance.stubs(:check_file_patterns)
|
109
110
|
Validator.any_instance.stubs(:validate_url)
|
@@ -113,9 +114,11 @@ module Pod
|
|
113
114
|
Validator.any_instance.stubs(:build_pod)
|
114
115
|
Validator.any_instance.stubs(:add_app_project_import)
|
115
116
|
Validator.any_instance.stubs(:used_swift_version).returns(nil)
|
116
|
-
%i(prepare resolve_dependencies download_dependencies).each do |m|
|
117
|
+
%i(prepare resolve_dependencies download_dependencies write_lockfiles).each do |m|
|
117
118
|
Installer.any_instance.stubs(m)
|
118
119
|
end
|
120
|
+
Command::Trunk::Push.any_instance.stubs(:master_repo_url).
|
121
|
+
returns(Pod::TrunkSource::TRUNK_REPO_URL)
|
119
122
|
end
|
120
123
|
|
121
124
|
it 'passes the SWIFT_VERSION to the Validator' do
|
@@ -136,13 +139,13 @@ module Pod
|
|
136
139
|
|
137
140
|
it 'validates specs as frameworks by default' do
|
138
141
|
Validator.any_instance.expects(:podfile_from_spec).
|
139
|
-
with(:ios, '8.0', true, []).once.returns(Podfile.new)
|
142
|
+
with(:ios, '8.0', true, [], nil, nil).once.returns(Podfile.new)
|
140
143
|
Validator.any_instance.expects(:podfile_from_spec).
|
141
|
-
with(:osx, nil, true, []).once.returns(Podfile.new)
|
144
|
+
with(:osx, nil, true, [], nil, nil).once.returns(Podfile.new)
|
142
145
|
Validator.any_instance.expects(:podfile_from_spec).
|
143
|
-
with(:tvos, nil, true, []).once.returns(Podfile.new)
|
146
|
+
with(:tvos, nil, true, [], nil, nil).once.returns(Podfile.new)
|
144
147
|
Validator.any_instance.expects(:podfile_from_spec).
|
145
|
-
with(:watchos, nil, true, []).once.returns(Podfile.new)
|
148
|
+
with(:watchos, nil, true, [], nil, nil).once.returns(Podfile.new)
|
146
149
|
|
147
150
|
cmd = Command.parse(%w(trunk push spec/fixtures/BananaLib.podspec))
|
148
151
|
cmd.send(:validate_podspec)
|
@@ -150,13 +153,13 @@ module Pod
|
|
150
153
|
|
151
154
|
it 'validates specs as libraries if requested' do
|
152
155
|
Validator.any_instance.expects(:podfile_from_spec).
|
153
|
-
with(:ios, nil, false, []).once.returns(Podfile.new)
|
156
|
+
with(:ios, nil, false, [], nil, nil).once.returns(Podfile.new)
|
154
157
|
Validator.any_instance.expects(:podfile_from_spec).
|
155
|
-
with(:osx, nil, false, []).once.returns(Podfile.new)
|
158
|
+
with(:osx, nil, false, [], nil, nil).once.returns(Podfile.new)
|
156
159
|
Validator.any_instance.expects(:podfile_from_spec).
|
157
|
-
with(:tvos, nil, false, []).once.returns(Podfile.new)
|
160
|
+
with(:tvos, nil, false, [], nil, nil).once.returns(Podfile.new)
|
158
161
|
Validator.any_instance.expects(:podfile_from_spec).
|
159
|
-
with(:watchos, nil, false, []).once.returns(Podfile.new)
|
162
|
+
with(:watchos, nil, false, [], nil, nil).once.returns(Podfile.new)
|
160
163
|
|
161
164
|
cmd = Command.parse(%w(trunk push spec/fixtures/BananaLib.podspec --use-libraries))
|
162
165
|
cmd.send(:validate_podspec)
|
@@ -231,19 +234,62 @@ module Pod
|
|
231
234
|
@cmd.stubs(:validate_podspec)
|
232
235
|
@cmd.stubs(:push_to_trunk).returns([200, success_json])
|
233
236
|
Command::Trunk::Push.any_instance.unstub(:update_master_repo)
|
237
|
+
Command::Trunk::Push.any_instance.stubs(:master_repo_name).
|
238
|
+
returns(Pod::TrunkSource::TRUNK_REPO_NAME)
|
234
239
|
end
|
235
240
|
|
236
241
|
it 'updates the master repo when it exists' do
|
237
|
-
Config.instance.sources_manager.stubs(:
|
238
|
-
|
242
|
+
Config.instance.sources_manager.stubs(:source_with_url).
|
243
|
+
at_most(2).
|
244
|
+
returns(Pod::TrunkSource.new(Pod::TrunkSource::TRUNK_REPO_NAME))
|
245
|
+
|
246
|
+
Config.instance.sources_manager.expects(:update).with(Pod::TrunkSource::TRUNK_REPO_NAME).twice
|
247
|
+
Command::Repo::AddCDN.any_instance.expects(:run).never
|
239
248
|
|
240
249
|
@cmd.run
|
241
250
|
end
|
242
251
|
|
243
252
|
it 'sets up the master repo when it does not exist' do
|
244
|
-
Config.instance.sources_manager.stubs(:
|
245
|
-
|
246
|
-
|
253
|
+
Config.instance.sources_manager.stubs(:source_with_url).
|
254
|
+
at_most(3).
|
255
|
+
returns(nil).
|
256
|
+
returns(Pod::TrunkSource.new(Pod::TrunkSource::TRUNK_REPO_NAME))
|
257
|
+
Config.instance.sources_manager.expects(:update).with(Pod::TrunkSource::TRUNK_REPO_NAME).twice
|
258
|
+
Command::Repo::AddCDN.any_instance.expects(:run)
|
259
|
+
|
260
|
+
@cmd.run
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
describe 'synchronous updating the git repo' do
|
265
|
+
before do
|
266
|
+
@cmd = Command.parse(%w(trunk push spec/fixtures/BananaLib.podspec --synchronous))
|
267
|
+
@cmd.stubs(:validate_podspec)
|
268
|
+
@cmd.stubs(:push_to_trunk).returns([200, success_json])
|
269
|
+
Command::Trunk::Push.any_instance.unstub(:update_master_repo)
|
270
|
+
Command::Trunk::Push.any_instance.stubs(:master_repo_name).returns('master')
|
271
|
+
end
|
272
|
+
|
273
|
+
it 'updates the git repo when it exists' do
|
274
|
+
Config.instance.sources_manager.stubs(:source_with_url).
|
275
|
+
at_most(2).
|
276
|
+
returns(Pod::TrunkSource.new('master'))
|
277
|
+
|
278
|
+
Config.instance.sources_manager.expects(:update).with('master').twice
|
279
|
+
Command::Repo::AddCDN.any_instance.expects(:run).never
|
280
|
+
|
281
|
+
@cmd.run
|
282
|
+
end
|
283
|
+
|
284
|
+
it 'sets up the git repo when it does not exist' do
|
285
|
+
Config.instance.sources_manager.stubs(:source_with_url).
|
286
|
+
at_most(3).
|
287
|
+
returns(nil).
|
288
|
+
returns(Pod::TrunkSource.new('master'))
|
289
|
+
Config.instance.sources_manager.stubs(:cdn_url?).returns(false)
|
290
|
+
Config.instance.sources_manager.stubs(:create_source_with_url).once.
|
291
|
+
returns(Pod::TrunkSource.new('master'))
|
292
|
+
Config.instance.sources_manager.expects(:update).with('master').twice
|
247
293
|
|
248
294
|
@cmd.run
|
249
295
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-trunk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Durán
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nap
|
@@ -72,19 +72,19 @@ dependencies:
|
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '10.0'
|
75
|
-
description:
|
75
|
+
description:
|
76
76
|
email:
|
77
77
|
- eloy.de.enige@gmail.com
|
78
78
|
executables: []
|
79
79
|
extensions: []
|
80
80
|
extra_rdoc_files: []
|
81
81
|
files:
|
82
|
+
- ".github/workflows/ci.yml"
|
82
83
|
- ".gitignore"
|
83
84
|
- ".kick"
|
84
85
|
- ".rubocop.yml"
|
85
86
|
- ".rubocop_cocoapods.yml"
|
86
87
|
- ".rubocop_todo.yml"
|
87
|
-
- ".travis.yml"
|
88
88
|
- CHANGELOG.md
|
89
89
|
- Gemfile
|
90
90
|
- Gemfile.lock
|
@@ -118,7 +118,7 @@ homepage: https://github.com/CocoaPods/cocoapods-trunk
|
|
118
118
|
licenses:
|
119
119
|
- MIT
|
120
120
|
metadata: {}
|
121
|
-
post_install_message:
|
121
|
+
post_install_message:
|
122
122
|
rdoc_options: []
|
123
123
|
require_paths:
|
124
124
|
- lib
|
@@ -133,9 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
|
137
|
-
|
138
|
-
signing_key:
|
136
|
+
rubygems_version: 3.1.6
|
137
|
+
signing_key:
|
139
138
|
specification_version: 4
|
140
139
|
summary: Interact with trunk.cocoapods.org
|
141
140
|
test_files:
|
data/.travis.yml
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
dist: trusty
|
2
|
-
language: ruby
|
3
|
-
cache: bundler
|
4
|
-
rvm:
|
5
|
-
- 2.0.0-p647
|
6
|
-
- 2.3.4
|
7
|
-
- 2.4.1
|
8
|
-
addons:
|
9
|
-
code_climate:
|
10
|
-
repo_token: 937468c2cbb0d7c0546b62d0fcbcba8a2a8b82714a64a52ffd0b951e71df626d
|
11
|
-
|
12
|
-
before_install:
|
13
|
-
- export GEM_HOME=$HOME/.gem
|
14
|
-
- export PATH=$GEM_HOME/bin:$PATH
|
15
|
-
# There is a bug in travis. When using system ruby, bundler is not
|
16
|
-
# installed and causes the default install action to fail.
|
17
|
-
- if [ "$TRAVIS_RUBY_VERSION" = "system" ]; then sudo gem install "bundler:~> 1.13"; else gem install "bundler:~> 1.13"; fi
|
18
|
-
# RubyGems 2.0.14 isn't a fun time on 2.0.0p451
|
19
|
-
- if [ "$TRAVIS_RUBY_VERSION" = "system" ]; then sudo gem update --system; fi
|
20
|
-
|
21
|
-
install:
|
22
|
-
- bundle install --without=documentation
|
23
|
-
|
24
|
-
script: bundle exec rake spec
|