Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rome uses error output for non-errors #109

Open
marcpalmer opened this issue Jan 3, 2018 · 1 comment
Open

Rome uses error output for non-errors #109

marcpalmer opened this issue Jan 3, 2018 · 1 comment

Comments

@marcpalmer
Copy link

marcpalmer commented Jan 3, 2018

Enhancement Suggestion

Currently if Rome does not find a dependency or bcsymbolmap in the cache it outputs this as an error, and this is particularly ugly when used with Fastlane.

It is just noise in almost all cases I can think of, and is particularly noisy when you do your first Rome download and when you build only for one platform e.g. iOS where you get all the symbol map errors.

Steps which explain the enhancement

  1. Suppress output of these messages unless using a "verbose" mode, or at least change them to warnings instead of errors. OR... collect them up and at the end and output a message like "4 dependencies and 37 symbol maps could not be found in the cache. This simply means some items are not yet in your cache. Run with --verbose for details"

Current and suggested behavior

Running Rome for the first time on a project that has an empty cache chokes with an error on every single dependency. e.g:

[13:36:41]: ▸ Error: could not find OnePasswordExtension.6B87C426-B309-3394-A31D-8883DC6C4D6A.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/6B87C426-B309-3394-A31D-8883DC6C4D6A.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip
[13:36:41]: ▸ Error: could not find OnePasswordExtension.F4A8C455-19F7-35F3-96D2-7DD4CAC5040A.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/F4A8C455-19F7-35F3-96D2-7DD4CAC5040A.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip
[13:36:41]: ▸ Error: could not find OnePasswordExtension.7D3E2BB4-DE64-321B-994C-A69BD45877C7.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/7D3E2BB4-DE64-321B-994C-A69BD45877C7.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip
[13:36:41]: ▸ Error: could not find OnePasswordExtension.5E20B41A-A888-3783-AE7B-F45278581988.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/5E20B41A-A888-3783-AE7B-F45278581988.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip

and running Rome again later for a single platform after the cache has been populated for a single platform results in an error for every dependency for every platform that was not build, e.g. at least two error lines per dependency if you built dependencies only for iOS:

[13:48:41]: ▸ Error: could not find OnePasswordExtension.6B87C426-B309-3394-A31D-8883DC6C4D6A.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/6B87C426-B309-3394-A31D-8883DC6C4D6A.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip
[13:48:41]: ▸ Error: could not find OnePasswordExtension.F4A8C455-19F7-35F3-96D2-7DD4CAC5040A.bcsymbolmap in local cache at : /Users/marc/Library/Caches/Rome/XXXXXX/onepassword-extension/iOS/F4A8C455-19F7-35F3-96D2-7DD4CAC5040A.bcsymbolmap-04f146abd3bd5e6f7ba8b18b916c55f3b3c85aed.zip

Why would the enhancement be useful to most users

This output is not generally useful to users. Items not being in a cache is not an error, it is expected behaviour for any cache that can be invalidated.

Rome version: 0.13.0.33
OS and version: maxOS 10.12.6

@tmspzz
Copy link
Owner

tmspzz commented Jan 3, 2018

Hi and thanks for opening an issue.

First off, I certainly agree that the output can be improved. Are you ware that you can ask rome to cache by platform using the --platform iOS|tvOS|mac|watchOS switch? This should limit the amount of cache misses. This however is not possible with bcsymbolmaps. If you know of a way to pair the bcsymbolmap with a particular platform I'd be happy to implement it.

The assumption I made is that cache misses are errors. When I fist started the project it would only cache frameworks so a miss would be a big deal. Then I added dsyms and all the rest.

I can certainly change the wording to "Warning" rater than error. However I would keep the output to standard error.

Hiding the cache miss error behind the --verbose switch is an attractive idea. I'm not sure about the effort that creating a summary involves but it might require some redesign.

I'll consider this for the next big refactoring. Please @marcpalmer let me know if you are experiencing other issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants