vraptor-scaffold 0.0.2 → 0.0.3

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 (33) hide show
  1. data/Gemfile +1 -1
  2. data/History.txt +24 -3
  3. data/README.textile +1 -1
  4. data/Rakefile +1 -1
  5. data/VERSION.yml +1 -1
  6. data/lib/generators/app_generator/app_generator.rb +36 -15
  7. data/lib/generators/app_generator/dependency.rb +15 -0
  8. data/lib/generators/app_generator/dependency_manager.rb +57 -0
  9. data/lib/generators/app_generator/freemarker_template_engine.rb +0 -8
  10. data/lib/generators/app_generator/templates/build.gradle.erb +38 -0
  11. data/lib/generators/app_generator/templates/build.xml +2 -1
  12. data/lib/generators/app_generator/templates/eclipse/{classpath → classpath.erb} +3 -3
  13. data/lib/generators/app_generator/templates/{ivy-2.2.0-rc1.jar → ivy-2.2.0.jar} +0 -0
  14. data/lib/generators/app_generator/templates/ivy.erb +12 -20
  15. data/lib/generators/app_generator/templates/pom.erb +30 -97
  16. data/lib/load_paths.rb +2 -0
  17. data/spec/lib/configuration_spec.rb +0 -1
  18. data/spec/lib/generators/app_generator/app_generator_spec.rb +113 -3
  19. data/spec/lib/generators/app_generator/dependency_manager_spec.rb +25 -0
  20. data/spec/lib/generators/app_generator/dependency_spec.rb +14 -0
  21. data/spec/lib/generators/app_generator/freemarker_template_engine_spec.rb +1 -33
  22. data/spec/lib/generators/app_generator/jsp_template_engine_spec.rb +1 -1
  23. data/spec/lib/generators/app_generator/templates/build.gradle +40 -0
  24. data/spec/lib/generators/app_generator/templates/build.properties +1 -1
  25. data/spec/lib/generators/app_generator/templates/build_spring3.gradle +44 -0
  26. data/spec/lib/generators/app_generator/templates/ivy.xml +6 -6
  27. data/spec/lib/generators/app_generator/templates/ivy_spring3.xml +39 -0
  28. data/spec/lib/generators/app_generator/templates/pom.xml +34 -55
  29. data/spec/lib/generators/app_generator/templates/pom_spring3.xml +157 -0
  30. data/vraptor-scaffold.gemspec +25 -16
  31. metadata +25 -16
  32. data/lib/generators/app_generator/templates/freemarker/freemarker-ivy.xml +0 -2
  33. data/lib/generators/app_generator/templates/freemarker/freemarker-pom.xml +0 -6
data/lib/load_paths.rb CHANGED
@@ -8,6 +8,8 @@ require 'yaml'
8
8
  require File.dirname(__FILE__) + '/configuration'
9
9
  require File.dirname(__FILE__) + '/../lib/generators/base'
10
10
  require File.dirname(__FILE__) + '/../lib/generators/app_generator/app_generator'
11
+ require File.dirname(__FILE__) + '/../lib/generators/app_generator/dependency'
12
+ require File.dirname(__FILE__) + '/../lib/generators/app_generator/dependency_manager'
11
13
  require File.dirname(__FILE__) + '/../lib/generators/app_generator/freemarker_template_engine'
12
14
  require File.dirname(__FILE__) + '/../lib/generators/app_generator/jsp_template_engine'
13
15
  require File.dirname(__FILE__) + '/../lib/generators/scaffold_generator/attribute'
@@ -55,6 +55,5 @@ describe Configuration do
55
55
  it "should build test class path with base package" do
56
56
  Configuration.test_class_path("models", "Product.java").should == "src/test/java/br/com/caelum/models/Product.java"
57
57
  end
58
-
59
58
  end
60
59
  end
@@ -2,6 +2,23 @@ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
2
2
 
3
3
  describe AppGenerator do
4
4
 
5
+ context "build maven application with Spring 3" do
6
+ before(:all) do
7
+ @project_path = "src/vraptor-scaffold"
8
+ AppGenerator.new(@project_path, ["-b=mvn", "--spring3=true"]).invoke_all
9
+ end
10
+
11
+ after(:all) do
12
+ FileUtils.remove_dir("src")
13
+ end
14
+
15
+ it "should create pom" do
16
+ source = File.join File.dirname(__FILE__), "templates", "pom_spring3.xml"
17
+ destination = "#{@project_path}/pom.xml"
18
+ exists_and_identical?(source, destination)
19
+ end
20
+ end
21
+
5
22
  context "build new application" do
6
23
  before(:all) do
7
24
  @project_path = "src/vraptor-scaffold"
@@ -25,7 +42,11 @@ describe AppGenerator do
25
42
  it "cannot create ivy.xml" do
26
43
  File.exist?("#{@project_path}/ivy.xml").should be_false
27
44
  end
28
-
45
+
46
+ it "cannot create build.gradle" do
47
+ File.exist?("#{@project_path}/build.gradle").should be_false
48
+ end
49
+
29
50
  it "cannot create eclipse wtp" do
30
51
  File.exist?("#{@project_path}/.classpath").should be_false
31
52
  end
@@ -222,6 +243,24 @@ describe AppGenerator do
222
243
  end
223
244
  end
224
245
 
246
+ context "configuring ant application with spring 3" do
247
+
248
+ before(:all) do
249
+ @project_path = "vraptor-scaffold"
250
+ AppGenerator.new(@project_path, ["-b=ant", "-S=true"]).invoke_all
251
+ end
252
+
253
+ after(:all) do
254
+ FileUtils.remove_dir(@project_path)
255
+ end
256
+
257
+ it "should create ivy.xml" do
258
+ source = File.join File.dirname(__FILE__), "templates", "ivy_spring3.xml"
259
+ destination = "#{@project_path}/ivy.xml"
260
+ exists_and_identical?(source, destination)
261
+ end
262
+ end
263
+
225
264
  context "configuring ant application" do
226
265
 
227
266
  before(:all) do
@@ -260,17 +299,21 @@ describe AppGenerator do
260
299
  File.exist?("#{@project_path}/pom.xml").should be_false
261
300
  end
262
301
 
302
+ it "cannot create build.gradle" do
303
+ File.exist?("#{@project_path}/build.gradle").should be_false
304
+ end
305
+
263
306
  context "eclipse wtp configuration" do
264
307
  it "should create .project" do
265
308
  project = File.join @project_path, ".project"
266
309
  File.exist?(project).should be_true
267
310
  end
268
-
311
+
269
312
  it "should create .classpath" do
270
313
  class_path = File.join @project_path, ".classpath"
271
314
  File.exist?(class_path).should be_true
272
315
  end
273
-
316
+
274
317
  it "should create .settings" do
275
318
  settings = File.join @project_path, ".settings"
276
319
  File.exist?(settings).should be_true
@@ -292,6 +335,50 @@ describe AppGenerator do
292
335
  File.exist?("#{@project_path}/.classpath").should be_false
293
336
  end
294
337
  end
338
+
339
+ context "configuring gradle application with spring 3" do
340
+
341
+ before(:all) do
342
+ @project_path = "vraptor-scaffold"
343
+ AppGenerator.new(@project_path, ["-b=gradle", "-S=true"]).invoke_all
344
+ end
345
+
346
+ after(:all) do
347
+ FileUtils.remove_dir(@project_path)
348
+ end
349
+
350
+ it "should create build.gradle" do
351
+ source = File.join File.dirname(__FILE__), "templates", "build_spring3.gradle"
352
+ destination = "#{@project_path}/build.gradle"
353
+ exists_and_identical?(source, destination)
354
+ end
355
+ end
356
+
357
+ context "configuring gradle application" do
358
+
359
+ before(:all) do
360
+ @project_path = "vraptor-scaffold"
361
+ AppGenerator.new(@project_path, ["-b=gradle"]).invoke_all
362
+ end
363
+
364
+ after(:all) do
365
+ FileUtils.remove_dir(@project_path)
366
+ end
367
+
368
+ it "should create build.gradle" do
369
+ source = File.join File.dirname(__FILE__), "templates", "build.gradle"
370
+ destination = "#{@project_path}/build.gradle"
371
+ exists_and_identical?(source, destination)
372
+ end
373
+
374
+ it "cannot create ivy.xml" do
375
+ File.exist?("#{@project_path}/ivy.xml").should be_false
376
+ end
377
+
378
+ it "cannot create pom.xml" do
379
+ File.exist?("#{@project_path}/pom.xml").should be_false
380
+ end
381
+ end
295
382
 
296
383
  context "valid template engines" do
297
384
  it "jsp should be valid" do
@@ -311,10 +398,33 @@ describe AppGenerator do
311
398
  it "maven should be valid" do
312
399
  AppGenerator::BUILD_TOOLS.include?("mvn").should be_true
313
400
  end
401
+
402
+ it "gradle should be valid" do
403
+ AppGenerator::BUILD_TOOLS.include?("gradle").should be_true
404
+ end
314
405
  end
315
406
 
316
407
  it "should configure banner" do
317
408
  AppGenerator.banner.should == "vraptor new PROJECT_PATH [options]"
318
409
  end
410
+
411
+ context "validate options" do
412
+ before(:each) do
413
+ @project_path = "vraptor-scaffold"
414
+ end
415
+
416
+ after(:each) do
417
+ FileUtils.remove_dir(@project_path)
418
+ end
419
+
420
+ it "should be invalid when build tool is not supported" do
421
+ Kernel.should_receive(:exit)
422
+ AppGenerator.new(@project_path, ["-b=maven"]).invoke_all
423
+ end
319
424
 
425
+ it "should be invalid when template engine is not supported" do
426
+ Kernel.should_receive(:exit)
427
+ AppGenerator.new(@project_path, ["-e=velocity"]).invoke_all
428
+ end
429
+ end
320
430
  end
@@ -0,0 +1,25 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
2
+
3
+ describe DependencyManager do
4
+
5
+ before(:each) do
6
+ others_dependency = mock(Dependency)
7
+ others_dependency.stub!(:exclusions).and_return([])
8
+ Dependency.stub!(:new).and_return(others_dependency)
9
+ @dependency = mock(Dependency)
10
+ end
11
+
12
+ context "compile scope" do
13
+ it "should include freemarker dependency when template is freemarker" do
14
+ options = {:template_engine => "ftl"}
15
+ Dependency.stub!(:new).with("org.freemarker", "freemarker", "2.3.16").and_return(@dependency)
16
+ DependencyManager.new(options).compile_scope.include?(@dependency).should be_true
17
+ end
18
+
19
+ it "should include spring 3 when user asked for that" do
20
+ options = {:spring3 => true}
21
+ Dependency.stub!(:new).with("org.springframework", "spring-web", "3.0.4.RELEASE").and_return(@dependency)
22
+ DependencyManager.new(options).compile_scope.include?(@dependency).should be_true
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
2
+
3
+ describe Dependency do
4
+
5
+ it "should has exclusions" do
6
+ dependency = Dependency.new("org.vraptor", "vraptor3", "3.0.0", [Dependency.new("org.vraptor2", "2.0.0")])
7
+ dependency.has_exclusions?.should be_true
8
+ end
9
+
10
+ it "cannot has exclusions" do
11
+ dependency = Dependency.new("org.vraptor", "vraptor3", "3.0.0")
12
+ dependency.has_exclusions?.should be_false
13
+ end
14
+ end
@@ -57,36 +57,4 @@ describe FreemarkerTemplateEngine do
57
57
  exists_and_identical?(source, destination)
58
58
  end
59
59
  end
