Skip to content

Commit 69766f4

Browse files
committed
Use Sparkle from Cocoapods rather than custom build
1 parent 5d01d0f commit 69766f4

20 files changed

+448
-212
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ spec/reports
1212
test/tmp
1313
test/version_tmp
1414
tmp
15+
vendor/Pods
16+
vendor/Podfile.lock
1517
Gemfile.lock
18+
__MACOSX
1619

1720
# YARD artifacts
1821
.yardoc

.rubocop.yml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
inherit_from: .rubocop_todo.yml
2+
3+
AllCops:
4+
NewCops: enable

.rubocop_todo.yml

+183
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
# This configuration was generated by
2+
# `rubocop --auto-gen-config`
3+
# on 2021-09-18 22:35:29 UTC using RuboCop version 1.21.0.
4+
# The point is for the user to remove these configuration records
5+
# one by one as the offenses are removed from the code base.
6+
# Note that changes in the inspected code, or installation of new
7+
# versions of RuboCop, may require this file to be generated again.
8+
9+
# Offense count: 1
10+
# Configuration parameters: Include.
11+
# Include: **/*.gemspec
12+
Gemspec/RequiredRubyVersion:
13+
Exclude:
14+
- 'motion-sparkle-sandbox.gemspec'
15+
16+
# Offense count: 1
17+
# Cop supports --auto-correct.
18+
# Configuration parameters: EnforcedStyleAlignWith, Severity.
19+
# SupportedStylesAlignWith: keyword, variable, start_of_line
20+
Layout/EndAlignment:
21+
Exclude:
22+
- 'spec/sparkle_spec.rb'
23+
24+
# Offense count: 1
25+
Lint/NonLocalExitFromIterator:
26+
Exclude:
27+
- 'lib/motion/project/sparkle.rb'
28+
29+
# Offense count: 2
30+
Lint/UselessAssignment:
31+
Exclude:
32+
- 'lib/motion/project/rake_tasks.rb'
33+
34+
# Offense count: 6
35+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
36+
Metrics/AbcSize:
37+
Max: 80
38+
39+
# Offense count: 2
40+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
41+
# IgnoredMethods: refine
42+
Metrics/BlockLength:
43+
Max: 64
44+
45+
# Offense count: 1
46+
# Configuration parameters: CountComments, CountAsOne.
47+
Metrics/ClassLength:
48+
Max: 150
49+
50+
# Offense count: 1
51+
# Configuration parameters: IgnoredMethods.
52+
Metrics/CyclomaticComplexity:
53+
Max: 8
54+
55+
# Offense count: 10
56+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
57+
Metrics/MethodLength:
58+
Max: 30
59+
60+
# Offense count: 1
61+
# Configuration parameters: IgnoredMethods.
62+
Metrics/PerceivedComplexity:
63+
Max: 10
64+
65+
# Offense count: 1
66+
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
67+
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
68+
Naming/FileName:
69+
Exclude:
70+
- 'lib/motion-sparkle-sandbox.rb'
71+
72+
# Offense count: 6
73+
# Cop supports --auto-correct.
74+
# Configuration parameters: EnforcedStyle.
75+
# SupportedStyles: always, conditionals
76+
Style/AndOr:
77+
Exclude:
78+
- 'lib/motion/project/setup.rb'
79+
- 'lib/motion/project/templates.rb'
80+
81+
# Offense count: 7
82+
# Cop supports --auto-correct.
83+
# Configuration parameters: EnforcedStyle.
84+
# SupportedStyles: nested, compact
85+
Style/ClassAndModuleChildren:
86+
Exclude:
87+
- 'lib/motion/project/appcast.rb'
88+
- 'lib/motion/project/install.rb'
89+
- 'lib/motion/project/package.rb'
90+
- 'lib/motion/project/project.rb'
91+
- 'lib/motion/project/setup.rb'
92+
- 'lib/motion/project/sparkle.rb'
93+
- 'lib/motion/project/templates.rb'
94+
95+
# Offense count: 10
96+
# Configuration parameters: AllowedConstants.
97+
Style/Documentation:
98+
Exclude:
99+
- 'spec/**/*'
100+
- 'test/**/*'
101+
- 'lib/motion/project/appcast.rb'
102+
- 'lib/motion/project/install.rb'
103+
- 'lib/motion/project/package.rb'
104+
- 'lib/motion/project/project.rb'
105+
- 'lib/motion/project/setup.rb'
106+
- 'lib/motion/project/sparkle.rb'
107+
- 'lib/motion/project/templates.rb'
108+
109+
# Offense count: 12
110+
# Cop supports --auto-correct.
111+
# Configuration parameters: EnforcedStyle.
112+
# SupportedStyles: always, always_true, never
113+
Style/FrozenStringLiteralComment:
114+
Exclude:
115+
- 'Rakefile'
116+
- 'lib/motion-sparkle-sandbox.rb'
117+
- 'lib/motion/project/appcast.rb'
118+
- 'lib/motion/project/install.rb'
119+
- 'lib/motion/project/package.rb'
120+
- 'lib/motion/project/project.rb'
121+
- 'lib/motion/project/rake_tasks.rb'
122+
- 'lib/motion/project/setup.rb'
123+
- 'lib/motion/project/sparkle.rb'
124+
- 'lib/motion/project/templates.rb'
125+
- 'spec/sparkle_spec.rb'
126+
- 'spec/spec_helper.rb'
127+
128+
# Offense count: 4
129+
# Configuration parameters: MinBodyLength.
130+
Style/GuardClause:
131+
Exclude:
132+
- 'lib/motion/project/setup.rb'
133+
134+
# Offense count: 4
135+
# Cop supports --auto-correct.
136+
Style/IfUnlessModifier:
137+
Exclude:
138+
- 'lib/motion/project/package.rb'
139+
- 'lib/motion/project/setup.rb'
140+
141+
# Offense count: 5
142+
# Cop supports --auto-correct.
143+
# Configuration parameters: EnforcedStyle.
144+
# SupportedStyles: literals, strict
145+
Style/MutableConstant:
146+
Exclude:
147+
- 'lib/motion/project/install.rb'
148+
- 'lib/motion/project/sparkle.rb'
149+
- 'lib/motion/project/templates.rb'
150+
151+
# Offense count: 2
152+
# Configuration parameters: AllowedMethods.
153+
# AllowedMethods: respond_to_missing?
154+
Style/OptionalBooleanParameter:
155+
Exclude:
156+
- 'lib/motion/project/setup.rb'
157+
- 'lib/motion/project/templates.rb'
158+
159+
# Offense count: 2
160+
# Cop supports --auto-correct.
161+
# Configuration parameters: RequireEnglish.
162+
# SupportedStyles: use_perl_names, use_english_names
163+
Style/SpecialGlobalVars:
164+
EnforcedStyle: use_perl_names
165+
166+
# Offense count: 17
167+
# Cop supports --auto-correct.
168+
# Configuration parameters: Mode.
169+
Style/StringConcatenation:
170+
Exclude:
171+
- 'lib/motion/project/appcast.rb'
172+
- 'lib/motion/project/install.rb'
173+
- 'lib/motion/project/sparkle.rb'
174+
- 'lib/motion/project/templates.rb'
175+
- 'spec/sparkle_spec.rb'
176+
- 'spec/spec_helper.rb'
177+
178+
# Offense count: 8
179+
# Cop supports --auto-correct.
180+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
181+
# URISchemes: http, https
182+
Layout/LineLength:
183+
Max: 192

.ruby-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.7.2

.travis.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
language: objective-c
2+
osx_image: xcode12.2
3+
env:
4+
global:
5+
- RUBYMOTION_LICENSE=1dcac45cc434293009f74b33037bdf7361a3a1ff # Official license key for open-source projects
6+
- TMP_DIR=./tmp # For motion repo, so it doesn't attempt to use /tmp, to which it has no access
7+
- OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
8+
9+
before_install:
10+
- brew update
11+
- brew outdated xctool || brew upgrade xctool
12+
- (xcrun simctl list)
13+
- wget http://travisci.rubymotion.com/ -O RubyMotion-TravisCI.pkg
14+
- sudo installer -pkg RubyMotion-TravisCI.pkg -target /
15+
- cp -r /usr/lib/swift/*.dylib /Applications/Xcode.app/Contents/Frameworks/
16+
- touch /Applications/Xcode.app/Contents/Frameworks/.swift-5-staged
17+
- sudo mkdir -p ~/Library/RubyMotion/build
18+
- sudo chown -R travis ~/Library/RubyMotion
19+
- eval "sudo motion activate $RUBYMOTION_LICENSE"
20+
- sudo motion update
21+
- (motion --version)
22+
- (ruby --version)
23+
- motion repo
24+
- bundle install --jobs=3 --retry=3
25+
- bundle exec rake pod:install
26+
27+
gemfile:
28+
- Gemfile
29+
30+
jobs:
31+
include:
32+
- stage: rubocop
33+
script: bundle exec rubocop
34+
- stage: macos
35+
script: bundle exec rake spec
36+
# - stage: ios
37+
# script: bundle exec rake spec platform=ios

Gemfile

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
source 'https://rubygems.org'
1+
# frozen_string_literal: true
22

3-
gemspec
3+
source 'https://rubygems.org'
44

55
gem 'bacon'
6+
67
gem 'rake'
8+
gem 'rubocop'
9+
gem 'rubocop-performance'
10+
gem 'rubocop-rake'
11+
gem 'rubocop-rspec'
12+
13+
gem 'pry-byebug', '~> 3.9.0', platform: :mri
14+
gem 'binding_of_caller'
15+
16+
gemspec

Rakefile

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
# frozen_string_literal: true
2+
13
require 'bundler/gem_tasks'
24

3-
desc "Run all the specs"
5+
desc 'Run all the specs'
46
task :spec do
57
sh "bundle exec bacon -q #{FileList['spec/*_spec.rb'].join(' ')}"
68
end
7-
task :default => :spec
8-
task :test => :spec
9+
task default: :spec
10+
task test: :spec

lib/motion-sparkle-sandbox.rb

+18-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
unless defined?(Motion::Project::Config)
2-
raise "This file must be required within a RubyMotion project Rakefile."
3-
end
1+
# frozen_string_literal: true
2+
3+
raise 'This file must be required within a RubyMotion project Rakefile.' unless defined?(Motion::Project::Config)
4+
5+
require 'motion-cocoapods'
46

57
require 'motion/project/sparkle'
68
require 'motion/project/install'
@@ -10,3 +12,16 @@
1012
require 'motion/project/appcast'
1113
require 'motion/project/project'
1214
require 'motion/project/rake_tasks'
15+
16+
lib_dir_path = File.dirname(File.expand_path(__FILE__))
17+
18+
POD_VERSION = '~> 2.0.0-beta.2'
19+
20+
unless @running_specs
21+
Motion::Project::App.setup do |app|
22+
app.files.unshift(Dir.glob(File.join(lib_dir_path, 'motion-sparkle-sandbox/**/*.rb')))
23+
app.pods do
24+
pod 'Sparkle', POD_VERSION
25+
end
26+
end
27+
end

lib/motion-sparkle-sandbox/version.rb

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# frozen_string_literal: true
2+
3+
module MotionSparkleSandbox
4+
VERSION = '2.0.0.pre.beta.2'
5+
end

0 commit comments

Comments
 (0)