glimmer 0.10.2 → 0.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +158 -51
- data/VERSION +1 -1
- data/lib/glimmer/config.rb +6 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c1c9758088604c5d7369a6cabaf6b80e8ff7ff18036e55e397c472014d5dd3d
|
4
|
+
data.tar.gz: a4f41a4f54df4a2ba9fb52557879132e9c473db57a150597fc8c974c81e4eb28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5551a3822e3743a4d38e228351bb06fb067ed50e42eeb9a1846fd326ea93319efc68b8294ecf589269f276600077d5023de057c35f10309ce312bc76c345e42
|
7
|
+
data.tar.gz: 7d85be1c6744e2fcee830ba228142d62d72c75b8f270e57bc4f132174e0dad676a4603c49f21a1efb89194f0d5b734be0c8228576edca86a4d625f497cd82e50
|
data/README.md
CHANGED
@@ -204,6 +204,7 @@ Glimmer App:
|
|
204
204
|
- [Mac Support](#mac-support)
|
205
205
|
- [Girb (Glimmer irb) Command](#girb-glimmer-irb-command)
|
206
206
|
- [Glimmer GUI DSL Syntax](#glimmer-gui-dsl-syntax)
|
207
|
+
- [DSL Auto-Expansion](#dsl-auto-expansion)
|
207
208
|
- [Widgets](#widgets)
|
208
209
|
- [Display](#display)
|
209
210
|
- [SWT Proxies](#swt-proxies)
|
@@ -270,6 +271,7 @@ Glimmer App:
|
|
270
271
|
- [External Samples](#external-samples)
|
271
272
|
- [Glimmer Calculator](#glimmer-calculator)
|
272
273
|
- [Gladiator](#gladiator)
|
274
|
+
- [Timer](#timer)
|
273
275
|
- [In Production](#in-production)
|
274
276
|
- [Math Bowling](#math-bowling)
|
275
277
|
- [Are We There Yet?](#are-we-there-yet)
|
@@ -281,7 +283,9 @@ Glimmer App:
|
|
281
283
|
- [Mac Application Distribution](#mac-application-distribution)
|
282
284
|
- [Self Signed Certificate](#self-signed-certificate)
|
283
285
|
- [Gotchas](#gotchas)
|
284
|
-
- [App Updates](#app-updates)
|
286
|
+
- [App Updates](#app-updates)
|
287
|
+
- [Glimmer Supporting Libraries](#glimmer-supporting-libraries)
|
288
|
+
- [Glimmer Process](#glimmer-process)
|
285
289
|
- [Resources](#resources)
|
286
290
|
- [Help](#help)
|
287
291
|
- [Issues](#issues)
|
@@ -316,9 +320,9 @@ https://www.eclipse.org/swt/faq.php
|
|
316
320
|
|
317
321
|
## Pre-requisites
|
318
322
|
|
319
|
-
-
|
323
|
+
- JDK 8u241 (1.8.0_241) (find at https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html)
|
320
324
|
- JRuby 9.2.13.0 (supporting Ruby 2.5.x syntax) (get via [RVM](http://rvm.io) on Mac and Linux or find at [https://www.jruby.org/download](https://www.jruby.org/download) for Windows)
|
321
|
-
-
|
325
|
+
- SWT 4.16 (already included in the [glimmer-dsl-swt](https://rubygems.org/gems/glimmer-dsl-swt) gem)
|
322
326
|
|
323
327
|
To obtain JRuby through [RVM](http://rvm.io), you may run:
|
324
328
|
|
@@ -343,11 +347,16 @@ Otherwise, Option 2 ([Bundler](#option-2-bundler)) can be followed in rare cases
|
|
343
347
|
|
344
348
|
Run this command to install directly:
|
345
349
|
```
|
346
|
-
jgem install glimmer-dsl-swt
|
350
|
+
jgem install glimmer-dsl-swt
|
351
|
+
```
|
352
|
+
|
353
|
+
Or this command if you want a specific version:
|
354
|
+
```
|
355
|
+
jgem install glimmer-dsl-swt -v 0.6.3
|
347
356
|
```
|
348
357
|
|
349
358
|
`jgem` is JRuby's version of `gem` command.
|
350
|
-
RVM allows running `gem` as an alias.
|
359
|
+
RVM allows running `gem install` directly as an alias.
|
351
360
|
Otherwise, you may also run `jruby -S gem install ...`
|
352
361
|
|
353
362
|
If you are new to Glimmer and would like to continue learning the basics, you may continue to the [Glimmer Command](https://github.com/AndyObtiva/glimmer#glimmer-command) section.
|
@@ -361,7 +370,7 @@ Note: if you're using activerecord or activesupport, keep in mind that Glimmer u
|
|
361
370
|
|
362
371
|
Add the following to `Gemfile`:
|
363
372
|
```
|
364
|
-
gem 'glimmer-dsl-swt', '~> 0.6.
|
373
|
+
gem 'glimmer-dsl-swt', '~> 0.6.3'
|
365
374
|
```
|
366
375
|
|
367
376
|
And, then run:
|
@@ -469,14 +478,14 @@ getting you to a running and delivered state of an advanced "Hello, World!" Glim
|
|
469
478
|
|
470
479
|
This should greatly facilitate building a new Glimmer app by helping you be productive and focus on app details while
|
471
480
|
letting Glimmer scaffolding take care of initial app file structure concerns, such as adding:
|
472
|
-
- Main application class that includes Glimmer
|
481
|
+
- Main application class that includes Glimmer (`app/{app_name}.rb`)
|
473
482
|
- Main application view that houses main window content, menu, about dialog, and preferences dialog
|
474
|
-
- View and Model directories
|
475
|
-
- Rakefile including Glimmer tasks
|
476
|
-
- Version
|
477
|
-
- License
|
478
|
-
- Icon
|
479
|
-
- Bin file for starting application
|
483
|
+
- View and Model directories (`app/views` and `app/models`)
|
484
|
+
- Rakefile including Glimmer tasks (`Rakefile`)
|
485
|
+
- Version (`VERSION`)
|
486
|
+
- License (`LICENSE.txt`)
|
487
|
+
- Icon (under `package/{platform}/{App Name}.{icon_extension}` for `macosx` .icns, `windows` .ico, and `linux` .png)
|
488
|
+
- Bin file for starting application (`bin/{app_name}.rb`)
|
480
489
|
|
481
490
|
NOTE: Scaffolding supports Mac and Windows packaging at the moment.
|
482
491
|
|
@@ -495,22 +504,40 @@ This will generate an advanced "Hello, World!" app, package it as a Mac native f
|
|
495
504
|
Suppose you run:
|
496
505
|
|
497
506
|
```
|
498
|
-
glimmer scaffold[
|
507
|
+
glimmer scaffold[greeter]
|
499
508
|
```
|
500
509
|
|
501
510
|
You should see output like the following:
|
502
511
|
|
503
512
|
```
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
513
|
+
$ glimmer scaffold[greeter]
|
514
|
+
create .gitignore
|
515
|
+
create Rakefile
|
516
|
+
create Gemfile
|
517
|
+
create LICENSE.txt
|
518
|
+
create README.rdoc
|
519
|
+
create .document
|
520
|
+
create lib
|
521
|
+
create lib/greeter.rb
|
522
|
+
create spec
|
523
|
+
create spec/spec_helper.rb
|
524
|
+
create spec/greeter_spec.rb
|
525
|
+
create .rspec
|
526
|
+
Jeweler has prepared your gem in ./greeter
|
527
|
+
Created greeter/.gitignore
|
528
|
+
Created greeter/.ruby-version
|
529
|
+
Created greeter/.ruby-gemset
|
530
|
+
Created greeter/VERSION
|
531
|
+
Created greeter/LICENSE.txt
|
532
|
+
Created greeter/Gemfile
|
533
|
+
Created greeter/Rakefile
|
534
|
+
Created greeter/app/greeter.rb
|
535
|
+
Created greeter/app/views/greeter/app_view.rb
|
536
|
+
Created greeter/package/windows/Greeter.ico
|
537
|
+
Created greeter/package/macosx/Greeter.icns
|
538
|
+
Created greeter/package/linux/Greeter.png
|
539
|
+
Created greeter/bin/greeter
|
540
|
+
Created greeter/spec/spec_helper.rb
|
514
541
|
...
|
515
542
|
```
|
516
543
|
|
@@ -648,8 +675,9 @@ Output:
|
|
648
675
|
|
649
676
|
Name Gem Version Author Description
|
650
677
|
|
651
|
-
Calculator glimmer-cs-calculator 1.0.
|
652
|
-
Gladiator glimmer-cs-gladiator 0.2.
|
678
|
+
Calculator glimmer-cs-calculator 1.0.2 Andy Maleh Calculator - Glimmer Custom Shell
|
679
|
+
Gladiator glimmer-cs-gladiator 0.2.4 Andy Maleh Gladiator (Glimmer Editor) - Glimmer Custom Shell
|
680
|
+
Timer glimmer-cs-timer 1.0.0 Andy Maleh Timer - Glimmer Custom Shell
|
653
681
|
|
654
682
|
```
|
655
683
|
|
@@ -711,7 +739,7 @@ Output:
|
|
711
739
|
|
712
740
|
Css glimmer-dsl-css 0.2.0 AndyMaleh Glimmer DSL for CSS
|
713
741
|
Opal glimmer-dsl-opal 0.1.0 AndyMaleh Glimmer DSL for Opal
|
714
|
-
Swt glimmer-dsl-swt 0.6.
|
742
|
+
Swt glimmer-dsl-swt 0.6.3 AndyMaleh Glimmer DSL for SWT
|
715
743
|
Xml glimmer-dsl-xml 0.2.0 AndyMaleh Glimmer DSL for XML
|
716
744
|
|
717
745
|
```
|
@@ -767,7 +795,55 @@ Keep in mind that all samples live under [https://github.com/AndyObtiva/glimmer-
|
|
767
795
|
|
768
796
|
## Glimmer GUI DSL Syntax
|
769
797
|
|
770
|
-
Glimmer is
|
798
|
+
Glimmer's core is a GUI DSL with a lightweight visual syntax that makes it easy to visualize the nesting of widgets in the GUI hierarchy tree.
|
799
|
+
|
800
|
+
It is available through mixing in the `Glimmer` module, which makes Glimmer GUI DSL keywords available to both the instance scope and class scope:
|
801
|
+
|
802
|
+
```ruby
|
803
|
+
include Glimmer
|
804
|
+
```
|
805
|
+
|
806
|
+
For example, here is the basic "Hello, World!" sample code (you may copy/paste in [`girb`](#girb-glimmer-irb-command)):
|
807
|
+
|
808
|
+
```ruby
|
809
|
+
include Glimmer
|
810
|
+
|
811
|
+
shell {
|
812
|
+
text "Glimmer"
|
813
|
+
label {
|
814
|
+
text "Hello, World!"
|
815
|
+
}
|
816
|
+
}.open
|
817
|
+
```
|
818
|
+
|
819
|
+
The `include Glimmer` declaration on top mixed the `Glimmer` module into the Ruby global main object making the Glimmer GUI DSL available at the top-level global scope.
|
820
|
+
|
821
|
+
While this works well enough for mini-samples, it is better to isolate Glimmer in a class or module during production application development to create a clean separation between view code (GUI) and model code (business domain). Here is the "Hello, World!" sample re-written in a class to illustrate how mixing in the `Glimmer` module (via `include Glimmer`) makes the Glimmer GUI DSL available in both the instance scope and class scope. That is clearly demonstrated by pre-initializing a color constant in the class scope and building the GUI in the `#open` instance method (you may copy/paste in [`girb`](#girb-glimmer-irb-command)):
|
822
|
+
|
823
|
+
```ruby
|
824
|
+
class HelloWorld
|
825
|
+
include Glimmer # makes the GUI DSL available in both the class scope and instance scope
|
826
|
+
|
827
|
+
COLOR_FOREGROUND_DEFAULT = rgb(255, 0, 0) # rgb is a GUI DSL keyword used in the class scope
|
828
|
+
|
829
|
+
def open
|
830
|
+
# the following are GUI DSL keywords (shell, text, and label) used in the instance scope
|
831
|
+
shell {
|
832
|
+
text "Glimmer"
|
833
|
+
label {
|
834
|
+
text "Hello, World!"
|
835
|
+
foreground COLOR_FOREGROUND_DEFAULT
|
836
|
+
}
|
837
|
+
}.open
|
838
|
+
end
|
839
|
+
end
|
840
|
+
|
841
|
+
HelloWorld.new.open
|
842
|
+
```
|
843
|
+
|
844
|
+
This renders "Hello, World!" with a red foreground color:
|
845
|
+
|
846
|
+
![Hello World Red Foreground Color](images/glimmer-hello-world-red-foreground-color.png)
|
771
847
|
|
772
848
|
The GUI DSL intentionally avoids overly verbose syntax, requiring as little declarative code as possible to describe what GUI to render, how to style it, and what properties to data-bind to the Models.
|
773
849
|
|
@@ -778,13 +854,15 @@ Glimmer DSL syntax consists mainly of:
|
|
778
854
|
- style/args (e.g. :multi as in `table(:multi)` for a multi-line selection table widget)
|
779
855
|
- content (e.g. `{ table_column { text 'Name'} }` as in `table(:multi) { table_column { text 'name'} }` for a multi-line selection table widget with a table column having header text property `'Name'` as content)
|
780
856
|
|
781
|
-
|
857
|
+
### DSL Auto-Expansion
|
858
|
+
|
859
|
+
Glimmer supports a new and radical Ruby DSL concept called DSL Auto-Expansion. It is explained by first mentioning the two types of Glimmer GUI DSL keywords: static and dynamic.
|
782
860
|
|
783
861
|
Static keywords are pre-identified keywords in the Glimmer DSL, such as `shell`, `display`, `message_box`, `async_exec`, `sync_exec`, and `bind`.
|
784
862
|
|
785
863
|
Dynamic keywords are dynamically figured out from currently imported (aka required/loaded) SWT widgets, custom widgets, and widget properties. Examples are: `label`, `combo`, and `list` for widgets and `enabled`, `text`, and `selection` for properties.
|
786
864
|
|
787
|
-
The only reason to distinguish between the two types of Glimmer DSL keywords is to realize that importing new Glimmer [custom widgets](#custom-widgets) and Java SWT custom widget libraries automatically expands Glimmer's DSL vocabulary via new dynamic keywords.
|
865
|
+
The only reason to distinguish between the two types of Glimmer DSL keywords is to realize that importing new Glimmer [custom widgets](#custom-widgets) and Java SWT custom widget libraries automatically expands Glimmer's DSL vocabulary via new dynamic keywords.
|
788
866
|
|
789
867
|
For example, if a project adds this custom Java SWT library:
|
790
868
|
|
@@ -1400,7 +1478,7 @@ shell {
|
|
1400
1478
|
|
1401
1479
|
This sets the shell `cursor` to that of `SWT::CURSOR_APPSTARTING`
|
1402
1480
|
|
1403
|
-
###
|
1481
|
+
### Layouts
|
1404
1482
|
|
1405
1483
|
Glimmer lays widgets out visually using SWT layouts, which can only be set on composite widget and subclasses.
|
1406
1484
|
|
@@ -3142,7 +3220,7 @@ Contact Manager - Edit Done
|
|
3142
3220
|
|
3143
3221
|
#### Glimmer Calculator
|
3144
3222
|
|
3145
|
-
[<img alt="Glimmer Calculator Icon" src="https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-calculator/master/glimmer-cs-calculator-icon.png" height=40 /> Glimmer Calculator](https://github.com/AndyObtiva/glimmer-cs-calculator) is a basic calculator sample
|
3223
|
+
[<img alt="Glimmer Calculator Icon" src="https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-calculator/master/glimmer-cs-calculator-icon.png" height=40 /> Glimmer Calculator](https://github.com/AndyObtiva/glimmer-cs-calculator) is a basic calculator sample app demonstrating data-binding and TDD (test-driven-development) with Glimmer following the MVP pattern (Model-View-Presenter).
|
3146
3224
|
|
3147
3225
|
[<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-calculator/master/glimmer-cs-calculator-screenshot.png" />](https://github.com/AndyObtiva/glimmer-cs-calculator)
|
3148
3226
|
|
@@ -3163,6 +3241,12 @@ Gladiator is a good demonstration of:
|
|
3163
3241
|
- Custom Shell
|
3164
3242
|
- Custom widget
|
3165
3243
|
|
3244
|
+
#### Timer
|
3245
|
+
|
3246
|
+
[<img alt="Glimmer Timer Icon" src="https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-timer/master/images/glimmer-timer-logo.png" height=40 /> Timer](https://github.com/AndyObtiva/glimmer-cs-timer) is a sample app demonstrating data-binding and multi-threading in a desktop application.
|
3247
|
+
|
3248
|
+
[<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-timer/master/glimmer-timer-screenshot.png" />](https://github.com/AndyObtiva/glimmer-cs-timer)
|
3249
|
+
|
3166
3250
|
## In Production
|
3167
3251
|
|
3168
3252
|
The following production apps have been built with Glimmer.
|
@@ -3183,39 +3267,43 @@ If you have a Glimmer app you would like referenced here, please mention in a Pu
|
|
3183
3267
|
|
3184
3268
|
## Packaging & Distribution
|
3185
3269
|
|
3186
|
-
Glimmer
|
3187
|
-
- Warbler (https://github.com/jruby/warbler): Enables bundling a Glimmer app into a JAR file
|
3188
|
-
- javapackager (https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html): Enables packaging a JAR file as a DMG/PKG/APP file on Mac, MSI/EXE on Windows, and DEB/RPM on Linux.
|
3189
|
-
|
3190
|
-
Glimmer simplifies the process of Mac and Windows packaging via the `glimmer package` command:
|
3270
|
+
Glimmer simplifies the process of native-executable packaging and distribution on Mac and Windows via a single `glimmer package` command:
|
3191
3271
|
|
3192
3272
|
```
|
3193
3273
|
glimmer package
|
3194
3274
|
```
|
3195
3275
|
|
3196
|
-
It works out of the box for any application
|
3276
|
+
It works out of the box for any application scaffolded by [Glimmer Scaffolding](#scaffolding), generating all available packaging types on the current platform (e.g. `DMG`, `PKG`, `APP` on the Mac) and displaying a message indicating what pre-requisite setup tools are needed if not installed already (e.g. [Wix Toolset](https://wixtoolset.org/) to generate MSI files on Windows)
|
3277
|
+
|
3278
|
+
You may choose to generate a specific type of packaging instead by addionally passing in the `[type]` option. For example, this generates an MSI setup file on Windows:
|
3279
|
+
|
3280
|
+
```
|
3281
|
+
glimmer package[msi]
|
3282
|
+
```
|
3283
|
+
|
3284
|
+
- Available Mac packaging types are `dmg`, `pkg`, and `image` (image means a pure Mac `app` without a setup program)
|
3285
|
+
- Available Windows packaging types are `msi`, `exe`, and `image` (image means a Windows application directory without a setup program). Learn more about Windows packaging are [over here](#windows-application-packaging).
|
3197
3286
|
|
3198
|
-
|
3287
|
+
Note: if you are using Glimmer manually, to make the `glimmer package` command available, you must add the following line to your application `Rakefile` (automatically done for you if you scaffold an app or gem with `glimmer scaffold[AppName]` or `glimmer scaffold:gem:customshell[GemName]`):
|
3199
3288
|
|
3200
3289
|
```ruby
|
3201
3290
|
require 'glimmer/rake_task'
|
3202
3291
|
```
|
3203
3292
|
|
3204
|
-
|
3205
|
-
|
3206
|
-
|
3293
|
+
The Glimmer packaging process done in the `glimmer package` command consists of the following steps:
|
3294
|
+
1. Generate gemspec via Jeweler (`rake gemspec:generate`): Having a gemspec is required by the [`jar-dependencies`](https://github.com/mkristian/jar-dependencies) JRuby gem, used by JRuby libraries to declare JAR dependencies.
|
3295
|
+
1. Lock JAR versions (`glimmer package:lock_jars`): This locks versions of JAR dependencies leveraged by the `jar-dependencies` JRuby gem, downloading them into the `./vendor` directory so they would get inside the top-level Glimmer app/gem JAR file.
|
3296
|
+
1. Generate [Warbler](https://github.com/jruby/warbler) config (`glimmer package:config`): Generates initial Warbler config file (under `./config/warble.rb`) to use for generating JAR file.
|
3297
|
+
1. Generate JAR file using [Warbler](https://github.com/jruby/warbler) (`glimmer package:jar`): Enables bundling a Glimmer app into a JAR file under the `./dist` directory
|
3298
|
+
1. Generate native executable using [javapackager](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html) (`glimmer package:native`): Enables packaging a JAR file as a DMG/PKG/APP file on Mac, MSI/EXE/APP on Windows, and DEB/RPM/APP on Linux (Glimmer does not officially support Linux with the `glimmer package` command yet, but it generates the JAR file successfully, and you could use `javapackager` manually afterwards if needed).
|
3299
|
+
|
3300
|
+
Those steps automatically ensure generating a JAR file under the `./dist` directory using [Warbler](https://github.com/jruby/warbler), which is then used to automatically generate a DMG/MSI file (and other executables) under the `./packages/bundles` directory using `javapackager`.
|
3301
|
+
The JAR file name will match your application local directory name (e.g. `MathBowling.jar` for `~/code/MathBowling`)
|
3302
|
+
The DMG file name will match the humanized local directory name + dash + application version (e.g. `Math Bowling-1.0.dmg` for `~/code/MathBowling` with version 1.0 or unspecified)
|
3207
3303
|
|
3208
3304
|
The `glimmer package` command will automatically set "mac.CFBundleIdentifier" to ="org.#{project_name}.application.#{project_name}".
|
3209
3305
|
You may override by configuring as an extra argument for javapackger (e.g. Glimmer::Package.javapackager_extra_args = " -Bmac.CFBundleIdentifier=org.andymaleh.application.MathBowling")
|
3210
3306
|
|
3211
|
-
You may choose to generate a specific type of packaging by passing the `[type]` option:
|
3212
|
-
|
3213
|
-
```
|
3214
|
-
glimmer package[msi]
|
3215
|
-
```
|
3216
|
-
|
3217
|
-
That generates an MSI file on Windows (could specify exe or image as alternatives on Windows).
|
3218
|
-
|
3219
3307
|
### Packaging Defaults
|
3220
3308
|
|
3221
3309
|
Glimmer employs smart defaults in packaging.
|
@@ -3279,7 +3367,7 @@ That overrides the default application display name.
|
|
3279
3367
|
### Windows Application Packaging
|
3280
3368
|
|
3281
3369
|
Windows offers two options for setup packaging:
|
3282
|
-
- `msi` (recommended): simpler packaging option. Requires [WiX Toolset](https://wixtoolset.org/) and [.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework). Simply run `glimmer package[msi]` (or `glimmer package:native[msi]` if it's not your first time) and it will
|
3370
|
+
- `msi` (recommended): simpler packaging option. Requires [WiX Toolset](https://wixtoolset.org/) and [.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework). Simply run `glimmer package[msi]` (or `glimmer package:native[msi]` if it's not your first time) and it will give you more details on the pre-requisites you need to install (e.g. [WiX Toolset](https://wixtoolset.org/) and [.NET Framework 3.5 SP1](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1)).
|
3283
3371
|
- `exe`: more advanced packaging option. Requires [Inno Setup](https://jrsoftware.org/isinfo.php). Simply run `glimmer package[exe]` (or `glimmer package:native[exe]` if it's not your first time) and it will tell you what you need to install.
|
3284
3372
|
|
3285
3373
|
If you just want to test out packaging into a native Windows app that is not packaged for Windows setup, just pass `image` to generate a native Windows app only.
|
@@ -3353,6 +3441,25 @@ Exec failed with code 2 command [[/usr/bin/SetFile, -c, icnC, /var/folders/4_/g1
|
|
3353
3441
|
|
3354
3442
|
Glimmer already supports automatic (and manual) app updates via the Mac App Store for Mac apps. Simply run the `glimmer package` command with the Mac App Store keys configured as per [Mac Application Distribution](mac-application-distribution) instructions and you get automatic (and manual) app update support courtesy of the Mac App Store.
|
3355
3443
|
|
3444
|
+
## Glimmer Supporting Libraries
|
3445
|
+
|
3446
|
+
Here is a list of notable 3rd party gems used by Glimmer:
|
3447
|
+
- [jeweler](https://github.com/technicalpickles/jeweler): generates app gems during [Glimmer Scaffolding](#scaffolding)
|
3448
|
+
- [logging](https://github.com/TwP/logging): provides extra logging capabilities not available in Ruby Logger such as multi-threaded buffered asynchronous logging (to avoid affecting app performance) and support for multiple appenders such as stdout, syslog, and log files (the last one is needed on Windows where syslog is not supported)
|
3449
|
+
- [nested_inherited_jruby_include_package](https://github.com/AndyObtiva/nested_inherited_jruby_include_package): makes included [SWT](https://www.eclipse.org/swt/)/[Java](https://www.java.com/en/) packages available to all classes/modules that mix in the Glimmer module without having to manually reimport
|
3450
|
+
- [os](https://github.com/rdp/os): provides OS detection capabilities (e.g. `OS.mac?` or `OS.windows?`) to write cross-platform code inexpensively
|
3451
|
+
- [puts_debuggerer](https://github.com/AndyObtiva/puts_debuggerer): helps in troubleshooting when adding `require 'pd'` and using the `pd` command instead of `puts` or `p` (also `#pd_inspect` or `#pdi` instead of `#inspect`)
|
3452
|
+
- [rake](https://github.com/ruby/rake): used to implement and execute `glimmer` commands
|
3453
|
+
- [super_module](https://github.com/AndyObtiva/super_module): used to cleanly write the Glimmer::UI:CustomWidget and Glimmer::UI::CustomShell modules
|
3454
|
+
- [text-table](https://github.com/aptinio/text-table): renders textual data in a textual table for the command-line interface of Glimmer
|
3455
|
+
- [warbler](https://github.com/jruby/warbler): converts a Glimmer app into a Java JAR file during packaging
|
3456
|
+
|
3457
|
+
## Glimmer Process
|
3458
|
+
|
3459
|
+
[Glimmer Process](PROCESS.md) is the lightweight software development process used for building Glimmer libraries and Glimmer apps, which goes beyond Agile, rendering all Agile processes obsolete. [Glimmer Process](PROCESS.md) is simply made up of 7 guidelines to pick and choose as necessary until software development needs are satisfied.
|
3460
|
+
|
3461
|
+
Learn more by reading the [GPG](PROCESS.md) (Glimmer Process Guidelines)
|
3462
|
+
|
3356
3463
|
## Resources
|
3357
3464
|
|
3358
3465
|
* [Code Master Blog](http://andymaleh.blogspot.com/search/label/Glimmer)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.10.
|
1
|
+
0.10.3
|
data/lib/glimmer/config.rb
CHANGED
@@ -34,7 +34,12 @@ module Glimmer
|
|
34
34
|
|
35
35
|
def reset_logger!
|
36
36
|
self.logger = Logger.new(STDOUT).tap do |logger|
|
37
|
-
logger.level =
|
37
|
+
logger.level = Logger::ERROR
|
38
|
+
begin
|
39
|
+
logger.level = ENV['GLIMMER_LOGGER_LEVEL'].strip.downcase if ENV['GLIMMER_LOGGER_LEVEL']
|
40
|
+
rescue => e
|
41
|
+
puts e.message
|
42
|
+
end
|
38
43
|
end
|
39
44
|
end
|
40
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,7 +83,7 @@ dependencies:
|
|
83
83
|
requirements:
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0.
|
86
|
+
version: 0.10.0
|
87
87
|
name: puts_debuggerer
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
@@ -91,7 +91,7 @@ dependencies:
|
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.
|
94
|
+
version: 0.10.0
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|