Uh oh!
There was an error while loading. Please reload this page.
build,win: delegate lint-cpp to make - #28102
Conversation
Sadly, an error occurred when I tried to trigger a build. :( |
targos
commented
Jun 6, 2019
We don't exactly have MSYS as a prerequisite. The building guide says "Basic Unix tools required for some tests, Git for Windows includes Git Bash and tools which can be included in the global PATH." |
refack
commented
Jun 6, 2019
Oof... Yeah, I have extra MSYS tools 🤦♂ |
3700683 to
fe0a885Comparerefack
commented
Jun 6, 2019
@targos I vendored in a minimal MSYS make to help the Windows folks. It's just 19 files and 10MB in size. Let's discuss... |
fe0a885 to
5fe633eCompare
richardlau
left a comment
There was a problem hiding this comment.
@targos I vendored in a minimal MSYS make to help the Windows folks. It's just 19 files and 10MB in size. Let's discuss...
But that's an additional 10MB that everyone is going to download (including non-Windows users). git really isn't a good place to store binaries.
Additionally we should not be adding GPL licenses/GPL-licensed files into the source tree (even if it applies to tooling and not the code we're actually building).
refack
commented
Jun 6, 2019
Yeah I've been thinking about this... I'm thinking of packing this as a separate archive, and adding a "win-lint-build" step.
Ack. I was also reading reviews of GPL, in the context of this use case... AFAICT an independent pack should solve that. |
5fe633e to
bd1b911Comparerefack
commented
Jun 6, 2019
@richardlau went in a different direction; best effort search in the Path and attempt calling wsl. |
richardlau
commented
Jun 6, 2019
I've dismissed my objection as it's been addressed. I'm not explicitly approving because I'm -0.5 on a new requirement of GNU make to lint on Windows. |
refack
commented
Jun 6, 2019
FTR, required just for linting C/C++, but I understand the hesitation. I do believe that having a minimal make+bash easy to deploy package could allow us to eliminate much of the disparity and duplication between |
joyeecheung
commented
Jun 9, 2019
Can we move the scripting to Python instead? I understand that on Windows we won't get the dependency update management from Make, but it has always been that way? |
joaocgreis
left a comment
There was a problem hiding this comment.
I agree with @joyeecheung, it would be better to have this in Python to be available everywhere without any added dependencies. But this is better than what is currently in master, we can work on the Python version later.
* look for GNU Make in the Path or use wsl PR-URL: nodejs#28102Fixes: nodejs#28086 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
bd1b911 to
4b1bcaeCompare
The script to collect and lint C/C++ files has become unruly, and carried a significant maintenance burned. IMHO delegating this task to
makeis the optimal solution, since we already have MSYS as a prerequisite for developing.Patch toMakefile changes moved to build: more portable Makefile #28108Makefileis so that$(shell ...)expressions are evaluated only when needed.Fixes: #28086
/CC @nodejs/build-files @nodejs/platform-windows
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes