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 incorrectly assumes supported platform #135

Closed
c0diq opened this issue Aug 1, 2018 · 12 comments
Closed

Rome incorrectly assumes supported platform #135

c0diq opened this issue Aug 1, 2018 · 12 comments

Comments

@c0diq
Copy link

c0diq commented Aug 1, 2018

Enhancement Suggestion / Bug Report

Rome assumes a platform is missing for projects that can only build certain platform. In the Rome documentation, HockeySDK-iOS is used as an example in the RepositoryMap to tell Rome that the framework name generated is not the same as the project name. However if one is also to depend on HockeySDK-Mac which generates the same framework name, Rome will incorrectly assume that it generates an iOS version.

Steps which explain the enhancement or reproduce the bug

  1. Add to your RomeFile
    HockeySDK-iOS = HockeySDK
    HockeySDK-Mac = HockeySDK
  2. run
    $ rome list --missing --platform ios
    HockeySDK-Mac 5.1.0 : -iOS

Current behavior
Rome incorrectly list a platform as missing for a project that doesn't build that platform.

Suggested behavior

Rome should automatically detect/know what platforms are supported for a given project.
Alternatively, allow to specify in the Romefile what platform are supported

Why would the enhancement be useful to most users

See above

Rome version:

0.15.0.43 - Romam uno die non fuisse conditam.

OS and version:

macOS 10.13.5

@c0diq
Copy link
Author

c0diq commented Aug 1, 2018

Similarly running rome list --missing --platform macos when using just HockeySDK-iOS = HockeySDK in Remofile [RepositoryMap] section will incorrectly return
HockeySDK-iOS 5.1.2 : -Mac

@tmspzz
Copy link
Owner

tmspzz commented Aug 1, 2018

Thanks for opening an issue.

The current behavior is intended (I don't mean it's right, I mean that I am aware that this can happen).

The idea is that when listing you know what platform you're listing for. You also know what frameworks are required by each platform, so you can take action on rome's reports and ignore false positives like HockeySDK-iOS missing for Mac.

I think I can hack extend the [RepositoryMap] entries like I just did to introduce support for carthage 0.31.0. But I also think that maybe the INI format is showing it's limits and the Romefile should really be a yaml file.

Either way in the mean time you have to process the output of list (which can also print json) and skip the false positives.

@c0diq
Copy link
Author

c0diq commented Aug 1, 2018

Thanks for the answer. The problem is that your example of piping rome list --missing into rome upload is made more difficult now if you need custom logic to remove false positives.

I do like the idea of moving to yaml files.

@tmspzz
Copy link
Owner

tmspzz commented Aug 1, 2018

Yeah i like yaml too, but it's not something i can implement in a reasonable time to help you out.

So basically you have 3 choices:

  1. Wait
  2. Help
  3. Put a script in the middle.

@tmspzz
Copy link
Owner

tmspzz commented Aug 6, 2018

Step 1 #138

@tmspzz
Copy link
Owner

tmspzz commented Aug 6, 2018

Yaml version looks like this

respositoryMap:
- cat-framework: #look ma, 2 targets
  - name: AwesomeCats # target 1
     type: dynamic # can omit this key, default is dynamic
  - name: StaticKitties # target 2
     type: static  # if static, specify it
- HockeySDK-iOS:
  - name: HockeySDK # no need to specify dynamic
- dog-framework:
  - name: Doggos
     type: static # if static, specify it
ignoreMap:
- GDCWebServer:
  - name: GDCWebServer
     type: dynamic
cache:
  local: ~/Library/Caches/Rome
  s3Bucket: animals-bucket

@tmspzz
Copy link
Owner

tmspzz commented Aug 13, 2018

Step 2 #141

@tmspzz
Copy link
Owner

tmspzz commented Aug 14, 2018

Please try https://github.com/blender/Rome/releases/tag/v0.17.0.47

The binary is attached. Feedback is greatly appreciated. I will add integration tests in the following days.

@c0diq
Copy link
Author

c0diq commented Sep 4, 2018

Works like a charm. Thank you!

@c0diq
Copy link
Author

c0diq commented Sep 4, 2018

Maybe add documentation for platforms?

@tmspzz
Copy link
Owner

tmspzz commented Sep 5, 2018

@c0diq 🤦‍♂️ good point

@tmspzz
Copy link
Owner

tmspzz commented Sep 5, 2018

@c0diq Done. I hope you're using https://github.com/blender/Rome/releases/tag/v0.17.1.49 which is the stable release instead of the one I linked that is unfortunately bugged.

@tmspzz tmspzz closed this as completed Sep 5, 2018
@tmspzz tmspzz removed the in-progress label Sep 5, 2018
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