u3d 0.9

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.
Files changed (124) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.licenses.json +19 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +43 -0
  6. data/Gemfile +5 -0
  7. data/Gemfile.lock +98 -0
  8. data/LICENSE +21 -0
  9. data/LICENSE.fastlane +22 -0
  10. data/LOG_RULES.md +170 -0
  11. data/README.md +72 -0
  12. data/Rakefile +28 -0
  13. data/TODO.md +15 -0
  14. data/build.sh +5 -0
  15. data/config/log_rules.json +230 -0
  16. data/examples/Example1/.gitignore +19 -0
  17. data/examples/Example1/Assets/Editor.meta +9 -0
  18. data/examples/Example1/Assets/Editor/EditorRun.cs +23 -0
  19. data/examples/Example1/Assets/Editor/EditorRun.cs.meta +12 -0
  20. data/examples/Example1/Assets/Editor/FileSystemUtil.cs +26 -0
  21. data/examples/Example1/Assets/Editor/FileSystemUtil.cs.meta +12 -0
  22. data/examples/Example1/Assets/Scene1.unity +264 -0
  23. data/examples/Example1/Assets/Scene1.unity.meta +8 -0
  24. data/examples/Example1/Gemfile +8 -0
  25. data/examples/Example1/Gemfile.lock +165 -0
  26. data/examples/Example1/ProjectSettings/AudioManager.asset +16 -0
  27. data/examples/Example1/ProjectSettings/ClusterInputManager.asset +6 -0
  28. data/examples/Example1/ProjectSettings/DynamicsManager.asset +18 -0
  29. data/examples/Example1/ProjectSettings/EditorBuildSettings.asset +7 -0
  30. data/examples/Example1/ProjectSettings/EditorSettings.asset +14 -0
  31. data/examples/Example1/ProjectSettings/GraphicsSettings.asset +61 -0
  32. data/examples/Example1/ProjectSettings/InputManager.asset +295 -0
  33. data/examples/Example1/ProjectSettings/NavMeshAreas.asset +89 -0
  34. data/examples/Example1/ProjectSettings/NetworkManager.asset +8 -0
  35. data/examples/Example1/ProjectSettings/Physics2DSettings.asset +35 -0
  36. data/examples/Example1/ProjectSettings/ProjectSettings.asset +591 -0
  37. data/examples/Example1/ProjectSettings/ProjectVersion.txt +1 -0
  38. data/examples/Example1/ProjectSettings/QualitySettings.asset +180 -0
  39. data/examples/Example1/ProjectSettings/TagManager.asset +43 -0
  40. data/examples/Example1/ProjectSettings/TimeManager.asset +9 -0
  41. data/examples/Example1/ProjectSettings/UnityConnectSettings.asset +32 -0
  42. data/examples/Example1/README.md +5 -0
  43. data/examples/Example1/Rakefile +5 -0
  44. data/examples/Example1/fastlane/Fastfile +4 -0
  45. data/examples/Example1/fastlane/Pluginfile +1 -0
  46. data/examples/Example1/run.sh +1 -0
  47. data/examples/Example2/.gitignore +20 -0
  48. data/examples/Example2/Assets/Editor.meta +9 -0
  49. data/examples/Example2/Assets/Editor/EditorRun.cs +33 -0
  50. data/examples/Example2/Assets/Editor/EditorRun.cs.meta +12 -0
  51. data/examples/Example2/Assets/Editor/PostprocessBuildPlayer.cs +92 -0
  52. data/examples/Example2/Assets/Editor/PostprocessBuildPlayer.cs.meta +8 -0
  53. data/examples/Example2/Assets/Editor/PostprocessBuildPlayer_log.sh +31 -0
  54. data/examples/Example2/Assets/Editor/PostprocessBuildPlayer_log.sh.meta +8 -0
  55. data/examples/Example2/Assets/Editor/SimpleBuildSetup.cs +20 -0
  56. data/examples/Example2/Assets/Editor/SimpleBuildSetup.cs.meta +12 -0
  57. data/examples/Example2/Assets/Scene.unity +278 -0
  58. data/examples/Example2/Assets/Scene.unity.meta +8 -0
  59. data/examples/Example2/Gemfile +8 -0
  60. data/examples/Example2/Gemfile.lock +165 -0
  61. data/examples/Example2/ProjectSettings/AudioManager.asset +17 -0
  62. data/examples/Example2/ProjectSettings/ClusterInputManager.asset +6 -0
  63. data/examples/Example2/ProjectSettings/DynamicsManager.asset +19 -0
  64. data/examples/Example2/ProjectSettings/EditorBuildSettings.asset +10 -0
  65. data/examples/Example2/ProjectSettings/EditorSettings.asset +14 -0
  66. data/examples/Example2/ProjectSettings/GraphicsSettings.asset +63 -0
  67. data/examples/Example2/ProjectSettings/InputManager.asset +295 -0
  68. data/examples/Example2/ProjectSettings/NavMeshAreas.asset +89 -0
  69. data/examples/Example2/ProjectSettings/NetworkManager.asset +8 -0
  70. data/examples/Example2/ProjectSettings/Physics2DSettings.asset +36 -0
  71. data/examples/Example2/ProjectSettings/ProjectSettings.asset +591 -0
  72. data/examples/Example2/ProjectSettings/ProjectVersion.txt +1 -0
  73. data/examples/Example2/ProjectSettings/QualitySettings.asset +193 -0
  74. data/examples/Example2/ProjectSettings/TagManager.asset +43 -0
  75. data/examples/Example2/ProjectSettings/TimeManager.asset +9 -0
  76. data/examples/Example2/ProjectSettings/UnityConnectSettings.asset +34 -0
  77. data/examples/Example2/README.md +10 -0
  78. data/examples/Example2/fastlane/Fastfile +4 -0
  79. data/examples/Example2/fastlane/Pluginfile +1 -0
  80. data/exe/u3d +7 -0
  81. data/fastlane-plugin-u3d/.gitignore +10 -0
  82. data/fastlane-plugin-u3d/.licenses.json +9 -0
  83. data/fastlane-plugin-u3d/.rspec +3 -0
  84. data/fastlane-plugin-u3d/.rubocop.yml +253 -0
  85. data/fastlane-plugin-u3d/.travis.yml +4 -0
  86. data/fastlane-plugin-u3d/Gemfile +6 -0
  87. data/fastlane-plugin-u3d/LICENSE +21 -0
  88. data/fastlane-plugin-u3d/README.md +52 -0
  89. data/fastlane-plugin-u3d/Rakefile +9 -0
  90. data/fastlane-plugin-u3d/circle.yml +9 -0
  91. data/fastlane-plugin-u3d/fastlane-plugin-u3d.gemspec +31 -0
  92. data/fastlane-plugin-u3d/fastlane/Fastfile +3 -0
  93. data/fastlane-plugin-u3d/fastlane/Pluginfile +1 -0
  94. data/fastlane-plugin-u3d/lib/fastlane/plugin/u3d.rb +38 -0
  95. data/fastlane-plugin-u3d/lib/fastlane/plugin/u3d/actions/u3d_action.rb +80 -0
  96. data/fastlane-plugin-u3d/lib/fastlane/plugin/u3d/helper/u3d_helper.rb +34 -0
  97. data/fastlane-plugin-u3d/lib/fastlane/plugin/u3d/version.rb +27 -0
  98. data/fastlane-plugin-u3d/spec/spec_helper.rb +32 -0
  99. data/lib/u3d.rb +33 -0
  100. data/lib/u3d/cache.rb +120 -0
  101. data/lib/u3d/commands.rb +307 -0
  102. data/lib/u3d/commands_generator.rb +163 -0
  103. data/lib/u3d/downloader.rb +363 -0
  104. data/lib/u3d/iniparser.rb +83 -0
  105. data/lib/u3d/installer.rb +445 -0
  106. data/lib/u3d/log_analyzer.rb +221 -0
  107. data/lib/u3d/unity_version_number.rb +71 -0
  108. data/lib/u3d/unity_versions.rb +207 -0
  109. data/lib/u3d/utils.rb +121 -0
  110. data/lib/u3d/version.rb +31 -0
  111. data/lib/u3d_core.rb +30 -0
  112. data/lib/u3d_core/command_executor.rb +134 -0
  113. data/lib/u3d_core/command_runner.rb +93 -0
  114. data/lib/u3d_core/credentials.rb +116 -0
  115. data/lib/u3d_core/globals.rb +84 -0
  116. data/lib/u3d_core/helper.rb +149 -0
  117. data/lib/u3d_core/ui/disable_colors.rb +40 -0
  118. data/lib/u3d_core/ui/implementations/shell.rb +157 -0
  119. data/lib/u3d_core/ui/interface.rb +182 -0
  120. data/lib/u3d_core/ui/ui.rb +49 -0
  121. data/local_gem_install.sh +6 -0
  122. data/scripts/be +14 -0
  123. data/u3d.gemspec +41 -0
  124. metadata +388 -0
