vraptor-scaffold 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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/Gemfile CHANGED
@@ -12,6 +12,6 @@ end
12
12
 
13
13
  group :test do
14
14
  gem "ZenTest", ">=4.3.3"
15
- gem "rspec", ">=1.3.0", :require => "spec"
15
+ gem "rspec", "1.3.1", :require => "spec"
16
16
  gem "rcov", ">=0.9.8"
17
17
  end
data/History.txt CHANGED
@@ -1,14 +1,35 @@
1
- === ?.?.?.?? / 2010-??-??
1
+ === 0.0.3 / 2010-11-04
2
+
3
+ == New Features
4
+ * works with gradle
5
+ * works with spring 3
6
+
7
+ == Improvements
8
+ * bumped ivy version to 2.2.0
9
+ * updated maven plugins
10
+ * validate users action when create app
11
+ * update hsqldb
12
+ * update junit
13
+ * better build.xml
14
+
15
+ === 0.0.2 / 2010-10-08
16
+
17
+ == Improvements
18
+ * bumped vraptor version to 3.2.0
19
+
20
+ === 0.0.1 / 2010-10-05
2
21
 
3
22
  == New Features
4
23
  * jsp support
5
24
  * base package
6
- * ant + ivy
25
+ * works with ant + ivy
26
+ * help command
7
27
 
8
28
  == Improvements
9
29
  * Better use of Generics.
30
+ * Update Hibernate
10
31
 
11
- === 0.0.1.rc / 2010-08-23
32
+ === 0.0.1.rc / 2010-08-24
12
33
 
13
34
  == New Features
14
35
  * Added Hamcrest 1.1
data/README.textile CHANGED
@@ -1,7 +1,7 @@
1
1
  h1. Documentation
2
2
 
3
3
  Vraptor Scaffold website can be found at "http://vraptor.org":http://vraptor.org
4
- RDocs can be found at "http://rdoc.info":http://rdoc.info/github/caelum/vraptor-scaffold
4
+ RDocs can be found at "http://rdoc.info":http://rubydoc.info/gems/vraptor-scaffold
5
5
 
6
6
  h1. Installation
7
7
 
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ begin
13
13
  gem.add_dependency "thor", ">=0.14.3"
14
14
  gem.add_dependency "rake", ">=0.8.7"
15
15
  gem.add_dependency "activesupport", ">=3.0.0"
16
- gem.post_install_message = "Thank you for installing vraptor-scaffold. Please read http://github.com/caelum/vraptor-scaffold/blob/master/README.rdoc for more information."
16
+ gem.post_install_message = "Thank you for installing vraptor-scaffold. Please read http://github.com/caelum/vraptor-scaffold/blob/master/README.textile for more information."
17
17
  end
18
18
  Jeweler::GemcutterTasks.new
19
19
  rescue LoadError
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :minor: 0
3
- :patch: 2
3
+ :patch: 3
4
4
  :build:
5
5
  :major: 0
@@ -1,8 +1,8 @@
1
1
  class AppGenerator < VraptorScaffold::Base
2
2
 
3
3
  TEMPLATE_ENGINES = %w( jsp ftl )
4
- BUILD_TOOLS = %w( ant mvn )
5
- IVY_JAR = "ivy-2.2.0-rc1.jar"
4
+ BUILD_TOOLS = %w( ant mvn gradle )
5
+ IVY_JAR = "ivy-2.2.0.jar"
6
6
 
7
7
  argument :project_path
8
8
 
@@ -18,6 +18,9 @@ class AppGenerator < VraptorScaffold::Base
18
18
  class_option :skip_eclipse, :type => :boolean, :aliases => "-E",
19
19
  :desc => "Skip Eclipse files"
20
20
 
21
+ class_option :spring3, :aliases => "-S", :type => :boolean,
22
+ :desc => "Use spring 3 instead of spring 2.5"
23
+
21
24
  def self.source_root
22
25
  File.join File.dirname(__FILE__), "templates"
23
26
  end
@@ -28,17 +31,32 @@ class AppGenerator < VraptorScaffold::Base
28
31
 
29
32
  def initialize(args, opts=[])
30
33
  super([args], opts)
34
+ validate
31
35
  self.destination_root=(project_path)
32
36
  @project_name = project_path.split("/").last
37
+ @dependency_manager = DependencyManager.new(options)
33
38
  end
34
39
 
35
40
  def create_root_folder
36
41
  empty_directory "."
37
42
  end
38
43
 
39
- def configure_build_tool
44
+ def configure_maven
40
45
  template("pom.erb", "pom.xml") if options[:build_tool] == "mvn"
41
- configure_ant if options[:build_tool] == "ant"
46
+ end
47
+
48
+ def configure_ant
49
+ if options[:build_tool] == "ant"
50
+ create_eclipse_files unless options[:skip_eclipse]
51
+ copy_file("build.xml")
52
+ template("build.properties.erb", "build.properties")
53
+ template("ivy.erb", "ivy.xml")
54
+ copy_file(IVY_JAR)
55
+ end
56
+ end
57
+
58
+ def configure_gradle
59
+ template("build.gradle.erb", "build.gradle") if options[:build_tool] == "gradle"
42
60
  end
43
61
 
44
62
  def create_main_java
@@ -57,7 +75,7 @@ class AppGenerator < VraptorScaffold::Base
57
75
  def configure_template_engine
58
76
  template("vraptor-scaffold.erb", Configuration::FILENAME)
59
77
  templates = {"jsp" => JspTemplateEngine, "ftl" => FreemarkerTemplateEngine}
60
- templates[options[:template_engine]].new(project_path).configure
78
+ templates[options[:template_engine]].new(project_path).configure if templates[options[:template_engine]]
61
79
  end
62
80
 
63
81
  def create_test
@@ -67,17 +85,20 @@ class AppGenerator < VraptorScaffold::Base
67
85
  end
68
86
 
69
87
  private
70
- def configure_ant
71
- copy_file("build.xml")
72
- template("build.properties.erb", "build.properties")
73
- template("ivy.erb", "ivy.xml")
74
- copy_file(IVY_JAR)
75
- create_eclipse_wtp unless options[:skip_eclipse]
76
- end
77
-
78
- def create_eclipse_wtp
88
+ def create_eclipse_files
79
89
  template("eclipse/project.erb", ".project")
80
- copy_file("eclipse/classpath", ".classpath")
90
+ template("eclipse/classpath.erb", ".classpath")
81
91
  directory("eclipse/settings", ".settings")
82
92
  end
93
+
94
+ def validate
95
+ unless BUILD_TOOLS.include? options[:build_tool]
96
+ puts "Build tool #{options[:build_tool]} is not supported. The supported build tools are: #{BUILD_TOOLS.join(", ")}"
97
+ Kernel::exit
98
+ end
99
+ unless TEMPLATE_ENGINES.include? options[:template_engine]
100
+ puts "Template engine #{options[:template_engine]} is not supported. The supported template engines are: #{TEMPLATE_ENGINES.join(", ")}"
101
+ Kernel::exit
102
+ end
103
+ end
83
104
  end
@@ -0,0 +1,15 @@
1
+ class Dependency
2
+
3
+ attr_accessor :group, :name, :version, :exclusions
4
+
5
+ def initialize group, name, version=nil, exclusions=[]
6
+ @group = group
7
+ @name = name
8
+ @version = version
9
+ @exclusions = exclusions
10
+ end
11
+
12
+ def has_exclusions?
13
+ !@exclusions.empty?
14
+ end
15
+ end
@@ -0,0 +1,57 @@
1
+ class DependencyManager
2
+
3
+ attr_accessor :options
4
+
5
+ def initialize(options)
6
+ @options = options
7
+ end
8
+
9
+ def compile_scope
10
+ dependencies = vraptor_dependencies + default_dependencies
11
+ append_freemarker_dependency_if_necessary dependencies
12
+ dependencies
13
+ end
14
+
15
+ def test_scope
16
+ [Dependency.new("junit", "junit", "4.8.2"),
17
+ Dependency.new("org.hamcrest", "hamcrest-all", "1.1"),
18
+ Dependency.new("org.mockito", "mockito-all", "1.8.5")]
19
+ end
20
+
21
+ def provided_scope
22
+ [Dependency.new("javax.servlet", "servlet-api", "2.5")]
23
+ end
24
+
25
+ private
26
+ def default_dependencies
27
+ [ Dependency.new("org.hsqldb", "hsqldb", "2.0.0"),
28
+ Dependency.new("opensymphony", "sitemesh", "2.4.2"), Dependency.new("javax.servlet", "jstl", "1.2"),
29
+ Dependency.new("javax.persistence", "persistence-api", "1.0"),
30
+ Dependency.new("org.hibernate", "hibernate-entitymanager", "3.4.0.GA"),
31
+ Dependency.new("org.hibernate", "hibernate-core", "3.3.2.GA"),
32
+ Dependency.new("org.hibernate", "hibernate-validator", "3.1.0.GA"),
33
+ Dependency.new("joda-time", "joda-time", "1.6")]
34
+ end
35
+
36
+ def vraptor_dependencies
37
+ vraptor_dependency = Dependency.new("br.com.caelum", "vraptor", "3.2.0")
38
+ append_spring_dependency_if_necessary vraptor_dependency
39
+ end
40
+
41
+ def spring3_dependencies
42
+ [Dependency.new("org.springframework", "spring-web", "3.0.4.RELEASE"),
43
+ Dependency.new("com.thoughtworks.xstream", "xstream", "1.3.1")]
44
+ end
45
+
46
+ def append_freemarker_dependency_if_necessary dependencies
47
+ dependencies << Dependency.new("org.freemarker", "freemarker", "2.3.16") if @options[:template_engine] == 'ftl'
48
+ end
49
+
50
+ def append_spring_dependency_if_necessary vraptor_dependency
51
+ if options[:spring3]
52
+ vraptor_dependency.exclusions << Dependency.new("org.springframework", "spring")
53
+ return [vraptor_dependency] + spring3_dependencies
54
+ end
55
+ [vraptor_dependency]
56
+ end
57
+ end
@@ -16,7 +16,6 @@ class FreemarkerTemplateEngine < VraptorScaffold::Base
16
16
  copy_file("main.ftl", File.join(Configuration::WEB_INF, "decorators", "main.ftl"))
17
17
  directory("infrastructure", infra_path)
18
18
  empty_directory File.join(Configuration::WEB_INF, "views")
19
- append_freemarker_dependencies
20
19
  append_freemarker_servlet
21
20
  end
22
21
 
@@ -40,11 +39,4 @@ class FreemarkerTemplateEngine < VraptorScaffold::Base
40
39
  File.join Configuration::MAIN_SRC, package.gsub(".", File::Separator), "infrastructure"
41
40
  end
42
41
 
43
- def append_freemarker_dependencies
44
- file = "pom.xml" if File.exist?("#{@project_path}/pom.xml")
45
- file = "ivy.xml" if File.exist?("#{@project_path}/ivy.xml")
46
- template = File.join FreemarkerTemplateEngine.source_root, "freemarker-#{file}"
47
- inject_into_file(file, File.read(template), :after => "<dependencies>", :verbose => false)
48
- end
49
-
50
42
  end
@@ -0,0 +1,38 @@
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('<%= Configuration::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
+ <% @dependency_manager.compile_scope.each do |dependency| -%>
24
+ compile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'<% if dependency.has_exclusions? %>, {<% dependency.exclusions.each do |exclusion| %>
25
+ exclude group: '<%= exclusion.group %>', name: '<%= exclusion.name %>'<% end %>
26
+ }<% end %>
27
+ <% end -%>
28
+
29
+ //Provided dependencies
30
+ <% @dependency_manager.provided_scope.each do |dependency| -%>
31
+ providedCompile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'
32
+ <% end -%>
33
+
34
+ //Test dependencies
35
+ <% @dependency_manager.test_scope.each do |dependency| -%>
36
+ testCompile group: '<%= dependency.group %>', name: '<%= dependency.name %>', version: '<%= dependency.version %>'
37
+ <% end -%>
38
+ }
@@ -10,8 +10,8 @@
10
10
  <path id="test.path.id">
11
11
  <fileset dir="lib/test" />
12
12
  <path refid="lib.path.id" />
13
- <pathelement location="${build.dir}" />
14
13
  <pathelement location="${test.build.dir}" />
14
+ <pathelement location="${build.dir}" />
15
15
  </path>
16
16
 
17
17
  <!-- =================================
@@ -71,6 +71,7 @@
71
71
  <include name="**/*Test.java" />
72
72
  </fileset>
73
73
  </batchtest>
74
+ <formatter type="brief" usefile="false" />
74
75
  <formatter type="xml" />
75
76
  <classpath refid="test.path.id" />
76
77
  </junit>
@@ -17,7 +17,7 @@
17
17
  </classpathentry>
18
18
  <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
19
19
  <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
20
- <classpathentry kind="lib" path="lib/test/hamcrest-all-1.1.jar"/>
21
- <classpathentry kind="lib" path="lib/test/junit-4.8.1.jar"/>
22
- <classpathentry kind="lib" path="lib/test/mockito-all-1.8.5.jar"/>
20
+ <% @dependency_manager.test_scope.each do |dependency| %>
21
+ <classpathentry kind="lib" path="lib/test/<%= "#{dependency.name}-#{dependency.version}.jar" %>"/>
22
+ <% end -%>
23
23
  </classpath>
@@ -8,28 +8,20 @@
8
8
  <conf name="provided" description="dependencies used for compile but is not packaged" visibility="public" />
9
9
  </configurations>
10
10
 
11
- <dependencies>
12
- <dependency org="hsqldb" name="hsqldb" rev="1.8.0.10" conf="default" />
13
- <dependency org="br.com.caelum" name="vraptor" rev="3.2.0" conf="default" />
14
- <dependency org="opensymphony" name="sitemesh" rev="2.4.2" conf="default" />
15
- <dependency org="javax.servlet" name="jstl" rev="1.2" conf="default" />
16
- <dependency org="javax.persistence" name="persistence-api" rev="1.0" conf="default" />
17
- <dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.4.0.GA" conf="default" />
18
- <dependency org="org.hibernate" name="hibernate-core" rev="3.3.2.GA" conf="default" />
19
- <dependency org="org.hibernate" name="hibernate-validator" rev="3.1.0.GA" conf="default" />
20
- <dependency org="joda-time" name="joda-time" rev="1.6" conf="default" />
11
+ <dependencies><% @dependency_manager.compile_scope.each do |dependency| -%>
12
+ <dependency org="<%= dependency.group %>" name="<%= dependency.name %>" rev="<%= dependency.version %>" conf="default"<% if dependency.has_exclusions? %>><% dependency.exclusions.each do |exclusion| %>
13
+ <exclude org="<%= exclusion.group %>" name="<%= exclusion.name %>" />
14
+ </dependency><% end %><% else %> /><% end %><% end %>
21
15
 
22
- <!-- Provided dependencies -->
23
- <dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="provided->default" />
16
+ <!-- Provided dependencies --><% @dependency_manager.provided_scope.each do |dependency| -%>
17
+ <dependency org="<%= dependency.group %>" name="<%= dependency.name %>" rev="<%= dependency.version %>" conf="provided->default" /><% end -%>
24
18
 
25
- <!-- Test dependencies -->
26
- <dependency org="junit" name="junit" rev="4.8.1" conf="test->default" />
27
- <dependency org="org.hamcrest" name="hamcrest-all" rev="1.1" conf="test->default" />
28
- <dependency org="org.mockito" name="mockito-all" rev="1.8.5" conf="test->default" />
19
+ <!-- Test dependencies --><% @dependency_manager.test_scope.each do |dependency| -%>
20
+ <dependency org="<%= dependency.group %>" name="<%= dependency.name %>" rev="<%= dependency.version %>" conf="test->default" /><% end -%>
29
21
 
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" />
22
+ <!-- Jetty dependencies -->
23
+ <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.14" conf="jetty->default" />
24
+ <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.14" conf="jetty->default" />
25
+ <dependency org="org.mortbay.jetty" name="jetty-ant" rev="6.1.14" conf="jetty->default" />
34
26
  </dependencies>
35
27
  </ivy-module>
@@ -6,17 +6,17 @@
6
6
  <packaging>war</packaging>
7
7
  <version>0.0.1-SNAPSHOT</version>
8
8
  <name><%= @project_name %></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}/<%= Configuration::WEB_INF %>/classes</outputDirectory>
15
+ <outputDirectory>${basedir}/<%= Configuration::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>
@@ -53,102 +53,34 @@
53
53
  </plugins>
54
54
  </build>
55
55
 
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
- <dependency>
81
- <groupId>br.com.caelum</groupId>
82
- <artifactId>vraptor</artifactId>
83
- <version>3.2.0</version>
84
- </dependency>
85
- <dependency>
86
- <groupId>opensymphony</groupId>
87
- <artifactId>sitemesh</artifactId>
88
- <version>2.4.2</version>
89
- </dependency>
56
+ <dependencies><% @dependency_manager.compile_scope.each do |dependency| %>
90
57
  <dependency>
91
- <groupId>javax.servlet</groupId>
92
- <artifactId>jstl</artifactId>
93
- <version>1.2</version>
94
- </dependency>
95
- <dependency>
96
- <groupId>javax.persistence</groupId>
97
- <artifactId>persistence-api</artifactId>
98
- <version>1.0</version>
99
- </dependency>
100
- <dependency>
101
- <groupId>org.hibernate</groupId>
102
- <artifactId>hibernate-entitymanager</artifactId>
103
- <version>3.4.0.GA</version>
104
- <exclusions>
105
- <exclusion>
106
- <artifactId>slf4j-api</artifactId>
107
- <groupId>org.slf4j</groupId>
108
- </exclusion>
58
+ <groupId><%= dependency.group %></groupId>
59
+ <artifactId><%= dependency.name %></artifactId>
60
+ <version><%= dependency.version %></version><% if dependency.has_exclusions? %>
61
+ <exclusions><% dependency.exclusions.each do |exclusion| %>
109
62
  <exclusion>
110
- <artifactId>org.hibernate</artifactId>
111
- <groupId>hibernate-core</groupId>
112
- </exclusion>
113
- </exclusions>
114
- </dependency>
115
- <dependency>
116
- <groupId>org.hibernate</groupId>
117
- <artifactId>hibernate-core</artifactId>
118
- <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
- </dependency>
126
- <dependency>
127
- <groupId>org.hibernate</groupId>
128
- <artifactId>hibernate-validator</artifactId>
129
- <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
- </dependency>
63
+ <groupId><%= exclusion.group %></groupId>
64
+ <artifactId><%= exclusion.name %></artifactId>
65
+ </exclusion><% end %>
66
+ </exclusions><% end %>
67
+ </dependency><% end %>
68
+
69
+ <!-- Test dependencies --><% @dependency_manager.test_scope.each do |dependency| %>
141
70
  <dependency>
142
- <groupId>joda-time</groupId>
143
- <artifactId>joda-time</artifactId>
144
- <version>1.6</version>
145
- </dependency>
71
+ <groupId><%= dependency.group %></groupId>
72
+ <artifactId><%= dependency.name %></artifactId>
73
+ <version><%= dependency.version %></version>
74
+ <scope>test</scope>
75
+ </dependency><% end %>
76
+
77
+ <!-- Provided dependencies --><% @dependency_manager.provided_scope.each do |dependency| %>
146
78
  <dependency>
147
- <groupId>javax.servlet</groupId>
148
- <artifactId>servlet-api</artifactId>
149
- <version>2.5</version>
79
+ <groupId><%= dependency.group %></groupId>
80
+ <artifactId><%= dependency.name %></artifactId>
81
+ <version><%= dependency.version %></version>
150
82
  <scope>provided</scope>
151
- </dependency>
83
+ </dependency><% end %>
152
84
  </dependencies>
153
85
 
154
86
  <reporting>
@@ -156,6 +88,7 @@
156
88
  <plugin>
157
89
  <groupId>org.codehaus.mojo</groupId>
158
90
  <artifactId>cobertura-maven-plugin</artifactId>
91
+ <version>2.4</version>
159
92
  </plugin>
160
93
  </plugins>
161
94
  </reporting>