warbler 1.3.8 → 1.4.0.beta1
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/.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
|
+
|