ropenlaszlo 0.4.1 → 0.5

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.
@@ -1,17 +1,30 @@
1
1
  = Change Log
2
2
 
3
- == Version 0.4.1 (2006/01/25)
3
+ == Version 0.5 (2008-04-01)
4
+ * compatible with OpenLaszlo 4.0
5
+ * reorganize directory structure
6
+ * new rake task file
7
+ * follow symbolic links
8
+ * fall back to cmd-line compiler if source file is not in web path
9
+ * raise error when lzc is not executable
10
+ * change default runtime to swf8
11
+ * switch to echoe for packaging
12
+
13
+
14
+ == Version 0.4.1 (2006-01-25)
4
15
  * bug fix: don't use popen on Windows
5
16
  * bug fix: default LPS_HOME from OPENLASZLO_HOME
6
17
  * added note about OpenLaszlo windows bug
7
18
 
8
- == Version 0.4.0 (2006/01/19)
19
+
20
+ == Version 0.4.0 (2006-01-19)
9
21
  * new feature: command-line compiler detects compilation warnings
10
22
  * bug fix: command-line compilation in qualified directory places object in same directory
11
23
  * improve rdoc
12
24
  * refactored unit tests
13
25
 
14
- == Version 0.3.0 (2006/01/16)
26
+
27
+ == Version 0.3.0 (2006-01-16)
15
28
  * New feature: compilation errors and warnings
16
29
  * Bug fix: --output doesn't exist; --dir does
17
30
  * refactored test case setup
@@ -20,14 +33,16 @@
20
33
  * Updated installation instructions
21
34
  * Fixed rdoc formatting errors
22
35
 
23
- == Version 0.2.0 (2006/01/11)
36
+
37
+ == Version 0.2.0 (2006-01-11)
24
38
  * Released as gem
25
39
  * Moved to rubyforge
26
40
  * Added doc directory
27
41
  * Added test directory
28
42
  * Added examples directory
29
43
 
30
- == Version 0.1.0 (2006/01/04)
44
+
45
+ == Version 0.1.0 (2006-01-04)
31
46
  * Initial release
32
47
  * Published to osteele.com
33
48
  * Announced on weblog.openlaszlo.org
@@ -1,4 +1,4 @@
1
- Copyright (c) 2003, 2004 Jim Weirich
1
+ Copyright (c) 2005-2008 Oliver Steele
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Manifest ADDED
@@ -0,0 +1,20 @@
1
+ CHANGES
2
+ examples/compile_hello.rb
3
+ examples/hello.lzx
4
+ install.rb
5
+ lib/openlaszlo/applet.rb
6
+ lib/openlaszlo/compiler.rb
7
+ lib/openlaszlo.rb
8
+ lib/ropenlaszlo.rb
9
+ lib/tasks/openlaszlo.rake
10
+ LICENSE
11
+ Manifest
12
+ README
13
+ test/compilation-error.lzx
14
+ test/compilation-warning.lzx
15
+ test/compiler_test.rb
16
+ test/tasks/Rakefile
17
+ test/tasks/test.lzx
18
+ test/test.lzx
19
+ test/test_utils.rb
20
+ TODO
@@ -12,8 +12,8 @@ OpenLaszlo[openlaszlo.org] programs are written in XML with embedded JavaScript,
12
12
  </canvas>
13
13
  then the following Ruby code can be used to create a file 'hello.swf' which can be executed in a browser or placed on a web site:
14
14
  require 'rubygems'
15
- require 'ropenlaszlo'
16
- OpenLaszlo::compile 'hello.lzx'
15
+ require 'openlaszlo'
16
+ OpenLaszlo::compile 'hello.lzx' # creates hello.swf
17
17
 
18
18
  You can turn this into a Rake task that will compile any Open<tt></tt>Laszlo source file:
19
19
  rule '.swf' => '.lzx' do |t|
@@ -21,6 +21,11 @@ You can turn this into a Rake task that will compile any Open<tt></tt>Laszlo sou
21
21
  OpenLaszlo::compile t.source, :output => t.name
22
22
  end
23
23
 
24
+ The following includes such a task:
25
+ require 'openlaszlo'
26
+ load 'tasks/openlaszlo.rake'
27
+ # defines a pattern *.lzx -> *.swf
28
+
24
29
  == Requirements
25
30
 
26
31
  * {OpenLaszlo 3.1 or later}[openlaszlo.org]
@@ -53,6 +58,13 @@ You can turn this into a Rake task that will compile any Open<tt></tt>Laszlo sou
53
58
 
54
59
  * The RubyForge project page is here[http://rubyforge.org/projects/ropenlaszlo/].
55
60
 
61
+
62
+ == Author
63
+
64
+ Oliver Steele
65
+ steele@osteele.com
66
+
67
+
56
68
  == License
57
69
 
58
70
  ROpenLaszlo is copyright (c) 2006 Oliver Steele. It is open-source software, and may be redistributed
data/{doc/TODO → TODO} RENAMED
@@ -1,21 +1,20 @@
1
1
  = ROpenLaszlo Project -- To Do List
2
2
 
3
3
  == Features
4
- * Add rake task file
5
- * Compile server: allow use of proxy?
6
- * Compile server: temporarily copy files into webapp directory
4
+ * Compiler server: test whether allow_links=true
5
+ * Compile server: add alias to source directory
6
+ * Dependency tracking: switch to hpricot
7
7
  * compile_string
8
- * Dependency tracking
9
8
  * query compiler version
10
9
 
11
10
  == Unit Tests
11
+ * "Runtime" option
12
+ * Fallback to command-line compiler
12
13
  * Compiler parameters
13
14
  * Missing source file
14
15
  * Unreachable server
15
16
  * Invalid OPENLASZLO_HOME
16
17
 
17
18
  == Corners
18
- * invalid parameters
19
19
  * server isn't running
20
20
  * thinks lps-dev/foo is in lps/ directory
21
-
@@ -0,0 +1,4 @@
1
+ require 'ropenlaszlo'
2
+
3
+ OpenLaszlo::compile 'hello.lzx'
4
+ # Now view hello.swf in a browser.
@@ -0,0 +1,5 @@
1
+ <canvas>
2
+ <window>
3
+ <button>Hello, World!</button>
4
+ </window>
5
+ </canvas>
data/install.rb ADDED
File without changes
@@ -0,0 +1,81 @@
1
+ # Author:: Oliver Steele
2
+ # Copyright:: Copyright (c) 2005-2008 Oliver Steele. All rights reserved.
3
+ # License:: MIT License
4
+ module OpenLaszlo
5
+ class Applet
6
+ attr_reader :source
7
+
8
+ def initialize(source)
9
+ source = source + '.lzx' unless source =~ /\.lzx$/
10
+ @source = source
11
+ end
12
+
13
+ def source_dir
14
+ File.dirname(source)
15
+ end
16
+
17
+ def compile(target=nil, options={})
18
+ target ||= source + '.swf'
19
+ return if up2date?(target) unless options[:force]
20
+
21
+ puts "Compiling #{source} -> #{target}" if options[:verbose]
22
+ OpenLaszlo::compile(source, options)
23
+ end
24
+
25
+ def up2date?(target=nil)
26
+ target ||= source + '.swf'
27
+ return false unless File.exists?(target)
28
+ sources = Dir["#{source_dir}/**/*"].reject { |fname| fname =~ /\.lzx\.swf/ } -
29
+ Dir["#{source_dir}/build/**/*"]
30
+ source_mtime = sources.
31
+ # the 'rescue' ignores symbolic links without targets
32
+ map { |f| File.mtime(f) rescue nil }.
33
+ compact.
34
+ max
35
+ source_mtime < File.mtime(target)
36
+ end
37
+
38
+ def runtime_assets
39
+ dir = File.dirname(source)
40
+ includes = `grep -h http: #{dir}/*.lzx`.scan(/http:(.*?)['"]/).
41
+ map(&:first)
42
+ includes += `grep -h http: #{dir}/*/*.lzx`.scan(/http:(.*?)['"]/).
43
+ map(&:first).
44
+ map { |s| s.sub(/^\.\.\//, '') }
45
+ return includes.
46
+ uniq.
47
+ map { |f| File.join(dir, f) }.
48
+ select { |src| File.exists?(src) && File.ftype(src) != 'directory' }
49
+ end
50
+
51
+ def preprocess_to(dir, options={})
52
+ files = Dir[File.join(source_dir, '**/*.js')] - Dir[File.join(source_dir, '.hg')]
53
+ files.each do |src|
54
+ dst = File.join(dir, src.sub(source_dir, ''))
55
+ next if File.exists?(dst) and (!options[:force] and File.mtime(dst) > File.mtime(src))
56
+ puts "Copy #{src} #{dst}"
57
+ content = preprocess_string(open(src).read)
58
+ open(dst, 'w') do |fo| fo << content end
59
+ end.length
60
+ end
61
+
62
+ def preprocess_string(content)
63
+ re = /^\s*([a-zA-Z][a-zA-Z0=9]*)\.each\(function\(([a-zA-Z][a-zA-Z0-9]*)\)\{(.*?)}\);/m
64
+ content.gsub!(re) do |s|
65
+ target, var, body = s.match(re).captures
66
+ "var $0=#{target}, $1=$0.length;for(var $2=0; $1--;){var #{var}=$0[$2++];#{body}}"
67
+ end
68
+ return content
69
+ end
70
+
71
+ #
72
+ # Class methods
73
+ #
74
+
75
+ def self.compile(basename, target, options={})
76
+ source = "lzx/#{basename}"
77
+ target = "public/#{target}"
78
+ self.new(source).compile(target, options)
79
+ end
80
+ end
81
+ end
@@ -1,9 +1,9 @@
1
1
  # Author:: Oliver Steele
2
- # Copyright:: Copyright (c) 2005-2006 Oliver Steele. All rights reserved.
3
- # License:: Ruby License.
4
-
2
+ # Copyright:: Copyright (c) 2005-2008 Oliver Steele. All rights reserved.
3
+ # License:: MIT License
4
+
5
5
  # == module OpenLaszlo
6
- #
6
+ #
7
7
  # This module contains utility methods for compiling
8
8
  # OpenLaszlo[openlaszlo.org] programs.
9
9
  #
@@ -18,10 +18,11 @@
18
18
  # OpenLaszlo::compile 'hello.lzx'
19
19
  #
20
20
  # See OpenLaszlo.compile for additional documentation.
21
- #
21
+ #
22
22
  module OpenLaszlo
23
23
  class CompilationError < StandardError; end
24
-
24
+ class InvalidSourceLocation < StandardError; end
25
+
25
26
  # This class implements a bridge to the compile server.
26
27
  #
27
28
  # If you don't need multiple compilers, you can use the methods in
@@ -33,11 +34,11 @@ module OpenLaszlo
33
34
  # Options:
34
35
  # * <tt>:openlaszlo_home</tt> - filesystem location of the Open<tt></tt>Laszlo SDK. Defaults to EVN['OPENLASZLO_HOME']
35
36
  # * <tt>:server_uri</tt> - the URI of the server. Defaults to ENV['OPENLASZLO_URL'] if this is specified, otherwise to 'http://localhost:8080/lps-dev'.
36
- def initialize options={}
37
+ def initialize(options={})
37
38
  @home = options[:home] || ENV['OPENLASZLO_HOME']
38
39
  @base_url = options[:server_uri] || ENV['OPENLASZLO_URL'] || 'http://localhost:8080/lps-dev'
39
40
  end
40
-
41
+
41
42
  # Invokes the Open<tt></tt>Laszlo server-based compiler on
42
43
  # +source_file+. +source_file+ must be inside the home directory
43
44
  # of the server.
@@ -45,7 +46,7 @@ module OpenLaszlo
45
46
  # Options:
46
47
  # * <tt>:format</tt> - request type (default 'swf')
47
48
  # See OpenLaszlo.compile for a description of +options+.
48
- def compile source_file, options={}
49
+ def compile(source_file, options={})
49
50
  mtime = File.mtime source_file
50
51
  output = options[:output] || "#{File.expand_path(File.join(File.dirname(source_file), File.basename(source_file, '.lzx')))}.swf"
51
52
  compile_object source_file, output, options
@@ -55,42 +56,54 @@ module OpenLaszlo
55
56
  raise CompilationError.new(results[:error]) if results[:error]
56
57
  return results
57
58
  end
58
-
59
+
59
60
  private
60
- def compile_object source_file, object, options={}
61
+ def compile_object(source_file, object, options={})
61
62
  options = {}.update(options).update(:output => object)
62
63
  request source_file, options
63
64
  end
64
-
65
- def request_metadata_for source_file, options={}
65
+
66
+ def request_metadata_for(source_file, options={})
66
67
  results = {}
67
68
  options = {}.update(options).update(:format => 'canvas-xml', :output => nil)
68
69
  text = request source_file, options
69
70
  if text =~ %r{<warnings>(.*?)</warnings>}m
70
- results[:warnings] = $1.scan(%r{<error>\s*(.*?)\s*</error>}m).map{|w|w.first}
71
+ results[:warnings] = $1.scan(%r{<error>\s*(.*?)\s*</error>}m).map { |w| w.first }
71
72
  elsif text !~ %r{<canvas>} && text =~ %r{<pre>Error:\s*(.*?)\s*</pre>}m
72
73
  results[:error] = $1
73
74
  end
74
75
  return results
75
76
  end
76
-
77
- def request source_file, options={}
77
+
78
+ def request(source_file, options={})
78
79
  output = options[:output]
79
80
  require 'net/http'
80
81
  require 'uri'
81
82
  # assert that pathname is relative to LPS home:
82
83
  absolute_path = File.expand_path source_file
83
- raise "#{absolute_path} isn't inside #{@home}" unless absolute_path.index(@home) == 0
84
- server_relative_path = absolute_path[@home.length..-1]
85
- # FIXME: this doesn't handle quoting; use recursive File.split instead
86
- # FIXME: should encode the url, for filenames that include '/'
87
- server_relative_path.gsub(File::Separator, '/')
84
+ server_relative_path = nil
85
+ begin
86
+ # follow links
87
+ server_relative_path = Dir[File.join(@home, '*')].map do |file|
88
+ next unless File.ftype(file) == 'link'
89
+ dir = File.readlink(file)
90
+ next unless absolute_path.index(dir) == 0
91
+ File.join('/', File.basename(file), absolute_path[dir.length..-1])
92
+ end.compact.first
93
+ end
94
+ unless server_relative_path
95
+ raise InvalidSourceLocation.new("#{absolute_path} isn't inside #{@home}") unless absolute_path.index(@home) == 0
96
+ server_relative_path = absolute_path[@home.length..-1]
97
+ # FIXME: this doesn't handle quoting; use recursive File.split instead
98
+ # FIXME: should encode the url, for filenames that include '/'
99
+ server_relative_path.gsub(File::Separator, '/')
100
+ end
88
101
  options = {
89
102
  :lzr => options[:runtime],
90
103
  :debug => options[:debug],
91
104
  :lzproxied => options.fetch(:proxied, false),
92
105
  :lzt => options[:format] || 'swf'}
93
- query = options.map{|k,v|"#{k}=#{v}" unless v.nil?}.compact.join('&')
106
+ query = options.map { |k,v| "#{k}=#{v}" unless v.nil? }.compact.join('&')
94
107
  url = "#{@base_url}#{server_relative_path}"
95
108
  url += "?#{query}" unless query.empty?
96
109
  Net::HTTP.get_response URI.parse(url) do |response|
@@ -111,7 +124,7 @@ module OpenLaszlo
111
124
  end
112
125
  end
113
126
  end
114
-
127
+
115
128
  # This class implements a bridge to the command-line compiler.
116
129
  #
117
130
  # If you don't need multiple compilers, you can use the methods in
@@ -128,29 +141,32 @@ module OpenLaszlo
128
141
  # the value specified by :home.
129
142
  # * <tt>:openlaszlo_home</tt> - the home directory of the Open<tt></tt>Laszlo SDK.
130
143
  # This defaults to ENV['OPENLASZLO_HOME'].
131
- def initialize options={}
132
- @lzc = options[:compiler_script]
133
- unless @lzc
134
- home = options[:openlaszlo_home] || ENV['OPENLASZLO_HOME']
135
- raise ":compiler_script or :openlaszlo_home must be specified" unless home
136
- search = bin_directories.map{|f| File.join(home, f, 'lzc')}
137
- found = search.select{|f| File.exists? f}
138
- raise "couldn't find bin/lzc in #{bin_directories.join(' or ')}" if found.empty?
139
- @lzc = found.first
140
- @lzc += '.bat' if windows?
141
- end
144
+ def initialize(options={})
145
+ @lzc = options[:compiler_script] || self.class.executable_path(options)
146
+ end
147
+
148
+ def self.executable_path(options={})
149
+ home = options[:openlaszlo_home] || ENV['OPENLASZLO_HOME']
150
+ raise ":compiler_script or OPENLASZLO_HOME must be specified" unless home
151
+ path = bin_directories.
152
+ map { |f| File.join(home, f, 'lzc') }.
153
+ select { |f| File.exists? f }.
154
+ first
155
+ raise "couldn't find bin/lzc in #{bin_directories.join(' or ')}" unless path
156
+ path += '.bat' if windows?
157
+ return path
142
158
  end
143
159
 
144
160
  # Invokes the OpenLaszlo command-line compiler on +source_file+.
145
161
  #
146
162
  # See OpenLaszlo.compile for a description of +options+.
147
- def compile source_file, options={}
163
+ def compile(source_file, options={})
148
164
  default_output = File.join(File.dirname(source_file),
149
165
  File.basename(source_file, '.lzx') + '.swf')
150
166
  output = options[:output] || default_output
151
167
  raise "#{source_file} and #{output} do not have the same basename." unless File.basename(source_file, '.lzx') == File.basename(output, '.swf')
152
168
  args = []
153
- args << '--runtime=#{options[:runtime]}' if options[:runtime]
169
+ args << "--runtime=#{options[:runtime]}" if options[:runtime]
154
170
  args << '--debug' if options[:debug]
155
171
  args << '--profile' if options[:profile]
156
172
  args << "--dir '#{File.dirname output}'" unless File.dirname(source_file) == File.dirname(output)
@@ -164,6 +180,12 @@ module OpenLaszlo
164
180
  stdin, stdout, stderr = Open3.popen3(command)
165
181
  errors = stdout.read
166
182
  warnings = stderr.readlines
183
+ raise warnings.join("\n") if warnings.first =~ /^sh:/
184
+ # OpenLaszlo 4.0:
185
+ if warnings.first =~ /Compiling:.* to (\S+)/
186
+ warnings.shift
187
+ File.rename($1, output) if File.exists?($1)
188
+ end
167
189
  rescue NotImplementedError
168
190
  # Windows doesn't have popen
169
191
  errors = `#{command}`
@@ -176,23 +198,23 @@ module OpenLaszlo
176
198
  results = {:output => output, :warnings => warnings}
177
199
  return results
178
200
  end
179
-
201
+
180
202
  private
181
-
203
+
182
204
  # Locations in which to look for the lzc script, relative to OPENLASZLO_HOME
183
- def bin_directories
205
+ def self.bin_directories
184
206
  [# binary distro location
185
207
  'bin',
186
208
  # source distro location
187
209
  'WEB-INF/lps/server/bin'
188
210
  ]
189
211
  end
190
-
191
- def windows?
212
+
213
+ def self.windows?
192
214
  RUBY_PLATFORM =~ /win/ and not RUBY_PLATFORM =~ /darwin/
193
215
  end
194
216
  end
195
-
217
+
196
218
  # Returns the default compiler. Use the server-based compiler if it's
197
219
  # available, since it's so much faster.
198
220
  def self.compiler
@@ -207,12 +229,12 @@ To use the compile server (recommended), set ENV['OPENLASZLO_URL'] and ENV['OPEN
207
229
  To use the command-line compiler, set ENV['OPENLASZLO_HOME'].
208
230
  EOF
209
231
  end
210
-
232
+
211
233
  # Sets the default compiler for future invocations of OpenLaszlo.compile.
212
234
  def self.compiler= compiler
213
235
  @compiler = compiler
214
236
  end
215
-
237
+
216
238
  # Compile an OpenLaszlo source file.
217
239
  #
218
240
  # Examples:
@@ -220,23 +242,27 @@ EOF
220
242
  # OpenLaszlo::compile 'hello.lzx'
221
243
  # OpenLaszlo::compile 'hello.lzx', :debug => true
222
244
  # OpenLaszlo::compile 'hello.lzx', :runtime => 'swf8'
223
- # OpenLaszlo::compile 'hello.lzx', {:runtime => 'swf8', :debug => true}
245
+ # OpenLaszlo::compile 'hello.lzx', :runtime => 'swf8', :debug => true
224
246
  # OpenLaszlo::compile 'hello.lzx', :output => 'hello-world.swf'
225
247
  #
226
248
  # Options are:
227
249
  # * <tt>:debug</tt> - debug mode (default false)
228
250
  # * <tt>:output</tt> - specify the name and location for the output file (default = <tt>input_file.sub(/\.lzx$/, '.swf')</tt>)
229
251
  # * <tt>:proxied</tt> - is application proxied (default true)
230
- # * <tt>:runtime</tt> - runtime (default swf7)
252
+ # * <tt>:runtime</tt> - runtime (default swf8)
231
253
  #
232
254
  # See CompileServer.compile and CommandLineCompiler.compile for
233
255
  # additional options that are specific to the compilation methods in
234
256
  # those classes.
235
- def self.compile source_file, options={}
236
- compiler.compile source_file, options
257
+ def self.compile(source_file, options={})
258
+ options = options.clone
259
+ options[:runtime] ||= 'swf8'
260
+ compiler.compile(source_file, options)
261
+ rescue InvalidSourceLocation
262
+ CommandLineCompiler.new.compile(source_file, options)
237
263
  end
238
-
239
- def self.make_html source_file, options={} #:nodoc:
264
+
265
+ def self.make_html(source_file, options={}) #:nodoc:
240
266
  raise 'not really supported, for now'
241
267
  options = {
242
268
  :format => 'html-object',
@@ -244,6 +270,8 @@ EOF
244
270
  compiler.compile source_file, options
245
271
  source_file = options[:output]
246
272
  s = open(source_file).read
247
- open(source_file, 'w') {|f| f.write s.gsub!(/\.lzx\?lzt=swf&amp;/, '.lzx.swf?')}
273
+ open(source_file, 'w') do |f|
274
+ f << s.gsub!(/\.lzx\?lzt=swf&amp;/, '.lzx.swf?')
275
+ end
248
276
  end
249
277
  end
data/lib/openlaszlo.rb ADDED
@@ -0,0 +1 @@
1
+ require 'ropenlaszlo'
data/lib/ropenlaszlo.rb CHANGED
@@ -2,4 +2,4 @@
2
2
  # Copyright:: Copyright (c) 2005-2006 Oliver Steele. All rights reserved.
3
3
  # License:: Ruby License.
4
4
 
5
- require 'compiler'
5
+ require 'openlaszlo/compiler'
@@ -0,0 +1,6 @@
1
+ require 'openlaszlo'
2
+
3
+ rule '.swf' => '.lzx' do |t|
4
+ puts "Compiling #{t.source} => #{t.name}" if verbose
5
+ OpenLaszlo::compile t.source, :output => t.name
6
+ end
@@ -0,0 +1,53 @@
1
+
2
+ # Gem::Specification for Ropenlaszlo-0.5
3
+ # Originally generated by Echoe
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = %q{ropenlaszlo}
7
+ s.version = "0.5"
8
+ s.date = %q{2008-04-01}
9
+ s.summary = %q{Ruby interface to OpenLaszlo.}
10
+ s.email = %q{steele@osteele.com}
11
+ s.homepage = %q{http://ropenlaszlo.rubyforge.org}
12
+ s.rubyforge_project = %q{ropenlaszlo}
13
+ s.description = %q{ROpenLaszlo is an interface to the OpenLaszlo compiler.}
14
+ s.has_rdoc = true
15
+ s.authors = ["Oliver Steele"]
16
+ s.files = ["CHANGES", "examples/compile_hello.rb", "examples/hello.lzx", "install.rb", "lib/openlaszlo/applet.rb", "lib/openlaszlo/compiler.rb", "lib/openlaszlo.rb", "lib/ropenlaszlo.rb", "lib/tasks/openlaszlo.rake", "LICENSE", "Manifest", "README", "test/compilation-error.lzx", "test/compilation-warning.lzx", "test/compiler_test.rb", "test/tasks/Rakefile", "test/tasks/test.lzx", "test/test.lzx", "test/test_utils.rb", "TODO", "ropenlaszlo.gemspec"]
17
+ s.test_files = ["test/compiler_test.rb"]
18
+ s.rdoc_options = ["--title", "ROpenLaszlo: Ruby interface to OpenLaszlo", "--main", "README", "--exclude", "test/.*"]
19
+ s.extra_rdoc_files = ["README", "CHANGES", "TODO", "LICENSE"]
20
+ end
21
+
22
+
23
+ # # Original Rakefile source (requires the Echoe gem):
24
+ #
25
+ # require 'rubygems'
26
+ # require 'echoe'
27
+ #
28
+ # PKG_VERSION = '0.5'
29
+ #
30
+ # Echoe.new('ropenlaszlo', PKG_VERSION) do |p|
31
+ # p.summary = "Ruby interface to OpenLaszlo."
32
+ # p.url = 'http://ropenlaszlo.rubyforge.org'
33
+ # p.description = <<-EOF
34
+ # ROpenLaszlo is an interface to the OpenLaszlo compiler.
35
+ # EOF
36
+ # p.author = 'Oliver Steele'
37
+ # p.email = 'steele@osteele.com'
38
+ # p.ignore_pattern = /^(.git|.*\.swf|.*#.*#)$/
39
+ # p.test_pattern = 'test/*_test.rb'
40
+ # p.rdoc_pattern = /^(lib|bin|tasks|ext)|^README|^CHANGES|^TODO|^LICENSE$/
41
+ # p.eval = proc do |s|
42
+ # s.rdoc_options <<
43
+ # '--title' << "ROpenLaszlo: #{s.summary.sub(/.$/,'')}" <<
44
+ # '--main' << 'README' <<
45
+ # '--exclude' << 'test/.*'
46
+ # s.extra_rdoc_files = ['README', 'CHANGES', 'TODO', 'LICENSE']
47
+ # end
48
+ # end
49
+ #
50
+ # desc "Really a replacement for echoe's 'install', which bombs on my machine"
51
+ # task :reinstall => [:clean, :package, :uninstall] do
52
+ # system "sudo gem install pkg/*.gem"
53
+ # end
@@ -7,7 +7,7 @@ require File.join(File.dirname(__FILE__), 'test_utils.rb')
7
7
 
8
8
  include FileUtils
9
9
 
10
- REQUIRED_ENV_VALUES = %w{OPENLASZLO_HOME OPENLASZLO_HOME}
10
+ REQUIRED_ENV_VALUES = %w{OPENLASZLO_HOME OPENLASZLO_URL}
11
11
  unless REQUIRED_ENV_VALUES.reject {|w| ENV[w]}.empty?
12
12
  raise "These environment variables must be set: #{REQUIRED_ENV_VALUES}.join(', ')"
13
13
  end
@@ -0,0 +1,2 @@
1
+ require 'openlaszlo'
2
+ load 'tasks/openlaszlo.rake'
@@ -0,0 +1 @@
1
+ <canvas/>
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.11
2
+ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: ropenlaszlo
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.1
7
- date: 2006-01-25 00:00:00 -05:00
6
+ version: "0.5"
7
+ date: 2008-04-01 00:00:00 -04:00
8
8
  summary: Ruby interface to OpenLaszlo.
9
9
  require_paths:
10
10
  - lib
@@ -25,32 +25,45 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
25
  platform: ruby
26
26
  signing_key:
27
27
  cert_chain:
28
+ post_install_message:
28
29
  authors:
29
30
  - Oliver Steele
30
31
  files:
31
- - lib/compiler.rb
32
+ - CHANGES
33
+ - examples/compile_hello.rb
34
+ - examples/hello.lzx
35
+ - install.rb
36
+ - lib/openlaszlo/applet.rb
37
+ - lib/openlaszlo/compiler.rb
38
+ - lib/openlaszlo.rb
32
39
  - lib/ropenlaszlo.rb
33
- - doc/CHANGES
34
- - doc/MIT-LICENSE
35
- - doc/README
36
- - doc/TODO
40
+ - lib/tasks/openlaszlo.rake
41
+ - LICENSE
42
+ - Manifest
43
+ - README
37
44
  - test/compilation-error.lzx
38
45
  - test/compilation-warning.lzx
39
46
  - test/compiler_test.rb
47
+ - test/tasks/Rakefile
48
+ - test/tasks/test.lzx
40
49
  - test/test.lzx
41
50
  - test/test_utils.rb
42
- test_files: []
43
-
51
+ - TODO
52
+ - ropenlaszlo.gemspec
53
+ test_files:
54
+ - test/compiler_test.rb
44
55
  rdoc_options:
45
56
  - --title
46
57
  - "ROpenLaszlo: Ruby interface to OpenLaszlo"
58
+ - --main
59
+ - README
47
60
  - --exclude
48
61
  - test/.*
49
62
  extra_rdoc_files:
50
- - doc/CHANGES
51
- - doc/MIT-LICENSE
52
- - doc/README
53
- - doc/TODO
63
+ - README
64
+ - CHANGES
65
+ - TODO
66
+ - LICENSE
54
67
  executables: []
55
68
 
56
69
  extensions: []