-
-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Extracting ChartsRealm to a separate project #1119
Comments
they are two projects on master, could check if I am wrong? |
Sorry, my bad, I meant separate repository. Regarding my initial issue with carthage, as a workaround I forked Charts repository and removed Realm so it doesn't take time to compile code that I don't use. |
Agreed. This is the best solution all around. One repo, one project. (Having similar issues with Carthage, myself.) |
Putting ChartsRealm as a separate repo seems a overkill? It is just a small part of the Data series |
Perhaps, but including it confuses a major package manager and a good segment of the user base. |
alright, guess we will need @danielgindi review this |
also seems related to #1118 ? |
Truth is I really want to do this - so I won't have to include binaries of Realm in the project. (Keeping Carthage/Pods compatibility is nice too) I'm open to suggestions here on how to do this! @petester42 do you have any idea how to do this? |
I have ideas on how to make this better so binaries are not included. It won't address the first point in the issue though. |
Well let's hear it :-) |
Basically what I would do is what I did for (this project)[https://github.com/Moya/Moya]. One project with all the targets. Carthage to download the dependencies for the project. Cocoapods shouldn't really change because of this. |
@petester42 So you are suggesting to move the Realm to a separate project, and the demos as well? I would have moved just the Realm stuff - but I don't think that Pods or Carthage would handle cyclic dependencies that well... My other option is moving Realm, with the specific Realm demos... |
I tried to update the project structure but Carthage was having problems. What you could do to remove the binaries is add a cartfile in the project root with realm. Then reference the binaries from the Carthage build folder instead of the ones in the repo. |
But then we need some kind of optional dependency on them, to allow compilation without. I don't want people to have to have Carthage installed. |
We could use gitsubmodules and reference the project directly. To me always ends in a world of pain but it is an option. I believe that Cocoapods and Carthage are ingrained in the community enough for it to be acceptable to have it be required to build the project. |
Yes git submodules isn't an option. People need to know how to check it out, and we need to be careful to update the references. They really need to come up with a better submodules solution. I'm not using Cocoapods or Carthage myself. I hate pods for managing my project structure, and I hate carthage for many bugs I encountered along the way while compiling Charts... Anyway, I think I'll try to do this when Swift 3 is final - have an optional dependency in the demo, and if downloaded via Carthage - then the demo will show the Realm stuff. |
lol I think no pods/carthage binding is good idea, though I think carthage sometimes works as expected.. I don't use pods too |
Well, I've tried with So for the meantime I had to commit prebuilt binaries for Realm - but I REALLY want to get ANY binaries out of git, as it is a bad idea. |
Carthage building has been fixed to be reliable and we decided to not split Charts and ChartsRealm into 2 repos since maintaining the library would require more work. |
I think it would be nice to separate Charts and ChartsRealm into two projects.
There are several issues with having them in the same project:
If this is split into two projects, ChartsRealm could have a dependency on Charts (via carthage or as a submodule) and on Realm.
The text was updated successfully, but these errors were encountered: