jrubyfx-master 1.1.1.brakemanpro1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +202 -0
  3. data/README.md +121 -0
  4. data/bin/jrubyfx-compile +32 -0
  5. data/bin/jrubyfx-generator +98 -0
  6. data/bin/jrubyfx-jarify +115 -0
  7. data/lib/jrubyfx/application.rb +42 -0
  8. data/lib/jrubyfx/compiler_app.rb +51 -0
  9. data/lib/jrubyfx/controller.rb +375 -0
  10. data/lib/jrubyfx/core_ext/border_pane.rb +30 -0
  11. data/lib/jrubyfx/core_ext/column_constraints.rb +43 -0
  12. data/lib/jrubyfx/core_ext/drag_event.rb +32 -0
  13. data/lib/jrubyfx/core_ext/duration.rb +30 -0
  14. data/lib/jrubyfx/core_ext/effects.rb +32 -0
  15. data/lib/jrubyfx/core_ext/exts.yml +57 -0
  16. data/lib/jrubyfx/core_ext/file_chooser.rb +63 -0
  17. data/lib/jrubyfx/core_ext/geometry.rb +27 -0
  18. data/lib/jrubyfx/core_ext/grid_pane.rb +30 -0
  19. data/lib/jrubyfx/core_ext/image_view.rb +25 -0
  20. data/lib/jrubyfx/core_ext/media_player.rb +25 -0
  21. data/lib/jrubyfx/core_ext/observable_value.rb +158 -0
  22. data/lib/jrubyfx/core_ext/pagination.rb +28 -0
  23. data/lib/jrubyfx/core_ext/path.rb +37 -0
  24. data/lib/jrubyfx/core_ext/precompiled.rb +1883 -0
  25. data/lib/jrubyfx/core_ext/progress_indicator.rb +41 -0
  26. data/lib/jrubyfx/core_ext/radial_gradient.rb +37 -0
  27. data/lib/jrubyfx/core_ext/region.rb +42 -0
  28. data/lib/jrubyfx/core_ext/rotate.rb +39 -0
  29. data/lib/jrubyfx/core_ext/stage.rb +89 -0
  30. data/lib/jrubyfx/core_ext/table_view.rb +31 -0
  31. data/lib/jrubyfx/core_ext/timeline.rb +56 -0
  32. data/lib/jrubyfx/core_ext/transition.rb +26 -0
  33. data/lib/jrubyfx/core_ext/tree_view.rb +40 -0
  34. data/lib/jrubyfx/core_ext/xy_chart.rb +53 -0
  35. data/lib/jrubyfx/dsl.rb +330 -0
  36. data/lib/jrubyfx/dsl_control.rb +28 -0
  37. data/lib/jrubyfx/dsl_map.rb +273 -0
  38. data/lib/jrubyfx/imports.rb +310 -0
  39. data/lib/jrubyfx/java_fx_impl.rb +137 -0
  40. data/lib/jrubyfx/module.rb +178 -0
  41. data/lib/jrubyfx/part_imports.rb +127 -0
  42. data/lib/jrubyfx/utils/__ignore_java_stupid_rdoc.rb +30 -0
  43. data/lib/jrubyfx/utils/common_converters.rb +223 -0
  44. data/lib/jrubyfx/utils/common_utils.rb +72 -0
  45. data/lib/jrubyfx/utils/string_utils.rb +48 -0
  46. data/lib/jrubyfx/utils.rb +76 -0
  47. data/lib/jrubyfx/version.rb +4 -0
  48. data/lib/jrubyfx.rb +41 -0
  49. data/lib/jrubyfx_tasks.rb +183 -0
  50. metadata +145 -0
