xcknife 0.6.6 → 0.13.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7503a50d7e372941c78a9274cafb77a1df3da572
4
- data.tar.gz: 4b033eb3921f6e77174754e8b144feabd39d8d19
2
+ SHA256:
3
+ metadata.gz: 365fe40eceedeaed44f3287b13d9e8187fed76bcb50889234048434a5780aa11
4
+ data.tar.gz: 9b9bb9181a6547d4a288835e866a617a01ff4c3472eb9ba1ee4520ecb3e1804a
5
5
  SHA512:
6
- metadata.gz: 8beab2cbde2dd91002831cc729912a95e95e2ff8fe85187ae94842d2038c7673972d32d1ecda6ff00737886a5db450c19caf29b2b2c1064954c7f954821a6b22
7
- data.tar.gz: 1354e663134f746808560e11af61406986759fe3f30b4341bb054cd07ce92ae207413865cee6d86995a4fef8d562f4f27bf9d638f5a4947ec30b4c6c386f7ecb
6
+ metadata.gz: e2657f17daeea0ebb7f84556f7531f8465fdca6ac5c60431ee34bfa816158e4e96bc2db7886091bf3c7959651950c23082835543271601ca9a61acb069d1349d
7
+ data.tar.gz: 342e20d4bef7ffef984dc97180de79beb85f5addadd316472dcb2cc7400d96a8eca0f6526525671fc9b6d853d4330df50d753fff290dcd1c2cb582152c88c42d
@@ -0,0 +1,24 @@
1
+ name: Tests
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ jobs:
10
+ integration_tests:
11
+ name: Build and Test
12
+ runs-on: macos-latest
13
+ steps:
14
+ - uses: actions/checkout@v1
15
+ - name: Select Xcode 11.6
16
+ run: sudo xcode-select -s /Applications/Xcode_11.6.app
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: "2.6" # Version range or exact version of a Ruby version to use, using semvers version range syntax.
20
+ bundler-cache: true
21
+ - name: Installing GNU coreutils
22
+ run: brew install coreutils
23
+ - name: Build and Test
24
+ run: bundle exec rake build_test_dumper spec
data/.gitignore CHANGED
@@ -2,9 +2,12 @@
2
2
  pkg
3
3
  .idea/
4
4
  *.gem
5
- Gemfile.lock
6
5
  xcuserdata/
7
6
  testdumperbuild
8
7
  contents.xcworkspacedata
9
8
  TestDumper/TestDumper.dylib
10
9
  *.tmp
