-
-
Notifications
You must be signed in to change notification settings - Fork 98
Makefile: various improvements #495
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
base: gh-pages
Are you sure you want to change the base?
Conversation
881170a to
4f20528
Compare
e3032cc to
153729d
Compare
153729d to
a2e4546
Compare
|
@fmichonneau, I rebased this on top of the latest |
|
Thanks for this Maxim! |
744aa89 to
cd3ff69
Compare
Sounds reasonable. I've updated the PR accordingly.
In the light that we want to be able to run
|
6a81fa5 to
3f73ef2
Compare
|
@fmichonneau, do you have any concerns or questions about this PR? |
|
@fmichonneau, ping. If desired, I can factor out the fix for the |
|
Thanks for the ping @maxim-belkin, this had fell off my radar. |
We can:
Personally, I think |
|
Also, The Carpentries could remind maintainers to update the bundles (by running |
|
@fmichonneau, I added |
|
Failure (R Intro Geospatial (macOS), link) seems to be unrelated to the change. |
|
I'm going to move the fix for the |
20f284a to
300b50a
Compare
300b50a to
c0dc9e3
Compare
1. Internal 'bundler' target to check that Bundler is installed
2. 'bundle' target for building required gems into the `.vendor/bundle` directory:
a. This is an alias for `.vendor/bundle` target which depends on Gemfile and Gemfile.lock
b. It installs/updates bundled gems only if necessary
3. Gemfile target to check that Gemfile is present
Gemfile.lock target
|
@fmichonneau @zkamvar, I've implemented several improvements to this PR and I think it's ready for your reviews.
And it looks like these changes passed all the tests while I was writing all of the above, so this is promising. |
Technically, prerequisites can be executed in arbitrary order, so we can't rely on 'update-bundle' prerequisite being executed before 'serve-offline' or 'site-offline' prerequisites. Therefore, we have to decouple these targets.
Use proper(implemented in Makefile: fix 'bundle config' command flags #559).bundle config set --local path ...syntax instead of (incorrect)bundle config --local set path ...Decide whether to usebundleorjekyllbased on the presence ofGemfileorGemfile.lockUse(implemented in Makefile: use SHELL to call bin/knit_lesson.sh #562)$(SHELL)to callbin/knit_lessons.sh: this lets us avoid relying on/usr/bin/envfindingbash.bundletarget for building.vendor/bundledirectory with required gems:a. This is an alias for
.vendor/bundletarget which depends onGemfileandGemfile.lockb. It installs/updates bundled gems only if necessary
Gemfiletarget for lessons that don't use it.a.
Gemfile.locktarget that creates it based onGemfile(implemented in Makefile: better cleanup #560)cleantarget: remove.vendorand.bundledirectories andGemfile.lockfile.