qooxdoo-compiler icon indicating copy to clipboard operation
qooxdoo-compiler copied to clipboard

compile.json should take precedence over qx-lock and Manifest

Open derrell opened this issue 4 years ago • 3 comments

Working with @cboulanger using incubator projects, I had installed a package (qx package install) and then wanted to make some local changes. I forked and checked out the code, and added that code as a library in my compile.json file. It wasn't used, however. It seems very confusing that installed packages, which don't appear in compile.json, take precedence over user-specified packages in compile.json. At present, it is required to uninstall a package before the locally-installed version is used.

In short, compile.json, which the user deals with all the time, should be the final say and have override/veto power.

derrell avatar Dec 20 '20 15:12 derrell

do you mean that the list of libraries in compile.json is ignored? Please can you provide a working example?

johnspackman avatar Dec 20 '20 16:12 johnspackman

The list isn't ignored completely. Any libraries listed there which are not installed packages are honored. But installing a package and then attempting to override it with an entry in libraries is ignored.

derrell avatar Dec 20 '20 16:12 derrell

I think this problem may not be as severe as I'd thought. It does seem that compile.json is honored. The problem is that a misleading error message displays:

issue784: Cannot find required library 'qooxdoo/incubator.qx.io.jsonrpc'

(where issue784 is the application name)

The error should probably say,

issue784: Library (package) 'qooxdoo/incubator.qx.io.jsonrpc' will not be used; overridden by compile.json library entry '../incubator.qx.io.jsonrpc.git'

or some such thing. Masking is exactly what should occur.

derrell avatar Dec 21 '20 20:12 derrell