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.
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
+