diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml index 29e59493..de08dd72 100644 --- a/.github/workflows/Tests.yml +++ b/.github/workflows/Tests.yml @@ -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 @@ -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 diff --git a/.rubocop.yml b/.rubocop.yml index de26cbba..2bc41326 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -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 @@ -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 @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ad39532..ff5d5b6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8360fab2..84865419 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/Gemfile.lock b/Gemfile.lock index aaa70cb2..e326f471 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -23,14 +23,21 @@ 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) @@ -38,18 +45,19 @@ GEM 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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) diff --git a/SourceKitten b/SourceKitten index 998aefed..d6abc1f2 160000 --- a/SourceKitten +++ b/SourceKitten @@ -1 +1 @@ -Subproject commit 998aefedc158c3da74bddadbf699ba126b7f0543 +Subproject commit d6abc1f2565b77daed8180871c81bc0be5a49753 diff --git a/bin/sourcekitten b/bin/sourcekitten index 40841e0b..4988db3d 100755 Binary files a/bin/sourcekitten and b/bin/sourcekitten differ diff --git a/spec/integration_spec.rb b/spec/integration_spec.rb index c1abc569..c476c0de 100644 --- a/spec/integration_spec.rb +++ b/spec/integration_spec.rb @@ -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' diff --git a/spec/integration_specs b/spec/integration_specs index d1e72597..0fdc512a 160000 --- a/spec/integration_specs +++ b/spec/integration_specs @@ -1 +1 @@ -Subproject commit d1e725975cf03a2fd33b60f73fadc7a89f3a7f8a +Subproject commit 0fdc512a7be7f01e6e2a42bcdaa2a507960cee45