trinidad 0.7.2 → 0.8.0
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/History.txt +5 -0
- data/README.rdoc +9 -1
- data/VERSION +1 -1
- data/lib/trinidad.rb +2 -1
- data/lib/trinidad/command_line_parser.rb +13 -12
- data/lib/trinidad/core_ext.rb +13 -0
- data/lib/trinidad/extensions.rb +47 -0
- data/lib/trinidad/server.rb +30 -8
- data/lib/trinidad/web_app.rb +28 -17
- data/spec/fixtures/foo.rb +15 -0
- data/spec/fixtures/trinidad_foo_extension.rb +1 -0
- data/spec/spec_helper.rb +2 -1
- data/spec/trinidad/extensions_spec.rb +19 -0
- data/spec/trinidad/server_spec.rb +15 -0
- metadata +93 -77
- data/Rakefile +0 -83
- data/lib/trinidad/jars.rb +0 -29
- data/trinidad-libs/core-3.1.1.jar +0 -0
- data/trinidad-libs/jasper-el.jar +0 -0
- data/trinidad-libs/jasper-jdt.jar +0 -0
- data/trinidad-libs/jasper.jar +0 -0
- data/trinidad-libs/jetty-util-6.1.14.jar +0 -0
- data/trinidad-libs/jruby-rack-0.9.5.jar +0 -0
- data/trinidad-libs/jsp-2.1.jar +0 -0
- data/trinidad-libs/jsp-api-2.1.jar +0 -0
- data/trinidad-libs/servlet-api-2.5-6.1.14.jar +0 -0
- data/trinidad-libs/tomcat-core.jar +0 -0
- data/trinidad-libs/tomcat-dbcp.jar +0 -0
- data/trinidad-libs/tomcat-jasper.jar +0 -0
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -35,6 +35,14 @@ You can also specify a default web.xml to config your web application. By defaul
|
|
35
35
|
|
36
36
|
Other advanced options can be found in the wiki: http://wiki.github.com/calavera/trinidad/advanced-configuration
|
37
37
|
|
38
|
+
== EXTENSIONS:
|
39
|
+
|
40
|
+
From the version 0.8.0 Trinidad allows to extend the server with more Tomcat features, here there is a list with the current available extensions:
|
41
|
+
|
42
|
+
* Database connection pooling: http://github.com/calavera/trinidad-dbpool
|
43
|
+
|
44
|
+
You can find further information on how to write your onw extension in the wiki: http://wiki.github.com/calavera/trinidad/extensions
|
45
|
+
|
38
46
|
== Copyright
|
39
47
|
|
40
|
-
Copyright (c)
|
48
|
+
Copyright (c) 2010 David Calavera<calavera@apache.org>. See LICENSE for details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.8.0
|
data/lib/trinidad.rb
CHANGED
@@ -3,9 +3,11 @@ $:.unshift(File.dirname(__FILE__)) unless
|
|
3
3
|
|
4
4
|
require "java"
|
5
5
|
require 'rubygems'
|
6
|
+
gem 'trinidad_jars'
|
6
7
|
|
7
8
|
require 'trinidad/core_ext'
|
8
9
|
|
10
|
+
require 'trinidad/extensions'
|
9
11
|
require 'trinidad/command_line_parser'
|
10
12
|
require 'trinidad/jars'
|
11
13
|
require 'trinidad/server'
|
@@ -14,5 +16,4 @@ require 'trinidad/rails_web_app'
|
|
14
16
|
require 'trinidad/rackup_web_app'
|
15
17
|
|
16
18
|
module Trinidad
|
17
|
-
TRINIDAD_LIBS = File.dirname(__FILE__) + "/../trinidad-libs" unless defined?(TRINIDAD_LIBS)
|
18
19
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
module Trinidad
|
2
2
|
require 'optparse'
|
3
|
-
|
3
|
+
|
4
4
|
class CommandLineParser
|
5
|
+
|
5
6
|
def self.parse
|
6
7
|
default_options = {
|
7
8
|
:port => 3000,
|
@@ -13,7 +14,7 @@ module Trinidad
|
|
13
14
|
:ssl_port => 8443,
|
14
15
|
:ajp_port => 8009
|
15
16
|
}
|
16
|
-
|
17
|
+
|
17
18
|
parser = OptionParser.new do |opts|
|
18
19
|
opts.banner = 'Trinidad server default options:'
|
19
20
|
opts.separator ''
|
@@ -22,22 +23,22 @@ module Trinidad
|
|
22
23
|
"default: #{default_options[:environment]}") do |v|
|
23
24
|
default_options[:environment] = v
|
24
25
|
end
|
25
|
-
|
26
|
+
|
26
27
|
opts.on('-p', '--port PORT', 'Port to bind to',
|
27
28
|
"default: #{default_options[:port]}") do |v|
|
28
29
|
default_options[:port] = v
|
29
30
|
end
|
30
|
-
|
31
|
+
|
31
32
|
opts.on('-c', '--context CONTEXT_PATH', 'The application context path',
|
32
33
|
"default: #{default_options[:context_path]}") do |v|
|
33
34
|
default_options[:context_path] = v
|
34
35
|
end
|
35
|
-
|
36
|
+
|
36
37
|
opts.on('--lib', '--jars LIBS_DIR', 'Directory containing jars used by the application',
|
37
38
|
"default: #{default_options[:libs_dir]}") do |v|
|
38
39
|
default_options[:libs_dir] = v
|
39
40
|
end
|
40
|
-
|
41
|
+
|
41
42
|
opts.on('--classes', '--classes CLASSES_DIR', 'Directory containing classes used by the application',
|
42
43
|
"default: #{default_options[:classes_dir]}") do |v|
|
43
44
|
default_options[:classes_dir] = v
|
@@ -48,7 +49,7 @@ module Trinidad
|
|
48
49
|
ssl_port = v.nil? ? default_options.delete(:ssl_port) : v.to_i
|
49
50
|
default_options[:ssl] = {:port => ssl_port}
|
50
51
|
end
|
51
|
-
|
52
|
+
|
52
53
|
opts.on('-a', '--ajp [AJP_PORT]', 'Enable ajp connections',
|
53
54
|
"default port: #{default_options[:ajp_port]}") do |v|
|
54
55
|
ajp_port = v.nil? ? default_options.delete(:ajp_port) : v.to_i
|
@@ -69,21 +70,21 @@ module Trinidad
|
|
69
70
|
opts.on('--public', '--public DIRECTORY', 'Public directory', 'default: public') do |v|
|
70
71
|
default_options[:public] = v
|
71
72
|
end
|
72
|
-
|
73
|
+
|
73
74
|
opts.on('-v', '--version', 'display the current version') do
|
74
75
|
puts File.read(File.join(File.dirname(__FILE__), '..', '..', 'VERSION')).chomp
|
75
76
|
exit
|
76
77
|
end
|
77
|
-
|
78
|
+
|
78
79
|
opts.on('-h', '--help', 'display the help') do
|
79
80
|
puts opts
|
80
81
|
exit
|
81
82
|
end
|
82
|
-
|
83
|
+
|
83
84
|
opts.parse!(ARGV)
|
84
85
|
end
|
85
|
-
|
86
|
-
|
86
|
+
|
87
|
+
default_options
|
87
88
|
end
|
88
89
|
end
|
89
90
|
end
|
data/lib/trinidad/core_ext.rb
CHANGED
@@ -30,4 +30,17 @@ Hash.class_eval do
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
def symbolize!
|
34
|
+
keys.each do |key|
|
35
|
+
self[key].symbolize! if self[key].is_a?(Hash)
|
36
|
+
self[key.to_sym] = self.delete(key)
|
37
|
+
end
|
38
|
+
self
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class String
|
43
|
+
def camelize
|
44
|
+
self.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
45
|
+
end
|
33
46
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Trinidad
|
2
|
+
module Extensions
|
3
|
+
def self.configure_webapp_extensions(extensions, tomcat, app_context)
|
4
|
+
if extensions
|
5
|
+
extensions.each do |name, options|
|
6
|
+
extension(name, 'WebAppExtension').new(options).configure(tomcat, app_context)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.configure_server_extensions(extensions, tomcat)
|
12
|
+
if extensions
|
13
|
+
extensions.each do |name, options|
|
14
|
+
extension(name, 'ServerExtension').new(options).configure(tomcat)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.extension(name, type)
|
20
|
+
class_name = (name.to_s.camelize << type).to_sym
|
21
|
+
load_extension(name) unless const_defined?(class_name)
|
22
|
+
const_get(class_name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.load_extension(name)
|
26
|
+
require "trinidad_#{name}_extension"
|
27
|
+
end
|
28
|
+
|
29
|
+
class Extension
|
30
|
+
def initialize(options)
|
31
|
+
@options = options.dup
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class WebAppExtension < Extension
|
36
|
+
def configure(tomcat, app_context)
|
37
|
+
raise NotImplementedError, "#{self.class}#configure not implemented"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class ServerExtension < Extension
|
42
|
+
def configure(tomcat)
|
43
|
+
raise NotImplementedError, "#{self.class}#configure not implemented"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/trinidad/server.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
module Trinidad
|
2
|
-
|
2
|
+
JSystem = java.lang.System
|
3
|
+
JContext = javax.naming.Context
|
3
4
|
|
4
|
-
|
5
|
+
class Server
|
6
|
+
attr_reader :tomcat, :config
|
5
7
|
|
6
8
|
def default_options
|
7
9
|
{
|
@@ -23,7 +25,7 @@ module Trinidad
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def load_config(config)
|
26
|
-
@config = default_options.deep_merge(config)
|
28
|
+
@config = default_options.deep_merge(config).symbolize!
|
27
29
|
add_default_web_app!(@config)
|
28
30
|
end
|
29
31
|
|
@@ -31,9 +33,12 @@ module Trinidad
|
|
31
33
|
@tomcat = Trinidad::Tomcat::Tomcat.new
|
32
34
|
@tomcat.setPort(@config[:port].to_i)
|
33
35
|
@tomcat.setBaseDir(Dir.pwd)
|
36
|
+
enable_naming
|
34
37
|
|
35
38
|
add_ssl_connector if ssl_enabled?
|
36
39
|
add_ajp_connector if ajp_enabled?
|
40
|
+
|
41
|
+
Trinidad::Extensions.configure_server_extensions(@config[:extensions], @tomcat)
|
37
42
|
end
|
38
43
|
|
39
44
|
def create_web_apps
|
@@ -47,6 +52,7 @@ module Trinidad
|
|
47
52
|
|
48
53
|
web_app.load_default_web_xml
|
49
54
|
web_app.add_rack_filter
|
55
|
+
web_app.configure_extensions(@tomcat)
|
50
56
|
web_app.add_context_loader
|
51
57
|
web_app.add_init_params
|
52
58
|
web_app.add_web_dir_resources
|
@@ -64,7 +70,7 @@ module Trinidad
|
|
64
70
|
connector.secure = opts.delete(:secure) || false
|
65
71
|
connector.port = opts.delete(:port).to_i
|
66
72
|
|
67
|
-
|
73
|
+
opts.each do |key, value|
|
68
74
|
connector.setProperty(key.to_s, value.to_s)
|
69
75
|
end
|
70
76
|
|
@@ -97,7 +103,7 @@ module Trinidad
|
|
97
103
|
end
|
98
104
|
|
99
105
|
def create_default_keystore(config)
|
100
|
-
keystore_file = java.io.File.new(config[:
|
106
|
+
keystore_file = java.io.File.new(config[:keystore])
|
101
107
|
|
102
108
|
if (!keystore_file.parent_file.exists() &&
|
103
109
|
!keystore_file.parent_file.mkdir())
|
@@ -110,9 +116,9 @@ module Trinidad
|
|
110
116
|
"-keyalg", "RSA",
|
111
117
|
"-validity", "365",
|
112
118
|
"-storepass", "key",
|
113
|
-
"-keystore", config[:
|
114
|
-
"-storepass", config[:
|
115
|
-
"-keypass", config[:
|
119
|
+
"-keystore", config[:keystore],
|
120
|
+
"-storepass", config[:keystorePass],
|
121
|
+
"-keypass", config[:keystorePass]]
|
116
122
|
|
117
123
|
Trinidad::Tomcat::KeyTool.main(keytool_args.to_java(:string))
|
118
124
|
end
|
@@ -136,5 +142,21 @@ module Trinidad
|
|
136
142
|
end
|
137
143
|
end
|
138
144
|
|
145
|
+
def enable_naming
|
146
|
+
@tomcat.getServer().addLifecycleListener(Trinidad::Tomcat::NamingContextListener.new)
|
147
|
+
|
148
|
+
JSystem.setProperty("catalina.useNaming", "true")
|
149
|
+
|
150
|
+
value = "org.apache.naming"
|
151
|
+
old_value = JSystem.getProperty(JContext.URL_PKG_PREFIXES) || value
|
152
|
+
|
153
|
+
value = value + ":" + old_value unless old_value.include?(value)
|
154
|
+
JSystem.setProperty(JContext.URL_PKG_PREFIXES, value)
|
155
|
+
|
156
|
+
value = JSystem.getProperty(JContext.INITIAL_CONTEXT_FACTORY)
|
157
|
+
unless value
|
158
|
+
JSystem.setProperty(JContext.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory")
|
159
|
+
end
|
160
|
+
end
|
139
161
|
end
|
140
162
|
end
|
data/lib/trinidad/web_app.rb
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
module Trinidad
|
2
2
|
class WebApp
|
3
3
|
attr_reader :context, :config
|
4
|
-
|
4
|
+
|
5
5
|
def self.create(context, config, app)
|
6
6
|
app.has_key?(:rackup) ? RackupWebApp.new(context, config, app) : RailsWebApp.new(context, config, app)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
def initialize(context, config, app)
|
10
10
|
@context = context
|
11
11
|
@config = config
|
12
12
|
@app = app
|
13
|
+
|
14
|
+
@class_loader = org.jruby.util.JRubyClassLoader.new(JRuby.runtime.jruby_class_loader)
|
13
15
|
end
|
14
|
-
|
16
|
+
|
15
17
|
def add_rack_filter
|
16
18
|
unless rack_filter_configured?
|
17
19
|
filter_def = Trinidad::Tomcat::FilterDef.new
|
@@ -26,47 +28,46 @@ module Trinidad
|
|
26
28
|
@context.addFilterMap(filter_map)
|
27
29
|
end
|
28
30
|
end
|
29
|
-
|
31
|
+
|
30
32
|
def add_context_loader
|
31
|
-
class_loader
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
loader = Trinidad::Tomcat::WebappLoader.new(class_loader)
|
33
|
+
add_application_libs(@class_loader)
|
34
|
+
add_application_classes(@class_loader)
|
35
|
+
|
36
|
+
loader = Trinidad::Tomcat::WebappLoader.new(@class_loader)
|
36
37
|
|
37
38
|
loader.container = @context
|
38
39
|
@context.loader = loader
|
39
40
|
end
|
40
|
-
|
41
|
+
|
41
42
|
def add_init_params
|
42
43
|
[:jruby_min_runtimes, :jruby_max_runtimes].each do |param|
|
43
44
|
param_name = param.to_s.gsub(/_/, '.')
|
44
45
|
add_parameter_unless_exist(param_name, @config[param].to_s)
|
45
46
|
end
|
46
|
-
|
47
|
+
|
47
48
|
add_parameter_unless_exist('jruby.initial.runtimes', @config[:jruby_min_runtimes].to_s)
|
48
49
|
add_parameter_unless_exist('public.root', File.join('/', public_root))
|
49
50
|
end
|
50
|
-
|
51
|
+
|
51
52
|
def add_web_dir_resources
|
52
53
|
doc_base = File.join(@app[:web_app_dir], public_root)
|
53
54
|
@context.setDocBase(doc_base) if File.exist?(doc_base)
|
54
55
|
end
|
55
|
-
|
56
|
+
|
56
57
|
def add_rack_context_listener
|
57
58
|
unless rack_listener_configured?
|
58
59
|
@context.addApplicationListener(context_listener)
|
59
60
|
end
|
60
61
|
end
|
61
|
-
|
62
|
+
|
62
63
|
def add_application_libs(class_loader)
|
63
64
|
resources_dir = File.join(@app[:web_app_dir], libs_dir, '**', '*.jar')
|
64
|
-
|
65
|
+
|
65
66
|
Dir[resources_dir].each do |resource|
|
66
67
|
class_loader.addURL(java.io.File.new(resource).to_url)
|
67
68
|
end
|
68
69
|
end
|
69
|
-
|
70
|
+
|
70
71
|
def add_application_classes(class_loader)
|
71
72
|
resources_dir = File.join(@app[:web_app_dir], classes_dir)
|
72
73
|
class_loader.addURL(java.io.File.new(resources_dir).to_url)
|
@@ -74,7 +75,7 @@ module Trinidad
|
|
74
75
|
|
75
76
|
def load_default_web_xml
|
76
77
|
default_web_xml = File.expand_path(File.join(@app[:web_app_dir], default_web_xml_file))
|
77
|
-
|
78
|
+
|
78
79
|
if File.exist?(default_web_xml)
|
79
80
|
@context.setDefaultWebXml(default_web_xml)
|
80
81
|
@context.setDefaultContextXml(default_web_xml)
|
@@ -126,5 +127,15 @@ module Trinidad
|
|
126
127
|
def add_parameter_unless_exist(name, value)
|
127
128
|
@context.addParameter(name, value) unless @context.findParameter(name)
|
128
129
|
end
|
130
|
+
|
131
|
+
def load_extensions?
|
132
|
+
@app.has_key?(:extensions)
|
133
|
+
end
|
134
|
+
|
135
|
+
def configure_extensions(tomcat)
|
136
|
+
return unless load_extensions?
|
137
|
+
|
138
|
+
Trinidad::Extensions.configure_webapp_extensions(@app[:extensions], tomcat, @context)
|
139
|
+
end
|
129
140
|
end
|
130
141
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Trinidad
|
2
|
+
module Extensions
|
3
|
+
class FooWebAppExtension < WebAppExtension
|
4
|
+
def configure(tomcat, app_context)
|
5
|
+
@options
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class FooServerExtension < ServerExtension
|
10
|
+
def configure(tomcat)
|
11
|
+
@options
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/foo'
|
data/spec/spec_helper.rb
CHANGED
@@ -8,6 +8,7 @@ end
|
|
8
8
|
|
9
9
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
10
10
|
$:.unshift(File.dirname(__FILE__) + '/../trinidad-libs')
|
11
|
+
$:.unshift(File.dirname(__FILE__) + '/fixtures')
|
11
12
|
|
12
13
|
require 'java'
|
13
14
|
require 'trinidad'
|
@@ -17,4 +18,4 @@ Spec::Runner.configure do |config|
|
|
17
18
|
config.mock_with :mocha
|
18
19
|
end
|
19
20
|
|
20
|
-
MOCK_WEB_APP_DIR = File.join(File.dirname(__FILE__), 'web_app_mock')
|
21
|
+
MOCK_WEB_APP_DIR = File.join(File.dirname(__FILE__), 'web_app_mock')
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
require 'optparse'
|
3
|
+
|
4
|
+
describe Trinidad::Extensions do
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
@extensions = {:foo => {:bar => :bazz}}
|
8
|
+
end
|
9
|
+
|
10
|
+
it "configures the server with new stuff" do
|
11
|
+
lambda {Trinidad::Extensions.configure_server_extensions(@extensions, nil)}.should_not raise_error
|
12
|
+
lambda {Trinidad::Extensions.const_get(:FooServerExtension)}.should_not raise_error
|
13
|
+
end
|
14
|
+
|
15
|
+
it "configures the webapp with new stuff" do
|
16
|
+
lambda {Trinidad::Extensions.configure_webapp_extensions(@extensions, nil, nil)}.should_not raise_error
|
17
|
+
lambda {Trinidad::Extensions.const_get(:FooWebAppExtension)}.should_not raise_error
|
18
|
+
end
|
19
|
+
end
|
@@ -1,7 +1,22 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../spec_helper'
|
2
2
|
|
3
|
+
JSystem = java.lang.System
|
4
|
+
JContext = javax.naming.Context
|
5
|
+
|
3
6
|
describe Trinidad::Server do
|
4
7
|
|
8
|
+
it "always uses symbols as configuration keys" do
|
9
|
+
server = Trinidad::Server.new({'port' => 4000})
|
10
|
+
server.config[:port].should == 4000
|
11
|
+
end
|
12
|
+
|
13
|
+
it "enables catalina naming" do
|
14
|
+
Trinidad::Server.new
|
15
|
+
JSystem.getProperty(JContext.URL_PKG_PREFIXES).should include("org.apache.naming")
|
16
|
+
JSystem.getProperty(JContext.INITIAL_CONTEXT_FACTORY).should == "org.apache.naming.java.javaURLContextFactory"
|
17
|
+
JSystem.getProperty("catalina.useNaming").should == "true"
|
18
|
+
end
|
19
|
+
|
5
20
|
it "should have ssl disabled when config param is nil" do
|
6
21
|
server = Trinidad::Server.new
|
7
22
|
server.ssl_enabled?.should == false
|
metadata
CHANGED
@@ -1,113 +1,129 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trinidad
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 8
|
8
|
+
- 0
|
9
|
+
version: 0.8.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
|
12
|
+
- David Calavera
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-04-04 00:00:00 +02:00
|
13
18
|
default_executable: trinidad
|
14
19
|
dependencies:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rack
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 0
|
30
|
+
version: "1.0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: trinidad_jars
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 0
|
42
|
+
version: "0"
|
43
|
+
type: :runtime
|
44
|
+
version_requirements: *id002
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: rspec
|
47
|
+
prerelease: false
|
48
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
segments:
|
53
|
+
- 0
|
54
|
+
version: "0"
|
55
|
+
type: :development
|
56
|
+
version_requirements: *id003
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: mocha
|
59
|
+
prerelease: false
|
60
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
version: "0"
|
67
|
+
type: :development
|
68
|
+
version_requirements: *id004
|
45
69
|
description:
|
46
70
|
email: calavera@apache.org
|
47
71
|
executables:
|
48
|
-
|
72
|
+
- trinidad
|
49
73
|
extensions: []
|
50
74
|
|
51
75
|
extra_rdoc_files:
|
52
|
-
|
53
|
-
|
76
|
+
- LICENSE
|
77
|
+
- README.rdoc
|
54
78
|
files:
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
- lib/trinidad/web_app.rb
|
69
|
-
- trinidad-libs/core-3.1.1.jar
|
70
|
-
- trinidad-libs/jasper-el.jar
|
71
|
-
- trinidad-libs/jasper-jdt.jar
|
72
|
-
- trinidad-libs/jasper.jar
|
73
|
-
- trinidad-libs/jetty-util-6.1.14.jar
|
74
|
-
- trinidad-libs/jruby-rack-0.9.5.jar
|
75
|
-
- trinidad-libs/jsp-2.1.jar
|
76
|
-
- trinidad-libs/jsp-api-2.1.jar
|
77
|
-
- trinidad-libs/servlet-api-2.5-6.1.14.jar
|
78
|
-
- trinidad-libs/tomcat-core.jar
|
79
|
-
- trinidad-libs/tomcat-dbcp.jar
|
80
|
-
- trinidad-libs/tomcat-jasper.jar
|
79
|
+
- History.txt
|
80
|
+
- LICENSE
|
81
|
+
- README.rdoc
|
82
|
+
- VERSION
|
83
|
+
- bin/trinidad
|
84
|
+
- lib/trinidad.rb
|
85
|
+
- lib/trinidad/command_line_parser.rb
|
86
|
+
- lib/trinidad/core_ext.rb
|
87
|
+
- lib/trinidad/extensions.rb
|
88
|
+
- lib/trinidad/rackup_web_app.rb
|
89
|
+
- lib/trinidad/rails_web_app.rb
|
90
|
+
- lib/trinidad/server.rb
|
91
|
+
- lib/trinidad/web_app.rb
|
81
92
|
has_rdoc: true
|
82
93
|
homepage: http://calavera.github.com/trinidad
|
83
94
|
licenses: []
|
84
95
|
|
85
96
|
post_install_message:
|
86
97
|
rdoc_options:
|
87
|
-
|
98
|
+
- --charset=UTF-8
|
88
99
|
require_paths:
|
89
|
-
|
100
|
+
- lib
|
90
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
102
|
requirements:
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
96
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
109
|
requirements:
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
segments:
|
113
|
+
- 0
|
114
|
+
version: "0"
|
102
115
|
requirements: []
|
103
116
|
|
104
117
|
rubyforge_project: trinidad
|
105
|
-
rubygems_version: 1.3.
|
118
|
+
rubygems_version: 1.3.6
|
106
119
|
signing_key:
|
107
120
|
specification_version: 3
|
108
121
|
summary: Simple library to run rails applications into an embedded Tomcat
|
109
122
|
test_files:
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
123
|
+
- spec/fixtures/foo.rb
|
124
|
+
- spec/fixtures/trinidad_foo_extension.rb
|
125
|
+
- spec/spec_helper.rb
|
126
|
+
- spec/trinidad/command_line_parser_spec.rb
|
127
|
+
- spec/trinidad/extensions_spec.rb
|
128
|
+
- spec/trinidad/server_spec.rb
|
129
|
+
- spec/trinidad/web_app_spec.rb
|
data/Rakefile
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'jeweler'
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "trinidad"
|
8
|
-
gem.summary = %Q{Simple library to run rails applications into an embedded Tomcat}
|
9
|
-
gem.email = "calavera@apache.org"
|
10
|
-
gem.homepage = "http://calavera.github.com/trinidad"
|
11
|
-
gem.authors = ["David Calavera"]
|
12
|
-
gem.rubyforge_project = 'trinidad'
|
13
|
-
|
14
|
-
gem.files = FileList['bin/*', 'lib/**/*.rb', 'trinidad-libs/*.jar', 'History.txt', 'LICENSE', 'Rakefile', 'README.rdoc', 'VERSION']
|
15
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
|
-
gem.add_dependency 'rack', '>=1.0'
|
17
|
-
|
18
|
-
gem.add_development_dependency 'rspec'
|
19
|
-
gem.add_development_dependency 'mocha'
|
20
|
-
end
|
21
|
-
|
22
|
-
Jeweler::GemcutterTasks.new
|
23
|
-
rescue LoadError
|
24
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
25
|
-
end
|
26
|
-
|
27
|
-
require 'spec/rake/spectask'
|
28
|
-
Spec::Rake::SpecTask.new(:spec) do |spec|
|
29
|
-
spec.libs << 'lib' << 'spec'
|
30
|
-
spec.spec_opts = ['--options', "spec/spec.opts"]
|
31
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
32
|
-
end
|
33
|
-
|
34
|
-
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
35
|
-
spec.libs << 'lib' << 'spec'
|
36
|
-
spec.spec_opts = ['--options', "spec/spec.opts"]
|
37
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
38
|
-
spec.rcov = true
|
39
|
-
end
|
40
|
-
|
41
|
-
task :default => :spec
|
42
|
-
|
43
|
-
require 'rake/rdoctask'
|
44
|
-
Rake::RDocTask.new do |rdoc|
|
45
|
-
if File.exist?('VERSION.yml')
|
46
|
-
config = YAML.load(File.read('VERSION.yml'))
|
47
|
-
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
48
|
-
else
|
49
|
-
version = ""
|
50
|
-
end
|
51
|
-
|
52
|
-
rdoc.rdoc_dir = 'rdoc'
|
53
|
-
rdoc.title = "trinidad #{version}"
|
54
|
-
rdoc.rdoc_files.include('README*')
|
55
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
56
|
-
end
|
57
|
-
|
58
|
-
begin
|
59
|
-
require 'rake/contrib/sshpublisher'
|
60
|
-
namespace :rubyforge do
|
61
|
-
|
62
|
-
desc "Release gem and RDoc documentation to RubyForge"
|
63
|
-
task :release => ["rubyforge:release:gem"]
|
64
|
-
|
65
|
-
namespace :release do
|
66
|
-
desc "Publish RDoc to RubyForge."
|
67
|
-
task :docs => [:rdoc] do
|
68
|
-
config = YAML.load(
|
69
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
70
|
-
)
|
71
|
-
|
72
|
-
host = "#{config['username']}@rubyforge.org"
|
73
|
-
remote_dir = "/var/www/gforge-projects/trinidad/"
|
74
|
-
local_dir = 'rdoc'
|
75
|
-
|
76
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
rescue LoadError
|
81
|
-
puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
|
82
|
-
end
|
83
|
-
|
data/lib/trinidad/jars.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
module Trinidad
|
2
|
-
|
3
|
-
require "servlet-api-2.5-6.1.14"
|
4
|
-
require "core-3.1.1"
|
5
|
-
require "jsp-api-2.1"
|
6
|
-
require "jsp-2.1"
|
7
|
-
require 'tomcat-core'
|
8
|
-
require 'jetty-util-6.1.14'
|
9
|
-
|
10
|
-
require "jruby-rack-0.9.5"
|
11
|
-
|
12
|
-
module Tomcat
|
13
|
-
include_package 'org.apache.catalina'
|
14
|
-
include_package 'org.apache.catalina.startup'
|
15
|
-
include_package 'org.apache.catalina.core'
|
16
|
-
include_package 'org.apache.catalina.deploy'
|
17
|
-
include_package 'org.apache.catalina.loader'
|
18
|
-
|
19
|
-
include_package 'org.apache.naming.resources'
|
20
|
-
|
21
|
-
import 'org.apache.catalina.connector.Connector'
|
22
|
-
import 'sun.security.tools.KeyTool'
|
23
|
-
end
|
24
|
-
|
25
|
-
module Rack
|
26
|
-
include_package "org.jruby.rack"
|
27
|
-
include_package "org.jruby.rack.rails"
|
28
|
-
end
|
29
|
-
end
|
Binary file
|
data/trinidad-libs/jasper-el.jar
DELETED
Binary file
|
Binary file
|
data/trinidad-libs/jasper.jar
DELETED
Binary file
|
Binary file
|
Binary file
|
data/trinidad-libs/jsp-2.1.jar
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|