warbler 1.3.8 → 1.4.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +1 -1
- data/History.txt +14 -0
- data/README.rdoc +13 -0
- data/ext/WarMain.java +34 -17
- data/ext/WarblerJar.java +3 -2
- data/integration/gem-initializer/pom.xml +39 -0
- data/integration/pom.xml +134 -0
- data/integration/rails4_test/pom.xml +57 -0
- data/integration/rails4_test/src/main/ruby/Gemfile +44 -0
- data/integration/rails4_test/src/main/ruby/README.rdoc +28 -0
- data/integration/rails4_test/src/main/ruby/Rakefile +6 -0
- data/integration/rails4_test/src/main/ruby/app/assets/javascripts/application.js +16 -0
- data/integration/rails4_test/src/main/ruby/app/assets/javascripts/posts.js.coffee +3 -0
- data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/application.css +13 -0
- data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/posts.css.scss +3 -0
- data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/integration/rails4_test/src/main/ruby/app/controllers/application_controller.rb +5 -0
- data/integration/rails4_test/src/main/ruby/app/controllers/concerns/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/app/controllers/posts_controller.rb +74 -0
- data/integration/rails4_test/src/main/ruby/app/helpers/application_helper.rb +2 -0
- data/integration/rails4_test/src/main/ruby/app/helpers/posts_helper.rb +2 -0
- data/integration/rails4_test/src/main/ruby/app/mailers/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/app/models/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/app/models/concerns/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/app/models/post.rb +2 -0
- data/integration/rails4_test/src/main/ruby/app/views/layouts/application.html.erb +14 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/_form.html.erb +29 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/edit.html.erb +6 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/index.html.erb +31 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/index.json.jbuilder +4 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/new.html.erb +5 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/show.html.erb +19 -0
- data/integration/rails4_test/src/main/ruby/app/views/posts/show.json.jbuilder +1 -0
- data/integration/rails4_test/src/main/ruby/config.ru +4 -0
- data/integration/rails4_test/src/main/ruby/config/application.rb +23 -0
- data/integration/rails4_test/src/main/ruby/config/boot.rb +4 -0
- data/integration/rails4_test/src/main/ruby/config/database.yml +20 -0
- data/integration/rails4_test/src/main/ruby/config/environment.rb +5 -0
- data/integration/rails4_test/src/main/ruby/config/environments/development.rb +29 -0
- data/integration/rails4_test/src/main/ruby/config/environments/production.rb +80 -0
- data/integration/rails4_test/src/main/ruby/config/environments/test.rb +36 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/backtrace_silencers.rb +7 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/filter_parameter_logging.rb +4 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/inflections.rb +16 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/mime_types.rb +5 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/secret_token.rb +12 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/session_store.rb +3 -0
- data/integration/rails4_test/src/main/ruby/config/initializers/wrap_parameters.rb +14 -0
- data/integration/rails4_test/src/main/ruby/config/locales/en.yml +23 -0
- data/integration/rails4_test/src/main/ruby/config/routes.rb +51 -0
- data/integration/rails4_test/src/main/ruby/config/warble.rb +4 -0
- data/integration/rails4_test/src/main/ruby/db/development.sqlite3 +0 -0
- data/integration/rails4_test/src/main/ruby/db/migrate/20130502003552_create_posts.rb +11 -0
- data/integration/rails4_test/src/main/ruby/db/production.sqlite3 +0 -0
- data/integration/rails4_test/src/main/ruby/db/schema.rb +24 -0
- data/integration/rails4_test/src/main/ruby/db/seeds.rb +7 -0
- data/integration/rails4_test/src/main/ruby/lib/assets/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/lib/tasks/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/public/404.html +58 -0
- data/integration/rails4_test/src/main/ruby/public/422.html +58 -0
- data/integration/rails4_test/src/main/ruby/public/500.html +57 -0
- data/integration/rails4_test/src/main/ruby/public/favicon.ico +0 -0
- data/integration/rails4_test/src/main/ruby/public/robots.txt +5 -0
- data/integration/rails4_test/src/main/ruby/test/controllers/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/controllers/posts_controller_test.rb +49 -0
- data/integration/rails4_test/src/main/ruby/test/fixtures/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/fixtures/posts.yml +11 -0
- data/integration/rails4_test/src/main/ruby/test/helpers/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/helpers/posts_helper_test.rb +4 -0
- data/integration/rails4_test/src/main/ruby/test/integration/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/mailers/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/models/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/test/models/post_test.rb +7 -0
- data/integration/rails4_test/src/main/ruby/test/test_helper.rb +15 -0
- data/integration/rails4_test/src/main/ruby/vendor/assets/javascripts/.keep +0 -0
- data/integration/rails4_test/src/main/ruby/vendor/assets/stylesheets/.keep +0 -0
- data/integration/rails4_test/src/test/java/org/jruby/warbler/Rails4AppTestIT.java +37 -0
- data/integration/runnable_test/pom.xml +105 -0
- data/integration/runnable_test/src/main/ruby/Rakefile +4 -0
- data/integration/runnable_test/src/main/ruby/config.ru +1 -0
- data/integration/runnable_test/src/main/ruby/config/warble.rb +9 -0
- data/integration/runnable_test/src/test/java/org/jruby/warbler/RunnableWarTestIT.java +22 -0
- data/integration/simple_rack_test/pom.xml +56 -0
- data/integration/simple_rack_test/src/main/ruby/config.ru +1 -0
- data/integration/simple_rack_test/src/main/ruby/config/warble.rb +4 -0
- data/integration/simple_rack_test/src/test/java/org/jruby/warbler/AppTestIT.java +36 -0
- data/lib/warbler.rb +2 -1
- data/lib/warbler/application.rb +5 -1
- data/lib/warbler/config.rb +15 -2
- data/lib/warbler/executable_helper.rb +25 -0
- data/lib/warbler/gems.rb +39 -0
- data/lib/warbler/jar.rb +11 -25
- data/lib/warbler/scripts/rails.rb +11 -0
- data/lib/warbler/templates/war.erb +10 -2
- data/lib/warbler/traits.rb +5 -2
- data/lib/warbler/traits/gemspec.rb +13 -4
- data/lib/warbler/traits/nogemspec.rb +2 -1
- data/lib/warbler/traits/rails.rb +25 -7
- data/lib/warbler/version.rb +1 -1
- data/lib/warbler_jar.jar +0 -0
- data/spec/sample_jar/bin/another_jar +5 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/warbler/bundler_spec.rb +18 -33
- data/spec/warbler/config_spec.rb +2 -2
- data/spec/warbler/jar_spec.rb +176 -40
- data/warble.rb +9 -2
- data/warbler.gemspec +2 -2
- metadata +175 -9
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
== 1.4.0
|
2
|
+
|
3
|
+
- Support for Rails 4.x
|
4
|
+
- Improved runnable so `rails` command works w/o script dir
|
5
|
+
- #156: config.dirs seems to be ignored
|
6
|
+
- #159: Rails 4.0.0.rc1 fails under warbler with `silence` error
|
7
|
+
- #180: Problem with rubyzip 1.0.0
|
8
|
+
- #178: Status of config.threadsafe! in rails 4.
|
9
|
+
- #179: Jruby min and max runtimes defaults to 1 in rails 4.
|
10
|
+
- #182: Jar creation does not honor begin/realSize from contents' ByteList
|
11
|
+
- #177: allow specifying executable to run including other gems executables
|
12
|
+
- #173: WAR project also should respect `override_gem_home` option
|
13
|
+
- #168: The -S rails command is not compatible with Ruby 1.8
|
14
|
+
|
1
15
|
== 1.3.8
|
2
16
|
|
3
17
|
- Numerous fixes related to -S option and local environment.
|
data/README.rdoc
CHANGED
@@ -250,6 +250,19 @@ and run specs, you need to have Bundler installed and run <tt>bundle</tt> once.
|
|
250
250
|
|
251
251
|
After that, simply run <tt>rake</tt>.
|
252
252
|
|
253
|
+
=== Integration Tests
|
254
|
+
|
255
|
+
There are a few integration tests in the `integration` directory that build WAR file
|
256
|
+
with Warbler, and run some basic smoke tests against them. You can run these like so:
|
257
|
+
|
258
|
+
cd integration
|
259
|
+
export MAVEN_OPTS="-XX:MaxPermSize=128m"
|
260
|
+
mvn verify
|
261
|
+
|
262
|
+
The increased PermGen space is for the Rails4 test. And You'll need to have Maven installed, of course:
|
263
|
+
http://maven.apache.org/
|
264
|
+
|
265
|
+
|
253
266
|
== License
|
254
267
|
|
255
268
|
Warbler is provided under the terms of the MIT license.
|
data/ext/WarMain.java
CHANGED
@@ -66,7 +66,7 @@ public class WarMain extends JarMain {
|
|
66
66
|
|
67
67
|
/**
|
68
68
|
* jruby arguments, consider the following command :
|
69
|
-
* `java -jar rails.
|
69
|
+
* `java -jar rails.war --1.9 -S rake db:migrate`
|
70
70
|
* arguments == [ "--1.9" ]
|
71
71
|
* executable == "rake"
|
72
72
|
* executableArgv == [ "db:migrate" ]
|
@@ -93,12 +93,18 @@ public class WarMain extends JarMain {
|
|
93
93
|
throw new IllegalArgumentException("missing executable after -S");
|
94
94
|
}
|
95
95
|
arguments = argsList.subList(0, sIndex).toArray(new String[0]);
|
96
|
-
|
96
|
+
String execArg = argsList.get(sIndex + 1);
|
97
97
|
executableArgv = argsList.subList(sIndex + 2, argsList.size()).toArray(new String[0]);
|
98
98
|
|
99
|
-
if (
|
99
|
+
if (execArg.equals("bundle") && executableArgv.length > 0 && executableArgv[0].equals("exec")) {
|
100
100
|
warn("`bundle exec' may drop out of the Warbler environment and into the system environment");
|
101
|
-
}
|
101
|
+
} else if (execArg.equals("rails")) {
|
102
|
+
// The rails executable doesn't play well with ScriptingContainer, so we've packaged the
|
103
|
+
// same script that would have been generated by `rake rails:update:bin`
|
104
|
+
execArg = "./META-INF/rails.rb";
|
105
|
+
}
|
106
|
+
|
107
|
+
executable = execArg;
|
102
108
|
}
|
103
109
|
}
|
104
110
|
|
@@ -222,20 +228,9 @@ public class WarMain extends JarMain {
|
|
222
228
|
protected int launchJRuby(final URL[] jars) throws Exception {
|
223
229
|
final Object scriptingContainer = newScriptingContainer(jars);
|
224
230
|
|
225
|
-
String jrubyStdlibJar = "";
|
226
|
-
for (URL url : jars) {
|
227
|
-
if (url.toString().matches("file:/.*jruby-stdlib-.*jar")) {
|
228
|
-
jrubyStdlibJar = url.toString();
|
229
|
-
debug("using jruby-stdlib: " + jrubyStdlibJar);
|
230
|
-
}
|
231
|
-
}
|
232
|
-
|
233
|
-
invokeMethod(scriptingContainer, "setHomeDirectory", "classpath:/META-INF/jruby.home");
|
234
231
|
invokeMethod(scriptingContainer, "setArgv", (Object) executableArgv);
|
235
232
|
invokeMethod(scriptingContainer, "setCurrentDirectory", extractRoot.getAbsolutePath());
|
236
|
-
|
237
|
-
invokeMethod(scriptingContainer, "runScriptlet", "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/shared\"");
|
238
|
-
invokeMethod(scriptingContainer, "runScriptlet", "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/1.9\"");
|
233
|
+
initJRubyScriptingEnv(scriptingContainer, jars);
|
239
234
|
|
240
235
|
final Object provider = invokeMethod(scriptingContainer, "getProvider");
|
241
236
|
final Object rubyInstanceConfig = invokeMethod(provider, "getRubyInstanceConfig");
|
@@ -256,6 +251,7 @@ public class WarMain extends JarMain {
|
|
256
251
|
(InputStream) invokeMethod(rubyInstanceConfig, "getScriptSource"));
|
257
252
|
|
258
253
|
debug("invoking " + executablePath + " with: " + Arrays.toString(executableArgv));
|
254
|
+
|
259
255
|
Object outcome = invokeMethod(runtime, "runFromMain",
|
260
256
|
new Class[] { InputStream.class, String.class },
|
261
257
|
executableInput, executablePath
|
@@ -309,7 +305,28 @@ public class WarMain extends JarMain {
|
|
309
305
|
" e.status\n" +
|
310
306
|
"end";
|
311
307
|
}
|
312
|
-
|
308
|
+
|
309
|
+
protected void initJRubyScriptingEnv(Object scriptingContainer, final URL[] jars) throws Exception {
|
310
|
+
String jrubyStdlibJar = "";
|
311
|
+
for (URL url : jars) {
|
312
|
+
if (url.toString().matches("file:/.*jruby-stdlib-.*jar")) {
|
313
|
+
jrubyStdlibJar = url.toString();
|
314
|
+
debug("using jruby-stdlib: " + jrubyStdlibJar);
|
315
|
+
}
|
316
|
+
}
|
317
|
+
|
318
|
+
invokeMethod(scriptingContainer, "runScriptlet", "" +
|
319
|
+
"ruby = RUBY_VERSION.match(/^\\d\\.\\d/)[0] \n" +
|
320
|
+
"jruby = JRUBY_VERSION.match(/^\\d\\.\\d/)[0].to_f \n" +
|
321
|
+
"$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/#{ruby}/site_ruby\"\n" +
|
322
|
+
"$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/shared\"\n" +
|
323
|
+
"$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/#{ruby}\"\n" +
|
324
|
+
"require 'bcpkix-jdk15on-147.jar' if jruby >= 1.7 \n" +
|
325
|
+
"require 'bcprov-jdk15on-147.jar' if jruby >= 1.7 \n");
|
326
|
+
|
327
|
+
invokeMethod(scriptingContainer, "setHomeDirectory", "classpath:/META-INF/jruby.home");
|
328
|
+
}
|
329
|
+
|
313
330
|
@Override
|
314
331
|
protected int start() throws Exception {
|
315
332
|
if ( executable == null ) {
|
data/ext/WarblerJar.java
CHANGED
@@ -102,9 +102,10 @@ public class WarblerJar {
|
|
102
102
|
private static void addEntry(ThreadContext context, ZipOutputStream zip, String entryName, IRubyObject value) throws IOException {
|
103
103
|
if (value.respondsTo("read")) {
|
104
104
|
RubyString str = (RubyString) value.callMethod(context, "read").checkStringType();
|
105
|
-
|
105
|
+
ByteList strByteList = str.getByteList();
|
106
|
+
byte[] contents = strByteList.getUnsafeBytes();
|
106
107
|
zip.putNextEntry(new ZipEntry(entryName));
|
107
|
-
zip.write(contents);
|
108
|
+
zip.write(contents, strByteList.getBegin(), strByteList.getRealSize());
|
108
109
|
} else {
|
109
110
|
File f;
|
110
111
|
if (value.isNil() || (f = getFile(value)).isDirectory()) {
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
2
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
4
|
+
|
5
|
+
<parent>
|
6
|
+
<groupId>org.jruby.warbler</groupId>
|
7
|
+
<artifactId>integration-tests</artifactId>
|
8
|
+
<version>1.0-SNAPSHOT</version>
|
9
|
+
</parent>
|
10
|
+
<artifactId>gem-initializer</artifactId>
|
11
|
+
<packaging>pom</packaging>
|
12
|
+
|
13
|
+
<build>
|
14
|
+
<plugins>
|
15
|
+
<plugin>
|
16
|
+
<groupId>org.jruby.plugins</groupId>
|
17
|
+
<artifactId>jruby-rake-plugin</artifactId>
|
18
|
+
<executions>
|
19
|
+
<execution>
|
20
|
+
<id>build-warbler-gem</id>
|
21
|
+
<phase>pre-integration-test</phase>
|
22
|
+
<goals><goal>jruby</goal></goals>
|
23
|
+
<configuration>
|
24
|
+
<args>-C../../ -S gem build warbler.gemspec</args>
|
25
|
+
</configuration>
|
26
|
+
</execution>
|
27
|
+
<execution>
|
28
|
+
<id>gem-install-warbler</id>
|
29
|
+
<phase>pre-integration-test</phase>
|
30
|
+
<goals><goal>jruby</goal></goals>
|
31
|
+
<configuration>
|
32
|
+
<args>-S gem install ${basedir}/../../warbler-${warbler.version}.gem</args>
|
33
|
+
</configuration>
|
34
|
+
</execution>
|
35
|
+
</executions>
|
36
|
+
</plugin>
|
37
|
+
</plugins>
|
38
|
+
</build>
|
39
|
+
</project>
|
data/integration/pom.xml
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
2
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
4
|
+
|
5
|
+
<groupId>org.jruby.warbler</groupId>
|
6
|
+
<artifactId>integration-tests</artifactId>
|
7
|
+
<version>1.0-SNAPSHOT</version>
|
8
|
+
<packaging>pom</packaging>
|
9
|
+
|
10
|
+
<modules>
|
11
|
+
<module>gem-initializer</module>
|
12
|
+
<module>simple_rack_test</module>
|
13
|
+
<module>rails4_test</module>
|
14
|
+
<module>runnable_test</module>
|
15
|
+
</modules>
|
16
|
+
|
17
|
+
<properties>
|
18
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
19
|
+
<jruby.version>1.7.4</jruby.version>
|
20
|
+
<warbler.version>1.4.0.dev</warbler.version>
|
21
|
+
</properties>
|
22
|
+
|
23
|
+
<dependencies>
|
24
|
+
<dependency>
|
25
|
+
<groupId>junit</groupId>
|
26
|
+
<artifactId>junit</artifactId>
|
27
|
+
<version>4.8.1</version>
|
28
|
+
<scope>test</scope>
|
29
|
+
</dependency>
|
30
|
+
<dependency>
|
31
|
+
<groupId>org.hamcrest</groupId>
|
32
|
+
<artifactId>hamcrest-all</artifactId>
|
33
|
+
<version>1.3</version>
|
34
|
+
<scope>test</scope>
|
35
|
+
</dependency>
|
36
|
+
</dependencies>
|
37
|
+
|
38
|
+
<build>
|
39
|
+
<defaultGoal>verify</defaultGoal>
|
40
|
+
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
|
41
|
+
<resources>
|
42
|
+
<resource>
|
43
|
+
<directory>${basedir}/src/main/ruby</directory>
|
44
|
+
</resource>
|
45
|
+
</resources>
|
46
|
+
<plugins>
|
47
|
+
<plugin>
|
48
|
+
<groupId>org.apache.maven.plugins</groupId>
|
49
|
+
<artifactId>maven-antrun-plugin</artifactId>
|
50
|
+
<executions>
|
51
|
+
<execution>
|
52
|
+
<id>create-target-dir</id>
|
53
|
+
<phase>process-resources</phase>
|
54
|
+
<configuration>
|
55
|
+
<tasks>
|
56
|
+
<mkdir dir="target"/>
|
57
|
+
</tasks>
|
58
|
+
</configuration>
|
59
|
+
<goals>
|
60
|
+
<goal>run</goal>
|
61
|
+
</goals>
|
62
|
+
</execution>
|
63
|
+
</executions>
|
64
|
+
</plugin>
|
65
|
+
<plugin>
|
66
|
+
<groupId>org.apache.maven.plugins</groupId>
|
67
|
+
<artifactId>maven-jar-plugin</artifactId>
|
68
|
+
<version>2.4</version>
|
69
|
+
<configuration>
|
70
|
+
<excludes>
|
71
|
+
<exclude>${basedir}/src/main/ruby</exclude>
|
72
|
+
</excludes>
|
73
|
+
</configuration>
|
74
|
+
</plugin>
|
75
|
+
<plugin>
|
76
|
+
<groupId>org.apache.maven.plugins</groupId>
|
77
|
+
<artifactId>maven-failsafe-plugin</artifactId>
|
78
|
+
<version>2.9</version>
|
79
|
+
<executions>
|
80
|
+
<execution>
|
81
|
+
<goals>
|
82
|
+
<goal>integration-test</goal>
|
83
|
+
<goal>verify</goal>
|
84
|
+
</goals>
|
85
|
+
</execution>
|
86
|
+
</executions>
|
87
|
+
</plugin>
|
88
|
+
</plugins>
|
89
|
+
<pluginManagement>
|
90
|
+
<plugins>
|
91
|
+
<plugin>
|
92
|
+
<groupId>org.jruby.plugins</groupId>
|
93
|
+
<artifactId>jruby-rake-plugin</artifactId>
|
94
|
+
<version>${jruby.version}</version>
|
95
|
+
</plugin>
|
96
|
+
<plugin>
|
97
|
+
<groupId>org.mortbay.jetty</groupId>
|
98
|
+
<artifactId>maven-jetty-plugin</artifactId>
|
99
|
+
<version>6.1.26</version>
|
100
|
+
<configuration>
|
101
|
+
<webApp>target/test.war</webApp>
|
102
|
+
<stopPort>9966</stopPort>
|
103
|
+
<stopKey>warbler_stop</stopKey>
|
104
|
+
</configuration>
|
105
|
+
<executions>
|
106
|
+
<execution>
|
107
|
+
<id>start-jetty</id>
|
108
|
+
<phase>pre-integration-test</phase>
|
109
|
+
<goals>
|
110
|
+
<goal>run-war</goal>
|
111
|
+
</goals>
|
112
|
+
<configuration>
|
113
|
+
<scanIntervalSeconds>0</scanIntervalSeconds>
|
114
|
+
<daemon>true</daemon>
|
115
|
+
</configuration>
|
116
|
+
</execution>
|
117
|
+
<execution>
|
118
|
+
<id>stop-jetty</id>
|
119
|
+
<phase>post-integration-test</phase>
|
120
|
+
<goals>
|
121
|
+
<goal>stop</goal>
|
122
|
+
</goals>
|
123
|
+
</execution>
|
124
|
+
</executions>
|
125
|
+
</plugin>
|
126
|
+
<plugin>
|
127
|
+
<groupId>org.codehaus.mojo</groupId>
|
128
|
+
<artifactId>exec-maven-plugin</artifactId>
|
129
|
+
<version>1.2.1</version>
|
130
|
+
</plugin>
|
131
|
+
</plugins>
|
132
|
+
</pluginManagement>
|
133
|
+
</build>
|
134
|
+
</project>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
2
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
4
|
+
|
5
|
+
<parent>
|
6
|
+
<groupId>org.jruby.warbler</groupId>
|
7
|
+
<artifactId>integration-tests</artifactId>
|
8
|
+
<version>1.0-SNAPSHOT</version>
|
9
|
+
</parent>
|
10
|
+
|
11
|
+
<artifactId>rails4_test</artifactId>
|
12
|
+
<packaging>jar</packaging>
|
13
|
+
|
14
|
+
<name>rails4_test</name>
|
15
|
+
<url>http://maven.apache.org</url>
|
16
|
+
|
17
|
+
<dependencies>
|
18
|
+
<dependency>
|
19
|
+
<groupId>${project.groupId}</groupId>
|
20
|
+
<artifactId>gem-initializer</artifactId>
|
21
|
+
<version>${project.version}</version>
|
22
|
+
<type>pom</type>
|
23
|
+
<scope>test</scope>
|
24
|
+
</dependency>
|
25
|
+
</dependencies>
|
26
|
+
|
27
|
+
<build>
|
28
|
+
<plugins>
|
29
|
+
<plugin>
|
30
|
+
<groupId>org.jruby.plugins</groupId>
|
31
|
+
<artifactId>jruby-rake-plugin</artifactId>
|
32
|
+
<executions>
|
33
|
+
<execution>
|
34
|
+
<id>create-war</id>
|
35
|
+
<phase>pre-integration-test</phase>
|
36
|
+
<goals><goal>jruby</goal></goals>
|
37
|
+
<configuration>
|
38
|
+
<args>-C src/main/ruby -S warble</args>
|
39
|
+
</configuration>
|
40
|
+
</execution>
|
41
|
+
</executions>
|
42
|
+
</plugin>
|
43
|
+
<plugin>
|
44
|
+
<groupId>org.mortbay.jetty</groupId>
|
45
|
+
<artifactId>maven-jetty-plugin</artifactId>
|
46
|
+
<executions>
|
47
|
+
<execution>
|
48
|
+
<id>start-jetty</id>
|
49
|
+
</execution>
|
50
|
+
<execution>
|
51
|
+
<id>stop-jetty</id>
|
52
|
+
</execution>
|
53
|
+
</executions>
|
54
|
+
</plugin>
|
55
|
+
</plugins>
|
56
|
+
</build>
|
57
|
+
</project>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
4
|
+
gem 'rails', '4.0.0.rc1'
|
5
|
+
|
6
|
+
# Use jdbcsqlite3 as the database for Active Record
|
7
|
+
gem 'activerecord-jdbcsqlite3-adapter', '1.3.0.beta1'
|
8
|
+
# gem 'jruby-openssl'
|
9
|
+
|
10
|
+
# Use SCSS for stylesheets
|
11
|
+
gem 'sass-rails', '~> 4.0.0.rc1'
|
12
|
+
|
13
|
+
# Use Uglifier as compressor for JavaScript assets
|
14
|
+
gem 'uglifier', '>= 1.3.0'
|
15
|
+
|
16
|
+
# Use CoffeeScript for .js.coffee assets and views
|
17
|
+
gem 'coffee-rails', '~> 4.0.0'
|
18
|
+
|
19
|
+
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
20
|
+
gem 'therubyrhino'
|
21
|
+
|
22
|
+
# Use jquery as the JavaScript library
|
23
|
+
gem 'jquery-rails'
|
24
|
+
|
25
|
+
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
|
26
|
+
gem 'turbolinks'
|
27
|
+
|
28
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
29
|
+
gem 'jbuilder', '~> 1.0.1'
|
30
|
+
|
31
|
+
group :doc do
|
32
|
+
# bundle exec rake doc:rails generates the API under doc/api.
|
33
|
+
gem 'sdoc', require: false
|
34
|
+
end
|
35
|
+
|
36
|
+
# Use ActiveModel has_secure_password
|
37
|
+
# gem 'bcrypt-ruby', '~> 3.0.0'
|
38
|
+
|
39
|
+
# Use unicorn as the app server
|
40
|
+
# gem 'unicorn'
|
41
|
+
|
42
|
+
# Use Capistrano for deployment
|
43
|
+
# gem 'capistrano', group: :development
|
44
|
+
|