10
+ .bin/
11
+ .bundle/
12
+
13
+ .vscode/launch.json
data/.rubocop.yml ADDED
@@ -0,0 +1,168 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6
3
+
4
+ Layout/LineLength:
5
+ Max: 200
6
+
7
+ Style/Encoding:
8
+ Enabled: false
9
+
10
+ Lint/AmbiguousBlockAssociation:
11
+ Exclude:
12
+ - "spec/**/*"
13
+
14
+ Metrics/AbcSize:
15
+ Enabled: false
16
+
17
+ Metrics/MethodLength:
18
+ Enabled: false
19
+
20
+ Metrics/ClassLength:
21
+ Enabled: false
22
+
23
+ Metrics/ModuleLength:
24
+ Enabled: false
25
+
26
+ Metrics/BlockLength:
27
+ Max: 30
28
+ Exclude:
29
+ - "spec/**/*.rb"
30
+
31
+ Metrics/PerceivedComplexity:
32
+ Enabled: false
33
+
34
+ Style/SignalException:
35
+ Enabled: false
36
+
37
+ Style/StringLiterals:
38
+ EnforcedStyle: single_quotes
39
+
40
+ Style/TrivialAccessors:
41
+ ExactNameMatch: true
42
+
43
+ Style/RedundantReturn:
44
+ AllowMultipleReturnValues: true
45
+
46
+ # `module_function` is not equivalent as `extend self`
47
+ Style/ModuleFunction:
48
+ Enabled: false
49
+
50
+ Style/ClassAndModuleChildren:
51
+ Enabled: false
52
+
53
+ Style/Documentation:
54
+ Enabled: false
55
+
56
+ Layout/ClosingHeredocIndentation:
57
+ Enabled: false
58
+
59
+ Layout/EmptyLinesAroundAttributeAccessor:
60
+ Enabled: true
61
+
62
+ Layout/SpaceAroundMethodCallOperator:
63
+ Enabled: true
64
+
65
+ Lint/DeprecatedOpenSSLConstant:
66
+ Enabled: true
67
+
68
+ Lint/DuplicateElsifCondition:
69
+ Enabled: true
70
+
71
+ Lint/MixedRegexpCaptureTypes:
72
+ Enabled: true
73
+
74
+ Lint/RaiseException:
75
+ Enabled: true
76
+
77
+ Lint/StructNewOverride:
78
+ Enabled: true
79
+
80
+ Style/AccessorGrouping:
81
+ Enabled: true
82
+
83
+ Style/ArrayCoercion:
84
+ Enabled: true
85
+
86
+ Style/BisectedAttrAccessor:
87
+ Enabled: true
88
+
89
+ Style/CaseLikeIf:
90
+ Enabled: true
91
+
92
+ Style/ExponentialNotation:
93
+ Enabled: true
94
+
95
+ Style/HashAsLastArrayItem:
96
+ Enabled: true
97
+
98
+ Style/HashEachMethods:
99
+ Enabled: true
100
+
101
+ Style/HashLikeCase:
102
+ Enabled: true
103
+
104
+ Style/HashTransformKeys:
105
+ Enabled: true
106
+
107
+ Style/HashTransformValues:
108
+ Enabled: true
109
+
110
+ Style/RedundantAssignment:
111
+ Enabled: true
112
+
113
+ Style/RedundantFetchBlock:
114
+ Enabled: true
115
+
116
+ Style/RedundantFileExtensionInRequire:
117
+ Enabled: true
118
+
119
+ Style/RedundantRegexpCharacterClass:
120
+ Enabled: true
121
+
122
+ Style/RedundantRegexpEscape:
123
+ Enabled: true
124
+
125
+ Style/SlicingWithRange:
126
+ Enabled: true
127
+
128
+ Lint/BinaryOperatorWithIdenticalOperands:
129
+ Enabled: true
130
+
131
+ Lint/DuplicateRescueException:
132
+ Enabled: true
133
+
134
+ Lint/EmptyConditionalBody:
135
+ Enabled: true
136
+
137
+ Lint/FloatComparison:
138
+ Enabled: true
139
+
140
+ Lint/MissingSuper:
141
+ Enabled: true
142
+
143
+ Lint/OutOfRangeRegexpRef:
144
+ Enabled: true
145
+
146
+ Lint/SelfAssignment:
147
+ Enabled: true
148
+
149
+ Lint/TopLevelReturnWithArgument:
150
+ Enabled: true
151
+
152
+ Lint/UnreachableLoop:
153
+ Enabled: true
154
+
155
+ Style/ExplicitBlockArgument:
156
+ Enabled: true
157
+
158
+ Style/GlobalStdStream:
159
+ Enabled: true
160
+
161
+ Style/OptionalBooleanParameter:
162
+ Enabled: true
163
+
164
+ Style/SingleArgumentDig:
165
+ Enabled: true
166
+
167
+ Style/StringConcatenation:
168
+ Enabled: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.6.1
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ CWD=$(pwd)
4
+
5
+ if [[ "$CWD" == *".vscode"* ]] ; then
6
+ cd ..
7
+ fi
8
+
9
+ RSPEC_PATH="$(command -v rspec)"
10
+ BUNDLE_PATH="$(command -v bundle | sed 's/bin/wrappers/')"
11
+ RDEBUG_PATH=$(cd ./ || exit 1; bundle show ruby-debug-ide)
12
+
13
+ if [ -z "$RSPEC_PATH" ] || [ -z "$BUNDLE_PATH" ] || [ -z "$RDEBUG_PATH" ]; then
14
+ echo "error: Missing required gem, please run 'bundle install'"
15
+ exit 1
16
+ fi
17
+
18
+ echo "Using configuration paths:"
19
+ echo "$RSPEC_PATH"
20
+ echo "$BUNDLE_PATH"
21
+ echo "$RDEBUG_PATH"
22
+
23
+ cat < "./.vscode/vscode_ruby.json.template" | sed "s|RSPEC_PATH|$RSPEC_PATH|g" | sed "s|BUNDLE_PATH|$BUNDLE_PATH|g" | sed "s|RDEBUG_PATH|$RDEBUG_PATH|g" > ./.vscode/launch.json
@@ -0,0 +1,44 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Run RSpec - all",
6
+ "type": "Ruby",
7
+ "request": "launch",
8
+ "cwd": "${workspaceRoot}",
9
+ "useBundler": true,
10
+ "pathToBundler": "BUNDLE_PATH",
11
+ "program": "RSPEC_PATH",
12
+ "args": [
13
+ "--pattern",
14
+ "${workspaceRoot}/spec/**/*_spec.rb"
15
+ ]
16
+ },
17
+ {
18
+ "name": "Debug RSpec - open spec file",
19
+ "type": "Ruby",
20
+ "request": "launch",
21
+ "cwd": "${workspaceRoot}",
22
+ "useBundler": true,
23
+ "pathToBundler": "BUNDLE_PATH",
24
+ "pathToRDebugIDE": "RDEBUG_PATH",
25
+ "debuggerPort": "1235",
26
+ "program": "RSPEC_PATH",
27
+ "args": [
28
+ "${file}"
29
+ ]
30
+ },
31
+ {
32
+ "name": "Debug RSpec - open spec file & current line",
33
+ "type": "Ruby",
34
+ "request": "launch",
35
+ "cwd": "${workspaceRoot}",
36
+ "useBundler": true,
37
+ "pathToBundler": "BUNDLE_PATH",
38
+ "pathToRDebugIDE": "RDEBUG_PATH",
39
+ "debuggerPort": "1235",
40
+ "program": "RSPEC_PATH",
41
+ "args": ["${file}:${lineNumber}"]
42
+ }
43
+ ]
44
+ }
data/Gemfile CHANGED
@@ -1,8 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  group :development, :test do
4
- gem 'rake', '~> 11.1.1'
5
- gem 'rspec', '~> 3.4.0'
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'rspec', '~> 3.9.0'
8
+ gem 'rubocop', '~> 0.88'
9
+
10
+ group :debug_vscode do
11
+ gem 'debase'
12
+ gem 'ruby-debug-ide', '~> 0.7.2'
13
+ end
6
14
  end
