flow-development-collection
flow-development-collection copied to clipboard
BUG: `./flow package:create` freezes
Found the problem, see below https://github.com/neos/flow-development-collection/issues/2757#issuecomment-1075457510
Description
./flow package:create
(and also ./flow kickstart:site)
seem to freeze consistenly on (some?) setups on Flow + Neos 7.3
i experienced it myself and i have heard about that ...
i dont get any cli output and there is nothing in the logs ...
the freezing always happened after the new folder and subfolders and the composer.json of the new package where created in the DistributionPackages and before the new package would be required in the root compose.json
there doesnt seem to happen anything after waiting some time.
i could only quit the cli by pressing CTRL + C AND Enter
Steps to Reproduce
run ./flow package:create
Expected behavior
expect a new fancy package, and it being required in composer root
and expect message:
Created new package "Foo.Bar" at Bar
Actual behavior
cli freeze, and no require in composer root, and when using ./flow kickstart:site no further template files are created.
Affected Versions
Only? Neos: 7.3.2 Flow: 7.3.2
Code location
this is the controller ./flow package:create, which uses: $this->packageManager->createPackage some thing must have changed ...
https://github.com/neos/flow-development-collection/blob/f3358f46f4ff16df530913fa0ab587d1176d99a5/Neos.Flow/Classes/Command/PackageCommandController.php#L99
there was this thread in slack https://neos-project.slack.com/archives/C050C8FEK/p1641312809210500
and he reported that it would be working with Flow7.2
related issue about not being able to select the generator [0] Afx Basic
https://neos-project.slack.com/archives/C050C8FEK/p1641569837009200
the folder Vendor.Site was created but with no template files. Same failing behaviour as above - the package is not registered in the root composer json

so i tested some versions in my neos development distribution (using Neos+Flow)
| Version (Neos & Flow) | package:create working |
|---|---|
| dev-master | no |
| 7.3 | no |
| 7.2 | yes |
--- but then on another installation its working also with dev-master
found the catch ^^,
the with released 7.3 task: https://github.com/neos/flow-development-collection/pull/2571
hides the composer output which might be good sometimes, but it also hides

Do you trust "neos/composer-plugin" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]
we cannot see because of the NullOutput https://github.com/neos/flow-development-collection/pull/2571/commits/eafd0e1488e796d16709c37eaec9befd64bed0a3#diff-dc5872a01ca47ae6721173de9c9768667698cf60697ec7dc0a9332e384d09f77R409 (answering would work but doing blind is clearly not intendet.)
and clearly, if we answered this question before or if we have set
{
"config": {
"allow-plugins": {
"neos/composer-plugin": true
}
}
}
the above worked, so thats why it works sometimes ...
I suggest to add the config line to the base distributions
yes that should be done either way, since we need this plugin always ^^
is config.allow-plugins.neos/composer-plugin also added when i have my own base distribution and when i then update neos from 7.2 to 7.3 ?
- that would still fail silently then right?
The fix in https://github.com/neos/neos-base-distribution/pull/55 was wrong, the setting needs to be inside config.
I like that we mostly prevented this but in case one removes this in the composer json accidentally - the dx is not good all - as one has no information whats going sideways.
also we should check if errors from composer are shown. if not this nulloutput makes thing more complicated than not having it.
i think a cli user should be fine with seeing some composer outputlines .