@@ -0,0 +1,183 @@
1
+ =begin
2
+ JRubyFX - Write JavaFX and FXML in Ruby
3
+ Copyright (C) 2013 The JRubyFX Team
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ =end
17
+
18
+ # DO NOT INCLUDE ANY JRUBYFX CODE DIRECTLY!!! THIS IS A RAKEFILE EXTENSION!!!
19
+ require 'open-uri'
20
+ require 'rake'
21
+ require 'tmpdir'
22
+ require "pathname"
23
+
24
+ module JRubyFX
25
+ # This module contains utilities to jarify an app, and can be used in a rakefile or a running app.
26
+ module Tasks
27
+ extend Rake::DSL
28
+ # Base URL of JRuby-complete.jar download location
29
+ BASE_URL='http://jruby.org.s3.amazonaws.com/downloads'
30
+
31
+ ##
32
+ # Downloads the jruby-complete jar file for `jruby_version` and save in
33
+ # ~/.jruby-jar/jruby-complete.jar unless it already exits. If the jar is
34
+ # corrupt or an older version, set force to true to delete and re-download
35
+ def download_jruby(jruby_version, force=false)
36
+ dist = "#{Dir.home}/.jruby-jar"
37
+ unless force || (File.exists?("#{dist}/jruby-complete-#{jruby_version}.jar") && File.size("#{dist}/jruby-complete-#{jruby_version}.jar") > 0)
38
+ mkdir_p dist
39
+ base_dir = Dir.pwd
40
+ cd dist
41
+ $stderr.puts "JRuby complete jar not found. Downloading... (May take awhile)"
42
+ download(jruby_version)
43
+ cd base_dir
44
+ end
45
+ end
46
+
47
+ ##
48
+ # Creates a full jar from the given source pattern (must be a pattern to match
49
+ # files), with the given main script as the script to launch when the jarfile
50
+ # is run. The output jar is saved in the `target` dir, which also doubles as a
51
+ # temporary work dir. `jar` is the executable that makes jars. If `target` is
52
+ # nill then a random temporary directory is created, and output_jar is the
53
+ # full path to the jar file to save
54
+ def jarify_jrubyfx(src="src/*" ,main_script=nil, target="target", output_jar="jrubyfx-app.jar", opts = {})
55
+ if target_was_nil = target == nil
56
+ target = Dir.mktmpdir("jrubyfx")
57
+ final_jar = output_jar
58
+ output_jar = File.basename output_jar
59
+ end
60
+ # set defaults
61
+ opts = {file_filter: ->(f){true},jar: "jar"}.merge(opts)
62
+
63
+ mkdir_p target
64
+
65
+ #copy jruby jar file in, along with script and our rb files
66
+ cp "#{ENV['HOME']}/.jruby-jar/jruby-complete-#{opts[:version] || JRUBY_VERSION}.jar", "#{target}/#{output_jar}"
67
+
68
+ #copy source in
69
+ FileList[src].each do |iv_srv|
70
+ cp_r iv_srv, "#{target}/#{File.basename(iv_srv)}" if (main_script == nil || main_script != iv_srv) && opts[:file_filter].call(iv_srv)
71
+ end
72
+ cp main_script, "#{target}/jar-bootstrap.rb" unless main_script == nil
73
+
74
+ unless File.exists? "#{target}/jar-bootstrap.rb"
75
+ $stderr.puts "@"*79
76
+ $stderr.puts "@#{"!!!WARNING!!!".center(79-2)}@"
77
+ $stderr.puts "@#{"jar-bootstrap.rb NOT FOUND!".center(79-2)}@"
78
+ $stderr.puts "@#{"Did you set main_src= or have jar-bootstrap in src= ?".center(79-2)}@"
79
+ $stderr.puts "@"*79
80
+ end
81
+
82
+ #copy our libs in
83
+ FileList["#{File.dirname(__FILE__)}/*"].each do |librb|
84
+ cp_r librb, target
85
+ end
86
+
87
+ fxml_loader_path = nil
88
+ # this will find it if we are calling ruby -I whatever
89
+ $LOAD_PATH.each do |pth|
90
+ if File.exist? File.join(pth, "jrubyfx-fxmlloader.rb")
91
+ fxml_loader_path = pth
92
+ break
93
+ end
94
+ end
95
+
96
+ # default to gems
97
+ unless fxml_loader_path
98
+ fxml_loader_path = File.join(Gem::Specification.find_by_path('jrubyfx-fxmlloader').full_gem_path, "lib")
99
+ end
100
+ #copy fxmlloader in
101
+ FileList["#{fxml_loader_path}/*"].each do |librb|
102
+ cp_r librb, target
103
+ end
104
+
105
+ # edit the jar
106
+ base_dir = Dir.pwd
107
+ cd target
108
+ sh "#{opts[:jar]} ufe '#{output_jar}' org.jruby.JarBootstrapMain *"
109
+ chmod 0775, output_jar
110
+ cd base_dir
111
+
112
+ if target_was_nil
113
+ mv "#{target}/#{output_jar}", final_jar
114
+ rm_rf target
115
+ end
116
+ end
117
+
118
+ # Uses Java 8 Ant task to create a native bundle (exe, deb, rpm, etc) of the
119
+ # specified jar-ified ruby script
120
+ def native_bundles(base_dir=Dir.pwd, output_jar, verbosity, app_name)
121
+ # Currently only JDK8 will package up JRuby apps. In the near
122
+ # future the necessary tools will be in maven central and
123
+ # we can download them as needed, so this can be changed then.
124
+ # this is in format "1.7.0_11-b21", check for all jdk's less than 8
125
+ if ENV_JAVA["java.runtime.version"].match(/^1\.[0-7]{1}\..*/)
126
+ raise "You must install JDK 8 to use the native-bundle packaging tools. You can still create an executable jar, though."
127
+ end
128
+
129
+ # the native bundling uses ant
130
+ require "ant"
131
+
132
+ output_jar = Pathname.new(output_jar)
133
+ dist_dir = output_jar.parent
134
+ jar_name = File.basename(output_jar)
135
+ out_name = File.basename(output_jar, '.*')
136
+
137
+ # Can't access the "fx" xml namespace directly, so we get it via __send__.
138
+ ant do
139
+ taskdef(resource: "com/sun/javafx/tools/ant/antlib.xml",
140
+ uri: "javafx:com.sun.javafx.tools.ant",
141
+ classpath: ".:${java.home}/../lib/ant-javafx.jar")
142
+ __send__("javafx:com.sun.javafx.tools.ant:deploy", nativeBundles: "all",
143
+ width: "100", height: "100", outdir: "#{base_dir}/build/",
144
+ outfile: out_name, verbose: verbosity) do
145
+ application(mainClass: "org.jruby.JarBootstrapMain", name: app_name)
146
+ resources do
147
+ fileset(dir: dist_dir) do
148
+ include name: jar_name
149
+ end
150
+ end
151
+ end
152
+ end
153
+
154
+ # These webstart files don't work, and the packager doesn't have an option to
155
+ # disable them, so remove them so the user isn't confused.
156
+ # FIXME: jnlp webstart
157
+ full_build_dir = "#{base_dir}/build/"
158
+ rm FileList["#{full_build_dir}*.html","#{full_build_dir}*.jnlp"]
159
+ end
160
+
161
+ def compile(cmdline)
162
+ require 'jrubyfx/compiler_app'
163
+ $JRUBYFX_AOT_COMPILING = true
164
+ $JRUBYFX_AOT_ERROR = false
165
+ CompilerApp.launch(*cmdline) # must use this to provide a full javafx environ so controls will build properly
166
+ raise $JRUBYFX_AOT_ERROR if $JRUBYFX_AOT_ERROR
167
+ end
168
+
169
+
170
+ private
171
+ def download(version_string) #:nodoc:
172
+ File.open("jruby-complete-#{version_string}.jar","wb") do |f|
173
+ f.write(open("#{BASE_URL}/#{version_string}/jruby-complete-#{version_string}.jar").read)
174
+ end
175
+ end
176
+
177
+ module_function :jarify_jrubyfx
178
+ module_function :download_jruby
179
+ module_function :native_bundles
180
+ module_function :download
181
+ module_function :compile
182
+ end
183
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jrubyfx-master
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1.brakemanpro1
5
+ platform: java
6
+ authors:
7
+ - Patrick Plenefisch
8
+ - Thomas E Enebo
9
+ - Hiroshi Nakamura
10
+ - Hiro Asari
11
+ - Neil Matatall
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2015-10-05 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ name: rake
24
+ prerelease: false
25
+ type: :development
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ name: rspec
38
+ prerelease: false
39
+ type: :development
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ - !ruby/object:Gem::Dependency
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - '='
49
+ - !ruby/object:Gem::Version
50
+ version: 0.4.master.2015.9.30
51
+ name: jrubyfx-fxmlloader-master
52
+ prerelease: false
53
+ type: :runtime
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - '='
57
+ - !ruby/object:Gem::Version
58
+ version: 0.4.master.2015.9.30
59
+ description: Enables JavaFX with FXML controllers and application in pure ruby. With some customizations.
60
+ email:
61
+ - simonpatp@gmail.com
62
+ - tom.enebo@gmail.com
63
+ - nahi@ruby-lang.org
64
+ - asari.ruby@gmail.com
65
+ - neil.matatall@gmail.com
66
+ executables:
67
+ - jrubyfx-generator
68
+ - jrubyfx-jarify
69
+ - jrubyfx-compile
70
+ extensions: []
71
+ extra_rdoc_files: []
72
+ files:
73
+ - lib/jrubyfx.rb
74
+ - lib/jrubyfx_tasks.rb
75
+ - lib/jrubyfx/application.rb
76
+ - lib/jrubyfx/compiler_app.rb
77
+ - lib/jrubyfx/controller.rb
78
+ - lib/jrubyfx/dsl.rb
79
+ - lib/jrubyfx/dsl_control.rb
80
+ - lib/jrubyfx/dsl_map.rb
81
+ - lib/jrubyfx/imports.rb
82
+ - lib/jrubyfx/java_fx_impl.rb
83
+ - lib/jrubyfx/module.rb
84
+ - lib/jrubyfx/part_imports.rb
85
+ - lib/jrubyfx/utils.rb
86
+ - lib/jrubyfx/version.rb
87
+ - lib/jrubyfx/core_ext/border_pane.rb
88
+ - lib/jrubyfx/core_ext/column_constraints.rb
89
+ - lib/jrubyfx/core_ext/drag_event.rb
90
+ - lib/jrubyfx/core_ext/duration.rb
91
+ - lib/jrubyfx/core_ext/effects.rb
92
+ - lib/jrubyfx/core_ext/exts.yml
93
+ - lib/jrubyfx/core_ext/file_chooser.rb
94
+ - lib/jrubyfx/core_ext/geometry.rb
95
+ - lib/jrubyfx/core_ext/grid_pane.rb
96
+ - lib/jrubyfx/core_ext/image_view.rb
97
+ - lib/jrubyfx/core_ext/media_player.rb
98
+ - lib/jrubyfx/core_ext/observable_value.rb
99
+ - lib/jrubyfx/core_ext/pagination.rb
100
+ - lib/jrubyfx/core_ext/path.rb
101
+ - lib/jrubyfx/core_ext/precompiled.rb
102
+ - lib/jrubyfx/core_ext/progress_indicator.rb
103
+ - lib/jrubyfx/core_ext/radial_gradient.rb
104
+ - lib/jrubyfx/core_ext/region.rb
105
+ - lib/jrubyfx/core_ext/rotate.rb
106
+ - lib/jrubyfx/core_ext/stage.rb
107
+ - lib/jrubyfx/core_ext/table_view.rb
108
+ - lib/jrubyfx/core_ext/timeline.rb
109
+ - lib/jrubyfx/core_ext/transition.rb
110
+ - lib/jrubyfx/core_ext/tree_view.rb
111
+ - lib/jrubyfx/core_ext/xy_chart.rb
112
+ - lib/jrubyfx/utils/__ignore_java_stupid_rdoc.rb
113
+ - lib/jrubyfx/utils/common_converters.rb
114
+ - lib/jrubyfx/utils/common_utils.rb
115
+ - lib/jrubyfx/utils/string_utils.rb
116
+ - LICENSE
117
+ - README.md
118
+ - bin/jrubyfx-generator
119
+ - bin/jrubyfx-jarify
120
+ - bin/jrubyfx-compile
121
+ homepage: https://github.com/jruby/jrubyfx
122
+ licenses:
123
+ - Apache-2.0
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>'
137
+ - !ruby/object:Gem::Version
138
+ version: 1.3.1
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.1.9
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: JavaFX for JRuby with FXML
145
+ test_files: []