-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Use Git submodules for shaders/test suite #5249
Comments
In my experience, updating dependencies are more of a hassle with submodules than with node packages. All the make commands have dependencies that should cause What situation are you seeing where node_modules doesn't get updated? |
For instance depending on |
I'm using linked npm packages, and |
A submodule might work for shaders, if we can find a way to auto-update it like we do now via |
From embedded packaging perspective that would be fine. We don't build the tests when making the packages. |
I've found that when the submodule rev changed on a certain parent module commit, it automatically gets checked out to that version when you change the HEAD. Apart from that, we can use this combination:
and calling |
Are you testing that in GitUp? It's a feature of that app, but not the |
I used the CLI, but I had GitUp open with that repo, so maybe it did that in the background. |
Any decision on this? Can we move forward on not depending on |
|
Depends on #5359. We can simple use https://cmake.org/cmake/help/v3.0/module/ExternalProject.html |
I've found that using npm with git creates a lot of duplicate clones in |
I tried using |
This is by design in npm v2, and theoretically fixed in npm v3, but the implementation is still buggy 😞 npm/npm#10727 |
It is possible to workaround this by adding empty steps. A header only library would look like:
|
Yeah, I did that as well, but ideally, we'd want to run |
We've encountered a couple issues with npm that encourage switching to a submodule:
Additionally, with a mapbox-gl-js monorepo, it seems likely that a submodule will perform better for day-to-day development than an npm dependency:
As noted above, we'll need to cope with subdependencies of the submodule, which will no longer be installed automatically by npm. We can do this by having the build scripts run |
A drawback to this solution is that we're unable to cache Not having it cached seems to increase the build times substantially. |
As @tmpsantos suggests in #7513 (comment), can we create a symlink of |
Clever! I'll try it. |
Done in #7531. |
@jfirebaugh, I'm frequently running into issues with npm not updating those two repositories. What are the reasons we use npm to manage these rather than just using submodules?
The text was updated successfully, but these errors were encountered: