Skip to content

Commit

Permalink
Support Swift 5.10, move specs to Xcode 15.3 (#1385)
Browse files Browse the repository at this point in the history
* Update bundled sourcekitten to support Swift 5.10
* Update Ruby dependencies
* Build specs with Xcode 15.3 on (arm64) macOS 14
  • Loading branch information
johnfairh authored May 4, 2024
1 parent 7e8a61a commit 8022dd9
Show file tree
Hide file tree
Showing 9 changed files with 88 additions and 54 deletions.
11 changes: 6 additions & 5 deletions .github/workflows/Tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
danger_and_rubocop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
Expand All @@ -25,17 +25,18 @@ jobs:
bundle exec danger --verbose
spec:
runs-on: macos-13
runs-on: macos-14
continue-on-error: true
strategy:
matrix:
spec: ["objc_spec", "swift_spec", "cocoapods_spec"]
env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 15.3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
Expand Down
10 changes: 10 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,12 @@ Lint/EmptyInPattern: # (new in 1.16)
Enabled: true
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
Enabled: true
Lint/ItWithoutArgumentsInBlock: # new in 1.59
Enabled: true
Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
Enabled: true
Lint/LiteralAssignmentInCondition: # new in 1.58
Enabled: true
Lint/MixedCaseRange: # new in 1.53
Enabled: true
Lint/NonAtomicFileOperation: # new in 1.31
Expand Down Expand Up @@ -136,6 +140,8 @@ Style/MagicCommentFormat: # new in 1.35
Enabled: true
Style/MapCompactWithConditionalBlock: # new in 1.30
Enabled: true
Style/MapIntoArray: # new in 1.63
Enabled: true
Style/MapToHash: # new in 1.24
Enabled: true
Style/MapToSet: # new in 1.42
Expand Down Expand Up @@ -194,8 +200,12 @@ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
Enabled: true
Style/SelectByRegexp: # new in 1.22
Enabled: true
Style/SingleLineDoEndBlock: # new in 1.57
Enabled: true
Style/StringChars: # (new in 1.12)
Enabled: true
Style/SuperWithArgsParentheses: # new in 1.58
Enabled: true
Style/SwapValues: # (new in 1.1)
Enabled: true
Style/YAMLFileRead: # new in 1.53
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@

##### Enhancements

* Support Swift 5.10 with Swift Package Manager projects.
[John Fairhurst](https://github.com/johnfairh)
[#1381](https://github.com/realm/jazzy/issues/1381)

* Support documentation of multiple modules in a single website. Use
`--modules` or the config-file `modules` for more control. See the
README 'Documenting multiple modules' for more details.
[Argjira Mala](https://github.com/argjiramala-tomtom)
[Pedro Alcobia](https://github.com/PedroAlcobia-TomTom)
[John Fairhurst](https://github.com/johnfairh)
[#564](https://github.com/realm/jazzy/issues/564)

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ git push
You'll need push access to the integration specs repo to do this. You can
request access from one of the maintainers when filing your PR.

You must have Xcode 15.2 installed to build the integration specs.
You must have Xcode 15.3 installed to build the integration specs.

## Making changes to SourceKitten

Expand Down
107 changes: 61 additions & 46 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,41 @@ PATH
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
CFPropertyList (3.0.7)
base64
nkf
rexml
activesupport (7.0.8)
activesupport (7.1.3.2)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
ast (2.4.2)
atomos (0.1.3)
bacon (1.2.0)
base64 (0.1.1)
base64 (0.2.0)
bigdecimal (3.1.7)
claide (1.1.0)
claide-plugins (0.9.2)
cork
nap
open4 (~> 1.3)
cocoapods (1.12.1)
cocoapods (1.15.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.12.1)
cocoapods-core (= 1.15.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
Expand All @@ -61,8 +69,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.12.1)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.15.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
Expand All @@ -73,7 +81,7 @@ GEM
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
Expand All @@ -82,12 +90,14 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.2)
concurrent-ruby (1.2.3)
connection_pool (2.4.1)
cork (0.3.0)
colored2 (~> 3.1)
crack (0.4.5)
crack (1.0.0)
bigdecimal
rexml
danger (9.3.1)
danger (9.4.3)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
colored2 (~> 3.1)
Expand All @@ -98,82 +108,86 @@ GEM
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
no_proxy_fix
octokit (~> 6.0)
octokit (>= 4.0)
terminal-table (>= 1, < 4)
diffy (3.4.2)
drb (2.2.1)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-http-cache (2.5.0)
faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2)
faraday-http-cache (2.5.1)
faraday (>= 0.8)
faraday-net_http (3.0.2)
ffi (1.15.5)
faraday-net_http (3.1.0)
net-http
ffi (1.16.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
git (1.18.0)
git (1.19.1)
addressable (~> 2.8)
rchardet (~> 1.8)
hashdiff (1.0.1)
hashdiff (1.1.0)
httpclient (2.8.3)
i18n (1.14.1)
i18n (1.14.4)
concurrent-ruby (~> 1.0)
json (2.6.3)
json (2.7.2)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
language_server-protocol (3.17.0.3)
liferaft (0.0.6)
mini_portile2 (2.8.4)
minitest (5.20.0)
mocha (2.1.0)
mini_portile2 (2.8.6)
minitest (5.22.3)
mocha (2.2.0)
ruby2_keywords (>= 0.0.5)
mocha-on-bacon (0.2.3)
mocha (>= 0.13.0)
molinillo (0.8.0)
mustache (1.1.1)
mutex_m (0.2.0)
nanaimo (0.3.0)
nap (1.1.0)
net-http (0.4.1)
uri
netrc (0.11.0)
nkf (0.2.0)
no_proxy_fix (0.1.2)
octokit (6.1.1)
octokit (8.1.0)
base64
faraday (>= 1, < 3)
sawyer (~> 0.9)
open4 (1.3.4)
parallel (1.23.0)
parser (3.2.2.3)
parallel (1.24.0)
parser (3.3.1.0)
ast (~> 2.4.1)
racc
prettybacon (0.0.2)
bacon (~> 1.2)
public_suffix (4.0.7)
racc (1.7.1)
racc (1.7.3)
rainbow (3.1.1)
rake (13.0.6)
rake (13.2.1)
rchardet (1.8.0)
redcarpet (3.6.0)
regexp_parser (2.8.1)
regexp_parser (2.9.0)
rexml (3.2.6)
rouge (4.1.3)
rubocop (1.56.3)
base64 (~> 0.1.1)
rouge (4.2.1)
rubocop (1.63.4)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.3)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
rubocop-ast (1.31.3)
parser (>= 3.3.1.0)
ruby-macho (2.5.1)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
Expand All @@ -182,22 +196,23 @@ GEM
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
sqlite3 (1.6.6)
sqlite3 (1.7.3)
mini_portile2 (~> 2.8.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.4.2)
webmock (3.19.1)
unicode-display_width (2.5.0)
uri (0.13.0)
webmock (3.23.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
xcinvoke (0.3.0)
liferaft (~> 0.0.6)
xcodeproj (1.22.0)
xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
Expand Down
Binary file modified bin/sourcekitten
Binary file not shown.
2 changes: 2 additions & 0 deletions spec/integration_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ def configure_cocoapods
s.replace_pattern(%r{/transformed/}, '/')
# Xcode 15 workaround
s.replace_pattern(/objc\[.....\]: Class _?DTX\w+ is implemented in both.*?\n/, '')
# arm vs. intel workaround
s.replace_pattern(%r{(?<=build/)(arm64|x86_64)(?=-apple)}, '')
end

require 'shellwords'
Expand Down
2 changes: 1 addition & 1 deletion spec/integration_specs
Submodule integration_specs updated 46 files
+1 −1 document_alamofire/after/docs/docsets/Alamofire.docset/Contents/Resources/Documents/search.json
+1 −1 document_alamofire/after/docs/search.json
+1 −1 document_alamofire/after/execution_output.txt
+1 −1 document_moya_podspec/after/docs/docsets/Moya.docset/Contents/Resources/Documents/search.json
+1 −1 document_moya_podspec/after/docs/search.json
+1 −1 document_realm_objc/after/docs/Classes/RLMApp.html
+3 −3 document_realm_objc/after/docs/Classes/RLMAppConfiguration.html
+3 −3 document_realm_objc/after/docs/Classes/RLMArray.html
+1 −1 document_realm_objc/after/docs/Classes/RLMCredentials.html
+3 −3 document_realm_objc/after/docs/Classes/RLMRealm.html
+2 −2 document_realm_objc/after/docs/Classes/RLMResults.html
+2 −2 document_realm_objc/after/docs/Classes/RLMSyncConfiguration.html
+1 −1 document_realm_objc/after/docs/Classes/RLMUser.html
+2 −2 document_realm_objc/after/docs/Functions.html
+1 −1 document_realm_objc/after/docs/Protocols/RLMASLoginDelegate.html
+3 −3 document_realm_objc/after/docs/Protocols/RLMChangeEventDelegate.html
+1 −1 document_realm_objc/after/docs/Protocols/RLMCollection.html
+2 −2 document_realm_objc/after/docs/Protocols/RLMEventDelegate.html
+1 −1 document_realm_objc/after/docs/Protocols/RLMNetworkTransport.html
+23 −23 document_realm_objc/after/docs/Type Definitions.html
+1 −1 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMApp.html
+3 −3 ...nt_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMAppConfiguration.html
+3 −3 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMArray.html
+1 −1 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMCredentials.html
+3 −3 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMRealm.html
+2 −2 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMResults.html
+2 −2 ...t_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMSyncConfiguration.html
+1 −1 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Classes/RLMUser.html
+2 −2 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Functions.html
+1 −1 ...t_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Protocols/RLMASLoginDelegate.html
+3 −3 ...alm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Protocols/RLMChangeEventDelegate.html
+1 −1 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Protocols/RLMCollection.html
+2 −2 ...ent_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Protocols/RLMEventDelegate.html
+1 −1 ..._realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Protocols/RLMNetworkTransport.html
+23 −23 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/Type Definitions.html
+1 −1 document_realm_objc/after/docs/docsets/Realm.docset/Contents/Resources/Documents/search.json
+1 −1 document_realm_objc/after/docs/search.json
+1 −1 document_realm_swift/after/docs/docsets/RealmSwift.docset/Contents/Resources/Documents/search.json
+1 −1 document_realm_swift/after/docs/search.json
+2 −2 document_siesta/after/api-docs/Classes/Resource.html
+2 −2 document_siesta/after/api-docs/docsets/Siesta.docset/Contents/Resources/Documents/Classes/Resource.html
+1 −1 document_siesta/after/api-docs/docsets/Siesta.docset/Contents/Resources/Documents/search.json
+1 −1 document_siesta/after/api-docs/search.json
+1 −1 misc_jazzy_symgraph_features/after/docs/Classes/TopLevelClass.html
+1 −1 ...eatures/after/docs/docsets/MiscJazzyFeatures.docset/Contents/Resources/Documents/Classes/TopLevelClass.html
+2 −2 misc_jazzy_symgraph_features/after/execution_output.txt

0 comments on commit 8022dd9

Please sign in to comment.