7
15
 
8
16
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,63 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ xcknife (0.13.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.1)
10
+ debase (0.2.4.1)
11
+ debase-ruby_core_source (>= 0.10.2)
12
+ debase-ruby_core_source (0.10.9)
13
+ diff-lcs (1.3)
14
+ parallel (1.19.2)
15
+ parser (2.7.1.4)
16
+ ast (~> 2.4.1)
17
+ rainbow (3.0.0)
18
+ rake (13.0.1)
19
+ regexp_parser (1.7.1)
20
+ rexml (3.2.4)
21
+ rspec (3.9.0)
22
+ rspec-core (~> 3.9.0)
23
+ rspec-expectations (~> 3.9.0)
24
+ rspec-mocks (~> 3.9.0)
25
+ rspec-core (3.9.2)
26
+ rspec-support (~> 3.9.3)
27
+ rspec-expectations (3.9.2)
28
+ diff-lcs (>= 1.2.0, < 2.0)
29
+ rspec-support (~> 3.9.0)
30
+ rspec-mocks (3.9.1)
31
+ diff-lcs (>= 1.2.0, < 2.0)
32
+ rspec-support (~> 3.9.0)
33
+ rspec-support (3.9.3)
34
+ rubocop (0.89.1)
35
+ parallel (~> 1.10)
36
+ parser (>= 2.7.1.1)
37
+ rainbow (>= 2.2.2, < 4.0)
38
+ regexp_parser (>= 1.7)
39
+ rexml
40
+ rubocop-ast (>= 0.3.0, < 1.0)
41
+ ruby-progressbar (~> 1.7)
42
+ unicode-display_width (>= 1.4.0, < 2.0)
43
+ rubocop-ast (0.3.0)
44
+ parser (>= 2.7.1.4)
45
+ ruby-debug-ide (0.7.2)
46
+ rake (>= 0.8.1)
47
+ ruby-progressbar (1.10.1)
48
+ unicode-display_width (1.7.0)
49
+
50
+ PLATFORMS
51
+ ruby
52
+
53
+ DEPENDENCIES
54
+ bundler (~> 1.12)
55
+ debase
56
+ rake (~> 13.0.1)
57
+ rspec (~> 3.9.0)
58
+ rubocop (~> 0.88)
59
+ ruby-debug-ide (~> 0.7.2)
60
+ xcknife!
61
+
62
+ BUNDLED WITH
63
+ 1.17.3
data/OWNERS.yml ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ cc: [mdx-ios]
data/README.md CHANGED
@@ -9,7 +9,7 @@ It works by leveraging [xctool's](https://github.com/facebook/xctool) [json-stre
9
9
 
10
10
  XCKnife generates a list of only arguments meant to be pass to Xctool's [*-only* test arguments](https://github.com/facebook/xctool#testing), but alternatively could used to generate multiple xcschemes with the proper test partitions.
11
11
 
12
- More information on XCKnife, go [here](https://corner.squareup.com/2016/06/xcknife-faster-distributed-tests-for-ios.html).
12
+ More information on XCKnife, go [here](https://developer.squareup.com/blog/xcknife-faster-distributed-tests-for-ios).
13
13
 
14
14
  ## Install
15
15
 
@@ -194,6 +194,14 @@ XCKnife uses only a few attributes of a json-stream file. If you are storing the
194
194
 
195
195
  `$ xcknife-min example/xcknife-exemplar-historical-data.json-stream minified.json-stream`
196
196
 
197
+ ## Dependencies
198
+
199
+ XCKnife requires the use of the `gtimeout` command, which is provided in the GNU coreutils brew package. If you don't already have them, they can be installed with the command:
200
+
201
+ ```
202
+ brew install coreutils
203
+ ```
204
+
197
205
  ## Contributing
198
206
 
199
207
  Any contributors to the master *xcknife* repository must sign the
data/Rakefile CHANGED
@@ -1,22 +1,27 @@
1
- require 'rspec/core/rake_task'
2
- require "bundler/gem_tasks"
1
+ # frozen_string_literal: true
2
+
3
3
  require 'fileutils'
4
+ require 'bundler/gem_tasks'
4
5
 
6
+ require 'rspec/core/rake_task'
5
7
  RSpec::Core::RakeTask.new(:spec)
6
8
 
7
- task default: :spec
9
+ require 'rubocop/rake_task'
10
+ RuboCop::RakeTask.new
8
11
 
9
- desc "Builds TestDumper.dylib"
12
+ task default: %w[spec rubocop]
13
+
14
+ desc 'Builds TestDumper.dylib'
10
15
  task :build_test_dumper do
11
- target_dir = File.join(File.dirname(__FILE__), "TestDumper")
16
+ target_dir = File.join(File.dirname(__FILE__), 'TestDumper')
12
17
  Dir.chdir(target_dir) do
13
- system "./build.sh"
14
- FileUtils.copy_file("./testdumperbuild/Build/Products/Debug-iphonesimulator/TestDumper.framework/TestDumper", "./TestDumper.dylib")
15
- puts "TestDumper.dylib was created successfully"
18
+ system './build.sh'
19
+ FileUtils.copy_file('./testdumperbuild/Build/Products/Debug-iphonesimulator/TestDumper.framework/TestDumper', './TestDumper.dylib')
20
+ puts 'TestDumper.dylib was created successfully'
16
21
  end
17
22
  end
18
23
 
19
- desc "Release wih test_dumper"
20
- task :gem_release => [:build_test_dumper, :build] do
24
+ desc 'Release wih test_dumper'
25
+ task gem_release: %i[build_test_dumper build] do
21
26
  system 'gem push pkg/xcknife-*.gem'
22
- end
27
+ end