Skip to content

Commit 174759c

Browse files
authored
Enhancement/ios/fastlane pipeline (#56)
1 parent f04b63a commit 174759c

File tree

13 files changed

+1095
-20
lines changed

13 files changed

+1095
-20
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,9 @@
7979
/node_modules
8080
/libwebrtc
8181
/args.txt
82+
83+
84+
# Stream specifics
85+
fastlane/vendor
86+
fastlane/*.xml
87+
out_ios_libs

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
This repository is a fork of the WebRTC project. The original README can be found [here](README_webrtc.md).
44

5+
### Fork Specifics
6+
7+
#### `.gitignore`
8+
9+
Due to the fork specifics, the repo's `.gitignore` has been updated to match the fork's requirements.
10+
11+
#### Building Tools
12+
13+
The fork contains a `fastlane` pipeline to produce builds for iOS. To access the pipeline you need to switch into `src/fastlane` and execute `bundle exec fastlane lanes` to see the available lanes.
14+
15+
##### Building for iOS
16+
17+
- Build the WebRTC library for iOS `bundle exec fastlane ios build`
18+
519
### License
620
- [WebRTC](https://webrtc.org) software is licensed under the [BSD license](https://github.com/GetStream/webrtc/blob/main/LICENSE).
721
- Includes patches from [shiguredo-webrtc-build](https://github.com/shiguredo-webrtc-build), licensed under the [Apache 2.0](https://github.com/shiguredo-webrtc-build/webrtc-build/blob/master/LICENSE).

fastlane/.env

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=180
3+
FASTLANE_XCODEBUILD_SETTINGS_RETRIES=10
4+
FASTLANE_SKIP_ACTION_SUMMARY=true
5+
FASTLANE_HIDE_PLUGINS_TABLE=true
6+
FASTLANE_SKIP_UPDATE_CHECK=true
7+
FASTLANE_HIDE_CHANGELOG=true

fastlane/.rubocop.yml

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
---
2+
require:
3+
- rubocop/require_tools
4+
- rubocop-performance
5+
AllCops:
6+
TargetRubyVersion: 2.4
7+
NewCops: enable
8+
Include:
9+
- "**/*.rb"
10+
- "**/*file"
11+
Style/MultipleComparison:
12+
Enabled: false
13+
Style/PercentLiteralDelimiters:
14+
Enabled: false
15+
Style/ClassCheck:
16+
EnforcedStyle: kind_of?
17+
Style/FrozenStringLiteralComment:
18+
Enabled: false
19+
Style/SafeNavigation:
20+
Enabled: false
21+
Performance/RegexpMatch:
22+
Enabled: false
23+
Performance/StringReplacement:
24+
Enabled: false
25+
Style/NumericPredicate:
26+
Enabled: false
27+
Metrics/BlockLength:
28+
Enabled: false
29+
Metrics/ModuleLength:
30+
Enabled: false
31+
Naming/VariableNumber:
32+
Enabled: false
33+
Style/MissingRespondToMissing:
34+
Enabled: false
35+
Style/MultilineBlockChain:
36+
Enabled: false
37+
Style/NumericLiteralPrefix:
38+
Enabled: false
39+
Style/TernaryParentheses:
40+
Enabled: false
41+
Style/EmptyMethod:
42+
Enabled: false
43+
Lint/UselessAssignment:
44+
Exclude:
45+
- "**/spec/**/*"
46+
Require/MissingRequireStatement:
47+
Enabled: false
48+
Layout/FirstHashElementIndentation:
49+
Enabled: false
50+
Layout/HashAlignment:
51+
Enabled: false
52+
Style/HashLikeCase:
53+
Enabled: false
54+
Layout/DotPosition:
55+
Enabled: false
56+
Style/DoubleNegation:
57+
Enabled: false
58+
Style/SymbolArray:
59+
Enabled: false
60+
Layout/HeredocIndentation:
61+
Enabled: false
62+
Style/MixinGrouping:
63+
Exclude:
64+
- "**/spec/**/*"
65+
Lint/SuppressedException:
66+
Enabled: false
67+
Lint/UnusedBlockArgument:
68+
Enabled: false
69+
Lint/AmbiguousBlockAssociation:
70+
Enabled: false
71+
Style/GlobalVars:
72+
Enabled: false
73+
Style/ClassAndModuleChildren:
74+
Enabled: false
75+
Style/SpecialGlobalVars:
76+
Enabled: false
77+
Metrics/AbcSize:
78+
Enabled: false
79+
Metrics/MethodLength:
80+
Enabled: false
81+
Metrics/CyclomaticComplexity:
82+
Enabled: false
83+
Style/WordArray:
84+
MinSize: 19
85+
Style/SignalException:
86+
Enabled: false
87+
Style/RedundantReturn:
88+
Enabled: false
89+
Style/IfUnlessModifier:
90+
Enabled: false
91+
Style/AndOr:
92+
Enabled: true
93+
EnforcedStyle: conditionals
94+
Metrics/ClassLength:
95+
Max: 320
96+
Layout/LineLength:
97+
Max: 370
98+
Metrics/ParameterLists:
99+
Max: 17
100+
Metrics/PerceivedComplexity:
101+
Max: 20
102+
Style/GuardClause:
103+
Enabled: false
104+
Style/StringLiterals:
105+
Enabled: false
106+
Style/ConditionalAssignment:
107+
Enabled: false
108+
Style/RedundantSelf:
109+
Enabled: false
110+
Lint/UnusedMethodArgument:
111+
Enabled: false
112+
Lint/ParenthesesAsGroupedExpression:
113+
Exclude:
114+
- "**/spec/**/*"
115+
Naming/PredicateName:
116+
Enabled: false
117+
Style/PerlBackrefs:
118+
Enabled: false
119+
Naming/FileName:
120+
Exclude:
121+
- "**/Dangerfile"
122+
- "**/Brewfile"
123+
- "**/Gemfile"
124+
- "**/Podfile"
125+
- "**/Rakefile"
126+
- "**/Fastfile"
127+
- "**/Scanfile"
128+
- "**/Matchfile"
129+
- "**/Appfile"
130+
- "**/Allurefile"
131+
- "**/Sonarfile"
132+
- "**/Deliverfile"
133+
- "**/Snapfile"
134+
- "**/Pluginfile"
135+
- "**/*.gemspec"
136+
Style/Documentation:
137+
Enabled: false
138+
Style/MutableConstant:
139+
Enabled: false
140+
Style/ZeroLengthPredicate:
141+
Enabled: false
142+
Style/IfInsideElse:
143+
Enabled: false
144+
Style/CollectionMethods:
145+
Enabled: false
146+
Style/MethodCallWithArgsParentheses:
147+
Enabled: true
148+
IgnoredMethods:
149+
- require
150+
- require_relative
151+
- fastlane_require
152+
- gem
153+
- program
154+
- command
155+
- raise
156+
- attr_accessor
157+
- attr_reader
158+
- desc
159+
- lane
160+
- private_lane
161+
- platform
162+
- to
163+
- not_to
164+
- describe
165+
- it
166+
- be
167+
- context
168+
- before
169+
- after
170+
- and

fastlane/Fastfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
skip_docs
2+
opt_out_usage
3+
4+
require 'json'
5+
require 'net/http'
6+
require 'fileutils'
7+
8+
import './lanes/utilities.rb'
9+
import './lanes/gclient.rb'
10+
import './lanes/ios.rb'
11+
12+
before_all do
13+
if is_ci
14+
setup_ci
15+
setup_git_config
16+
end
17+
sh('bundle exec rubocop')
18+
end

fastlane/Gemfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
source 'https://rubygems.org'
2+
3+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4+
5+
gem 'cocoapods'
6+
gem 'fastlane'
7+
gem 'json'
8+
gem 'plist'
9+
gem 'rubocop', '1.38', group: :rubocop_dependencies
10+
11+
group :rubocop_dependencies do
12+
gem 'rubocop-performance'
13+
gem 'rubocop-require_tools'
14+
end
15+
16+
plugins_path = File.join(File.dirname(__FILE__), 'Pluginfile')
17+
eval_gemfile(plugins_path) if File.exist?(plugins_path)

0 commit comments

Comments
 (0)