flow-development-collection icon indicating copy to clipboard operation
flow-development-collection copied to clipboard

BUG: `./flow package:create` freezes

Open mhsdesign opened this issue 3 years ago • 8 comments

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

mhsdesign avatar Mar 22 '22 16:03 mhsdesign

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

mhsdesign avatar Mar 22 '22 16:03 mhsdesign

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 image

mhsdesign avatar Mar 22 '22 16:03 mhsdesign

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

mhsdesign avatar Mar 22 '22 17:03 mhsdesign

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 image

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 ...

mhsdesign avatar Mar 22 '22 18:03 mhsdesign

I suggest to add the config line to the base distributions

mficzel avatar Mar 22 '22 18:03 mficzel

yes that should be done either way, since we need this plugin always ^^

mhsdesign avatar Mar 22 '22 18:03 mhsdesign

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?

mhsdesign avatar Mar 22 '22 18:03 mhsdesign

The fix in https://github.com/neos/neos-base-distribution/pull/55 was wrong, the setting needs to be inside config.

kdambekalns avatar May 10 '22 15:05 kdambekalns

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 .

mhsdesign avatar Oct 22 '22 11:10 mhsdesign