-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
use makefile to install, test and serve materials #2469
use makefile to install, test and serve materials #2469
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a big fan of make
in general, but this is simple enough. @mgeisler, what do you think?
Thanks for putting this up, it's something I hadn't considered before... I'm also not a super fan of Introducing a (soft) dependency on new non-Rust software sounds like a step back, so I don't think we should do this. But, this gives me an idea... would it be possible for us to create a project in this repository which depends on everything we need? Let's say it's named
I'm not sure this can work since I don't think binaries from dependencies will be installed. |
Interesting, it is cool idea. As for the Makefile i don't like it either but what i don't like more than a makefile is long list of dependencies to install. |
I've used cargo xtask in some other situations as a way to automate things in a repo. With some work, that could mean that just running |
Yes, I would be happier with the |
Yeah, I agree with you! It gets worse: the commands used in CI are not synchronized with that we show in the README. So real bugs can creep in where CI does one thing, but people do something else. It would be nice to align this more carefully with a nice cross-platform setup. |
I think we should close this and then open an issue for this instead. We should do something very simple to make Dustin's fn main() -> Result<(), Box<dyn std::error::Error>> {
Command::new(env!("CARGO")).arg("install").arg("mdbook").status()?;
Command::new(env!("CARGO")).arg("install").arg("mdbook-i18n-helpers").status()?;
} Put that in a new workspace member, hook up the Cargo alias and we should be in business 😄 To show that it works, make the GitHub CI code that install the dependencies use the new task. |
I copied the above comment to #2509, let's continue the discussion there! |
The process of installing the required crates in manual. So instead I added a make file to simplify the process