qooxdoo / qooxdoo-compiler

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

compiler did not work in windows 10 #34

Closed hkollmann closed 7 years ago

hkollmann commented 7 years ago

i tried qx create myapp cd myapp qx compile in centos and windows 10.

compiled with centos works, not with windows. In the windows version qx.bom.client.OperatingSystem is not defined in qx.bom.client.Locale.js line 81.

Inspecting boot.js compiled with centos and with windows i got differences in the order of packages. In boot.centos.js OperationSystem class is loaded in line 148, Locale class in line 260. In boot.windows.js OperationSystem class is loaded in line 186, Locale class in line 122.

I appended both files: boot.zip

Another issue: In windows the resources are not copied in the resource Folder!

I you give me an hint where to start i could try to find the problem on my windows machine!

johnspackman commented 7 years ago

That's really odd - the causes I can think of are either a version issue or some problem combining paths into filenames (eg triggered by slashes or case) that means that some dependencies are not picked up. For the same project, dependency order should be identical regardless of platform (at least I can't think of a reason why it would differ). So it must be to do with case.

I'm out now but have a couple of ideas I can look for, but I might give you remote access to my Windows 10 VM if you're up for reproducing it on mine?

hkollmann commented 7 years ago

I will be back in the afternoon 16:00 mez. I can try to reproduce it then.

The example is from the same project - fresh generated with qx create. Qooxdoo and qx-cli are fresh checkouts from github. Result is quite different how you can see

johnspackman commented 7 years ago

I've just done this on a Windows 10 VM that has never had node or even git installed; so my test was to install Node 8.6.0 64 bit .msi, Python 2.7.14, Git command line from git-scm.com, and then:

npm install -g qx-cli
git clone https://github.com/qooxdoo/qooxdoo.git
qx create myapp
cd myapp
qx compile

The app it generates works for me. I did just push a new version to npm, and one of the recent changes is that qx prints the version number of both the CLI and the compiler to make it easier to confirm exactly what's being loaded and run. If you run qx on its own, you should get something like this in the output:

C:\users\john\myapp> qx
qooxdoo command line interface
==============================
Versions: qooxdoo-cli v0.1.25, qooxdoo-compiler v0.1.21

Typical usage:
[...snip...]
cboulanger commented 7 years ago

@johnspackman Not working for me, unfortunately. Here's my setup MacOs Sierra with Homebrew, NVM, Node 8.6, current qooxdoo-cli master, current qooxdoo master, loading files with the file:// protocol (not through a server- might that be the problem?)

cd qooxdoo
cat version.txt
6.0.0-alpha
cd ../qooxdoo-cli
npm install ## updates dependencies
qx 
# ... Versions: qooxdoo-cli v0.1.25, qooxdoo-compiler v0.1.20
qx create foo --qxpath ../qooxdoo
cd foo
qx contrib update --token <my token>
qx contrib list # doesn't show up anything because none of the releases have 
qx contrib install cboulanger/qx-contrib-Dialog --release v1.3-beta.3
# change foo/source/class/Application.js, line 67 to dialog.Dialog.alert("Hello World!");
qx compile # could you please suppress the 'defer' warnings? Any real error messages get drowned. :-)
qx compile --target build

Browser error messages: https://gist.github.com/cboulanger/a20bebed59834bcb43c7e5830ebfc42a https://gist.github.com/cboulanger/a05c2f04208b07b370359a07a7eaa3a4

johnspackman commented 7 years ago

I have MacOS High Sierra, node 8.6.0, npm 5.4.2, etc. I just tried (mostly) that and it worked fine; I checked out qooxdoo's upstream/master, and the qx contrib update with my token on the command line, and now I get:

Johns-MacBook-Pro:foo john$ qx contrib list
Johns-MacBook-Pro:foo john$ qx contrib install cboulanger/qx-contrib-Dialog --release v1.3-beta.3
You need to execute 'qx contrib list' first.

I think we must have some really odd versioning screw up going on between the 3 of us; can you reproduce this on the c9.io VM so we can be looking at the same box?

cboulanger commented 7 years ago

yes, v1.3beta.3 is a prerelease and that wasn't elegible for installation just until my last commit to qooxdoo-cli a few hours ago, sorry! with the current master it should work.

I really think we need a Travis job that runs a test with a sample contrib project ...

I'll do a c9.io test case later, probably will get to it this evening.

hkollmann commented 7 years ago

Did a new test as above:

ubuntu: Versions: qooxdoo-cli v0.1.25, qooxdoo-compiler v0.1.20 windows: Versions: qooxdoo-cli v0.1.25, qooxdoo-compiler v0.1.20

compare.boot.js.zip

Both compiles are working. Both boot.js are nearly identical.

Great!

hkollmann commented 7 years ago

With the current version it's working again!