Closed drupol closed 9 months ago
Not sure what you are trying to achieve here. Can you elaborate in more details?
You can run grumphp without .git
if you pass in the list of files you want to check through STDIN (as a list of files) or if you pass in a git diff.
How would you want to pass the files instead if you don't have a .git?
mmhm sorry to hear read that.
Essentially, the initial request involves using Grumphp as a task runner when the .git
directory is not provided. In this scenario, it would execute the commands without requiring a .git
directory to be present.
Consider the phpcsfixer
task as an example. When the .git
directory is available, Grumphp will supply the phpcsfixer
task with a list of modified files.
However, when the .git
directory is not available, no specific files will be passed to the task. In this case, the phpcsfixer
task will continue to work, and will potentially scan the src
directory (or other designated directories in its default config), and thus behaving in a more generalized manner.
This flexibility allows for the continued use of the task runner even in environments where the .git
directory might be absent or inaccessible.
As you know, everything is possible and up for discussion. But to be fair: this is how the internal system was designed from day one and always has worked. You are simply trying to achieve things for which this tool is not designed.
The big problem I can see here by not passing any files is: If you don't pass any files, a lot of tasks will skip because there are e.g. no PHP files provided. This is the logic that makes GrumPHP only run the tasks that are needed based on the git diff in a pre-commit.
A possible solution would be to read all the files of the project's directory.
However, you most likely don't want to include things like vendor
, node_modules
, application caches, ....
So that means you'll need ways to include or exclude folders, files, ...
That would probably be a lot of work - just to make it work outside of .git
context.
That is basically why it works the way it works nowadays: git already offers the project included / excluded files and the list of all known files.
I'm not sure if this feature could make it to grumphp's core and am most surely not going to create it myself at this moment :)
Oops, looks like I totally forgot about this, sorry!!!!
Thanks for explanation, I've finally found a way to use it as it should be used :)
Hi there !
Context: I'm working on seeing how I could use nix to ship PHP applications that would get checked by Grumphp. Since Nix remove the
.git
folder by default. I'm unable to use Grumphp as it is.So I'm opening this issue to see if it would be possible to use Grumphp just like a simple task runner, without git.
Thanks!