redcar 0.3.7.1 → 0.3.8
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/CHANGES +16 -0
- data/README.md +5 -0
- data/ROADMAP.md +7 -9
- data/Rakefile +55 -22
- data/lib/redcar.rb +12 -6
- data/lib/redcar/installer.rb +119 -44
- data/plugins/application/features/step_definitions/speedbar_steps.rb +62 -0
- data/plugins/application/features/step_definitions/tree_steps.rb +3 -3
- data/plugins/application/features/support/env.rb +2 -1
- data/plugins/application/lib/application/notebook.rb +53 -7
- data/plugins/application/lib/application/speedbar.rb +12 -0
- data/plugins/application/lib/application/tab.rb +16 -5
- data/plugins/application/lib/application/treebook.rb +21 -1
- data/plugins/application_swt/lib/application_swt.rb +12 -2
- data/plugins/application_swt/lib/application_swt/html_tab.rb +4 -0
- data/plugins/application_swt/lib/application_swt/notebook.rb +5 -3
- data/plugins/application_swt/lib/application_swt/speedbar.rb +15 -27
- data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +1 -0
- data/plugins/application_swt/lib/application_swt/tab.rb +1 -0
- data/plugins/application_swt/lib/application_swt/treebook.rb +36 -8
- data/plugins/application_swt/lib/application_swt/window.rb +24 -18
- data/plugins/auto_completer/lib/auto_completer.rb +5 -20
- data/plugins/core/lib/core.rb +7 -4
- data/plugins/core/lib/core/observable_struct.rb +2 -2
- data/plugins/declarations/lib/declarations.rb +3 -17
- data/plugins/document_search/features/search.feature +163 -0
- data/plugins/document_search/features/support/env.rb +4 -0
- data/plugins/document_search/lib/document_search.rb +121 -0
- data/plugins/document_search/plugin.rb +8 -0
- data/plugins/edit_view/features/line_delimiter.feature +7 -0
- data/plugins/edit_view/features/step_definitions/editing_steps.rb +49 -1
- data/plugins/edit_view/features/step_definitions/tab_steps.rb +10 -11
- data/plugins/edit_view/features/switch_tabs.feature +61 -10
- data/plugins/edit_view/lib/edit_view.rb +4 -0
- data/plugins/edit_view/lib/edit_view/document.rb +56 -0
- data/plugins/edit_view/lib/edit_view/document/command.rb +1 -1
- data/plugins/edit_view/lib/edit_view/edit_tab.rb +0 -8
- data/plugins/edit_view_swt/lib/edit_view_swt.rb +4 -0
- data/plugins/html_view/lib/html_controller.rb +19 -1
- data/plugins/html_view/lib/html_view.rb +28 -1
- data/plugins/html_view/lib/html_view/html_tab.rb +10 -1
- data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +3 -1
- data/plugins/project/features/open_directory_tree.feature +3 -3
- data/plugins/project/lib/project.rb +4 -6
- data/plugins/project/lib/project/commands.rb +17 -0
- data/plugins/project/lib/project/dir_controller.rb +2 -1
- data/plugins/project/lib/project/dir_mirror.rb +8 -0
- data/plugins/project/lib/project/manager.rb +2 -0
- data/plugins/project/plugin.rb +2 -1
- data/plugins/project/vendor/net-sftp/Manifest +55 -0
- data/plugins/project/vendor/net-sftp/Rakefile +30 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp.rb +70 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/constants.rb +187 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/errors.rb +39 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/operations/dir.rb +93 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/operations/download.rb +364 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/operations/file.rb +176 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/operations/file_factory.rb +60 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/operations/upload.rb +387 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/packet.rb +21 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol.rb +32 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/01/attributes.rb +315 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/01/base.rb +268 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/01/name.rb +43 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/02/base.rb +31 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/03/base.rb +35 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/04/attributes.rb +152 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/04/base.rb +94 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/04/name.rb +67 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/05/base.rb +66 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/06/attributes.rb +107 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/06/base.rb +63 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/protocol/base.rb +50 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/request.rb +91 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/response.rb +76 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/session.rb +951 -0
- data/plugins/project/vendor/net-sftp/lib/net/sftp/version.rb +18 -0
- data/plugins/project/vendor/net-sftp/setup.rb +1331 -0
- data/plugins/project/vendor/net-sftp/test/common.rb +171 -0
- data/plugins/project/vendor/net-sftp/test/protocol/01/test_attributes.rb +97 -0
- data/plugins/project/vendor/net-sftp/test/protocol/01/test_base.rb +210 -0
- data/plugins/project/vendor/net-sftp/test/protocol/01/test_name.rb +27 -0
- data/plugins/project/vendor/net-sftp/test/protocol/02/test_base.rb +26 -0
- data/plugins/project/vendor/net-sftp/test/protocol/03/test_base.rb +27 -0
- data/plugins/project/vendor/net-sftp/test/protocol/04/test_attributes.rb +148 -0
- data/plugins/project/vendor/net-sftp/test/protocol/04/test_base.rb +74 -0
- data/plugins/project/vendor/net-sftp/test/protocol/04/test_name.rb +53 -0
- data/plugins/project/vendor/net-sftp/test/protocol/05/test_base.rb +62 -0
- data/plugins/project/vendor/net-sftp/test/protocol/06/test_attributes.rb +124 -0
- data/plugins/project/vendor/net-sftp/test/protocol/06/test_base.rb +51 -0
- data/plugins/project/vendor/net-sftp/test/protocol/test_base.rb +42 -0
- data/plugins/project/vendor/net-sftp/test/test_all.rb +7 -0
- data/plugins/project/vendor/net-sftp/test/test_dir.rb +47 -0
- data/plugins/project/vendor/net-sftp/test/test_download.rb +252 -0
- data/plugins/project/vendor/net-sftp/test/test_file.rb +159 -0
- data/plugins/project/vendor/net-sftp/test/test_file_factory.rb +48 -0
- data/plugins/project/vendor/net-sftp/test/test_packet.rb +9 -0
- data/plugins/project/vendor/net-sftp/test/test_protocol.rb +17 -0
- data/plugins/project/vendor/net-sftp/test/test_request.rb +71 -0
- data/plugins/project/vendor/net-sftp/test/test_response.rb +53 -0
- data/plugins/project/vendor/net-sftp/test/test_session.rb +741 -0
- data/plugins/project/vendor/net-sftp/test/test_upload.rb +219 -0
- data/plugins/project/vendor/net-ssh/Manifest +110 -0
- data/plugins/project/vendor/net-ssh/Rakefile +85 -0
- data/plugins/project/vendor/net-ssh/Rudyfile +96 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh.rb +215 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/agent.rb +179 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/constants.rb +18 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/key_manager.rb +193 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/methods/abstract.rb +60 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/methods/hostbased.rb +71 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/methods/keyboard_interactive.rb +66 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/methods/password.rb +39 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/methods/publickey.rb +92 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/pageant.rb +183 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/authentication/session.rb +134 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/buffer.rb +340 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/buffered_io.rb +198 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/config.rb +202 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/connection/channel.rb +630 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/connection/constants.rb +33 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/connection/session.rb +597 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/connection/term.rb +178 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/errors.rb +85 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/key_factory.rb +102 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/known_hosts.rb +129 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/loggable.rb +61 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/packet.rb +102 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/prompt.rb +93 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/proxy/command.rb +75 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/proxy/errors.rb +14 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/proxy/http.rb +94 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/proxy/socks4.rb +70 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/proxy/socks5.rb +142 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/ruby_compat.rb +43 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/service/forward.rb +288 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test.rb +89 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/channel.rb +129 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/extensions.rb +152 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/kex.rb +44 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/local_packet.rb +51 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/packet.rb +81 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/remote_packet.rb +38 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/script.rb +157 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/test/socket.rb +64 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/algorithms.rb +384 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/cipher_factory.rb +97 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/constants.rb +30 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac.rb +31 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/abstract.rb +79 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/md5.rb +12 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/md5_96.rb +11 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/none.rb +15 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/sha1.rb +13 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/hmac/sha1_96.rb +11 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/identity_cipher.rb +55 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/kex.rb +13 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +208 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +77 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/openssl.rb +128 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/packet_stream.rb +235 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/server_version.rb +71 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/session.rb +276 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/transport/state.rb +206 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/verifiers/lenient.rb +30 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/verifiers/null.rb +12 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/verifiers/strict.rb +53 -0
- data/plugins/project/vendor/net-ssh/lib/net/ssh/version.rb +62 -0
- data/plugins/project/vendor/net-ssh/net-ssh.gemspec +138 -0
- data/plugins/project/vendor/net-ssh/setup.rb +1585 -0
- data/plugins/project/vendor/net-ssh/support/arcfour_check.rb +20 -0
- data/plugins/project/vendor/net-ssh/support/ssh_tunnel_bug.rb +65 -0
- data/plugins/project/vendor/net-ssh/test/README.txt +42 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/common.rb +28 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/test_abstract.rb +51 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/test_hostbased.rb +114 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/test_keyboard_interactive.rb +98 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/test_password.rb +50 -0
- data/plugins/project/vendor/net-ssh/test/authentication/methods/test_publickey.rb +127 -0
- data/plugins/project/vendor/net-ssh/test/authentication/test_agent.rb +205 -0
- data/plugins/project/vendor/net-ssh/test/authentication/test_key_manager.rb +105 -0
- data/plugins/project/vendor/net-ssh/test/authentication/test_session.rb +93 -0
- data/plugins/project/vendor/net-ssh/test/common.rb +107 -0
- data/plugins/project/vendor/net-ssh/test/configs/eqsign +3 -0
- data/plugins/project/vendor/net-ssh/test/configs/exact_match +8 -0
- data/plugins/project/vendor/net-ssh/test/configs/host_plus +10 -0
- data/plugins/project/vendor/net-ssh/test/configs/multihost +4 -0
- data/plugins/project/vendor/net-ssh/test/configs/nohost +19 -0
- data/plugins/project/vendor/net-ssh/test/configs/numeric_host +4 -0
- data/plugins/project/vendor/net-ssh/test/configs/wild_cards +14 -0
- data/plugins/project/vendor/net-ssh/test/connection/test_channel.rb +467 -0
- data/plugins/project/vendor/net-ssh/test/connection/test_session.rb +488 -0
- data/plugins/project/vendor/net-ssh/test/manual/test_forward.rb +185 -0
- data/plugins/project/vendor/net-ssh/test/test_all.rb +9 -0
- data/plugins/project/vendor/net-ssh/test/test_buffer.rb +336 -0
- data/plugins/project/vendor/net-ssh/test/test_buffered_io.rb +63 -0
- data/plugins/project/vendor/net-ssh/test/test_config.rb +117 -0
- data/plugins/project/vendor/net-ssh/test/test_key_factory.rb +67 -0
- data/plugins/project/vendor/net-ssh/test/transport/hmac/test_md5.rb +39 -0
- data/plugins/project/vendor/net-ssh/test/transport/hmac/test_md5_96.rb +25 -0
- data/plugins/project/vendor/net-ssh/test/transport/hmac/test_none.rb +34 -0
- data/plugins/project/vendor/net-ssh/test/transport/hmac/test_sha1.rb +34 -0
- data/plugins/project/vendor/net-ssh/test/transport/hmac/test_sha1_96.rb +25 -0
- data/plugins/project/vendor/net-ssh/test/transport/kex/test_diffie_hellman_group1_sha1.rb +146 -0
- data/plugins/project/vendor/net-ssh/test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb +92 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_algorithms.rb +302 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_cipher_factory.rb +213 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_hmac.rb +34 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_identity_cipher.rb +40 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_packet_stream.rb +441 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_server_version.rb +78 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_session.rb +315 -0
- data/plugins/project/vendor/net-ssh/test/transport/test_state.rb +173 -0
- data/plugins/redcar/plugin.rb +3 -1
- data/plugins/redcar/redcar.rb +108 -121
- data/plugins/redcar_debug/lib/redcar_debug.rb +2 -0
- data/plugins/runnables/lib/runnables.rb +80 -23
- data/plugins/runnables/lib/runnables/command_output_controller.rb +102 -0
- data/plugins/runnables/lib/runnables/running_process_checker.rb +34 -0
- data/plugins/runnables/{plugin_no_load.rb → plugin.rb} +2 -1
- data/plugins/runnables/vendor/session-2.4.0/HISTORY +73 -0
- data/plugins/runnables/vendor/session-2.4.0/README +89 -0
- data/plugins/runnables/vendor/session-2.4.0/TODO +3 -0
- data/plugins/runnables/vendor/session-2.4.0/VERSION +1 -0
- data/plugins/runnables/vendor/session-2.4.0/gemspec.rb +22 -0
- data/plugins/runnables/vendor/session-2.4.0/install.rb +143 -0
- data/plugins/runnables/vendor/session-2.4.0/lib/session.rb +757 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/bash.rb +60 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/driver.rb +47 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/session_idl.rb +25 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/session_sh.rb +29 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/sh0.rb +23 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/stdin.rb +17 -0
- data/plugins/runnables/vendor/session-2.4.0/sample/threadtest.rb +42 -0
- data/plugins/runnables/vendor/session-2.4.0/session-2.4.0.gem +0 -0
- data/plugins/runnables/vendor/session-2.4.0/test/session.rb +227 -0
- data/plugins/runnables/views/command_output.html.erb +32 -0
- data/plugins/task_manager/lib/task_manager.rb +2 -0
- data/plugins/textmate/lib/textmate/plist.rb +1 -1
- data/plugins/textmate/lib/textmate/snippet.rb +1 -0
- data/plugins/tree/lib/tree/mirror.rb +8 -1
- data/plugins/tree_view_swt/lib/tree_view_swt.rb +29 -2
- metadata +191 -6
- data/plugins/declarations/TODO +0 -3
- data/plugins/redcar/spec/redcar/redcar_spec.rb +0 -70
- data/plugins/redcar/spec/spec_helper.rb +0 -4
data/CHANGES
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
|
|
2
|
+
Version 0.3.8 (TBA)
|
|
3
|
+
===================
|
|
4
|
+
|
|
5
|
+
* Can switch between open trees in a window (Dan Lucraft)
|
|
6
|
+
* Runnables: extensible runnable tasks/build items/tests/generators for projects. (Dan Lucraft)
|
|
7
|
+
* Runnables: run scripts in edit tabs as processes. (Dan Lucraft)
|
|
8
|
+
* Fix for: end key not working in documents with Windows-style line endings (Dan Lucraft)
|
|
9
|
+
* Caches downloaded jar files so that installation is faster when updating versions. (Felipe Coury)
|
|
10
|
+
* Fix for: dragging and dropping HtmlTabs between notebooks and windows. (Dan Lucraft)
|
|
11
|
+
* Select Word command (Johannes Wollert)
|
|
12
|
+
* Move tab up/Move tab down commands (Johannes Wollert)
|
|
13
|
+
* New APIs: Document#current_word, Document#word_at_offset (Johannes Wollert)
|
|
14
|
+
* Made the first tab open for a new install MUCH faster by generating the textmate bundle cache in the install script (Dan Lucraft)
|
|
15
|
+
* Search speedbar is opened with selected text as the default search (Johannes Wollert)
|
|
16
|
+
* Helper method for executing JavaScript in the browser during controller actions (Dan Lucraft)
|
|
17
|
+
|
|
2
18
|
Version 0.3.7.1 (25 Jun 2010)
|
|
3
19
|
=============================
|
|
4
20
|
|
data/README.md
CHANGED
|
@@ -30,6 +30,11 @@ for a list of options.
|
|
|
30
30
|
## INSTALLING FROM SOURCE
|
|
31
31
|
|
|
32
32
|
If you want to contribute to Redcar, you can install it from the source code.
|
|
33
|
+
|
|
34
|
+
If you're running Windows, as a prerequisite, you'll need to install the rubyzip gem:
|
|
35
|
+
|
|
36
|
+
$ gem install rubyzip
|
|
37
|
+
|
|
33
38
|
Download from github, checkout the submodules and build JavaMateView. You will need Ant
|
|
34
39
|
installed, and RSpec and Cucumber installed as JRuby gems.
|
|
35
40
|
|
data/ROADMAP.md
CHANGED
|
@@ -2,24 +2,22 @@
|
|
|
2
2
|
Redcar JRuby Port Roadmap
|
|
3
3
|
=========================
|
|
4
4
|
|
|
5
|
-
Features still to port
|
|
6
|
-
-----------------------
|
|
7
|
-
|
|
8
|
-
* Tests passing on 3 platforms
|
|
9
|
-
* Full project support
|
|
10
|
-
* Text/Source/Ruby bundle commands ported
|
|
11
|
-
* Packaged for one-click install on 3 platforms
|
|
12
|
-
* Ruby on Rails/HTML/CSS/YAML bundle commands ported
|
|
13
|
-
|
|
14
5
|
Version 0.4.0
|
|
15
6
|
-------------
|
|
16
7
|
|
|
17
8
|
Feature parity with Redcar 0.2.
|
|
18
9
|
|
|
10
|
+
Remaining:
|
|
11
|
+
* Text/Source/Ruby bundle commands ported
|
|
12
|
+
* Ruby on Rails/HTML/CSS/YAML bundle commands ported
|
|
13
|
+
|
|
14
|
+
|
|
19
15
|
And then for 1.0...
|
|
20
16
|
-------------------
|
|
21
17
|
|
|
22
18
|
* Incremental search
|
|
19
|
+
* Tests passing on 3 platforms
|
|
20
|
+
* Packaged for one-click install on 3 platforms
|
|
23
21
|
* Find/Replace
|
|
24
22
|
* Go to symbol
|
|
25
23
|
* Command browser
|
data/Rakefile
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
REDCAR_VERSION = "0.3.
|
|
2
|
-
|
|
1
|
+
REDCAR_VERSION = "0.3.8"
|
|
3
2
|
require 'rubygems'
|
|
4
3
|
require 'fileutils'
|
|
5
4
|
require 'spec/rake/spectask'
|
|
@@ -159,12 +158,13 @@ Rake::GemPackageTask.new(spec) do |pkg|
|
|
|
159
158
|
end
|
|
160
159
|
|
|
161
160
|
desc "Build a MacOS X App bundle"
|
|
162
|
-
task :app_bundle do
|
|
161
|
+
task :app_bundle => :build do
|
|
163
162
|
require 'erb'
|
|
164
163
|
|
|
165
164
|
redcar_icon = "redcar_icon_beta.png"
|
|
166
165
|
|
|
167
166
|
bundle_contents = File.join("pkg", "Redcar.app", "Contents")
|
|
167
|
+
FileUtils.rm_rf bundle_contents if File.exist? bundle_contents
|
|
168
168
|
macos_dir = File.join(bundle_contents, "MacOS")
|
|
169
169
|
resources_dir = File.join(bundle_contents, "Resources")
|
|
170
170
|
FileUtils.mkdir_p macos_dir
|
|
@@ -202,7 +202,7 @@ task :app_bundle do
|
|
|
202
202
|
f << '#!/bin/sh
|
|
203
203
|
DIR=$(cd "$(dirname "$0")"; pwd)
|
|
204
204
|
REDCAR=$(cd "$(dirname "${DIR}/../Resources/bin/redcar")"; pwd)
|
|
205
|
-
|
|
205
|
+
$REDCAR/redcar --ignore-stdin $@'
|
|
206
206
|
end
|
|
207
207
|
File.chmod 0777, File.join(macos_dir, "redcar")
|
|
208
208
|
|
|
@@ -211,7 +211,8 @@ task :app_bundle do
|
|
|
211
211
|
FileUtils.cp_r f, File.join(resources_dir, f), :remove_destination => true
|
|
212
212
|
end
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
p "Running #{File.join(resources_dir, "bin", "redcar")} install"
|
|
215
|
+
system "#{File.join(resources_dir, "bin", "redcar")} install"
|
|
215
216
|
|
|
216
217
|
FileUtils.cp_r File.join(resources_dir, "plugins", "application", "icons", redcar_icon),
|
|
217
218
|
resources_dir, :remove_destination => true
|
|
@@ -288,32 +289,64 @@ task :release => :gem do
|
|
|
288
289
|
AWS::S3::S3Object.store("redcar-#{REDCAR_VERSION}.gem", open(file), 'redcar', :access => :public_read)
|
|
289
290
|
end
|
|
290
291
|
|
|
291
|
-
def hash_with_hash_default
|
|
292
|
-
Hash.new {|h,k| h[k] = hash_with_hash_default }
|
|
293
|
-
end
|
|
294
|
-
|
|
295
292
|
namespace :redcar do
|
|
293
|
+
def hash_with_hash_default
|
|
294
|
+
Hash.new {|h,k| h[k] = hash_with_hash_default }
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
require 'json'
|
|
298
|
+
|
|
296
299
|
desc "Redcar Integration: output runnable info"
|
|
297
300
|
task :runnables do
|
|
298
|
-
mkdir_p(".redcar")
|
|
301
|
+
mkdir_p(".redcar/runnables")
|
|
299
302
|
puts "Creating runnables"
|
|
303
|
+
File.open(".redcar/runnables/sync_stdout.rb", "w") do |fout|
|
|
304
|
+
fout.puts <<-RUBY
|
|
305
|
+
$stdout.sync = true
|
|
306
|
+
$stderr.sync = true
|
|
307
|
+
RUBY
|
|
308
|
+
end
|
|
300
309
|
|
|
301
310
|
tasks = Rake::Task.tasks
|
|
302
|
-
|
|
303
|
-
|
|
311
|
+
runnables = []
|
|
312
|
+
ruby_bin = Config::CONFIG["bindir"] + "/ruby -r#{File.dirname(__FILE__)}/.redcar/runnables/sync_stdout.rb "
|
|
304
313
|
tasks.each do |task|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
314
|
+
name = task.name.gsub(":", "/")
|
|
315
|
+
command = ruby_bin + $0 + " " + task.name
|
|
316
|
+
runnables << {
|
|
317
|
+
"name" => name,
|
|
318
|
+
"command" => command,
|
|
319
|
+
"description" => task.comment,
|
|
320
|
+
"type" => "task/ruby/rake"
|
|
321
|
+
}
|
|
322
|
+
end
|
|
323
|
+
File.open(".redcar/runnables/rake.json", "w") do |f|
|
|
324
|
+
data = {"commands" => runnables}
|
|
325
|
+
f.puts(JSON.pretty_generate(data))
|
|
312
326
|
end
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
327
|
+
File.open(".redcar/runnables/ruby.json", "w") do |f|
|
|
328
|
+
data = {"file_runners" =>
|
|
329
|
+
[
|
|
330
|
+
{
|
|
331
|
+
"regex" => ".*.rb$",
|
|
332
|
+
"name" => "Run as ruby",
|
|
333
|
+
"command" => ruby_bin + "__PATH__",
|
|
334
|
+
"type" => "script/ruby"
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
f.puts(JSON.pretty_generate(data))
|
|
339
|
+
end
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
task :sample do
|
|
343
|
+
5.times do |i|
|
|
344
|
+
puts "out#{i}"
|
|
345
|
+
sleep 1
|
|
346
|
+
$stderr.puts "err#{i}"
|
|
347
|
+
sleep 1
|
|
316
348
|
end
|
|
349
|
+
FileUtils.touch("finished_process")
|
|
317
350
|
end
|
|
318
351
|
end
|
|
319
352
|
|
data/lib/redcar.rb
CHANGED
|
@@ -41,10 +41,10 @@ require 'uri'
|
|
|
41
41
|
#
|
|
42
42
|
# and so on.
|
|
43
43
|
module Redcar
|
|
44
|
-
VERSION = '0.3.
|
|
44
|
+
VERSION = '0.3.8'
|
|
45
45
|
VERSION_MAJOR = 0
|
|
46
46
|
VERSION_MINOR = 3
|
|
47
|
-
VERSION_RELEASE =
|
|
47
|
+
VERSION_RELEASE = 8
|
|
48
48
|
|
|
49
49
|
ENVIRONMENTS = [:user, :debug, :test]
|
|
50
50
|
|
|
@@ -138,16 +138,22 @@ module Redcar
|
|
|
138
138
|
:test => ".redcar_test",
|
|
139
139
|
:debug => ".redcar_debug"
|
|
140
140
|
}[Redcar.environment]
|
|
141
|
+
File.expand_path(File.join(home_dir, dirname))
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Platform specific ~/
|
|
145
|
+
#
|
|
146
|
+
# @return [String] expanded path
|
|
147
|
+
def self.home_dir
|
|
141
148
|
if platform == :windows
|
|
142
149
|
if ENV['USERPROFILE'].nil?
|
|
143
|
-
userdir = "C:/My Documents
|
|
150
|
+
userdir = "C:/My Documents/"
|
|
144
151
|
else
|
|
145
|
-
userdir =
|
|
152
|
+
userdir = ENV['USERPROFILE']
|
|
146
153
|
end
|
|
147
154
|
else
|
|
148
|
-
userdir =
|
|
155
|
+
userdir = ENV['HOME'] unless ENV['HOME'].nil?
|
|
149
156
|
end
|
|
150
|
-
File.expand_path(userdir)
|
|
151
157
|
end
|
|
152
158
|
|
|
153
159
|
class << self
|
data/lib/redcar/installer.rb
CHANGED
|
@@ -18,6 +18,26 @@ module Redcar
|
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
def install
|
|
22
|
+
unless File.writable?(JRUBY_JAR_DIR)
|
|
23
|
+
puts "Don't have permission to write to #{JRUBY_JAR_DIR}. Please rerun with sudo."
|
|
24
|
+
exit 1
|
|
25
|
+
end
|
|
26
|
+
Redcar.environment = :user
|
|
27
|
+
puts "Downloading >10MB of jar files. This may take a while."
|
|
28
|
+
grab_jruby
|
|
29
|
+
grab_common_jars
|
|
30
|
+
grab_platform_dependencies
|
|
31
|
+
grab_redcar_jars
|
|
32
|
+
puts "Building textmate bundle cache"
|
|
33
|
+
s = Time.now
|
|
34
|
+
load_textmate_bundles
|
|
35
|
+
puts "... took #{Time.now - s}s"
|
|
36
|
+
fix_user_dir_permissions
|
|
37
|
+
puts
|
|
38
|
+
puts "Done! You're ready to run Redcar."
|
|
39
|
+
end
|
|
40
|
+
|
|
21
41
|
def associate_with_any_right_click
|
|
22
42
|
raise 'this is currently only for windows' unless Redcar.platform == :windows
|
|
23
43
|
require 'rbconfig'
|
|
@@ -38,20 +58,6 @@ module Redcar
|
|
|
38
58
|
puts 'Associated.'
|
|
39
59
|
end
|
|
40
60
|
|
|
41
|
-
def install
|
|
42
|
-
unless File.writable?(JRUBY_JAR_DIR)
|
|
43
|
-
puts "Don't have permission to write to #{JRUBY_JAR_DIR}. Please rerun with sudo."
|
|
44
|
-
exit 1
|
|
45
|
-
end
|
|
46
|
-
puts "Downloading >10MB of jar files. This may take a while."
|
|
47
|
-
grab_jruby
|
|
48
|
-
grab_common_jars
|
|
49
|
-
grab_platform_dependencies
|
|
50
|
-
grab_redcar_jars
|
|
51
|
-
puts
|
|
52
|
-
puts "Done! You're ready to run Redcar."
|
|
53
|
-
end
|
|
54
|
-
|
|
55
61
|
def plugins_dir
|
|
56
62
|
File.expand_path(File.join(File.dirname(__FILE__), %w(.. .. plugins)))
|
|
57
63
|
end
|
|
@@ -71,6 +77,10 @@ module Redcar
|
|
|
71
77
|
/jface/org.eclipse.core.jobs.jar
|
|
72
78
|
)
|
|
73
79
|
|
|
80
|
+
def redcar_jars_dir
|
|
81
|
+
File.expand_path(File.join(Redcar.user_dir, "jars"))
|
|
82
|
+
end
|
|
83
|
+
|
|
74
84
|
JRUBY_JAR_DIR = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
|
75
85
|
|
|
76
86
|
JRUBY = [
|
|
@@ -81,59 +91,67 @@ module Redcar
|
|
|
81
91
|
|
|
82
92
|
JRUBY << "http://jruby.org.s3.amazonaws.com/downloads/1.5.0/jruby-complete-1.5.0.jar"
|
|
83
93
|
|
|
94
|
+
JOPENSSL_DIR = "lib/openssl/lib/"
|
|
84
95
|
JOPENSSL = {
|
|
85
|
-
"/jruby/bcmail-jdk14-139-#{Redcar::VERSION}.jar" => "
|
|
86
|
-
"/jruby/bcprov-jdk14-139-#{Redcar::VERSION}.jar" => "
|
|
87
|
-
"/jruby/jopenssl-#{Redcar::VERSION}.jar" => "
|
|
96
|
+
"/jruby/bcmail-jdk14-139-#{Redcar::VERSION}.jar" => "bcmail-jdk14-139.jar",
|
|
97
|
+
"/jruby/bcprov-jdk14-139-#{Redcar::VERSION}.jar" => "bcprov-jdk14-139.jar",
|
|
98
|
+
"/jruby/jopenssl-#{Redcar::VERSION}.jar" => "jopenssl.jar",
|
|
88
99
|
}
|
|
89
100
|
|
|
90
101
|
REDCAR_JARS = {
|
|
91
102
|
"/java-mateview-#{Redcar::VERSION}.jar" => "plugins/edit_view_swt/vendor/java-mateview.jar",
|
|
92
|
-
"/
|
|
103
|
+
"/application_swt-#{Redcar::VERSION}.jar" => "plugins/application_swt/lib/dist/application_swt.jar"
|
|
93
104
|
}
|
|
94
105
|
|
|
95
106
|
XULRUNNER_URI = "http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2/runtimes/xulrunner-1.9.2.en-US.win32.zip"
|
|
96
107
|
|
|
108
|
+
SWT_JARS = {
|
|
109
|
+
:osx => {
|
|
110
|
+
"/swt/osx.jar" => "osx/swt.jar",
|
|
111
|
+
"/swt/osx64.jar" => "osx64/swt.jar"
|
|
112
|
+
},
|
|
113
|
+
:linux => {
|
|
114
|
+
"/swt/linux.jar" => "linux/swt.jar",
|
|
115
|
+
"/swt/linux64.jar" => "linux64/swt.jar"
|
|
116
|
+
},
|
|
117
|
+
:windows => {
|
|
118
|
+
"/swt/win32.jar" => "win32/swt.jar",
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
97
122
|
def grab_jruby
|
|
98
|
-
puts "*
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
JOPENSSL.each do |jar_url, relative_path|
|
|
103
|
-
download(jar_url, File.join(File.dirname(__FILE__), "..", "..", relative_path))
|
|
104
|
-
end
|
|
123
|
+
puts "* Checking JRuby dependencies"
|
|
124
|
+
|
|
125
|
+
setup "jruby", :resources => JRUBY, :path => JRUBY_JAR_DIR
|
|
126
|
+
setup "jopenssl", :resources => JOPENSSL, :path => JOPENSSL_DIR
|
|
105
127
|
end
|
|
106
128
|
|
|
107
129
|
def grab_common_jars
|
|
108
|
-
puts "*
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
end
|
|
130
|
+
puts "* Checking common jars"
|
|
131
|
+
|
|
132
|
+
setup "jface", :resources => JFACE, :path => File.join(plugins_dir, %w(application_swt vendor jface))
|
|
112
133
|
end
|
|
113
134
|
|
|
114
135
|
def grab_platform_dependencies
|
|
115
|
-
puts "*
|
|
136
|
+
puts "* Checking platform-specific SWT jars"
|
|
116
137
|
case Config::CONFIG["host_os"]
|
|
117
138
|
when /darwin/i
|
|
118
|
-
|
|
119
|
-
|
|
139
|
+
setup "swt", :resources => SWT_JARS[:osx], :path => File.join(plugins_dir, %w(application_swt vendor swt))
|
|
140
|
+
|
|
120
141
|
when /linux/i
|
|
121
|
-
|
|
122
|
-
download("/swt/linux64.jar", File.join(plugins_dir, %w(application_swt vendor swt linux64 swt.jar)))
|
|
123
|
-
when /windows|mswin|mingw/i
|
|
124
|
-
download("/swt/win32.jar", File.join(plugins_dir, %w(application_swt vendor swt win32 swt.jar)))
|
|
125
|
-
# download("/swt/win64.jar", File.join(plugins_dir, %w(application_swt vendor swt win64 swt.jar)))
|
|
126
|
-
vendor_dir = File.expand_path(File.join(File.dirname(__FILE__), %w(.. .. vendor)))
|
|
142
|
+
setup "swt", :resources => SWT_JARS[:linux], :path => File.join(plugins_dir, %w(application_swt vendor swt))
|
|
127
143
|
|
|
128
|
-
|
|
144
|
+
when /windows|mswin|mingw/i
|
|
145
|
+
setup "swt", :resources => SWT_JARS[:windows], :path => File.join(plugins_dir, %w(application_swt vendor swt))
|
|
146
|
+
setup "swt", :resources => [XULRUNNER_URI], :path => File.expand_path(File.join(File.dirname(__FILE__), %w(.. .. vendor)))
|
|
147
|
+
link( File.join(redcar_jars_dir, "swt", "xulrunner"),
|
|
148
|
+
File.expand_path(File.join(File.dirname(__FILE__), %w(.. .. vendor xulrunner))))
|
|
129
149
|
end
|
|
130
150
|
end
|
|
131
151
|
|
|
132
152
|
def grab_redcar_jars
|
|
133
|
-
puts "*
|
|
134
|
-
REDCAR_JARS
|
|
135
|
-
download(jar_url, File.join(File.dirname(__FILE__), "..", "..", relative_path))
|
|
136
|
-
end
|
|
153
|
+
puts "* Checking Redcar jars"
|
|
154
|
+
setup "redcar", :resources => REDCAR_JARS, :path => File.join(File.dirname(__FILE__), "..", "..")
|
|
137
155
|
end
|
|
138
156
|
|
|
139
157
|
def download(uri, path)
|
|
@@ -150,7 +168,48 @@ module Redcar
|
|
|
150
168
|
Installer.unzip_file(path)
|
|
151
169
|
end
|
|
152
170
|
|
|
153
|
-
puts " downloaded #{uri}\n to #{path}\n"
|
|
171
|
+
# puts " downloaded #{uri}\n to #{path}\n"
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def setup(name, options)
|
|
175
|
+
resources = options.delete(:resources)
|
|
176
|
+
path = options.delete(:path)
|
|
177
|
+
|
|
178
|
+
if resources.is_a?(Array)
|
|
179
|
+
resources.each do |resource|
|
|
180
|
+
setup_resource name, path, resource, File.basename(resource)
|
|
181
|
+
end
|
|
182
|
+
else
|
|
183
|
+
resources.each_pair do |url, save_as|
|
|
184
|
+
setup_resource name, path, url, save_as
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def setup_resource(name, path, url, save_as)
|
|
190
|
+
target = File.join(path, save_as)
|
|
191
|
+
return if File.exist?(target)
|
|
192
|
+
|
|
193
|
+
cached = File.join(redcar_jars_dir, name, save_as)
|
|
194
|
+
unless File.exists?(cached)
|
|
195
|
+
print " downloading #{File.basename(cached)}... "
|
|
196
|
+
download(url, cached)
|
|
197
|
+
puts "done!"
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
FileUtils.mkdir_p File.dirname(target)
|
|
201
|
+
link(cached, target)
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
def link(cached, target)
|
|
205
|
+
# Windoze doesn't support FileUtils.ln_sf, so we copy the files
|
|
206
|
+
if Config::CONFIG["host_os"] =~ /windows|mswin|mingw/i
|
|
207
|
+
puts " copying #{File.basename(cached)}..."
|
|
208
|
+
FileUtils.cp_r cached, target
|
|
209
|
+
else
|
|
210
|
+
puts " linking #{File.basename(cached)}..."
|
|
211
|
+
FileUtils.ln_sf cached, target
|
|
212
|
+
end
|
|
154
213
|
end
|
|
155
214
|
|
|
156
215
|
# unzip a .zip file into the directory it is located
|
|
@@ -168,6 +227,22 @@ module Redcar
|
|
|
168
227
|
end
|
|
169
228
|
end
|
|
170
229
|
end
|
|
230
|
+
|
|
231
|
+
def load_textmate_bundles
|
|
232
|
+
$:.unshift("#{File.dirname(__FILE__)}/../../plugins/core/lib")
|
|
233
|
+
$:.unshift("#{File.dirname(__FILE__)}/../../plugins/textmate/lib")
|
|
234
|
+
require 'core'
|
|
235
|
+
Redcar.environment = :user
|
|
236
|
+
Core.loaded
|
|
237
|
+
require 'textmate'
|
|
238
|
+
Redcar::Textmate.all_bundles
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
def fix_user_dir_permissions
|
|
242
|
+
desired_uid = File.stat(Redcar.home_dir).uid
|
|
243
|
+
desired_gid = File.stat(Redcar.home_dir).gid
|
|
244
|
+
FileUtils.chown_R(desired_uid, desired_gid.to_s, Redcar.user_dir)
|
|
245
|
+
end
|
|
171
246
|
end
|
|
172
247
|
end
|
|
173
248
|
|