slather 2.8.3 → 2.8.4
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 +4 -4
- data/.gitignore +5 -1
- data/CHANGELOG.md +11 -1
- data/lib/slather/project.rb +25 -11
- data/lib/slather/version.rb +1 -1
- data/slather.gemspec +1 -1
- metadata +5 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5b2390d1df8d9295fc1239bcaba55dcc176a8d31a755fab5e4e1185ee27bc1a7
         | 
| 4 | 
            +
              data.tar.gz: 3f85d92eaf943f25c799b70798b7f86f2196e51e44470ba84ea4adc02b919d52
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d47d53bd5a72e09598140ff646dcd7cde3581387433edbd4d30d49ff468956f446d85fe9a4800092b54ab133b95ac8738c79168836f1562b7c394a9696c71bf0
         | 
| 7 | 
            +
              data.tar.gz: 85da0669f94911b362e2d5dd23789a540762e2c3b40cd880ac8b274aa253249bb71525735d5ec72289ecb8926755a7b4067d2b7803f42e9a7a2ec3d38f4fc439
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,16 @@ | |
| 1 1 | 
             
            # CHANGELOG
         | 
| 2 2 |  | 
| 3 | 
            -
            ## v2.8. | 
| 3 | 
            +
            ## v2.8.4
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Don't crash when 0% coverage is causing empty JSON
         | 
