AndyObtiva / glimmer-dsl-swt

Glimmer DSL for SWT (JRuby Desktop Development Cross-Platform Native GUI Framework) - The Quickest Way From Zero To GUI - If You Liked Shoes, You'll Love Glimmer!
MIT License
107 stars 6 forks source link

Resolve 'NameError: uninitialized constant Glimmer::DataBinding' on Windows #9

Closed AndyObtiva closed 3 years ago

AndyObtiva commented 3 years ago

Originally reported by rubycoder

https://github.com/AMaleh/glimmer-dsl-swt/pull/1

rubycoder commented 21 hours ago The glimmer command works fine in 4.20.6.0, but in 4.20.7.0 through 4.20.10.0, on Windows 7 SP1 and Windows 10, the glimmer command gets an error:

c:> glimmer NameError: uninitialized constant Glimmer::DataBinding const_missing at org/jruby/RubyModule.java:3766 const_missing at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/nested_inherited_jruby_include_package-0.3.0/lib/core/src/main/ruby/jruby/java/core_ext/module.rb:72

at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb:32 at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb:30 at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb:28 at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb:27
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb:26 require at org/jruby/RubyKernel.java:974 require at C:/jruby-9.2.19.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/dsl/swt/animation_expression.rb:24 require at org/jruby/RubyKernel.java:974 require at C:/jruby-9.2.19.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/dsl/swt/dsl.rb:25 each at org/jruby/RubyArray.java:1820
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/dsl/swt/dsl.rb:25 require at org/jruby/RubyKernel.java:974 require at C:/jruby-9.2.19.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer-dsl-swt.rb:45 require at org/jruby/RubyKernel.java:974 require_relative at org/jruby/RubyKernel.java:1002
at C:/jruby-9.2.19.0/lib/ruby/gems/shared/gems/glimmer-dsl-swt-4.20.10.0/bin/glimmer:26 load at org/jruby/RubyKernel.java:1009
at c:\jruby-9.2.19.0\bin\glimmer:23 This error does not occur on Mac Catalina 10.15.7 or Ubuntu 20.04.2 LTS. The glimmer command is an easy way to reproduce this, but simply requiring 'glimmer-dsl-swt' will result in the same error message. Removing line 32: include Glimmer::DataBinding::ObservableModel from /home/rubycoder/.rvm/gems/jruby-9.2.19.0/gems/glimmer-dsl-swt-4.20.10.0/lib/glimmer/swt/custom/animation.rb resolves this issue, and glimmer then runs on Windows 7 SP1, Windows 10, Catalina 10.15.7 and Ubuntu 20.04.2 LTS