Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Slather selects doccarchive when looking for binary

Open
#519 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
38/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
ruby
Domain
tooling

Research direction

Start in lib/slather/project.rb at find_binary_files, where the issue points to existing filters for .dsym and swiftmodule files. Reproduce with a target that generates a doccarchive and uses binary_basename; done means the archive directory is not selected as the binary and coverage can load the target binary.

Written by the indexing model from the issue text.

Description

A minor one:

If we have RUN_DOCUMENTATION_COMPILER = YES within our target, the target's doccarchive gets generated alongside the built target.

But it's possible for find_binary_file to confuse the output within the doccarchive for the target module, because they share the same name. eg. this error:

bundler: failed to load command: fastlane (/Users/vagrant/.rbenv/versions/2.6.5/bin/fastlane)
/Users/vagrant/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.204.3/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Exit status of command 'slather coverage --sonarqube-xml --build-directory /Users/vagrant/git/derivedData --output-directory ./sonar-reports --input-format profdata --scheme AProduct --workspace AProduct.xcworkspace AProduct.xcodeproj' was 1 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
Slathering...
error: /Users/vagrant/git/derivedData/Build/Products/Debug-iphonesimulator/AFramework.doccarchive/data/documentation/AFramework: Failed to load coverage: Is a directory
error: Could not load coverage information

We're able to work around this by specifying binary_file instead of binary_basename directly in our configuration, but obviously it would be preferable, and more portable, if binary_basename continued to work.

There's already explicit filtering of .dsym and swiftmodule files within find_binary_files, so one solution might also be to skip the doccarchive here as well.

Happy to suggest a PR, just wanted to try and raise an issue first!

Dominant language
Ruby
Stars
1.6k
Forks
239
Avg merge
10h 19m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SlatherOrg/slather

All issues in SlatherOrg/slather

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.