@@ -0,0 +1 @@
1
+ m_EditorVersion: 5.6.1f1
@@ -0,0 +1,193 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!47 &1
4
+ QualitySettings:
5
+ m_ObjectHideFlags: 0
6
+ serializedVersion: 5
7
+ m_CurrentQuality: 5
8
+ m_QualitySettings:
9
+ - serializedVersion: 2
10
+ name: Very Low
11
+ pixelLightCount: 0
12
+ shadows: 0
13
+ shadowResolution: 0
14
+ shadowProjection: 1
15
+ shadowCascades: 1
16
+ shadowDistance: 15
17
+ shadowNearPlaneOffset: 3
18
+ shadowCascade2Split: 0.33333334
19
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20
+ shadowmaskMode: 0
21
+ blendWeights: 1
22
+ textureQuality: 1
23
+ anisotropicTextures: 0
24
+ antiAliasing: 0
25
+ softParticles: 0
26
+ softVegetation: 0
27
+ realtimeReflectionProbes: 0
28
+ billboardsFaceCameraPosition: 0
29
+ vSyncCount: 0
30
+ lodBias: 0.3
31
+ maximumLODLevel: 0
32
+ particleRaycastBudget: 4
33
+ asyncUploadTimeSlice: 2
34
+ asyncUploadBufferSize: 4
35
+ resolutionScalingFixedDPIFactor: 1
36
+ excludedTargetPlatforms: []
37
+ - serializedVersion: 2
38
+ name: Low
39
+ pixelLightCount: 0
40
+ shadows: 0
41
+ shadowResolution: 0
42
+ shadowProjection: 1
43
+ shadowCascades: 1
44
+ shadowDistance: 20
45
+ shadowNearPlaneOffset: 3
46
+ shadowCascade2Split: 0.33333334
47
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48
+ shadowmaskMode: 0
49
+ blendWeights: 2
50
+ textureQuality: 0
51
+ anisotropicTextures: 0
52
+ antiAliasing: 0
53
+ softParticles: 0
54
+ softVegetation: 0
55
+ realtimeReflectionProbes: 0
56
+ billboardsFaceCameraPosition: 0
57
+ vSyncCount: 0
58
+ lodBias: 0.4
59
+ maximumLODLevel: 0
60
+ particleRaycastBudget: 16
61
+ asyncUploadTimeSlice: 2
62
+ asyncUploadBufferSize: 4
63
+ resolutionScalingFixedDPIFactor: 1
64
+ excludedTargetPlatforms: []
65
+ - serializedVersion: 2
66
+ name: Medium
67
+ pixelLightCount: 1
68
+ shadows: 1
69
+ shadowResolution: 0
70
+ shadowProjection: 1
71
+ shadowCascades: 1
72
+ shadowDistance: 20
73
+ shadowNearPlaneOffset: 3
74
+ shadowCascade2Split: 0.33333334
75
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76
+ shadowmaskMode: 0
77
+ blendWeights: 2
78
+ textureQuality: 0
79
+ anisotropicTextures: 1
80
+ antiAliasing: 0
81
+ softParticles: 0
82
+ softVegetation: 0
83
+ realtimeReflectionProbes: 0
84
+ billboardsFaceCameraPosition: 0
85
+ vSyncCount: 1
86
+ lodBias: 0.7
87
+ maximumLODLevel: 0
88
+ particleRaycastBudget: 64
89
+ asyncUploadTimeSlice: 2
90
+ asyncUploadBufferSize: 4
91
+ resolutionScalingFixedDPIFactor: 1
92
+ excludedTargetPlatforms: []
93
+ - serializedVersion: 2
94
+ name: High
95
+ pixelLightCount: 2
96
+ shadows: 2
97
+ shadowResolution: 1
98
+ shadowProjection: 1
99
+ shadowCascades: 2
100
+ shadowDistance: 40
101
+ shadowNearPlaneOffset: 3
102
+ shadowCascade2Split: 0.33333334
103
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104
+ shadowmaskMode: 1
105
+ blendWeights: 2
106
+ textureQuality: 0
107
+ anisotropicTextures: 1
108
+ antiAliasing: 0
109
+ softParticles: 0
110
+ softVegetation: 1
111
+ realtimeReflectionProbes: 1
112
+ billboardsFaceCameraPosition: 1
113
+ vSyncCount: 1
114
+ lodBias: 1
115
+ maximumLODLevel: 0
116
+ particleRaycastBudget: 256
117
+ asyncUploadTimeSlice: 2
118
+ asyncUploadBufferSize: 4
119
+ resolutionScalingFixedDPIFactor: 1
120
+ excludedTargetPlatforms: []
121
+ - serializedVersion: 2
122
+ name: Very High
123
+ pixelLightCount: 3
124
+ shadows: 2
125
+ shadowResolution: 2
126
+ shadowProjection: 1
127
+ shadowCascades: 2
128
+ shadowDistance: 70
129
+ shadowNearPlaneOffset: 3
130
+ shadowCascade2Split: 0.33333334
131
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132
+ shadowmaskMode: 1
133
+ blendWeights: 4
134
+ textureQuality: 0
135
+ anisotropicTextures: 2
136
+ antiAliasing: 2
137
+ softParticles: 1
138
+ softVegetation: 1
139
+ realtimeReflectionProbes: 1
140
+ billboardsFaceCameraPosition: 1
141
+ vSyncCount: 1
142
+ lodBias: 1.5
143
+ maximumLODLevel: 0
144
+ particleRaycastBudget: 1024
145
+ asyncUploadTimeSlice: 2
146
+ asyncUploadBufferSize: 4
147
+ resolutionScalingFixedDPIFactor: 1
148
+ excludedTargetPlatforms: []
149
+ - serializedVersion: 2
150
+ name: Ultra
151
+ pixelLightCount: 4
152
+ shadows: 2
153
+ shadowResolution: 2
154
+ shadowProjection: 1
155
+ shadowCascades: 4
156
+ shadowDistance: 150
157
+ shadowNearPlaneOffset: 3
158
+ shadowCascade2Split: 0.33333334
159
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160
+ shadowmaskMode: 1
161
+ blendWeights: 4
162
+ textureQuality: 0
163
+ anisotropicTextures: 2
164
+ antiAliasing: 2
165
+ softParticles: 1
166
+ softVegetation: 1
167
+ realtimeReflectionProbes: 1
168
+ billboardsFaceCameraPosition: 1
169
+ vSyncCount: 1
170
+ lodBias: 2
171
+ maximumLODLevel: 0
172
+ particleRaycastBudget: 4096
173
+ asyncUploadTimeSlice: 2
174
+ asyncUploadBufferSize: 4
175
+ resolutionScalingFixedDPIFactor: 1
176
+ excludedTargetPlatforms: []
177
+ m_PerPlatformDefaultQuality:
178
+ Android: 2
179
+ Nintendo 3DS: 5
180
+ Nintendo Switch: 5
181
+ PS4: 5
182
+ PSM: 5
183
+ PSP2: 2
184
+ Samsung TV: 2
185
+ Standalone: 5
186
+ Tizen: 2
187
+ Web: 5
188
+ WebGL: 3
189
+ WiiU: 5
190
+ Windows Store Apps: 5
191
+ XboxOne: 5
192
+ iPhone: 2
193
+ tvOS: 2
@@ -0,0 +1,43 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!78 &1
4
+ TagManager:
5
+ serializedVersion: 2
6
+ tags: []
7
+ layers:
8
+ - Default
9
+ - TransparentFX
10
+ - Ignore Raycast
11
+ -
12
+ - Water
13
+ - UI
14
+ -
15
+ -
16
+ -
17
+ -
18
+ -
19
+ -
20
+ -
21
+ -
22
+ -
23
+ -
24
+ -
25
+ -
26
+ -
27
+ -
28
+ -
29
+ -
30
+ -
31
+ -
32
+ -
33
+ -
34
+ -
35
+ -
36
+ -
37
+ -
38
+ -
39
+ -
40
+ m_SortingLayers:
41
+ - name: Default
42
+ uniqueID: 0
43
+ locked: 0
@@ -0,0 +1,9 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!5 &1
4
+ TimeManager:
5
+ m_ObjectHideFlags: 0
6
+ Fixed Timestep: 0.02
7
+ Maximum Allowed Timestep: 0.33333334
8
+ m_TimeScale: 1
9
+ Maximum Particle Timestep: 0.03
@@ -0,0 +1,34 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!310 &1
4
+ UnityConnectSettings:
5
+ m_ObjectHideFlags: 0
6
+ m_Enabled: 0
7
+ m_TestMode: 0
8
+ m_TestEventUrl:
9
+ m_TestConfigUrl:
10
+ m_TestInitMode: 0
11
+ CrashReportingSettings:
12
+ m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13
+ m_Enabled: 0
14
+ m_CaptureEditorExceptions: 1
15
+ UnityPurchasingSettings:
16
+ m_Enabled: 0
17
+ m_TestMode: 0
18
+ UnityAnalyticsSettings:
19
+ m_Enabled: 0
20
+ m_InitializeOnStartup: 1
21
+ m_TestMode: 0
22
+ m_TestEventUrl:
23
+ m_TestConfigUrl:
24
+ UnityAdsSettings:
25
+ m_Enabled: 0
26
+ m_InitializeOnStartup: 1
27
+ m_TestMode: 0
28
+ m_EnabledPlatforms: 4294967295
29
+ m_IosGameId:
30
+ m_AndroidGameId:
31
+ m_GameIds: {}
32
+ m_GameId:
33
+ PerformanceReportingSettings:
34
+ m_Enabled: 0
@@ -0,0 +1,10 @@
1
+ This example contains Unity logging in various places to demonstrate the log analyzer.
2
+
3
+ ```fastlane u3d_build```
4
+
5
+ (same as `fastlane u3d_build raw_logs:false`)
6
+
7
+ or show full logs
8
+
9
+ ```fastlane u3d_build raw_logs:true```
10
+
@@ -0,0 +1,4 @@
1
+ desc "Run the EditorRun.Build task"
2
+ lane :u3d_build do |options|
3
+ u3d(raw_logs: options[:raw_logs], run_args: "-logFile './editor.log' -executeMethod U3d.EditorRun.Build -quit -batchmode")
4
+ end
@@ -0,0 +1 @@
1
+ gem 'fastlane-plugin-u3d', :path => File.join(REPO_ROOT, 'fastlane-plugin-u3d')
data/exe/u3d ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ $LOAD_PATH.push File.expand_path('../../lib', __FILE__)
3
+
4
+ require 'u3d'
5
+ require 'u3d/commands_generator'
6
+
7
+ U3d::CommandsGenerator.start
@@ -0,0 +1,10 @@
1
+ *.gem
2
+ Gemfile.lock
3
+
4
+ ## Documentation cache and generated files:
5
+ /.yardoc/
6
+ /_yardoc/
7
+ /doc/
8
+ /rdoc/
9
+ fastlane/README.md
10
+ fastlane/report.xml
@@ -0,0 +1,9 @@
1
+ [
2
+ {
3
+ "license": "LICENSE",
4
+ "paths": [
5
+ "{lib,spec}/**/*.rb"
6
+ ]
7
+ }
8
+ ]
9
+
@@ -0,0 +1,3 @@
1
+ --require spec_helper
2
+ --color
3
+ --format d
@@ -0,0 +1,253 @@
1
+ Style/PercentLiteralDelimiters:
2
+ Enabled: false
3
+
4
+ # kind_of? is a good way to check a type
5
+ Style/ClassCheck:
6
+ EnforcedStyle: kind_of?
7
+
8
+ Style/FrozenStringLiteralComment:
9
+ Enabled: false
10
+
11
+ # This doesn't work with older versions of Ruby (pre 2.4.0)
12
+ Style/SafeNavigation:
13
+ Enabled: false
14
+
15
+ # This doesn't work with older versions of Ruby (pre 2.4.0)
16
+ Performance/RegexpMatch:
17
+ Enabled: false
18
+
19
+ # This suggests use of `tr` instead of `gsub`. While this might be more performant,
20
+ # these methods are not at all interchangable, and behave very differently. This can
21
+ # lead to people making the substitution without considering the differences.
22
+ Performance/StringReplacement:
23
+ Enabled: false
24
+
25
+ # .length == 0 is also good, we don't always want .zero?
26
+ Style/NumericPredicate:
27
+ Enabled: false
28
+
29
+ # this would cause errors with long lanes
30
+ Metrics/BlockLength:
31
+ Enabled: false
32
+
33
+ # this is a bit buggy
34
+ Metrics/ModuleLength:
35
+ Enabled: false
36
+
37
+ # certificate_1 is an okay variable name
38
+ Style/VariableNumber:
39
+ Enabled: false
40
+
41
+ # This is used a lot across the fastlane code base for config files
42
+ Style/MethodMissing:
43
+ Enabled: false
44
+
45
+ #
46
+ # File.chmod(0777, f)
47
+ #
48
+ # is easier to read than
49
+ #
50
+ # File.chmod(0o777, f)
51
+ #
52
+ Style/NumericLiteralPrefix:
53
+ Enabled: false
54
+
55
+ #
56
+ # command = (!clean_expired.nil? || !clean_pattern.nil?) ? CLEANUP : LIST
57
+ #
58
+ # is easier to read than
59
+ #
60
+ # command = !clean_expired.nil? || !clean_pattern.nil? ? CLEANUP : LIST
61
+ #
62
+ Style/TernaryParentheses:
63
+ Enabled: false
64
+
65
+ # sometimes it is useful to have those empty methods
66
+ Style/EmptyMethod:
67
+ Enabled: false
68
+
69
+ # It's better to be more explicit about the type
70
+ Style/BracesAroundHashParameters:
71
+ Enabled: false
72
+
73
+ # specs sometimes have useless assignments, which is fine
74
+ Lint/UselessAssignment:
75
+ Exclude:
76
+ - '**/spec/**/*'
77
+
78
+ # We could potentially enable the 2 below:
79
+ Style/IndentHash:
80
+ Enabled: false
81
+
82
+ Style/AlignHash:
83
+ Enabled: false
84
+
85
+ # HoundCI doesn't like this rule
86
+ Style/DotPosition:
87
+ Enabled: false
88
+
89
+ # We allow !! as it's an easy way to convert ot boolean
90
+ Style/DoubleNegation:
91
+ Enabled: false
92
+
93
+ # Prevent to replace [] into %i
94
+ Style/SymbolArray:
95
+ Enabled: false
96
+
97
+ # We still support Ruby 2.0.0
98
+ Style/IndentHeredoc:
99
+ Enabled: false
100
+
101
+ # This cop would not work fine with rspec
102
+ Style/MixinGrouping:
103
+ Exclude:
104
+ - '**/spec/**/*'
105
+
106
+ # Sometimes we allow a rescue block that doesn't contain code
107
+ Lint/HandleExceptions:
108
+ Enabled: false
109
+
110
+ # Cop supports --auto-correct.
111
+ Lint/UnusedBlockArgument:
112
+ Enabled: false
113
+
114
+ Lint/AmbiguousBlockAssociation:
115
+ Enabled: false
116
+
117
+ # Needed for $verbose
118
+ Style/GlobalVars:
119
+ Enabled: false
120
+
121
+ # We want to allow class Fastlane::Class
122
+ Style/ClassAndModuleChildren:
123
+ Enabled: false
124
+
125
+ # $? Exit
126
+ Style/SpecialGlobalVars:
127
+ Enabled: false
128
+
129
+ Metrics/AbcSize:
130
+ Enabled: false
131
+
132
+ Metrics/MethodLength:
133
+ Enabled: false
134
+
135
+ Metrics/CyclomaticComplexity:
136
+ Enabled: false
137
+
138
+ # The %w might be confusing for new users
139
+ Style/WordArray:
140
+ MinSize: 19
141
+
142
+ # raise and fail are both okay
143
+ Style/SignalException:
144
+ Enabled: false
145
+
146
+ # Better too much 'return' than one missing
147
+ Style/RedundantReturn:
148
+ Enabled: false
149
+
150
+ # Having if in the same line might not always be good
151
+ Style/IfUnlessModifier:
152
+ Enabled: false
153
+
154
+ # and and or is okay
155
+ Style/AndOr:
156
+ Enabled: false
157
+
158
+ # Configuration parameters: CountComments.
159
+ Metrics/ClassLength:
160
+ Max: 320
161
+
162
+
163
+ # Configuration parameters: AllowURI, URISchemes.
164
+ Metrics/LineLength:
165
+ Max: 370
166
+
167
+ # Configuration parameters: CountKeywordArgs.
168
+ Metrics/ParameterLists:
169
+ Max: 17
170
+
171
+ Metrics/PerceivedComplexity:
172
+ Max: 18
173
+
174
+ # Sometimes it's easier to read without guards
175
+ Style/GuardClause:
176
+ Enabled: false
177
+
178
+ # We allow both " and '
179
+ Style/StringLiterals:
180
+ Enabled: false
181
+
182
+ # something = if something_else
183
+ # that's confusing
184
+ Style/ConditionalAssignment:
185
+ Enabled: false
186
+
187
+ # Better to have too much self than missing a self
188
+ Style/RedundantSelf:
189
+ Enabled: false
190
+
191
+ # e.g.
192
+ # def self.is_supported?(platform)
193
+ # we may never use `platform`
194
+ Lint/UnusedMethodArgument:
195
+ Enabled: false
196
+
197
+ # the let(:key) { ... }
198
+ Lint/ParenthesesAsGroupedExpression:
199
+ Exclude:
200
+ - '**/spec/**/*'
201
+
202
+ # This would reject is_ in front of methods
203
+ # We use `is_supported?` everywhere already
204
+ Style/PredicateName:
205
+ Enabled: false
206
+
207
+ # We allow the $
208
+ Style/PerlBackrefs:
209
+ Enabled: false
210
+
211
+ # Disable '+ should be surrounded with a single space' for xcodebuild_spec.rb
212
+ Style/SpaceAroundOperators:
213
+ Exclude:
214
+ - '**/spec/actions_specs/xcodebuild_spec.rb'
215
+
216
+ AllCops:
217
+ Include:
218
+ - '**/fastlane/Fastfile'
219
+ Exclude:
220
+ - '**/lib/assets/custom_action_template.rb'
221
+ - './vendor/**/*'
222
+
223
+ # They have not to be snake_case
224
+ Style/FileName:
225
+ Exclude:
226
+ - '**/Dangerfile'
227
+ - '**/Brewfile'
228
+ - '**/Gemfile'
229
+ - '**/Podfile'
230
+ - '**/Rakefile'
231
+ - '**/Fastfile'
232
+ - '**/Deliverfile'
233
+ - '**/Snapfile'
234
+
235
+ # We're not there yet
236
+ Style/Documentation:
237
+ Enabled: false
238
+
239
+ # Added after upgrade to 0.38.0
240
+ Style/MutableConstant:
241
+ Enabled: false
242
+
243
+ # length > 0 is good
244
+ Style/ZeroLengthPredicate:
245
+ Enabled: false
246
+
247
+ # Adds complexity
248
+ Style/IfInsideElse:
249
+ Enabled: false
250
+
251
+ # Sometimes we just want to 'collect'
252
+ Style/CollectionMethods:
253
+ Enabled: false