fstiewitz / build-tools-cpp

Build your projects in atom
https://atom.io/packages/build-tools
MIT License
31 stars 6 forks source link

ENOENT #56

Closed taiya closed 8 years ago

taiya commented 8 years ago

I defined a first command to call Make on my file. The second command is designed to execute the built application.

I am doing something wrong in your config file, but the only thing I get is: received Error: spawn helloworld ENOENT

Perhaps the config error reporting could be more informative!

p.s. Figured out the issue, if the command is a local executable, in the "Command to execute" you have to prepend "./". So I wrote "helloworld" instead of "./helloworld". Still, I had to guess the problem, while yoru plugin could deal with the issue more elegantly than ENOENT :)

taiya commented 8 years ago

And there is another issue that is difficult to debug for the same reasons.

The non-shadow build version of my project looks like:

project/
   *.cpp
   *.h
   build/
      Makefile
      helloworld

This is easy, just use "make" as the command and "./build" as the Working directory.

However my projects typically use shadow builds (who doesn't use them nowadays!). The folder structure is:

project/
   *.cpp
   *.h
project-build/
   Makefile
   helloworld

But if I use "make" as command and "../project-build" as Working directory I get the usual: received Error: spawn make ENOENT

p.s./2 Ok, that was retarded. This was the only folder for which I didn't create the project-build (I had it on my laptop, not on my desktop). So the second problem is really that if the folder doesn't exist rather than saying that you just throw an ENOENT.

fstiewitz commented 8 years ago

I'll add a test for a command's working directory because it is rather easy to implement. I won't change the ENOENT for local commands though, there are just too many things to consider before executing a command and I think ENOENT is common enough that people know what went wrong.