| 6 | 
            +
              [jarrodlombardo-EventBase](https://github.com/jarrodlombardo-EventBase)
         | 
| 7 | 
            +
              [#570](https://github.com/SlatherOrg/slather/pull/570)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Xcode 16 compatibility (as of beta 5)
         | 
| 10 | 
            +
              [ksuther](https://github.com/ksuther)
         | 
| 11 | 
            +
              [#568](https://github.com/SlatherOrg/slather/pull/568)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ## v2.8.3
         | 
| 4 14 |  | 
| 5 15 | 
             
            * Fix coverage_file.source_file_pathname
         | 
| 6 16 | 
             
              [alfredofernandes](https://github.com/alfredofernandes)
         | 
    
        data/lib/slather/project.rb
    CHANGED
    
    | @@ -132,21 +132,26 @@ module Slather | |
| 132 132 |  | 
| 133 133 | 
             
                def pathnames_per_binary(binary_path)
         | 
| 134 134 | 
             
                  coverage_json_string = llvm_cov_export_output(binary_path)
         | 
| 135 | 
            -
                   | 
| 136 | 
            -
             | 
| 137 | 
            -
                     | 
| 138 | 
            -
             | 
| 139 | 
            -
                       | 
| 140 | 
            -
             | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 135 | 
            +
                  if coverage_json_string.strip != ""
         | 
| 136 | 
            +
                    # JSON.parse will crash on an empty string, so just skip everything if the string is empty.
         | 
| 137 | 
            +
                    coverage_json = JSON.parse(coverage_json_string)
         | 
| 138 | 
            +
                    coverage_json["data"].reduce([]) do |result, chunk|
         | 
| 139 | 
            +
                      result.concat(chunk["files"].map do |file|
         | 
| 140 | 
            +
                        filename = file["filename"]
         | 
| 141 | 
            +
                        path = Pathname(filename)
         | 
| 142 | 
            +
                        # Don't crash if the file doesn't exist on disk.
         | 
| 143 | 
            +
                        # This may happen for autogenerated files that have been deleted.
         | 
| 144 | 
            +
                        filename = path.exist? ? path.realpath : filename
         | 
| 145 | 
            +
                        {"filename" => filename, "segments" => file["segments"]}
         | 
| 146 | 
            +
                      end)
         | 
| 147 | 
            +
                    end
         | 
| 145 148 | 
             
                  end
         | 
| 146 149 | 
             
                end
         | 
| 147 150 | 
             
                private :pathnames_per_binary
         | 
| 148 151 |  | 
| 149 152 | 
             
                def create_coverage_files_for_binary(binary_path, pathnames_per_binary)
         | 
| 153 | 
            +
                  return [] unless pathnames_per_binary != nil
         | 
| 154 | 
            +
             | 
| 150 155 | 
             
                  coverage_files = []
         | 
| 151 156 |  | 
| 152 157 | 
             
                  begin
         | 
| @@ -482,7 +487,16 @@ module Slather | |
| 482 487 | 
             
                def find_binary_file_in_bundle(bundle_file)
         | 
| 483 488 | 
             
                  if File.directory? bundle_file
         | 
| 484 489 | 
             
                    bundle_file_noext = File.basename(bundle_file, File.extname(bundle_file))
         | 
| 485 | 
            -
             | 
| 490 | 
            +
             | 
| 491 | 
            +
                    # Search for .debug.dylib binaries
         | 
| 492 | 
            +
                    # See https://developer.apple.com/documentation/xcode/build-settings-reference#Enable-Debug-Dylib-Support for details
         | 
| 493 | 
            +
                    debug_dylib_matches = Dir["#{bundle_file}/**/#{bundle_file_noext}.debug.dylib"]
         | 
| 494 | 
            +
             | 
| 495 | 
            +
                    if debug_dylib_matches.length() > 0
         | 
| 496 | 
            +
                      debug_dylib_matches.first
         | 
| 497 | 
            +
                    else
         | 
| 498 | 
            +
                      Dir["#{bundle_file}/**/#{bundle_file_noext}"].first
         | 
| 499 | 
            +
                    end
         | 
| 486 500 | 
             
                  else
         | 
| 487 501 | 
             
                    bundle_file
         | 
| 488 502 | 
             
                  end
         | 
    
        data/lib/slather/version.rb
    CHANGED
    
    
    
        data/slather.gemspec
    CHANGED
    
    | @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| | |
| 28 28 | 
             
              spec.add_development_dependency 'equivalent-xml', '~> 0.6'
         | 
| 29 29 |  | 
| 30 30 | 
             
              spec.add_dependency 'clamp', '~> 1.3'
         | 
| 31 | 
            -
              spec.add_dependency 'xcodeproj', '~> 1. | 
| 31 | 
            +
              spec.add_dependency 'xcodeproj', '~> 1.25'
         | 
| 32 32 | 
             
              spec.add_dependency 'nokogiri', '>= 1.14.3'
         | 
| 33 33 | 
             
              spec.add_dependency 'CFPropertyList', '>= 2.2', '< 4'
         | 
| 34 34 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: slather
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.8. | 
| 4 | 
            +
              version: 2.8.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mark Larsen
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024- | 
| 11 | 
            +
            date: 2024-09-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -156,14 +156,14 @@ dependencies: | |
| 156 156 | 
             
                requirements:
         | 
| 157 157 | 
             
                - - "~>"
         | 
| 158 158 | 
             
                  - !ruby/object:Gem::Version
         | 
| 159 | 
            -
                    version: '1. | 
| 159 | 
            +
                    version: '1.25'
         | 
| 160 160 | 
             
              type: :runtime
         | 
| 161 161 | 
             
              prerelease: false
         | 
| 162 162 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 163 163 | 
             
                requirements:
         | 
| 164 164 | 
             
                - - "~>"
         | 
| 165 165 | 
             
                  - !ruby/object:Gem::Version
         | 
| 166 | 
            -
                    version: '1. | 
| 166 | 
            +
                    version: '1.25'
         | 
| 167 167 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 168 168 | 
             
              name: nokogiri
         | 
| 169 169 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -341,7 +341,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 341 341 | 
             
                - !ruby/object:Gem::Version
         | 
| 342 342 | 
             
                  version: '0'
         | 
| 343 343 | 
             
            requirements: []
         | 
| 344 | 
            -
            rubygems_version: 3.5. | 
| 344 | 
            +
            rubygems_version: 3.5.18
         | 
| 345 345 | 
             
            signing_key:
         | 
| 346 346 | 
             
            specification_version: 4
         | 
| 347 347 | 
             
            summary: Test coverage reports for Xcode projects
         |