qooxdoo / qooxdoo-compiler

Compiler for Qooxdoo, 100% javascript
MIT License
36 stars 23 forks source link

Cannot find required library with namespace #341

Closed oetiker closed 5 years ago

oetiker commented 5 years ago

it seems that requirement for contribs listed in Manifest.json do not work

$ qx contrib install cboulanger/eventrecorder
$ qx compile
(node:79400) ExperimentalWarning: The fs.promises API is experimental
qxapp: Cannot find required library with namespace cboulanger/eventrecorder

Manifest.json reads

"requires": {
    "qooxdoo-sdk": "^6.0.0-alpha",
    "qooxdoo-compiler": "^0.3.0-alpha",
    "cboulanger/eventrecorder": "^0.8.0"
  }

Running on: qooxdoo-compiler v0.3.0-alpha.20190326-1007

Note that the generated application still works ... it seems as if the requires config in Manifest.json has only cosmetic purposes for now.

This is not specific to eventrecorder ... I just used it as an example.

hkollmann commented 5 years ago

Could you try version 0.3.0-alpha.20190326-1006? I fixed this - could be an overlapped merge problem...

oetiker commented 5 years ago

indeed 1006 does work :)

cboulanger commented 5 years ago

Ok, this is what I see with newest qxcompiler from npm (v0.3.0-alpha.20190326-1007)

qx create foo -I
cd foo/
qx contrib install cboulanger/eventrecorder
ergobyte/qookery/qookery is not an contrib!

after adding "include": ["cboulanger.eventrecorder.UiController", "cboulanger.eventrecorder.ObjectIdGenerator"] to the an application entry in compile.json, I get

qx serve
>>> Making the applications...
Cannot find class file cboulanger.eventrecorder.ObjectIdGenerator
Cannot find class file cboulanger.eventrecorder.UiController

Looking at the files it seems contrib.json has not been generated (even thought the files have been downloaded).

cboulanger commented 5 years ago

and the "ergobyte/qookery/qookery is not an contrib!" message is also strange (and there is a spelling mistake, it should be "not a contrib".

cboulanger commented 5 years ago

Ok, of course. This is about inter-contrib dependencies. There is a problem that the compile.json file is not created when one dependency of a contrib isn't found.

cboulanger commented 5 years ago

This should fix the "ergobyte/qookery/qookery is not an contrib!" message : #342

hkollmann commented 5 years ago

https://github.com/qooxdoo/qooxdoo-compiler/pull/340 fixes the issue of @oetiker with build. Because of the 2 merge i the same minute from John the second build has not recognized the previous one. So a dummy commit should fix the problem.

hkollmann commented 5 years ago

@oetiker tried the version 1006 wich is the previous build and that version works.

hkollmann commented 5 years ago

So we have 2 problems. One with qx compile fixed with #340 and one with install fixed with #342,

oetiker commented 5 years ago

just tested with latest release looking good now