Closed eric-914 closed 6 years ago
I think it is because of this reason described here:
Does not fit within the gulp paradigm
Because the Gulp Guidelines say:
Wrapping every possible thing just for the sake of wrapping it will pollute the ecosystem with low quality plugins that don't make sense within the gulp paradigm.
Which i would say applies here, as it only wraps the msbuild command line tool. Also this:
gulp plugins are for file-based operations! If you find yourself shoehorning a complex process into streams just make a normal node module instead.
So i think this cannot be fixed.
Just adding my 2c here, because, well, FRUSTRATION:
I've used gulp as a task orchestrator, specifically around build, most specifically around .net build, test, packaging, deployment, but also for js-based stuff.
If the reasons outlined above are why gulp-msbuild
is blacklisted, then that's (imo) rather short-sighted. Actually, I have some more choice words I could use to describe the decision, but let's leave it there.
This is not something which is trivial to rewrite as a plain-old-node-module because it takes advantage of gulp.src
, which has intelligence for finding zero or more matching paths and pipes that result into something else which does the work -- like gulp-msbuild
. gulp-dotnet-cli
provides similar functionality for dotnet core, and, since vs2019 has moved msbuild (again), and since I find that I need one build system which can deal with the prior two (msbuild and dotnet) as well as the (deprecated, but still in-use) xbuild
, I find that I'm in a place where I'm using all three, but can't rely on gulp-msbuild
for vs2019 detection (and I can't blame the author -- I understand that things move / change, though it would be nice if I could fork and publish back to gulp-msbuild, but that's a future problem).
Suffice to say that:
Comments?
Hey @fluffynuts,
yes i can understand your points, as these are the reasons i created this plugin. For the blacklisting reason: I do think that this plugin does not follow the gulp guidelines. However i don't really understand why these Guidelines are the way they are. Yes this plugin wraps a complex process, has many configuration options that cause the plugin to do different things (compiling, deploying, etc.) and so on. But this has to be discussed with the gulp team :)
As i have mentioned in the Readme, feel free to fork and work on this plugin. And if you like to i can also add a link to you in the Readme as the new maintainer and give you publish rights.
Happy that you find it useful and are using it 😃
@hoffi apologies for the delay in getting back to you. I most certainly will fork and update for vs2019 (since that's something which is pervading more and more in my environment, and I can't just keep on uninstalling it ^_^). I'll get back to you when there's reasonable fixes so you can review and decide if you still want to pass the torch (:
Yeah no problem :)
I really don't know why this was done, but it's explicitly in their source code of blacklisted items. https://github.com/gulpjs/plugins/blob/master/src/blackList.json
If you run gulp --verify, it will display the following:
Verifying plugins in package.json Blacklisted plugins found in this project: gulp-msbuild: not a gulp plugin
(Gulp 4.0.0, Gulp-CLI 2.0.1)