60
-
61
- context "with maven" do
62
- before(:all) do
63
- AppGenerator.new(@project_path, ["--template-engine=ftl", "-b=mvn"]).invoke_all
64
- end
65
-
66
- after(:all) do
67
- FileUtils.remove_dir(@project_path)
68
- end
69
-
70
- it "should append freemarker dependency in pom.xml" do
71
- source = File.join FreemarkerTemplateEngine.source_root, "freemarker-pom.xml"
72
- pom = "#{@project_path}/pom.xml"
73
- File.read(pom).should match(File.read(source))
74
- end
75
- end
76
-
77
- context "with ant" do
78
- before(:all) do
79
- AppGenerator.new(@project_path, ["--template-engine=ftl", "-b=ant"]).invoke_all
80
- end
81
-
82
- after(:all) do
83
- FileUtils.remove_dir(@project_path)
84
- end
85
-
86
- it "should append freemarker dependency in ivy.xml" do
87
- source = File.join FreemarkerTemplateEngine.source_root, "freemarker-ivy.xml"
88
- ivy = "#{@project_path}/ivy.xml"
89
- File.read(ivy).should match(File.read(source))
90
- end
91
- end
92
- end
60
+ end
@@ -41,4 +41,4 @@ describe JspTemplateEngine do
41
41
  end
42
42
 
43
43
  end
44
- end
44
+ end
@@ -0,0 +1,40 @@
1
+ repositories {
2
+ mavenCentral()
3
+ }
4
+
5
+ apply plugin: 'java'
6
+ apply plugin: 'war'
7
+ apply plugin: 'jetty'
8
+ apply plugin: 'eclipse'
9
+ apply plugin: 'project-report'
10
+
11
+ sourceCompatibility = 1.6
12
+ targetCompatibility = 1.6
13
+ version = '1.0'
14
+
15
+ sourceSets.main.classesDir = new File('src/main/webapp/WEB-INF/classes')
16
+
17
+ jettyRun.scanIntervalSeconds=3
18
+ jettyRun.contextPath = '/'
19
+ [jettyRunWar,jettyStop]*.stopPort = 8081
20
+ [jettyRunWar,jettyStop]*.stopKey = 'stopKey'
21
+
22
+ dependencies {
23
+ compile group: 'br.com.caelum', name: 'vraptor', version: '3.2.0'
24
+ compile group: 'org.hsqldb', name: 'hsqldb', version: '2.0.0'
25
+ compile group: 'opensymphony', name: 'sitemesh', version: '2.4.2'
26
+ compile group: 'javax.servlet', name: 'jstl', version: '1.2'
27
+ compile group: 'javax.persistence', name: 'persistence-api', version: '1.0'
28
+ compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '3.4.0.GA'
29
+ compile group: 'org.hibernate', name: 'hibernate-core', version: '3.3.2.GA'
30
+ compile group: 'org.hibernate', name: 'hibernate-validator', version: '3.1.0.GA'
31
+ compile group: 'joda-time', name: 'joda-time', version: '1.6'
32
+
33
+ //Provided dependencies
34
+ providedCompile group: 'javax.servlet', name: 'servlet-api', version: '2.5'
35
+
36
+ //Test dependencies
37
+ testCompile group: 'junit', name: 'junit', version: '4.8.2'
38
+ testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.1'
39
+ testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.5'
40
+ }
@@ -13,4 +13,4 @@ resources.dir=src/main/resources
13
13
  test.src.dir=src/test/java
14
14
  test.resources.dir=src/test/resources
15
15
 
16
- ivy.jar.file=ivy-2.2.0-rc1.jar
16
+ ivy.jar.file=ivy-2.2.0.jar
@@ -0,0 +1,44 @@
1
+ repositories {
2
+ mavenCentral()
3
+ }
4
+
5
+ apply plugin: 'java'
6
+ apply plugin: 'war'
7
+ apply plugin: 'jetty'
8
+ apply plugin: 'eclipse'
9
+ apply plugin: 'project-report'
10
+
11
+ sourceCompatibility = 1.6
12
+ targetCompatibility = 1.6
13
+ version = '1.0'
14
+
15
+ sourceSets.main.classesDir = new File('src/main/webapp/WEB-INF/classes')
16
+
17
+ jettyRun.scanIntervalSeconds=3
18
+ jettyRun.contextPath = '/'
19
+ [jettyRunWar,jettyStop]*.stopPort = 8081
20
+ [jettyRunWar,jettyStop]*.stopKey = 'stopKey'
21
+
22
+ dependencies {
23
+ compile group: 'br.com.caelum', name: 'vraptor', version: '3.2.0', {
24
+ exclude group: 'org.springframework', name: 'spring'
25
+ }
26
+ compile group: 'org.springframework', name: 'spring-web', version: '3.0.4.RELEASE'
27
+ compile group: 'com.thoughtworks.xstream', name: 'xstream', version: '1.3.1'
28
+ compile group: 'org.hsqldb', name: 'hsqldb', version: '2.0.0'
29
+ compile group: 'opensymphony', name: 'sitemesh', version: '2.4.2'
30
+ compile group: 'javax.servlet', name: 'jstl', version: '1.2'
31
+ compile group: 'javax.persistence', name: 'persistence-api', version: '1.0'
32
+ compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '3.4.0.GA'
33
+ compile group: 'org.hibernate', name: 'hibernate-core', version: '3.3.2.GA'
34
+ compile group: 'org.hibernate', name: 'hibernate-validator', version: '3.1.0.GA'
35
+ compile group: 'joda-time', name: 'joda-time', version: '1.6'
36
+
37
+ //Provided dependencies
38
+ providedCompile group: 'javax.servlet', name: 'servlet-api', version: '2.5'
39
+
40
+ //Test dependencies
41
+ testCompile group: 'junit', name: 'junit', version: '4.8.2'
42
+ testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.1'
43
+ testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.5'
44
+ }
@@ -9,8 +9,8 @@
9
9
  </configurations>
10
10
 
11
11
  <dependencies>
12
- <dependency org="hsqldb" name="hsqldb" rev="1.8.0.10" conf="default" />
13
12
  <dependency org="br.com.caelum" name="vraptor" rev="3.2.0" conf="default" />
13
+ <dependency org="org.hsqldb" name="hsqldb" rev="2.0.0" conf="default" />
14
14
  <dependency org="opensymphony" name="sitemesh" rev="2.4.2" conf="default" />
15
15
  <dependency org="javax.servlet" name="jstl" rev="1.2" conf="default" />
16
16
  <dependency org="javax.persistence" name="persistence-api" rev="1.0" conf="default" />
@@ -23,13 +23,13 @@
23
23
  <dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="provided->default" />
24
24
 
25
25
  <!-- Test dependencies -->
26
- <dependency org="junit" name="junit" rev="4.8.1" conf="test->default" />
26
+ <dependency org="junit" name="junit" rev="4.8.2" conf="test->default" />
27
27
  <dependency org="org.hamcrest" name="hamcrest-all" rev="1.1" conf="test->default" />
28
28
  <dependency org="org.mockito" name="mockito-all" rev="1.8.5" conf="test->default" />
29
29
 
30
- <!-- Ant dependencies -->
31
- <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.14" conf="jetty->default"/>
32
- <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.14" conf="jetty->default"/>
33
- <dependency org="org.mortbay.jetty" name="jetty-ant" rev="6.1.14" conf="jetty->default" />
30
+ <!-- Jetty dependencies -->
31
+ <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.14" conf="jetty->default" />
32
+ <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.14" conf="jetty->default" />
33
+ <dependency org="org.mortbay.jetty" name="jetty-ant" rev="6.1.14" conf="jetty->default" />
34
34
  </dependencies>
35
35
  </ivy-module>
@@ -0,0 +1,39 @@
1
+ <ivy-module version="2.0">
2
+ <info organisation="vraptor-scaffold" module="vraptor-scaffold" />
3
+
4
+ <configurations>
5
+ <conf name="default" description="dependencies used for compile" />
6
+ <conf name="test" description="dependencies used for tests" visibility="public" />
7
+ <conf name="jetty" description="dependencies used for jetty" visibility="public" />
8
+ <conf name="provided" description="dependencies used for compile but is not packaged" visibility="public" />
9
+ </configurations>
10
+
11
+ <dependencies>
12
+ <dependency org="br.com.caelum" name="vraptor" rev="3.2.0" conf="default">
13
+ <exclude org="org.springframework" name="spring" />
14
+ </dependency>
15
+ <dependency org="org.springframework" name="spring-web" rev="3.0.4.RELEASE" conf="default" />
16
+ <dependency org="com.thoughtworks.xstream" name="xstream" rev="1.3.1" conf="default" />
17
+ <dependency org="org.hsqldb" name="hsqldb" rev="2.0.0" conf="default" />
18
+ <dependency org="opensymphony" name="sitemesh" rev="2.4.2" conf="default" />
19
+ <dependency org="javax.servlet" name="jstl" rev="1.2" conf="default" />
20
+ <dependency org="javax.persistence" name="persistence-api" rev="1.0" conf="default" />
21
+ <dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.4.0.GA" conf="default" />
22
+ <dependency org="org.hibernate" name="hibernate-core" rev="3.3.2.GA" conf="default" />
23
+ <dependency org="org.hibernate" name="hibernate-validator" rev="3.1.0.GA" conf="default" />
24
+ <dependency org="joda-time" name="joda-time" rev="1.6" conf="default" />
25
+
26
+ <!-- Provided dependencies -->
27
+ <dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="provided->default" />
28
+
29
+ <!-- Test dependencies -->
30
+ <dependency org="junit" name="junit" rev="4.8.2" conf="test->default" />
31
+ <dependency org="org.hamcrest" name="hamcrest-all" rev="1.1" conf="test->default" />
32
+ <dependency org="org.mockito" name="mockito-all" rev="1.8.5" conf="test->default" />
33
+
34
+ <!-- Jetty dependencies -->
35
+ <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.14" conf="jetty->default" />
36
+ <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.14" conf="jetty->default" />
37
+ <dependency org="org.mortbay.jetty" name="jetty-ant" rev="6.1.14" conf="jetty->default" />
38
+ </dependencies>
39
+ </ivy-module>
@@ -6,17 +6,17 @@
6
6
  <packaging>war</packaging>
7
7
  <version>0.0.1-SNAPSHOT</version>
8
8
  <name>vraptor-scaffold</name>
9
-
9
+
10
10
  <properties>
11
11
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12
12
  </properties>
13
-
13
+
14
14
  <build>
15
- <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>
15
+ <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>
16
16
  <plugins>
17
17
  <plugin>
18
18
  <artifactId>maven-compiler-plugin</artifactId>
19
- <version>2.0.2</version>
19
+ <version>2.3.2</version>
20
20
  <configuration>
21
21
  <source>1.6</source>
22
22
  <target>1.6</target>
@@ -32,10 +32,10 @@
32
32
  <wtpversion>2.0</wtpversion>
33
33
  </configuration>
34
34
  </plugin>
35
- <plugin>
35
+ <plugin>
36
36
  <groupId>org.apache.maven.plugins</groupId>
37
37
  <artifactId>maven-war-plugin</artifactId>
38
- <version>2.0</version>
38
+ <version>2.1</version>
39
39
  </plugin>
40
40
  <plugin>
41
41
  <groupId>org.mortbay.jetty</groupId>
@@ -54,34 +54,16 @@
54
54
  </build>
55
55
 
56
56
  <dependencies>
57
- <dependency>
58
- <groupId>junit</groupId>
59
- <artifactId>junit</artifactId>
60
- <version>4.8.1</version>
61
- <scope>test</scope>
62
- </dependency>
63
- <dependency>
64
- <groupId>org.hamcrest</groupId>
65
- <artifactId>hamcrest-all</artifactId>
66
- <version>1.1</version>
67
- <scope>test</scope>
68
- </dependency>
69
- <dependency>
70
- <groupId>org.mockito</groupId>
71
- <artifactId>mockito-all</artifactId>
72
- <version>1.8.5</version>
73
- <scope>test</scope>
74
- </dependency>
75
- <dependency>
76
- <groupId>hsqldb</groupId>
77
- <artifactId>hsqldb</artifactId>
78
- <version>1.8.0.10</version>
79
- </dependency>
80
57
  <dependency>
81
58
  <groupId>br.com.caelum</groupId>
82
59
  <artifactId>vraptor</artifactId>
83
60
  <version>3.2.0</version>
84
61
  </dependency>
62
+ <dependency>
63
+ <groupId>org.hsqldb</groupId>
64
+ <artifactId>hsqldb</artifactId>
65
+ <version>2.0.0</version>
66
+ </dependency>
85
67
  <dependency>
86
68
  <groupId>opensymphony</groupId>
87
69
  <artifactId>sitemesh</artifactId>
@@ -101,48 +83,44 @@
101
83
  <groupId>org.hibernate</groupId>
102
84
  <artifactId>hibernate-entitymanager</artifactId>
103
85
  <version>3.4.0.GA</version>
104
- <exclusions>
105
- <exclusion>
106
- <artifactId>slf4j-api</artifactId>
107
- <groupId>org.slf4j</groupId>
108
- </exclusion>
109
- <exclusion>
110
- <artifactId>org.hibernate</artifactId>
111
- <groupId>hibernate-core</groupId>
112
- </exclusion>
113
- </exclusions>
114
86
  </dependency>
115
87
  <dependency>
116
88
  <groupId>org.hibernate</groupId>
117
89
  <artifactId>hibernate-core</artifactId>
118
90
  <version>3.3.2.GA</version>
119
- <exclusions>
120
- <exclusion>
121
- <artifactId>slf4j-api</artifactId>
122
- <groupId>org.slf4j</groupId>
123
- </exclusion>
124
- </exclusions>
125
91
  </dependency>
126
92
  <dependency>
127
93
  <groupId>org.hibernate</groupId>
128
94
  <artifactId>hibernate-validator</artifactId>
129
95
  <version>3.1.0.GA</version>
130
- <exclusions>
131
- <exclusion>
132
- <artifactId>slf4j-api</artifactId>
133
- <groupId>org.slf4j</groupId>
134
- </exclusion>
135
- <exclusion>
136
- <artifactId>org.hibernate</artifactId>
137
- <groupId>hibernate-core</groupId>
138
- </exclusion>
139
- </exclusions>
140
96
  </dependency>
141
97
  <dependency>
142
98
  <groupId>joda-time</groupId>
143
99
  <artifactId>joda-time</artifactId>
144
100
  <version>1.6</version>
145
101
  </dependency>
102
+
103
+ <!-- Test dependencies -->
104
+ <dependency>
105
+ <groupId>junit</groupId>
106
+ <artifactId>junit</artifactId>
107
+ <version>4.8.2</version>
108
+ <scope>test</scope>
109
+ </dependency>
110
+ <dependency>
111
+ <groupId>org.hamcrest</groupId>
112
+ <artifactId>hamcrest-all</artifactId>
113
+ <version>1.1</version>
114
+ <scope>test</scope>
115
+ </dependency>
116
+ <dependency>
117
+ <groupId>org.mockito</groupId>
118
+ <artifactId>mockito-all</artifactId>
119
+ <version>1.8.5</version>
120
+ <scope>test</scope>
121
+ </dependency>
122
+
123
+ <!-- Provided dependencies -->
146
124
  <dependency>
147
125
  <groupId>javax.servlet</groupId>
148
126
  <artifactId>servlet-api</artifactId>
@@ -156,6 +134,7 @@
156
134
  <plugin>
157
135
  <groupId>org.codehaus.mojo</groupId>
158
136
  <artifactId>cobertura-maven-plugin</artifactId>
137
+ <version>2.4</version>
159
138
  </plugin>
160
139
  </plugins>
161
140
  </reporting>