maglev-database-explorer 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +21 -0
- data/README.rdoc +3 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/maglev-database-explorer/application.js +17 -0
- data/app/assets/javascripts/maglev_database_explorer/def.js +2 -0
- data/app/assets/stylesheets/maglev-database-explorer/application.css +13 -0
- data/app/assets/stylesheets/maglev_database_explorer/def.css +4 -0
- data/app/controllers/maglev_database_explorer/application_controller.rb +4 -0
- data/app/controllers/maglev_database_explorer/code_controller.rb +101 -0
- data/app/controllers/maglev_database_explorer/object_controller.rb +60 -0
- data/app/controllers/maglev_database_explorer/object_explorer_controller.rb +9 -0
- data/app/helpers/maglev_database_explorer/application_helper.rb +4 -0
- data/app/views/layouts/maglev-database-explorer/application.html.erb +14 -0
- data/app/views/maglev_database_explorer/object_explorer/_workspace.html.erb +28 -0
- data/app/views/maglev_database_explorer/object_explorer/index.html.erb +92 -0
- data/config/routes.rb +15 -0
- data/lib/maglev-database-explorer.rb +17 -0
- data/lib/maglev-database-explorer/code_evaluation.rb +36 -0
- data/lib/maglev-database-explorer/database_views.rb +29 -0
- data/lib/maglev-database-explorer/database_views/abstract_dictionary.rb +69 -0
- data/lib/maglev-database-explorer/database_views/abstract_exception.rb +25 -0
- data/lib/maglev-database-explorer/database_views/array.rb +28 -0
- data/lib/maglev-database-explorer/database_views/boolean.rb +12 -0
- data/lib/maglev-database-explorer/database_views/class.rb +46 -0
- data/lib/maglev-database-explorer/database_views/exception.rb +3 -0
- data/lib/maglev-database-explorer/database_views/execblock.rb +5 -0
- data/lib/maglev-database-explorer/database_views/fixnum.rb +5 -0
- data/lib/maglev-database-explorer/database_views/float.rb +6 -0
- data/lib/maglev-database-explorer/database_views/globals.rb +2 -0
- data/lib/maglev-database-explorer/database_views/gsnmethod.rb +29 -0
- data/lib/maglev-database-explorer/database_views/hash.rb +5 -0
- data/lib/maglev-database-explorer/database_views/maglev_record.rb +43 -0
- data/lib/maglev-database-explorer/database_views/module.rb +104 -0
- data/lib/maglev-database-explorer/database_views/nilclass.rb +6 -0
- data/lib/maglev-database-explorer/database_views/object.rb +77 -0
- data/lib/maglev-database-explorer/database_views/proc.rb +4 -0
- data/lib/maglev-database-explorer/database_views/repository.rb +4 -0
- data/lib/maglev-database-explorer/database_views/ruby_workspace.rb +6 -0
- data/lib/maglev-database-explorer/database_views/smalltalk_classes.rb +35 -0
- data/lib/maglev-database-explorer/database_views/smalltalk_classes.st +60 -0
- data/lib/maglev-database-explorer/database_views/string.rb +27 -0
- data/lib/maglev-database-explorer/database_views/symbol.rb +33 -0
- data/lib/maglev-database-explorer/database_views/system.rb +48 -0
- data/lib/maglev-database-explorer/database_views/thread.rb +101 -0
- data/lib/maglev-database-explorer/debug_server.rb +22 -0
- data/lib/maglev-database-explorer/engine.rb +23 -0
- data/lib/maglev-database-explorer/engine_symlinks.rb +19 -0
- data/lib/maglev-database-explorer/halt.rb +33 -0
- data/lib/maglev-database-explorer/ruby_workspace.rb +31 -0
- data/lib/maglev-database-explorer/version.rb +3 -0
- data/lib/tasks/maglev-database-explorer_tasks.rake +4 -0
- data/public/LICENSE +35 -0
- data/public/amber/CHANGELOG +65 -0
- data/public/amber/LICENSE +22 -0
- data/public/amber/Makefile +53 -0
- data/public/amber/README.md +30 -0
- data/public/amber/bin/amber +3 -0
- data/public/amber/bin/amberc +352 -0
- data/public/amber/bin/nodecompile.js +33 -0
- data/public/amber/bin/server +3 -0
- data/public/amber/bin/server.bat +3 -0
- data/public/amber/css/amber-normalize.css +468 -0
- data/public/amber/css/amber-normalize.less +501 -0
- data/public/amber/css/amber.css +539 -0
- data/public/amber/css/documentation.css +84 -0
- data/public/amber/css/profstef.css +75 -0
- data/public/amber/css/style.css +313 -0
- data/public/amber/documentation.html +37 -0
- data/public/amber/examples/Makefile +23 -0
- data/public/amber/examples/README +4 -0
- data/public/amber/examples/android/helloamber/AndroidManifest.xml +19 -0
- data/public/amber/examples/android/helloamber/HelloAmber.st +13 -0
- data/public/amber/examples/android/helloamber/Makefile +56 -0
- data/public/amber/examples/android/helloamber/README.md +80 -0
- data/public/amber/examples/android/helloamber/ant.properties +17 -0
- data/public/amber/examples/android/helloamber/assets/index.html +15 -0
- data/public/amber/examples/android/helloamber/assets/jquery-1.7.2.min.js +4 -0
- data/public/amber/examples/android/helloamber/build.xml +83 -0
- data/public/amber/examples/android/helloamber/local.properties +10 -0
- data/public/amber/examples/android/helloamber/proguard-project.txt +20 -0
- data/public/amber/examples/android/helloamber/project.properties +14 -0
- data/public/amber/examples/android/helloamber/res/layout/main.xml +6 -0
- data/public/amber/examples/android/helloamber/res/values/strings.xml +4 -0
- data/public/amber/examples/android/helloamber/src/org/amberlang/android/helloamber/HelloAmber.java +59 -0
- data/public/amber/examples/myproject/index.html +16 -0
- data/public/amber/examples/nodejs/README +9 -0
- data/public/amber/examples/nodejs/benchfib/Benchfib.st +124 -0
- data/public/amber/examples/nodejs/benchfib/Makefile +8 -0
- data/public/amber/examples/nodejs/benchfib/benchfib +1 -0
- data/public/amber/examples/nodejs/hello/Hello.st +9 -0
- data/public/amber/examples/nodejs/hello/Makefile +8 -0
- data/public/amber/examples/nodejs/hello/README +13 -0
- data/public/amber/examples/nodejs/hello/hello +1 -0
- data/public/amber/examples/nodejs/meta/Makefile +8 -0
- data/public/amber/examples/nodejs/meta/MyScript.st +27 -0
- data/public/amber/examples/nodejs/meta/meta +1 -0
- data/public/amber/examples/nodejs/pystone/Makefile +8 -0
- data/public/amber/examples/nodejs/pystone/Pystone.st +306 -0
- data/public/amber/examples/nodejs/pystone/pystone +1 -0
- data/public/amber/examples/nodejs/trivialserver/Makefile +8 -0
- data/public/amber/examples/nodejs/trivialserver/TrivialServer.st +51 -0
- data/public/amber/examples/nodejs/trivialserver/trivial +1 -0
- data/public/amber/examples/presentation/esug2011/images/asterix.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/background_box.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/background_header.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/balloon.jpg +0 -0
- data/public/amber/examples/presentation/esug2011/images/balloon_header.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/devices.jpg +0 -0
- data/public/amber/examples/presentation/esug2011/images/enyo.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/ide_star_wars.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/nodejs.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/terminal.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/webos.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/amber.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/ambrhino.jpg +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/nodejs.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/pharo.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/php.gif +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/rails.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-next.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-prev.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/closedhand.cur +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/openhand.cur +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-back.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-forward.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.css +100 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.js +1232 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.min.js +13 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.easing.1.3.js +38 -0
- data/public/amber/examples/presentation/index.html +17 -0
- data/public/amber/examples/presentation/js/Presentation.deploy.js +1922 -0
- data/public/amber/examples/presentation/js/Presentation.js +2712 -0
- data/public/amber/examples/presentation/st/Presentation.st +1996 -0
- data/public/amber/examples/trysmalltalk/index.html +18 -0
- data/public/amber/examples/trysmalltalk/js/TrySmalltalk.deploy.js +837 -0
- data/public/amber/examples/trysmalltalk/js/TrySmalltalk.js +1206 -0
- data/public/amber/examples/trysmalltalk/st/TrySmalltalk.st +964 -0
- data/public/amber/examples/twitterwall/css/twitterwall.css +19 -0
- data/public/amber/examples/twitterwall/index.html +35 -0
- data/public/amber/examples/twitterwall/js/TwitterWall.deploy.js +116 -0
- data/public/amber/examples/twitterwall/js/TwitterWall.js +146 -0
- data/public/amber/examples/twitterwall/st/TwitterWall.st +91 -0
- data/public/amber/examples/webos/README +11 -0
- data/public/amber/examples/webos/eris/DuckQwaq.wav +0 -0
- data/public/amber/examples/webos/eris/EnyoAmber.st +36 -0
- data/public/amber/examples/webos/eris/Eris.css +0 -0
- data/public/amber/examples/webos/eris/Eris.st +86 -0
- data/public/amber/examples/webos/eris/Makefile +37 -0
- data/public/amber/examples/webos/eris/README +3 -0
- data/public/amber/examples/webos/eris/appinfo.json +10 -0
- data/public/amber/examples/webos/eris/depends.js +4 -0
- data/public/amber/examples/webos/eris/index.html +12 -0
- data/public/amber/examples/webos/helloamber/EnyoAmber.st +36 -0
- data/public/amber/examples/webos/helloamber/HelloAmber.st +86 -0
- data/public/amber/examples/webos/helloamber/Makefile +38 -0
- data/public/amber/examples/webos/helloamber/README +5 -0
- data/public/amber/examples/webos/helloamber/appinfo.json +10 -0
- data/public/amber/examples/webos/helloamber/depends.js +3 -0
- data/public/amber/examples/webos/helloamber/index.html +12 -0
- data/public/amber/favicon.ico +0 -0
- data/public/amber/images/amber.png +0 -0
- data/public/amber/images/amber.svg +706 -0
- data/public/amber/images/amber_small.png +0 -0
- data/public/amber/images/off.amber.png +0 -0
- data/public/amber/images/off.png +0 -0
- data/public/amber/images/offHover.amber.png +0 -0
- data/public/amber/images/offHover.png +0 -0
- data/public/amber/images/presentation.png +0 -0
- data/public/amber/images/profstef.png +0 -0
- data/public/amber/images/sprite.amber.png +0 -0
- data/public/amber/images/sprite.png +0 -0
- data/public/amber/images/tinylogo.amber.png +0 -0
- data/public/amber/images/tinylogo.png +0 -0
- data/public/amber/images/twitterwall.png +0 -0
- data/public/amber/index.html +55 -0
- data/public/amber/js/Additional-Examples.deploy.js +15 -0
- data/public/amber/js/Additional-Examples.js +21 -0
- data/public/amber/js/Benchfib.deploy.js +132 -0
- data/public/amber/js/Benchfib.js +167 -0
- data/public/amber/js/Canvas.deploy.js +2446 -0
- data/public/amber/js/Canvas.js +3547 -0
- data/public/amber/js/Compiler-Tests.deploy.js +97 -0
- data/public/amber/js/Compiler-Tests.js +137 -0
- data/public/amber/js/Compiler.deploy.js +1877 -0
- data/public/amber/js/Compiler.js +2622 -0
- data/public/amber/js/Documentation.deploy.js +961 -0
- data/public/amber/js/Documentation.js +1376 -0
- data/public/amber/js/Examples.deploy.js +53 -0
- data/public/amber/js/Examples.js +73 -0
- data/public/amber/js/IDE.deploy.js +3557 -0
- data/public/amber/js/IDE.js +5002 -0
- data/public/amber/js/Kernel-Announcements.deploy.js +107 -0
- data/public/amber/js/Kernel-Announcements.js +152 -0
- data/public/amber/js/Kernel-Classes.deploy.js +774 -0
- data/public/amber/js/Kernel-Classes.js +1095 -0
- data/public/amber/js/Kernel-Collections.deploy.js +3121 -0
- data/public/amber/js/Kernel-Collections.js +4427 -0
- data/public/amber/js/Kernel-Exceptions.deploy.js +244 -0
- data/public/amber/js/Kernel-Exceptions.js +349 -0
- data/public/amber/js/Kernel-Methods.deploy.js +573 -0
- data/public/amber/js/Kernel-Methods.js +807 -0
- data/public/amber/js/Kernel-Objects.deploy.js +2877 -0
- data/public/amber/js/Kernel-Objects.js +4107 -0
- data/public/amber/js/Kernel-Tests.deploy.js +1513 -0
- data/public/amber/js/Kernel-Tests.js +2053 -0
- data/public/amber/js/Kernel-Transcript.deploy.js +142 -0
- data/public/amber/js/Kernel-Transcript.js +202 -0
- data/public/amber/js/Maglev-Core.deploy.js +2967 -0
- data/public/amber/js/Maglev-Core.js +4202 -0
- data/public/amber/js/Maglev-Database-Explorer.deploy.js +4426 -0
- data/public/amber/js/Maglev-Database-Explorer.js +6162 -0
- data/public/amber/js/Maglev-Vendor.deploy.js +350 -0
- data/public/amber/js/Maglev-Vendor.js +465 -0
- data/public/amber/js/README.md +5 -0
- data/public/amber/js/SUnit.deploy.js +351 -0
- data/public/amber/js/SUnit.js +501 -0
- data/public/amber/js/amber.js +273 -0
- data/public/amber/js/boot.js +602 -0
- data/public/amber/js/compat.js +22 -0
- data/public/amber/js/init.js +9 -0
- data/public/amber/js/lib/CodeMirror/LICENSE +19 -0
- data/public/amber/js/lib/CodeMirror/active-line.js +39 -0
- data/public/amber/js/lib/CodeMirror/amber.css +21 -0
- data/public/amber/js/lib/CodeMirror/codemirror.css +67 -0
- data/public/amber/js/lib/CodeMirror/codemirror.js +2144 -0
- data/public/amber/js/lib/CodeMirror/smalltalk.js +134 -0
- data/public/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
- data/public/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
- data/public/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
- data/public/amber/js/lib/jQuery/jquery.textarea.js +267 -0
- data/public/amber/js/lib/peg-0.6.2.min.js +2 -0
- data/public/amber/js/lib/showdown.js +419 -0
- data/public/amber/js/parser.js +4222 -0
- data/public/amber/js/parser.pegjs +223 -0
- data/public/amber/learn.html +40 -0
- data/public/amber/repl/Makefile +8 -0
- data/public/amber/repl/REPL.js +124 -0
- data/public/amber/repl/REPL.st +56 -0
- data/public/amber/repl/amber.js +18085 -0
- data/public/amber/server/FileServer.st +576 -0
- data/public/amber/server/Makefile +8 -0
- data/public/amber/server/server.js +13049 -0
- data/public/amber/st/Benchfib.st +124 -0
- data/public/amber/st/Canvas.st +968 -0
- data/public/amber/st/Compiler-Tests.st +471 -0
- data/public/amber/st/Compiler.st +1445 -0
- data/public/amber/st/Documentation.st +758 -0
- data/public/amber/st/Examples.st +38 -0
- data/public/amber/st/IDE.st +2404 -0
- data/public/amber/st/Kernel-Announcements.st +61 -0
- data/public/amber/st/Kernel-Classes.st +462 -0
- data/public/amber/st/Kernel-Collections.st +1611 -0
- data/public/amber/st/Kernel-Exceptions.st +124 -0
- data/public/amber/st/Kernel-Methods.st +291 -0
- data/public/amber/st/Kernel-Objects.st +1587 -0
- data/public/amber/st/Kernel-Tests.st +953 -0
- data/public/amber/st/Kernel-Transcript.st +70 -0
- data/public/amber/st/Maglev-Core.st +1659 -0
- data/public/amber/st/Maglev-Database-Explorer.st +3085 -0
- data/public/amber/st/Maglev-Vendor.st +213 -0
- data/public/amber/st/Makefile +104 -0
- data/public/amber/st/README.md +4 -0
- data/public/amber/st/SUnit.st +172 -0
- data/public/css/bootstrap-combined.no-icons.min.css +731 -0
- data/public/css/bootstrap.css +6811 -0
- data/public/css/jquery-ui.min.css +5 -0
- data/public/css/smalltalk_code.css +42 -0
- data/public/css/style.css +209 -0
- data/public/images/maglev-logo.gif +0 -0
- data/public/images/rails_tiny.png +0 -0
- data/public/images/ruby.png +0 -0
- data/public/images/ruby_smalltalk_bridge.png +0 -0
- data/public/images/smalltalk.png +0 -0
- data/public/libs/bootstrap.min.js +7 -0
- data/public/libs/codemirror/CONTRIBUTING.md +72 -0
- data/public/libs/codemirror/LICENSE +23 -0
- data/public/libs/codemirror/README.md +11 -0
- data/public/libs/codemirror/addon/dialog/dialog.css +32 -0
- data/public/libs/codemirror/addon/dialog/dialog.js +80 -0
- data/public/libs/codemirror/addon/display/placeholder.js +54 -0
- data/public/libs/codemirror/addon/edit/closebrackets.js +54 -0
- data/public/libs/codemirror/addon/edit/closetag.js +86 -0
- data/public/libs/codemirror/addon/edit/continuecomment.js +44 -0
- data/public/libs/codemirror/addon/edit/continuelist.js +25 -0
- data/public/libs/codemirror/addon/edit/matchbrackets.js +82 -0
- data/public/libs/codemirror/addon/fold/brace-fold.js +31 -0
- data/public/libs/codemirror/addon/fold/foldcode.js +32 -0
- data/public/libs/codemirror/addon/fold/indent-fold.js +11 -0
- data/public/libs/codemirror/addon/fold/xml-fold.js +64 -0
- data/public/libs/codemirror/addon/hint/html-hint.js +582 -0
- data/public/libs/codemirror/addon/hint/javascript-hint.js +142 -0
- data/public/libs/codemirror/addon/hint/pig-hint.js +117 -0
- data/public/libs/codemirror/addon/hint/python-hint.js +93 -0
- data/public/libs/codemirror/addon/hint/show-hint.css +38 -0
- data/public/libs/codemirror/addon/hint/show-hint.js +180 -0
- data/public/libs/codemirror/addon/hint/xml-hint.js +118 -0
- data/public/libs/codemirror/addon/lint/javascript-lint.js +127 -0
- data/public/libs/codemirror/addon/lint/json-lint.js +14 -0
- data/public/libs/codemirror/addon/lint/lint.css +96 -0
- data/public/libs/codemirror/addon/lint/lint.js +197 -0
- data/public/libs/codemirror/addon/mode/loadmode.js +51 -0
- data/public/libs/codemirror/addon/mode/multiplex.js +95 -0
- data/public/libs/codemirror/addon/mode/overlay.js +59 -0
- data/public/libs/codemirror/addon/runmode/colorize.js +29 -0
- data/public/libs/codemirror/addon/runmode/runmode-standalone.js +130 -0
- data/public/libs/codemirror/addon/runmode/runmode.js +52 -0
- data/public/libs/codemirror/addon/runmode/runmode.node.js +89 -0
- data/public/libs/codemirror/addon/search/match-highlighter.js +60 -0
- data/public/libs/codemirror/addon/search/search.js +131 -0
- data/public/libs/codemirror/addon/search/searchcursor.js +133 -0
- data/public/libs/codemirror/addon/selection/active-line.js +39 -0
- data/public/libs/codemirror/addon/selection/mark-selection.js +34 -0
- data/public/libs/codemirror/bin/compress +91 -0
- data/public/libs/codemirror/bin/lint +11 -0
- data/public/libs/codemirror/demo/activeline.html +70 -0
- data/public/libs/codemirror/demo/bidi.html +61 -0
- data/public/libs/codemirror/demo/btree.html +87 -0
- data/public/libs/codemirror/demo/buffers.html +98 -0
- data/public/libs/codemirror/demo/changemode.html +50 -0
- data/public/libs/codemirror/demo/closebrackets.html +63 -0
- data/public/libs/codemirror/demo/closetag.html +37 -0
- data/public/libs/codemirror/demo/complete.html +70 -0
- data/public/libs/codemirror/demo/emacs.html +60 -0
- data/public/libs/codemirror/demo/folding.html +69 -0
- data/public/libs/codemirror/demo/fullscreen.html +147 -0
- data/public/libs/codemirror/demo/html5complete.html +92 -0
- data/public/libs/codemirror/demo/indentwrap.html +49 -0
- data/public/libs/codemirror/demo/lint.html +90 -0
- data/public/libs/codemirror/demo/loadmode.html +40 -0
- data/public/libs/codemirror/demo/marker.html +59 -0
- data/public/libs/codemirror/demo/markselection.html +36 -0
- data/public/libs/codemirror/demo/matchhighlighter.html +38 -0
- data/public/libs/codemirror/demo/multiplex.html +60 -0
- data/public/libs/codemirror/demo/mustache.html +59 -0
- data/public/libs/codemirror/demo/placeholder.html +36 -0
- data/public/libs/codemirror/demo/preview.html +76 -0
- data/public/libs/codemirror/demo/resize.html +49 -0
- data/public/libs/codemirror/demo/runmode.html +50 -0
- data/public/libs/codemirror/demo/search.html +85 -0
- data/public/libs/codemirror/demo/spanaffectswrapping_shim.html +73 -0
- data/public/libs/codemirror/demo/theme.html +89 -0
- data/public/libs/codemirror/demo/variableheight.html +52 -0
- data/public/libs/codemirror/demo/vim.html +65 -0
- data/public/libs/codemirror/demo/visibletabs.html +53 -0
- data/public/libs/codemirror/demo/widget.html +74 -0
- data/public/libs/codemirror/demo/xmlcomplete.html +81 -0
- data/public/libs/codemirror/doc/baboon.png +0 -0
- data/public/libs/codemirror/doc/baboon_vector.svg +153 -0
- data/public/libs/codemirror/doc/compress.html +200 -0
- data/public/libs/codemirror/doc/docs.css +167 -0
- data/public/libs/codemirror/doc/internals.html +505 -0
- data/public/libs/codemirror/doc/manual.html +1897 -0
- data/public/libs/codemirror/doc/modes.html +94 -0
- data/public/libs/codemirror/doc/oldrelease.html +492 -0
- data/public/libs/codemirror/doc/realworld.html +100 -0
- data/public/libs/codemirror/doc/reporting.html +60 -0
- data/public/libs/codemirror/doc/upgrade_v2.2.html +98 -0
- data/public/libs/codemirror/doc/upgrade_v3.html +227 -0
- data/public/libs/codemirror/index.html +487 -0
- data/public/libs/codemirror/keymap/emacs.js +30 -0
- data/public/libs/codemirror/keymap/vim.js +3044 -0
- data/public/libs/codemirror/lib/codemirror.css +253 -0
- data/public/libs/codemirror/lib/codemirror.js +5585 -0
- data/public/libs/codemirror/mode/apl/apl.js +160 -0
- data/public/libs/codemirror/mode/apl/index.html +61 -0
- data/public/libs/codemirror/mode/asterisk/asterisk.js +183 -0
- data/public/libs/codemirror/mode/asterisk/index.html +142 -0
- data/public/libs/codemirror/mode/clike/clike.js +302 -0
- data/public/libs/codemirror/mode/clike/index.html +103 -0
- data/public/libs/codemirror/mode/clike/scala.html +767 -0
- data/public/libs/codemirror/mode/clojure/clojure.js +222 -0
- data/public/libs/codemirror/mode/clojure/index.html +76 -0
- data/public/libs/codemirror/mode/coffeescript/LICENSE +22 -0
- data/public/libs/codemirror/mode/coffeescript/coffeescript.js +346 -0
- data/public/libs/codemirror/mode/coffeescript/index.html +728 -0
- data/public/libs/codemirror/mode/commonlisp/commonlisp.js +101 -0
- data/public/libs/codemirror/mode/commonlisp/index.html +165 -0
- data/public/libs/codemirror/mode/css/css.js +567 -0
- data/public/libs/codemirror/mode/css/index.html +58 -0
- data/public/libs/codemirror/mode/css/scss.html +145 -0
- data/public/libs/codemirror/mode/css/scss_test.js +80 -0
- data/public/libs/codemirror/mode/css/test.js +113 -0
- data/public/libs/codemirror/mode/d/d.js +205 -0
- data/public/libs/codemirror/mode/d/index.html +262 -0
- data/public/libs/codemirror/mode/diff/diff.js +32 -0
- data/public/libs/codemirror/mode/diff/index.html +105 -0
- data/public/libs/codemirror/mode/ecl/ecl.js +192 -0
- data/public/libs/codemirror/mode/ecl/index.html +39 -0
- data/public/libs/codemirror/mode/erlang/erlang.js +463 -0
- data/public/libs/codemirror/mode/erlang/index.html +64 -0
- data/public/libs/codemirror/mode/gas/gas.js +326 -0
- data/public/libs/codemirror/mode/gas/index.html +57 -0
- data/public/libs/codemirror/mode/gfm/gfm.js +96 -0
- data/public/libs/codemirror/mode/gfm/index.html +74 -0
- data/public/libs/codemirror/mode/gfm/test.js +112 -0
- data/public/libs/codemirror/mode/go/go.js +165 -0
- data/public/libs/codemirror/mode/go/index.html +74 -0
- data/public/libs/codemirror/mode/groovy/groovy.js +210 -0
- data/public/libs/codemirror/mode/groovy/index.html +73 -0
- data/public/libs/codemirror/mode/haskell/haskell.js +242 -0
- data/public/libs/codemirror/mode/haskell/index.html +62 -0
- data/public/libs/codemirror/mode/haxe/haxe.js +429 -0
- data/public/libs/codemirror/mode/haxe/index.html +90 -0
- data/public/libs/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
- data/public/libs/codemirror/mode/htmlembedded/index.html +49 -0
- data/public/libs/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
- data/public/libs/codemirror/mode/htmlmixed/index.html +73 -0
- data/public/libs/codemirror/mode/http/http.js +98 -0
- data/public/libs/codemirror/mode/http/index.html +32 -0
- data/public/libs/codemirror/mode/javascript/index.html +92 -0
- data/public/libs/codemirror/mode/javascript/javascript.js +467 -0
- data/public/libs/codemirror/mode/javascript/typescript.html +48 -0
- data/public/libs/codemirror/mode/jinja2/index.html +38 -0
- data/public/libs/codemirror/mode/jinja2/jinja2.js +42 -0
- data/public/libs/codemirror/mode/less/index.html +741 -0
- data/public/libs/codemirror/mode/less/less.js +266 -0
- data/public/libs/codemirror/mode/livescript/LICENSE +23 -0
- data/public/libs/codemirror/mode/livescript/index.html +446 -0
- data/public/libs/codemirror/mode/livescript/livescript.js +267 -0
- data/public/libs/codemirror/mode/livescript/livescript.ls +266 -0
- data/public/libs/codemirror/mode/lua/index.html +74 -0
- data/public/libs/codemirror/mode/lua/lua.js +140 -0
- data/public/libs/codemirror/mode/markdown/index.html +344 -0
- data/public/libs/codemirror/mode/markdown/markdown.js +526 -0
- data/public/libs/codemirror/mode/markdown/test.js +636 -0
- data/public/libs/codemirror/mode/meta.js +75 -0
- data/public/libs/codemirror/mode/mirc/index.html +149 -0
- data/public/libs/codemirror/mode/mirc/mirc.js +177 -0
- data/public/libs/codemirror/mode/ntriples/index.html +33 -0
- data/public/libs/codemirror/mode/ntriples/ntriples.js +170 -0
- data/public/libs/codemirror/mode/ocaml/index.html +131 -0
- data/public/libs/codemirror/mode/ocaml/ocaml.js +113 -0
- data/public/libs/codemirror/mode/pascal/LICENSE +7 -0
- data/public/libs/codemirror/mode/pascal/index.html +48 -0
- data/public/libs/codemirror/mode/pascal/pascal.js +94 -0
- data/public/libs/codemirror/mode/perl/LICENSE +19 -0
- data/public/libs/codemirror/mode/perl/index.html +62 -0
- data/public/libs/codemirror/mode/perl/perl.js +816 -0
- data/public/libs/codemirror/mode/php/index.html +51 -0
- data/public/libs/codemirror/mode/php/php.js +129 -0
- data/public/libs/codemirror/mode/pig/index.html +42 -0
- data/public/libs/codemirror/mode/pig/pig.js +171 -0
- data/public/libs/codemirror/mode/properties/index.html +41 -0
- data/public/libs/codemirror/mode/properties/properties.js +63 -0
- data/public/libs/codemirror/mode/python/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/python/index.html +135 -0
- data/public/libs/codemirror/mode/python/python.js +340 -0
- data/public/libs/codemirror/mode/q/index.html +131 -0
- data/public/libs/codemirror/mode/q/q.js +124 -0
- data/public/libs/codemirror/mode/r/LICENSE +24 -0
- data/public/libs/codemirror/mode/r/index.html +74 -0
- data/public/libs/codemirror/mode/r/r.js +141 -0
- data/public/libs/codemirror/mode/rpm/changes/changes.js +19 -0
- data/public/libs/codemirror/mode/rpm/changes/index.html +53 -0
- data/public/libs/codemirror/mode/rpm/spec/index.html +99 -0
- data/public/libs/codemirror/mode/rpm/spec/spec.css +5 -0
- data/public/libs/codemirror/mode/rpm/spec/spec.js +66 -0
- data/public/libs/codemirror/mode/rst/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/rst/index.html +524 -0
- data/public/libs/codemirror/mode/rst/rst.js +550 -0
- data/public/libs/codemirror/mode/ruby/LICENSE +24 -0
- data/public/libs/codemirror/mode/ruby/index.html +173 -0
- data/public/libs/codemirror/mode/ruby/ruby.js +197 -0
- data/public/libs/codemirror/mode/rust/index.html +48 -0
- data/public/libs/codemirror/mode/rust/rust.js +432 -0
- data/public/libs/codemirror/mode/sass/index.html +54 -0
- data/public/libs/codemirror/mode/sass/sass.js +349 -0
- data/public/libs/codemirror/mode/scheme/index.html +65 -0
- data/public/libs/codemirror/mode/scheme/scheme.js +230 -0
- data/public/libs/codemirror/mode/shell/index.html +51 -0
- data/public/libs/codemirror/mode/shell/shell.js +118 -0
- data/public/libs/codemirror/mode/sieve/LICENSE +19 -0
- data/public/libs/codemirror/mode/sieve/index.html +81 -0
- data/public/libs/codemirror/mode/sieve/sieve.js +183 -0
- data/public/libs/codemirror/mode/smalltalk/index.html +57 -0
- data/public/libs/codemirror/mode/smalltalk/smalltalk.js +141 -0
- data/public/libs/codemirror/mode/smarty/index.html +83 -0
- data/public/libs/codemirror/mode/smarty/smarty.js +148 -0
- data/public/libs/codemirror/mode/sparql/index.html +42 -0
- data/public/libs/codemirror/mode/sparql/sparql.js +143 -0
- data/public/libs/codemirror/mode/sql/index.html +68 -0
- data/public/libs/codemirror/mode/sql/sql.js +268 -0
- data/public/libs/codemirror/mode/stex/index.html +98 -0
- data/public/libs/codemirror/mode/stex/stex.js +246 -0
- data/public/libs/codemirror/mode/stex/test.js +117 -0
- data/public/libs/codemirror/mode/tcl/index.html +129 -0
- data/public/libs/codemirror/mode/tcl/tcl.js +131 -0
- data/public/libs/codemirror/mode/tiddlywiki/index.html +142 -0
- data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
- data/public/libs/codemirror/mode/tiki/index.html +81 -0
- data/public/libs/codemirror/mode/tiki/tiki.css +26 -0
- data/public/libs/codemirror/mode/tiki/tiki.js +308 -0
- data/public/libs/codemirror/mode/turtle/index.html +39 -0
- data/public/libs/codemirror/mode/turtle/turtle.js +145 -0
- data/public/libs/codemirror/mode/vb/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/vb/index.html +88 -0
- data/public/libs/codemirror/mode/vb/vb.js +259 -0
- data/public/libs/codemirror/mode/vbscript/index.html +42 -0
- data/public/libs/codemirror/mode/vbscript/vbscript.js +26 -0
- data/public/libs/codemirror/mode/velocity/index.html +103 -0
- data/public/libs/codemirror/mode/velocity/velocity.js +144 -0
- data/public/libs/codemirror/mode/verilog/index.html +121 -0
- data/public/libs/codemirror/mode/verilog/verilog.js +182 -0
- data/public/libs/codemirror/mode/xml/index.html +45 -0
- data/public/libs/codemirror/mode/xml/xml.js +328 -0
- data/public/libs/codemirror/mode/xquery/LICENSE +20 -0
- data/public/libs/codemirror/mode/xquery/index.html +221 -0
- data/public/libs/codemirror/mode/xquery/test.js +64 -0
- data/public/libs/codemirror/mode/xquery/xquery.js +450 -0
- data/public/libs/codemirror/mode/yaml/index.html +68 -0
- data/public/libs/codemirror/mode/yaml/yaml.js +95 -0
- data/public/libs/codemirror/mode/z80/index.html +39 -0
- data/public/libs/codemirror/mode/z80/z80.js +85 -0
- data/public/libs/codemirror/package.json +21 -0
- data/public/libs/codemirror/test/doc_test.js +329 -0
- data/public/libs/codemirror/test/driver.js +138 -0
- data/public/libs/codemirror/test/index.html +182 -0
- data/public/libs/codemirror/test/lint/acorn.js +1593 -0
- data/public/libs/codemirror/test/lint/lint.js +112 -0
- data/public/libs/codemirror/test/lint/parse-js.js +1372 -0
- data/public/libs/codemirror/test/lint/walk.js +216 -0
- data/public/libs/codemirror/test/mode_test.css +10 -0
- data/public/libs/codemirror/test/mode_test.js +192 -0
- data/public/libs/codemirror/test/phantom_driver.js +31 -0
- data/public/libs/codemirror/test/run.js +33 -0
- data/public/libs/codemirror/test/test.js +1400 -0
- data/public/libs/codemirror/test/vim_test.js +1688 -0
- data/public/libs/codemirror/theme/ambiance-mobile.css +5 -0
- data/public/libs/codemirror/theme/ambiance.css +75 -0
- data/public/libs/codemirror/theme/blackboard.css +25 -0
- data/public/libs/codemirror/theme/cobalt.css +18 -0
- data/public/libs/codemirror/theme/eclipse.css +25 -0
- data/public/libs/codemirror/theme/elegant.css +10 -0
- data/public/libs/codemirror/theme/erlang-dark.css +21 -0
- data/public/libs/codemirror/theme/lesser-dark.css +44 -0
- data/public/libs/codemirror/theme/midnight.css +52 -0
- data/public/libs/codemirror/theme/monokai.css +28 -0
- data/public/libs/codemirror/theme/neat.css +9 -0
- data/public/libs/codemirror/theme/night.css +21 -0
- data/public/libs/codemirror/theme/rubyblue.css +21 -0
- data/public/libs/codemirror/theme/solarized.css +207 -0
- data/public/libs/codemirror/theme/twilight.css +26 -0
- data/public/libs/codemirror/theme/vibrant-ink.css +27 -0
- data/public/libs/codemirror/theme/xq-dark.css +46 -0
- data/public/libs/codemirror/theme/xq-light.css +43 -0
- data/public/libs/font-awesome/css/font-awesome-ie7.css +983 -0
- data/public/libs/font-awesome/css/font-awesome-ie7.min.css +24 -0
- data/public/libs/font-awesome/css/font-awesome.css +1268 -0
- data/public/libs/font-awesome/css/font-awesome.min.css +24 -0
- data/public/libs/font-awesome/font/FontAwesome.otf +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.svg +339 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
- data/public/libs/font-awesome/less/bootstrap.less +78 -0
- data/public/libs/font-awesome/less/core.less +132 -0
- data/public/libs/font-awesome/less/extras.less +79 -0
- data/public/libs/font-awesome/less/font-awesome-ie7.less +413 -0
- data/public/libs/font-awesome/less/font-awesome.less +32 -0
- data/public/libs/font-awesome/less/icons.less +330 -0
- data/public/libs/font-awesome/less/mixins.less +34 -0
- data/public/libs/font-awesome/less/path.less +15 -0
- data/public/libs/font-awesome/less/variables.less +9 -0
- data/public/libs/jquery-1.10.0.min.js +6 -0
- data/public/libs/jquery-ui.min.js +12 -0
- data/public/libs/jquery.jsPlumb-1.4.0-all.js +9571 -0
- data/public/libs/jquery.livequery.js +226 -0
- data/public/libs/jsPlumbInitializer.js +72 -0
- data/public/libs/jstree/README.txt +10 -0
- data/public/libs/jstree/_demo/_dump.sql +20 -0
- data/public/libs/jstree/_demo/_inc/__mysql_errors.log +0 -0
- data/public/libs/jstree/_demo/_inc/class._database.php +146 -0
- data/public/libs/jstree/_demo/_inc/class._database_i.php +152 -0
- data/public/libs/jstree/_demo/_inc/class.tree.php +602 -0
- data/public/libs/jstree/_demo/_install.txt +6 -0
- data/public/libs/jstree/_demo/config.php +14 -0
- data/public/libs/jstree/_demo/file.png +0 -0
- data/public/libs/jstree/_demo/folder.png +0 -0
- data/public/libs/jstree/_demo/index.html +461 -0
- data/public/libs/jstree/_demo/root.png +0 -0
- data/public/libs/jstree/_demo/server.php +69 -0
- data/public/libs/jstree/_docs/!style.css +48 -0
- data/public/libs/jstree/_docs/_drive.png +0 -0
- data/public/libs/jstree/_docs/_html_data.html +2 -0
- data/public/libs/jstree/_docs/_json_data.json +4 -0
- data/public/libs/jstree/_docs/_search_data.json +6 -0
- data/public/libs/jstree/_docs/_search_result.json +1 -0
- data/public/libs/jstree/_docs/_xml_flat.xml +12 -0
- data/public/libs/jstree/_docs/_xml_nest.xml +18 -0
- data/public/libs/jstree/_docs/checkbox.html +171 -0
- data/public/libs/jstree/_docs/contextmenu.html +121 -0
- data/public/libs/jstree/_docs/cookies.html +97 -0
- data/public/libs/jstree/_docs/core.html +689 -0
- data/public/libs/jstree/_docs/crrm.html +316 -0
- data/public/libs/jstree/_docs/dnd.html +199 -0
- data/public/libs/jstree/_docs/hotkeys.html +82 -0
- data/public/libs/jstree/_docs/html_data.html +175 -0
- data/public/libs/jstree/_docs/index.html +86 -0
- data/public/libs/jstree/_docs/json_data.html +249 -0
- data/public/libs/jstree/_docs/languages.html +152 -0
- data/public/libs/jstree/_docs/logo.png +0 -0
- data/public/libs/jstree/_docs/search.html +153 -0
- data/public/libs/jstree/_docs/sort.html +85 -0
- data/public/libs/jstree/_docs/syntax/!script.js +2232 -0
- data/public/libs/jstree/_docs/syntax/!style.css +511 -0
- data/public/libs/jstree/_docs/syntax/clipboard.swf +0 -0
- data/public/libs/jstree/_docs/syntax/help.png +0 -0
- data/public/libs/jstree/_docs/syntax/magnifier.png +0 -0
- data/public/libs/jstree/_docs/syntax/page_white_code.png +0 -0
- data/public/libs/jstree/_docs/syntax/page_white_copy.png +0 -0
- data/public/libs/jstree/_docs/syntax/printer.png +0 -0
- data/public/libs/jstree/_docs/syntax/wrapping.png +0 -0
- data/public/libs/jstree/_docs/themeroller.html +107 -0
- data/public/libs/jstree/_docs/themes.html +127 -0
- data/public/libs/jstree/_docs/types.html +178 -0
- data/public/libs/jstree/_docs/ui.html +197 -0
- data/public/libs/jstree/_docs/unique.html +85 -0
- data/public/libs/jstree/_docs/xml_data.html +218 -0
- data/public/libs/jstree/_lib/jquery.cookie.js +96 -0
- data/public/libs/jstree/_lib/jquery.hotkeys.js +99 -0
- data/public/libs/jstree/_lib/jquery.js +5 -0
- data/public/libs/jstree/jquery.jstree.js +4564 -0
- data/public/libs/jstree/themes/apple/bg.jpg +0 -0
- data/public/libs/jstree/themes/apple/d.png +0 -0
- data/public/libs/jstree/themes/apple/dot_for_ie.gif +0 -0
- data/public/libs/jstree/themes/apple/style.css +61 -0
- data/public/libs/jstree/themes/apple/throbber.gif +0 -0
- data/public/libs/jstree/themes/classic/d.gif +0 -0
- data/public/libs/jstree/themes/classic/d.png +0 -0
- data/public/libs/jstree/themes/classic/dot_for_ie.gif +0 -0
- data/public/libs/jstree/themes/classic/style.css +77 -0
- data/public/libs/jstree/themes/classic/throbber.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/d.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/d.png +0 -0
- data/public/libs/jstree/themes/default-rtl/dots.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/style.css +84 -0
- data/public/libs/jstree/themes/default-rtl/throbber.gif +0 -0
- data/public/libs/jstree/themes/default/d.gif +0 -0
- data/public/libs/jstree/themes/default/d.png +0 -0
- data/public/libs/jstree/themes/default/style.css +74 -0
- data/public/libs/jstree/themes/default/throbber.gif +0 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/demo_app.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/demo_app.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/demo_app_controller.rb +6 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/demo_app_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +6 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +17606 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/functional/demo_app_controller_test.rb +7 -0
- data/test/dummy/test/unit/helpers/demo_app_helper_test.rb +4 -0
- data/test/dummy/tmp/cache/assets/D26/980/sprockets%2Fe04a37a0fa7f26c1183a1a4436e2a9c1 +0 -0
- data/test/dummy/tmp/cache/assets/D32/4F0/sprockets%2Fbd5441f3593e4ea157222202f3fddad6 +0 -0
- data/test/dummy/tmp/pids/server.pid +1 -0
- data/test/functional/maglev_database_explorer/def_controller_test.rb +9 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/maglev-database-explorer_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/maglev_database_explorer/def_helper_test.rb +6 -0
- metadata +813 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
create_public_link = "ln -sfT \"#{MaglevDatabaseExplorer.full_gem_path}/public\" \"#{Dir.getwd}/public/maglev-database-explorer\""
|
|
2
|
+
|
|
3
|
+
puts "Creating symlink: #{create_public_link}"
|
|
4
|
+
|
|
5
|
+
if not system(create_public_link)
|
|
6
|
+
puts "ERROR: Failed to create symbolic link to public directory of MagLev Database Explorer with '#{create_public_link}'."
|
|
7
|
+
exit
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Workaround for symlinks not working correctly on MagLev
|
|
11
|
+
create_views_link ="ln -sfT \"#{MaglevDatabaseExplorer.full_gem_path}/app/views/maglev_database_explorer\" \"#{Dir.getwd}/app/views/maglev_database_explorer\""
|
|
12
|
+
|
|
13
|
+
puts "Creating symlink: #{create_views_link}"
|
|
14
|
+
|
|
15
|
+
if not system(create_views_link)
|
|
16
|
+
puts "ERROR: Failed to create symbolic link to views directory of MagLev Database Explorer."
|
|
17
|
+
exit
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module MaglevDatabaseExplorer
|
|
2
|
+
class << self
|
|
3
|
+
def halt
|
|
4
|
+
halt_proc = Proc.new do
|
|
5
|
+
nil.pause
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
halt_proc.__call_and_rescue do |eval_result|
|
|
9
|
+
is_exception = eval_result[0]
|
|
10
|
+
|
|
11
|
+
if is_exception
|
|
12
|
+
Thread.current.__set_exception(eval_result[1])
|
|
13
|
+
Thread.current[:is_rails_thread] = true
|
|
14
|
+
eval_result[1] = Thread.current
|
|
15
|
+
|
|
16
|
+
halted_threads.push(Thread.current)
|
|
17
|
+
Thread.current[:manual_stop] = true
|
|
18
|
+
Thread.stop
|
|
19
|
+
Thread.current[:manual_stop] = false
|
|
20
|
+
halted_threads.delete(Thread.current)
|
|
21
|
+
eval_result[1].__exception.__resume
|
|
22
|
+
else
|
|
23
|
+
puts "ERROR: expected a Halt. __call_and_rescue not working correctly."
|
|
24
|
+
Thread.current.__set_exception(nil)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def halted_threads
|
|
30
|
+
@halted_threads ||= []
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class RubyWorkspace
|
|
2
|
+
def get_binding
|
|
3
|
+
@binding ||= binding()
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def evaluate(text)
|
|
7
|
+
puts "RUBY WORKSPACE: #{text}"
|
|
8
|
+
result = CodeEvaluation.wait_for_eval_thread do
|
|
9
|
+
eval(text, get_binding)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
store_object(result)
|
|
13
|
+
result
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def store_object(obj)
|
|
17
|
+
Maglev::PERSISTENT_ROOT[:debug_storage] ||= {}
|
|
18
|
+
Maglev::PERSISTENT_ROOT[:debug_storage][obj.object_id] = obj
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def initialize
|
|
22
|
+
store_object(self)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class << self
|
|
26
|
+
def default_instance
|
|
27
|
+
@default_instance ||= self.new
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
data/public/LICENSE
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2012-2013 Dimitri Korsch, Kirstin Heidler, Matthias Springer,
|
|
4
|
+
Nicco Kunzmann, Stefan Bunk
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in
|
|
14
|
+
all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
THE SOFTWARE.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
MagLev Database Explorer is built on top of Amber Smalltalk
|
|
26
|
+
(http://amber-lang.net) and uses the following libraries.
|
|
27
|
+
|
|
28
|
+
- jQuery
|
|
29
|
+
- jQuery UI
|
|
30
|
+
- Twitter Bootstrap, custom CSS by Bootswatch
|
|
31
|
+
- Font Awesome
|
|
32
|
+
- jsPlumb
|
|
33
|
+
- jsTree
|
|
34
|
+
- CodeMirror
|
|
35
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
16th January 2012 - Release 0.9.1
|
|
2
|
+
=================================
|
|
3
|
+
|
|
4
|
+
Here's a summary of changes since the 0.9 release:
|
|
5
|
+
|
|
6
|
+
- 80 new unit tests written
|
|
7
|
+
- 52 issues fixed
|
|
8
|
+
- All classes in Kernel-Objects, Kernel-Classes and Kernel-Methods has been documented
|
|
9
|
+
- New documentation framework (see http://amber-lang.net/documentation.html)
|
|
10
|
+
- Better class organisations, "Kernel" package split into several packages
|
|
11
|
+
- First class packages have replaced class categories
|
|
12
|
+
- Internet Explorer 7+ compatibility
|
|
13
|
+
- New Announcement framework ported from Pharo
|
|
14
|
+
- New console-based REPL written in Amber using node.js
|
|
15
|
+
- Symbol class implemented together with object identity and #==
|
|
16
|
+
- New OrderedCollection and Set implementation
|
|
17
|
+
- Dictionary can now have any kind of object as keys. String-key dictionary has been renamed HashedCollection
|
|
18
|
+
- New TwitterWall example
|
|
19
|
+
- Improved HTML Canvas, now compatible with IE7
|
|
20
|
+
- Improved JSObjectProxy for seemless JavaScript objects access from Amber
|
|
21
|
+
- No more jQuery binding. Amber is fully capable of sending messages to JavaScript objects
|
|
22
|
+
|
|
23
|
+
13th September 2011 - Release 0.9
|
|
24
|
+
=================================
|
|
25
|
+
Amber has been evolving furiously since the presentation at ESUG 2011 in Edinburgh less than 3 weeks ago.
|
|
26
|
+
|
|
27
|
+
This is a summary:
|
|
28
|
+
|
|
29
|
+
Language, compiler and runtime
|
|
30
|
+
|
|
31
|
+
- New 100x faster parser built using PEGjs instead of the old parser built using PetitParser.
|
|
32
|
+
- New much faster ChunkParser implementation in handwritten Amber instead of using PetitParser.
|
|
33
|
+
- Improved parsing error report with quoted source code plus marker pinpointing parsing error.
|
|
34
|
+
- Removed PetitParser since it is no longer needed by Amber itself.
|
|
35
|
+
- Added compiler optimizations in the form of speculative inlining of specific messages and control structures.
|
|
36
|
+
- Added support for dynamic Arrays, just like in Squeak/Pharo.
|
|
37
|
+
- Added support for similar dynamic Dictionaries, not seen in other Smalltalks.
|
|
38
|
+
- Added & and | as allowed binary selectors and implemented them in Boolean.
|
|
39
|
+
- Added a Set implementation.
|
|
40
|
+
- Added first basic support for real Packages with dependency information.
|
|
41
|
+
|
|
42
|
+
...and various extensions, enhancements and bug fixes to the library classes.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
Development environment
|
|
46
|
+
|
|
47
|
+
- A working Debugger with integrated inspector, proceed etc.
|
|
48
|
+
- A new structure with
|
|
49
|
+
- A working amberc command line compiler including a Makefile for recompiling the whole Amber.
|
|
50
|
+
- Enabled TestRunner in the IDE for running unit tests based on SUnit.
|
|
51
|
+
- Added "File in" button in Workspace to easily paste and filein source code in chunk format in the IDE.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
Example code and ports
|
|
55
|
+
|
|
56
|
+
- Ported ProfStef interactive tutorial, available on Amber homepage but also in examples directory.
|
|
57
|
+
- Included the ESUG presentation as an example also in the examples directory.
|
|
58
|
+
- Several new examples running on Node.js and webOS included, all with Makefiles.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
Various other things
|
|
62
|
+
|
|
63
|
+
- Issue tracker on github now used as primary source, closed a bunch of reported issues.
|
|
64
|
+
- Wiki pages on github with information on how to port code from other Smalltalks, lists of articles, tutorials, roadmap and more.
|
|
65
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (C) 2011 Nicolas Petton <petton.nicolas@gmail.com>
|
|
2
|
+
Copyright (C) 2011 Amber contributors https://github.com/NicolasPetton/amber/contributors
|
|
3
|
+
|
|
4
|
+
Parts of Amber take ideas from Clamato (http://clamato.net), written by Avi Bryant.
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in
|
|
14
|
+
all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Makefile for sub directories
|
|
2
|
+
AMBER = st
|
|
3
|
+
SERVER = server
|
|
4
|
+
REPL = repl
|
|
5
|
+
EXAMPLES = examples
|
|
6
|
+
|
|
7
|
+
# REST is all except AMBER
|
|
8
|
+
REST = $(SERVER) $(EXAMPLES) $(REPL)
|
|
9
|
+
|
|
10
|
+
# And these are all
|
|
11
|
+
DIRS = $(AMBER) $(REST)
|
|
12
|
+
|
|
13
|
+
# The sets of directories to do various things in
|
|
14
|
+
BUILDDIRS = $(DIRS:%=build-%)
|
|
15
|
+
EXAMPLESDIRS = $(EXAMPLES:%=build-%)
|
|
16
|
+
INSTALLDIRS = $(AMBER:%=install-%)
|
|
17
|
+
CLEANDIRS = $(REST:%=clean-%)
|
|
18
|
+
CLEANALLDIRS = $(DIRS:%=clean-%)
|
|
19
|
+
|
|
20
|
+
all: $(BUILDDIRS)
|
|
21
|
+
$(DIRS): $(BUILDDIRS)
|
|
22
|
+
$(BUILDDIRS):
|
|
23
|
+
$(MAKE) -C $(@:build-%=%)
|
|
24
|
+
|
|
25
|
+
amber: build-st
|
|
26
|
+
|
|
27
|
+
# Examples and server need Amber first
|
|
28
|
+
build-server: build-st
|
|
29
|
+
build-examples: build-st
|
|
30
|
+
|
|
31
|
+
examples: $(EXAMPLESDIRS)
|
|
32
|
+
$(EXAMPLESDIRS):
|
|
33
|
+
$(MAKE) -C $(@:build-%=%)
|
|
34
|
+
|
|
35
|
+
install: $(INSTALLDIRS)
|
|
36
|
+
$(INSTALLDIRS):
|
|
37
|
+
$(MAKE) -C $(@:install-%=%) install
|
|
38
|
+
|
|
39
|
+
clean: $(CLEANDIRS)
|
|
40
|
+
$(CLEANDIRS):
|
|
41
|
+
$(MAKE) -C $(@:clean-%=%) clean
|
|
42
|
+
|
|
43
|
+
cleanall: $(CLEANALLDIRS)
|
|
44
|
+
$(CLEANALLDIRS):
|
|
45
|
+
$(MAKE) -C $(@:clean-%=%) clean
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
.PHONY: subdirs $(DIRS)
|
|
49
|
+
.PHONY: subdirs $(BUILDDIRS)
|
|
50
|
+
.PHONY: subdirs $(INSTALLDIRS)
|
|
51
|
+
.PHONY: subdirs $(CLEANDIRS)
|
|
52
|
+
.PHONY: subdirs $(CLEANALLDIRS)
|
|
53
|
+
.PHONY: all install clean
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Amber
|
|
2
|
+
=====
|
|
3
|
+
|
|
4
|
+
By Nicolas Petton <petton.nicolas@gmail.com> and [Amber contributors](https://github.com/NicolasPetton/amber/contributors)
|
|
5
|
+
|
|
6
|
+
Amber is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It is designed to make client-side development faster and easier.
|
|
7
|
+
|
|
8
|
+
Overview
|
|
9
|
+
--------
|
|
10
|
+
|
|
11
|
+
Amber is written in itself, including the parser and compiler. Amber compiles into efficient JavaScript, mapping one-to-one with the equivalent JavaScript. There is no interpretation at runtime.
|
|
12
|
+
|
|
13
|
+
Some highlights:
|
|
14
|
+
|
|
15
|
+
- Amber features an IDE with a Class browser, Workspace, Transcript, a ReferencesBrowser supporting senders/implementors and class references, basic Inspector and even a beginning of a Debugger and a unit TestRunner.
|
|
16
|
+
- [Pharo Smalltalk](http://www.pharo-project.org) is considered as the reference implementation.
|
|
17
|
+
- Amber includes a canvas to generate HTML, like [Seaside](http://www.seaside.st)
|
|
18
|
+
- Amber can use Javascript libraries and the current IDE is built on [jQuery](http://www.jquery.com)
|
|
19
|
+
- You can inline Javascript code and there are many ways to interact between Amber and Javascript
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
License
|
|
23
|
+
-------
|
|
24
|
+
|
|
25
|
+
Amber is released under the MIT license. All contributions made for inclusion are considered to be under MIT.
|
|
26
|
+
|
|
27
|
+
More infos
|
|
28
|
+
----------
|
|
29
|
+
|
|
30
|
+
More on the [project page](http://amber-lang.net)
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# This is a "compiler" for Amber code. Run without arguments for help.
|
|
4
|
+
#
|
|
5
|
+
# Get Amber root directory from the location of this script so that
|
|
6
|
+
# we can find the st and js directories etc.
|
|
7
|
+
|
|
8
|
+
# Earlier we used this but it does not work on Mac
|
|
9
|
+
# Amber=$(readlink -f `dirname ${0}`/..)
|
|
10
|
+
TARGET=`dirname ${0}`/..
|
|
11
|
+
pushd . >/dev/null
|
|
12
|
+
cd $TARGET
|
|
13
|
+
AMBER="`\pwd -P`"
|
|
14
|
+
popd >/dev/null
|
|
15
|
+
|
|
16
|
+
function usage {
|
|
17
|
+
cat <<ENDOFHELP
|
|
18
|
+
Usage: $0 [-l lib1,lib2...] [-i file] [-m class] [-M file]
|
|
19
|
+
[-o] [-O|-A] [-d] [-s suffix] [-S suffix] [file1 [file2 ...]] [Program]
|
|
20
|
+
|
|
21
|
+
Will compile Amber files - either separately or into a runnable complete
|
|
22
|
+
program. If no .st files are listed only a linking stage is performed.
|
|
23
|
+
Files listed will be handled using these rules:
|
|
24
|
+
|
|
25
|
+
*.js
|
|
26
|
+
Files are linked (concatenated) in listed order.
|
|
27
|
+
If not found we look in $AMBER/js
|
|
28
|
+
|
|
29
|
+
*.st
|
|
30
|
+
Files are compiled into .js files before concatenated.
|
|
31
|
+
If not found we look in $AMBER/st.
|
|
32
|
+
|
|
33
|
+
NOTE: Each file is currently considered to be a fileout of a single class
|
|
34
|
+
category of the same name as the file!
|
|
35
|
+
|
|
36
|
+
If no Program is specified each given .st file will be compiled into
|
|
37
|
+
a .js file. Otherwise a <Program>.js file is linked together based on
|
|
38
|
+
the options:
|
|
39
|
+
|
|
40
|
+
-l library1,library2
|
|
41
|
+
Additionally add listed libraries (no spaces or .js) in listed order.
|
|
42
|
+
|
|
43
|
+
-i file
|
|
44
|
+
Add library initializer <file> instead of default $AMBER/js/init.js
|
|
45
|
+
|
|
46
|
+
-m class
|
|
47
|
+
Add at end a call to #main in class <class>.
|
|
48
|
+
|
|
49
|
+
-M file
|
|
50
|
+
Add at end javascript file <file> acting as main.
|
|
51
|
+
|
|
52
|
+
-o
|
|
53
|
+
Optimize each js file using the Google closure compiler.
|
|
54
|
+
Using Closure compiler found at ~/compiler.jar
|
|
55
|
+
|
|
56
|
+
-O
|
|
57
|
+
Optimize final <Program>.js using the Google closure compiler.
|
|
58
|
+
Using Closure compiler found at ~/compiler.jar
|
|
59
|
+
|
|
60
|
+
-A Same as -O but use --compilation_level ADVANCED_OPTIMIZATIONS
|
|
61
|
+
|
|
62
|
+
-d
|
|
63
|
+
Additionally export code for deploy - stripped from source etc.
|
|
64
|
+
Uses suffix ".deploy.js" in addition to any explicit given suffic using -s.
|
|
65
|
+
|
|
66
|
+
-s suffix
|
|
67
|
+
Add <suffix> to compiled js files so that File.st is compiled into
|
|
68
|
+
File.<suffix>.js.
|
|
69
|
+
|
|
70
|
+
-S suffix
|
|
71
|
+
Use <suffix> for all libraries accessed using -L or -l. This makes it possible
|
|
72
|
+
to have multiple flavors of Amber and libraries in the same place.
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Example invocations:
|
|
76
|
+
|
|
77
|
+
Just compile Kernel-Objects.st to Kernel-Objects.js:
|
|
78
|
+
|
|
79
|
+
amberc Kernel-Objects.st
|
|
80
|
+
|
|
81
|
+
Compile Hello.st to Hello.js and create complete program called
|
|
82
|
+
Program.js and adding a call to class method #main in class Hello:
|
|
83
|
+
|
|
84
|
+
amberc -m Hello Hello.st Program
|
|
85
|
+
|
|
86
|
+
Compile two .st files into corresponding .js files,
|
|
87
|
+
and link with specific myboot.js, myKernel.js, myinit.js
|
|
88
|
+
and main.js and create complete program called Program.js:
|
|
89
|
+
|
|
90
|
+
amberc -M main.js myinit.js myboot.js myKernel.js Cat1.st Cat2.st Program
|
|
91
|
+
|
|
92
|
+
ENDOFHELP
|
|
93
|
+
exit 1;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
# Check we at least got one argument
|
|
97
|
+
if [ -z $1 ] ; then
|
|
98
|
+
usage
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
# Define our predefined library combinations
|
|
102
|
+
KERNEL="boot Kernel-Objects Kernel-Classes Kernel-Methods Kernel-Collections Kernel-Exceptions Kernel-Transcript"
|
|
103
|
+
COMPILER="$KERNEL parser Compiler"
|
|
104
|
+
|
|
105
|
+
# Predefined initializer
|
|
106
|
+
INITIALIZER="$AMBER/js/init.js"
|
|
107
|
+
|
|
108
|
+
# Default values
|
|
109
|
+
ENV=
|
|
110
|
+
INIT=$INITIALIZER
|
|
111
|
+
MAIN=
|
|
112
|
+
MAINFILE=
|
|
113
|
+
BASE=$KERNEL
|
|
114
|
+
LOAD=
|
|
115
|
+
CLOSUREOPTS=
|
|
116
|
+
# Ok, bad coding practice but hey, who would use such a suffix?
|
|
117
|
+
SUFFIX=no-silly-suffix
|
|
118
|
+
SUFFIXUSED=
|
|
119
|
+
DEPLOY=false
|
|
120
|
+
NODECOMPILE=nodecompile
|
|
121
|
+
|
|
122
|
+
# Read options and shift them away
|
|
123
|
+
while getopts "l:i:m:M:oOAds:S:h?" o; do
|
|
124
|
+
case "$o" in
|
|
125
|
+
l) LOAD=$OPTARG;;
|
|
126
|
+
i) INIT=$OPTARG;;
|
|
127
|
+
m) MAIN=$OPTARG;;
|
|
128
|
+
M) MAINFILE=$OPTARG;;
|
|
129
|
+
o) CLOSURE=true
|
|
130
|
+
CLOSUREPARTS=true;;
|
|
131
|
+
O) CLOSURE=true
|
|
132
|
+
CLOSUREFULL=true;;
|
|
133
|
+
A) CLOSURE=true
|
|
134
|
+
CLOSUREOPTS="$CLOSUREOPTS --compilation_level ADVANCED_OPTIMIZATIONS"
|
|
135
|
+
CLOSUREFULL=true;;
|
|
136
|
+
d) DEPLOY=true;;
|
|
137
|
+
s) SUFFIX=$OPTARG
|
|
138
|
+
SUFFIXUSED=$SUFFIX;;
|
|
139
|
+
S) LOADSUFFIX=$OPTARG
|
|
140
|
+
SUFFIXUSED=$SUFFIX;;
|
|
141
|
+
h) usage;;
|
|
142
|
+
[?]) usage;;
|
|
143
|
+
esac
|
|
144
|
+
done
|
|
145
|
+
shift $(($OPTIND - 1))
|
|
146
|
+
|
|
147
|
+
# Check for Closure compiler and Java
|
|
148
|
+
if [ ! -z $CLOSURE ]; then
|
|
149
|
+
java > /dev/null
|
|
150
|
+
if [ $? -eq 0 ]; then
|
|
151
|
+
if [ ! -f ~/compiler.jar ]; then
|
|
152
|
+
echo "Can not find Closure compiler at ~/compiler.jar"
|
|
153
|
+
exit 1
|
|
154
|
+
fi
|
|
155
|
+
else
|
|
156
|
+
echo "java is not installed and is needed for -O, -A or -o (Closure compiler)."
|
|
157
|
+
exit 1
|
|
158
|
+
fi
|
|
159
|
+
fi
|
|
160
|
+
|
|
161
|
+
# Function for looking up listed js files
|
|
162
|
+
function resolvejs {
|
|
163
|
+
FNAME="$1$LOADSUFFIX.js"
|
|
164
|
+
if [ -f $FNAME ]; then
|
|
165
|
+
RESOLVED="$FNAME"
|
|
166
|
+
else
|
|
167
|
+
if [ -f $AMBER/js/$FNAME ]; then
|
|
168
|
+
RESOLVED="$AMBER/js/$FNAME"
|
|
169
|
+
else
|
|
170
|
+
echo "Javascript file not found: $FNAME"
|
|
171
|
+
exit 1
|
|
172
|
+
fi
|
|
173
|
+
fi
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
# Resolve listed libraries in $BASE deparated by spaces
|
|
177
|
+
for FILE in $BASE
|
|
178
|
+
do
|
|
179
|
+
resolvejs $FILE
|
|
180
|
+
TOBASE="$TOBASE $RESOLVED"
|
|
181
|
+
done
|
|
182
|
+
|
|
183
|
+
# Resolve listed libraries in $LOAD separated by ,
|
|
184
|
+
LOAD=${LOAD//,/\ }
|
|
185
|
+
for FILE in $LOAD
|
|
186
|
+
do
|
|
187
|
+
resolvejs $FILE
|
|
188
|
+
TOLOAD="$TOLOAD $RESOLVED"
|
|
189
|
+
done
|
|
190
|
+
|
|
191
|
+
# Resolve COMPILER
|
|
192
|
+
for FILE in $COMPILER
|
|
193
|
+
do
|
|
194
|
+
resolvejs $FILE
|
|
195
|
+
TOCOMPILER="$TOCOMPILER $RESOLVED"
|
|
196
|
+
done
|
|
197
|
+
|
|
198
|
+
# Add supplied libraries we have not already loaded (they are already resolved)
|
|
199
|
+
#for FILE in $EXTRA
|
|
200
|
+
#do
|
|
201
|
+
# resolvejs $FILE
|
|
202
|
+
# TOEXTRA="$TOEXTRA $RESOLVED"
|
|
203
|
+
#done
|
|
204
|
+
|
|
205
|
+
TOCOMPILER="$TOCOMPILER$TOLOAD"
|
|
206
|
+
|
|
207
|
+
# Resolve init and nodecompile
|
|
208
|
+
THEREST="init $AMBER/bin/$NODECOMPILE"
|
|
209
|
+
for FILE in $THEREST
|
|
210
|
+
do
|
|
211
|
+
resolvejs $FILE
|
|
212
|
+
TOCOMPILER="$TOCOMPILER $RESOLVED"
|
|
213
|
+
done
|
|
214
|
+
|
|
215
|
+
# Add supplied libraries
|
|
216
|
+
LIBS="$TOBASE $TOLOAD"
|
|
217
|
+
|
|
218
|
+
# Get a unique tempdir and make it get auto removed on exit
|
|
219
|
+
TMPDIR=`mktemp -d amberc.XXXXXX`
|
|
220
|
+
trap "rm -rf $TMPDIR" EXIT
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
# --------------------------------------------------
|
|
224
|
+
# Collect libraries and Smalltalk files looking
|
|
225
|
+
# both locally and in $AMBER/js and $AMBER/st
|
|
226
|
+
# --------------------------------------------------
|
|
227
|
+
PROGRAM=
|
|
228
|
+
until [ "$*" = "" ]
|
|
229
|
+
do
|
|
230
|
+
case $1 in
|
|
231
|
+
*.st)
|
|
232
|
+
CATEGORY=`basename $1 .st`
|
|
233
|
+
if [ -f "$1" ]; then
|
|
234
|
+
COMPILE="$COMPILE $1 $CATEGORY"
|
|
235
|
+
COMPILED="$COMPILED $CATEGORY$SUFFIXUSED.js"
|
|
236
|
+
else
|
|
237
|
+
if [ -f $AMBER/st/$1 ]; then
|
|
238
|
+
COMPILE="$COMPILE $AMBER/st/$1 $CATEGORY"
|
|
239
|
+
COMPILED="$COMPILED $CATEGORY$SUFFIXUSED.js"
|
|
240
|
+
else
|
|
241
|
+
echo "Amber file not found: $1"
|
|
242
|
+
exit 1
|
|
243
|
+
fi
|
|
244
|
+
fi
|
|
245
|
+
;;
|
|
246
|
+
|
|
247
|
+
*.js)
|
|
248
|
+
resolvejs $1
|
|
249
|
+
LIBS="$LIBS $RESOLVED"
|
|
250
|
+
;;
|
|
251
|
+
*)
|
|
252
|
+
# Will end up being the last non js/st argument
|
|
253
|
+
PROGRAM=$1
|
|
254
|
+
;;
|
|
255
|
+
esac
|
|
256
|
+
shift
|
|
257
|
+
done
|
|
258
|
+
|
|
259
|
+
# --------------------------------------------------
|
|
260
|
+
# Actual compilation phase of collected .st files
|
|
261
|
+
# --------------------------------------------------
|
|
262
|
+
|
|
263
|
+
# Create compiler dynamically
|
|
264
|
+
cat $TOCOMPILER > $TMPDIR/compiler.js
|
|
265
|
+
|
|
266
|
+
# Compile all collected .st files to .js
|
|
267
|
+
echo "Loading libraries$TOCOMPILER and compiling ..."
|
|
268
|
+
node $TMPDIR/compiler.js $DEPLOY $SUFFIX $COMPILE
|
|
269
|
+
|
|
270
|
+
# Verify all .js files corresponding to .st files were created, otherwise exit
|
|
271
|
+
IFS=" "
|
|
272
|
+
for FILE in $COMPILED
|
|
273
|
+
do
|
|
274
|
+
if [ ! -f "$FILE" ]; then
|
|
275
|
+
echo "Failed compilation of $FILE, exiting."
|
|
276
|
+
exit 1
|
|
277
|
+
fi
|
|
278
|
+
done
|
|
279
|
+
|
|
280
|
+
if [ ! -z $CLOSUREPARTS ]; then
|
|
281
|
+
echo "Compiling all js files using Google closure compiler."
|
|
282
|
+
|
|
283
|
+
ALLJSFILES="$COMPILED $LIBS"
|
|
284
|
+
for FILE in $ALLJSFILES
|
|
285
|
+
do
|
|
286
|
+
mv $FILE $FILE.original
|
|
287
|
+
java -jar ~/compiler.jar $CLOSUREOPTS --js $FILE.original --js_output_file $FILE
|
|
288
|
+
rm $FILE.original
|
|
289
|
+
done
|
|
290
|
+
fi
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
if [ -z $PROGRAM ]; then
|
|
294
|
+
echo "Done."
|
|
295
|
+
exit 0
|
|
296
|
+
fi
|
|
297
|
+
|
|
298
|
+
# --------------------------------------------------
|
|
299
|
+
# Now we start composing resulting javascript file.
|
|
300
|
+
# --------------------------------------------------
|
|
301
|
+
|
|
302
|
+
# Add collected libraries to libs.js file.
|
|
303
|
+
if [ ! -z "$LIBS" ]; then
|
|
304
|
+
echo "Adding libraries $LIBS ..."
|
|
305
|
+
cat $LIBS > $TMPDIR/libs.js
|
|
306
|
+
LIBS=$TMPDIR/libs.js
|
|
307
|
+
fi
|
|
308
|
+
|
|
309
|
+
echo "Adding Amber code$COMPILED ..."
|
|
310
|
+
|
|
311
|
+
# Check for init file
|
|
312
|
+
if [ ! -z "$INIT" ]; then
|
|
313
|
+
if [ -f "$INIT" ]; then
|
|
314
|
+
echo "Adding initializer $INIT ..."
|
|
315
|
+
else
|
|
316
|
+
echo "Can not find init file $INIT, exiting."
|
|
317
|
+
exit 1
|
|
318
|
+
fi
|
|
319
|
+
fi
|
|
320
|
+
|
|
321
|
+
# Check for adding main
|
|
322
|
+
if [ ! -z "$MAIN" ]; then
|
|
323
|
+
echo "Adding call to $MAIN class >> main ..."
|
|
324
|
+
echo "smalltalk.$MAIN._main()" > $TMPDIR/main.js
|
|
325
|
+
MAIN=$TMPDIR/main.js
|
|
326
|
+
fi
|
|
327
|
+
|
|
328
|
+
# Check for adding main file
|
|
329
|
+
if [ ! -z "$MAINFILE" ]; then
|
|
330
|
+
if [ -f "$MAINFILE" ]; then
|
|
331
|
+
echo "Adding main as $MAINFILE ..."
|
|
332
|
+
else
|
|
333
|
+
echo "Can not find main file $MAINFILE, exiting."
|
|
334
|
+
exit 1
|
|
335
|
+
fi
|
|
336
|
+
MAIN=$MAINFILE
|
|
337
|
+
fi
|
|
338
|
+
|
|
339
|
+
# And finally concatenate Program.js
|
|
340
|
+
echo "Writing $PROGRAM.js ..."
|
|
341
|
+
cat $LIBS $COMPILED $INIT $MAIN > $PROGRAM.js
|
|
342
|
+
echo "Done."
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
if [ ! -z $CLOSUREFULL ]; then
|
|
346
|
+
echo "Compiling $PROGRAM.js file using Google closure compiler."
|
|
347
|
+
mv $PROGRAM.js $PROGRAM.js.original
|
|
348
|
+
java -jar ~/compiler.jar $CLOSUREOPTS --js $PROGRAM.js.original --js_output_file $PROGRAM.js
|
|
349
|
+
rm $PROGRAM.js.original
|
|
350
|
+
echo "Done."
|
|
351
|
+
fi
|
|
352
|
+
|