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.
Files changed (110) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +3 -0
  3. data/Gemfile +1 -1
  4. data/History.txt +14 -0
  5. data/README.rdoc +13 -0
  6. data/ext/WarMain.java +34 -17
  7. data/ext/WarblerJar.java +3 -2
  8. data/integration/gem-initializer/pom.xml +39 -0
  9. data/integration/pom.xml +134 -0
  10. data/integration/rails4_test/pom.xml +57 -0
  11. data/integration/rails4_test/src/main/ruby/Gemfile +44 -0
  12. data/integration/rails4_test/src/main/ruby/README.rdoc +28 -0
  13. data/integration/rails4_test/src/main/ruby/Rakefile +6 -0
  14. data/integration/rails4_test/src/main/ruby/app/assets/javascripts/application.js +16 -0
  15. data/integration/rails4_test/src/main/ruby/app/assets/javascripts/posts.js.coffee +3 -0
  16. data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/application.css +13 -0
  17. data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/posts.css.scss +3 -0
  18. data/integration/rails4_test/src/main/ruby/app/assets/stylesheets/scaffolds.css.scss +69 -0
  19. data/integration/rails4_test/src/main/ruby/app/controllers/application_controller.rb +5 -0
  20. data/integration/rails4_test/src/main/ruby/app/controllers/concerns/.keep +0 -0
  21. data/integration/rails4_test/src/main/ruby/app/controllers/posts_controller.rb +74 -0
  22. data/integration/rails4_test/src/main/ruby/app/helpers/application_helper.rb +2 -0
  23. data/integration/rails4_test/src/main/ruby/app/helpers/posts_helper.rb +2 -0
  24. data/integration/rails4_test/src/main/ruby/app/mailers/.keep +0 -0
  25. data/integration/rails4_test/src/main/ruby/app/models/.keep +0 -0
  26. data/integration/rails4_test/src/main/ruby/app/models/concerns/.keep +0 -0
  27. data/integration/rails4_test/src/main/ruby/app/models/post.rb +2 -0
  28. data/integration/rails4_test/src/main/ruby/app/views/layouts/application.html.erb +14 -0
  29. data/integration/rails4_test/src/main/ruby/app/views/posts/_form.html.erb +29 -0
  30. data/integration/rails4_test/src/main/ruby/app/views/posts/edit.html.erb +6 -0
  31. data/integration/rails4_test/src/main/ruby/app/views/posts/index.html.erb +31 -0
  32. data/integration/rails4_test/src/main/ruby/app/views/posts/index.json.jbuilder +4 -0
  33. data/integration/rails4_test/src/main/ruby/app/views/posts/new.html.erb +5 -0
  34. data/integration/rails4_test/src/main/ruby/app/views/posts/show.html.erb +19 -0
  35. data/integration/rails4_test/src/main/ruby/app/views/posts/show.json.jbuilder +1 -0
  36. data/integration/rails4_test/src/main/ruby/config.ru +4 -0
  37. data/integration/rails4_test/src/main/ruby/config/application.rb +23 -0
  38. data/integration/rails4_test/src/main/ruby/config/boot.rb +4 -0
  39. data/integration/rails4_test/src/main/ruby/config/database.yml +20 -0
  40. data/integration/rails4_test/src/main/ruby/config/environment.rb +5 -0
  41. data/integration/rails4_test/src/main/ruby/config/environments/development.rb +29 -0
  42. data/integration/rails4_test/src/main/ruby/config/environments/production.rb +80 -0
  43. data/integration/rails4_test/src/main/ruby/config/environments/test.rb +36 -0
  44. data/integration/rails4_test/src/main/ruby/config/initializers/backtrace_silencers.rb +7 -0
  45. data/integration/rails4_test/src/main/ruby/config/initializers/filter_parameter_logging.rb +4 -0
  46. data/integration/rails4_test/src/main/ruby/config/initializers/inflections.rb +16 -0
  47. data/integration/rails4_test/src/main/ruby/config/initializers/mime_types.rb +5 -0
  48. data/integration/rails4_test/src/main/ruby/config/initializers/secret_token.rb +12 -0
  49. data/integration/rails4_test/src/main/ruby/config/initializers/session_store.rb +3 -0
  50. data/integration/rails4_test/src/main/ruby/config/initializers/wrap_parameters.rb +14 -0
  51. data/integration/rails4_test/src/main/ruby/config/locales/en.yml +23 -0
  52. data/integration/rails4_test/src/main/ruby/config/routes.rb +51 -0
  53. data/integration/rails4_test/src/main/ruby/config/warble.rb +4 -0
  54. data/integration/rails4_test/src/main/ruby/db/development.sqlite3 +0 -0
  55. data/integration/rails4_test/src/main/ruby/db/migrate/20130502003552_create_posts.rb +11 -0
  56. data/integration/rails4_test/src/main/ruby/db/production.sqlite3 +0 -0
  57. data/integration/rails4_test/src/main/ruby/db/schema.rb +24 -0
  58. data/integration/rails4_test/src/main/ruby/db/seeds.rb +7 -0
  59. data/integration/rails4_test/src/main/ruby/lib/assets/.keep +0 -0
  60. data/integration/rails4_test/src/main/ruby/lib/tasks/.keep +0 -0
  61. data/integration/rails4_test/src/main/ruby/public/404.html +58 -0
  62. data/integration/rails4_test/src/main/ruby/public/422.html +58 -0
  63. data/integration/rails4_test/src/main/ruby/public/500.html +57 -0
  64. data/integration/rails4_test/src/main/ruby/public/favicon.ico +0 -0
  65. data/integration/rails4_test/src/main/ruby/public/robots.txt +5 -0
  66. data/integration/rails4_test/src/main/ruby/test/controllers/.keep +0 -0
  67. data/integration/rails4_test/src/main/ruby/test/controllers/posts_controller_test.rb +49 -0
  68. data/integration/rails4_test/src/main/ruby/test/fixtures/.keep +0 -0
  69. data/integration/rails4_test/src/main/ruby/test/fixtures/posts.yml +11 -0
  70. data/integration/rails4_test/src/main/ruby/test/helpers/.keep +0 -0
  71. data/integration/rails4_test/src/main/ruby/test/helpers/posts_helper_test.rb +4 -0
  72. data/integration/rails4_test/src/main/ruby/test/integration/.keep +0 -0
  73. data/integration/rails4_test/src/main/ruby/test/mailers/.keep +0 -0
  74. data/integration/rails4_test/src/main/ruby/test/models/.keep +0 -0
  75. data/integration/rails4_test/src/main/ruby/test/models/post_test.rb +7 -0
  76. data/integration/rails4_test/src/main/ruby/test/test_helper.rb +15 -0
  77. data/integration/rails4_test/src/main/ruby/vendor/assets/javascripts/.keep +0 -0
  78. data/integration/rails4_test/src/main/ruby/vendor/assets/stylesheets/.keep +0 -0
  79. data/integration/rails4_test/src/test/java/org/jruby/warbler/Rails4AppTestIT.java +37 -0
  80. data/integration/runnable_test/pom.xml +105 -0
  81. data/integration/runnable_test/src/main/ruby/Rakefile +4 -0
  82. data/integration/runnable_test/src/main/ruby/config.ru +1 -0
  83. data/integration/runnable_test/src/main/ruby/config/warble.rb +9 -0
  84. data/integration/runnable_test/src/test/java/org/jruby/warbler/RunnableWarTestIT.java +22 -0
  85. data/integration/simple_rack_test/pom.xml +56 -0
  86. data/integration/simple_rack_test/src/main/ruby/config.ru +1 -0
  87. data/integration/simple_rack_test/src/main/ruby/config/warble.rb +4 -0
  88. data/integration/simple_rack_test/src/test/java/org/jruby/warbler/AppTestIT.java +36 -0
  89. data/lib/warbler.rb +2 -1
  90. data/lib/warbler/application.rb +5 -1
  91. data/lib/warbler/config.rb +15 -2
  92. data/lib/warbler/executable_helper.rb +25 -0
  93. data/lib/warbler/gems.rb +39 -0
  94. data/lib/warbler/jar.rb +11 -25
  95. data/lib/warbler/scripts/rails.rb +11 -0
  96. data/lib/warbler/templates/war.erb +10 -2
  97. data/lib/warbler/traits.rb +5 -2
  98. data/lib/warbler/traits/gemspec.rb +13 -4
  99. data/lib/warbler/traits/nogemspec.rb +2 -1
  100. data/lib/warbler/traits/rails.rb +25 -7
  101. data/lib/warbler/version.rb +1 -1
  102. data/lib/warbler_jar.jar +0 -0
  103. data/spec/sample_jar/bin/another_jar +5 -0
  104. data/spec/spec_helper.rb +2 -2
  105. data/spec/warbler/bundler_spec.rb +18 -33
  106. data/spec/warbler/config_spec.rb +2 -2
  107. data/spec/warbler/jar_spec.rb +176 -40
  108. data/warble.rb +9 -2
  109. data/warbler.gemspec +2 -2
  110. metadata +175 -9
data/.gitignore CHANGED
@@ -10,3 +10,4 @@ warbler.iml
10
10
  warbler.iws
11
11
  warbler.ipr
12
12
  warbler-*.gem
13
+ log
data/.travis.yml CHANGED
@@ -23,3 +23,6 @@ notifications:
23
23
  on_failure: always
24
24
  template:
25
25
  - "%{repository} (%{branch}:%{commit} by %{author}): %{message} (%{build_url})"
26
+ before_install:
27
+ - git fetch --unshallow
28
+ - gem install bundler --pre
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "http://rubygems.org/"
3
3
  gem 'rake', ">= 0.9.6"
4
4
  gem 'jruby-jars', ">= 1.5.6"
5
5
  gem 'jruby-rack', ">= 1.0.0"
6
- gem 'rubyzip', ">= 0.9.8"
6
+ gem 'rubyzip', "~> 0.9"
7
7
 
8
8
  group :development do
9
9
  gem "jruby-openssl", :platform => :jruby
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.was --1.9 -S rake db:migrate`
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
- executable = argsList.get(sIndex + 1);
96
+ String execArg = argsList.get(sIndex + 1);
97
97
  executableArgv = argsList.subList(sIndex + 2, argsList.size()).toArray(new String[0]);
98
98
 
99
- if (executable.equals("bundle") && executableArgv.length > 0 && executableArgv[0].equals("exec")) {
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
- invokeMethod(scriptingContainer, "runScriptlet", "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/1.9/site_ruby\"");
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
- byte[] contents = str.getByteList().getUnsafeBytes();
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>
@@ -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
+