buildr 1.4.16 → 1.4.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +8 -8
  2. data/CHANGELOG +20 -0
  3. data/addon/buildr/bnd.rb +158 -158
  4. data/addon/buildr/checkstyle-report.xsl +87 -0
  5. data/addon/buildr/checkstyle.rb +213 -205
  6. data/addon/buildr/css_lint-report.xsl +83 -0
  7. data/addon/buildr/css_lint.rake +196 -0
  8. data/addon/buildr/custom_pom.rb +282 -0
  9. data/addon/buildr/drb.rb +0 -1
  10. data/addon/buildr/git_auto_version.rb +34 -34
  11. data/addon/buildr/gwt.rb +171 -171
  12. data/addon/buildr/hibernate.rb +8 -8
  13. data/addon/buildr/javancss.rb +155 -155
  14. data/addon/buildr/jaxb_xjc.rb +74 -74
  15. data/addon/buildr/jibx.rb +0 -1
  16. data/addon/buildr/org/apache/buildr/BuildrNail.java +2 -2
  17. data/addon/buildr/org/apache/buildr/JettyWrapper.java +3 -3
  18. data/addon/buildr/package_as_nsis.rb +2 -2
  19. data/addon/buildr/pmd.rb +166 -166
  20. data/addon/buildr/scss_lint-report.xsl +79 -0
  21. data/addon/buildr/scss_lint.rb +199 -0
  22. data/addon/buildr/wsgen.rb +4 -0
  23. data/doc/building.textile +3 -3
  24. data/doc/css/default.css +3 -3
  25. data/doc/css/print.css +1 -1
  26. data/doc/download.textile +18 -7
  27. data/doc/index.textile +8 -1
  28. data/doc/installing.textile +3 -3
  29. data/doc/languages.textile +0 -1
  30. data/doc/mailing_lists.textile +0 -4
  31. data/doc/more_stuff.textile +127 -3
  32. data/doc/preface.textile +1 -1
  33. data/doc/projects.textile +6 -6
  34. data/doc/releasing.textile +0 -1
  35. data/lib/buildr/clojure/shell.rb +0 -1
  36. data/lib/buildr/core/build.rb +16 -16
  37. data/lib/buildr/core/filter.rb +3 -3
  38. data/lib/buildr/core/jrebel.rb +0 -1
  39. data/lib/buildr/core/linux.rb +0 -1
  40. data/lib/buildr/core/run.rb +0 -1
  41. data/lib/buildr/core/shell.rb +0 -1
  42. data/lib/buildr/groovy/doc.rb +0 -1
  43. data/lib/buildr/ide/eclipse.rb +0 -2
  44. data/lib/buildr/ide/idea.rb +44 -8
  45. data/lib/buildr/java/bdd.rb +0 -1
  46. data/lib/buildr/java/commands.rb +2 -3
  47. data/lib/buildr/java/jruby.rb +2 -2
  48. data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +5 -5
  49. data/lib/buildr/java/tests.rb +0 -1
  50. data/lib/buildr/packaging/artifact_namespace.rb +0 -2
  51. data/lib/buildr/resources/icons-license.txt +14 -17
  52. data/lib/buildr/scala/bdd.rb +0 -1
  53. data/lib/buildr/scala/compiler.rb +0 -1
  54. data/lib/buildr/scala/org/apache/buildr/Specs2Runner.class +0 -0
  55. data/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +0 -2
  56. data/lib/buildr/version.rb +1 -1
  57. data/rakelib/metrics.rake +3 -3
  58. data/rakelib/release.rake +8 -2
  59. data/spec/addon/bnd_spec.rb +383 -383
  60. data/spec/addon/custom_pom_spec.rb +149 -0
  61. data/spec/addon/drb_spec.rb +0 -1
  62. data/spec/addon/jaxb_xjc_spec.rb +130 -130
  63. data/spec/core/application_spec.rb +0 -1
  64. data/spec/core/build_spec.rb +1 -1
  65. data/spec/core/console_spec.rb +0 -1
  66. data/spec/core/doc_spec.rb +0 -1
  67. data/spec/core/extension_spec.rb +0 -1
  68. data/spec/core/generate_from_eclipse_spec.rb +9 -9
  69. data/spec/core/run_spec.rb +2 -3
  70. data/spec/core/shell_spec.rb +0 -1
  71. data/spec/ide/idea_spec.rb +1979 -1941
  72. data/spec/java/cobertura_spec.rb +6 -6
  73. data/spec/java/commands_spec.rb +11 -11
  74. data/spec/java/compiler_spec.rb +0 -1
  75. data/spec/java/doc_spec.rb +0 -1
  76. data/spec/java/ecj_spec.rb +1 -3
  77. data/spec/java/external_spec.rb +0 -2
  78. data/spec/java/java_spec.rb +3 -3
  79. data/spec/java/run_spec.rb +0 -1
  80. data/spec/java/tests_spec.rb +15 -0
  81. data/spec/xpath_matchers.rb +121 -120
  82. metadata +10 -2
@@ -82,4 +82,3 @@ module Buildr
82
82
  include JiBX
83
83
  end
84
84
  end
85
-
@@ -20,7 +20,7 @@ package org.apache.buildr;
20
20
  import com.martiansoftware.nailgun.NGContext;
21
21
 
22
22
  public interface BuildrNail {
23
-
23
+
24
24
  public void main(NGContext ctx);
25
25
 
26
26
  public static class Main {
@@ -33,7 +33,7 @@ public interface BuildrNail {
33
33
 
34
34
  }
35
35
 
36
- /*
36
+ /*
37
37
  * Local Variables:
38
38
  * indent-tabs-mode: nil
39
39
  * c-basic-offset: 2
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
  package org.apache.buildr;
19
-
19
+
20
20
  import org.mortbay.jetty.Server;
21
21
  import org.mortbay.jetty.Request;
22
22
  import org.mortbay.jetty.Handler;
@@ -82,7 +82,7 @@ public class JettyWrapper {
82
82
  String path = request.getParameter("path");
83
83
  System.out.println("Deploying " + webapp + " in " + path);
84
84
  WebAppContext context;
85
-
85
+
86
86
  context = (WebAppContext) _apps.get(path);
87
87
  if (context != null) {
88
88
  context.stop();
@@ -95,7 +95,7 @@ public class JettyWrapper {
95
95
  "org.mortbay.jetty.webapp.WebInfConfiguration",
96
96
  "org.mortbay.jetty.webapp.WebXmlConfiguration"});
97
97
  context.setClassLoader(new WebAppClassLoader(context));
98
-
98
+
99
99
  _handlerColl.addHandler(context);
100
100
  context.start();
101
101
  _apps.put(path, context);
@@ -27,9 +27,9 @@ module Buildr
27
27
  self.nsis_executable = "makensis"
28
28
  self.nsis_major_version = 3
29
29
  self.values = {}
30
-
30
+
31
31
  super(*args)
32
-
32
+
33
33
  enhance do
34
34
  info "Calling makensis"
35
35
  # We make available one variable to the nsi script:
@@ -1,166 +1,166 @@
1
- # Licensed to the Apache Software Foundation (ASF) under one or more
2
- # contributor license agreements. See the NOTICE file distributed with this
3
- # work for additional information regarding copyright ownership. The ASF
4
- # licenses this file to you under the Apache License, Version 2.0 (the
5
- # "License"); you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
- # License for the specific language governing permissions and limitations under
14
- # the License.
15
-
16
- module Buildr
17
- # Provides the <code>pmd:rule:xml</code>, <code>pmd:rule:html</code>, <code>pmd:cpd:xml</code>
18
- # and <code>pmd:cpd:html</code> tasks.
19
- #
20
- # Require explicitly using <code>require "buildr/pmd"</code>.
21
- module Pmd
22
-
23
- class << self
24
-
25
- # The specs for requirements
26
- def dependencies
27
- [
28
- 'net.sourceforge.pmd:pmd:jar:5.0.5',
29
- 'jaxen:jaxen:jar:1.1.1',
30
- 'asm:asm:jar:3.2'
31
- ]
32
- end
33
-
34
- def pmd(rule_set_files, format, output_file_prefix, source_paths, options = {})
35
- dependencies = (options[:dependencies] || []) + self.dependencies
36
- cp = Buildr.artifacts(dependencies).each(&:invoke).map(&:to_s)
37
- (options[:rule_set_paths] || []).each {|p| cp << p}
38
-
39
- puts "PMD: Analyzing source code..."
40
- mkdir_p File.dirname(output_file_prefix)
41
-
42
- Buildr.ant("pmd-report") do |ant|
43
- ant.taskdef :name=> 'pmd', :classpath => cp.join(';'), :classname => 'net.sourceforge.pmd.ant.PMDTask'
44
- ant.pmd :shortFilenames => true, :rulesetfiles => rule_set_files.join(',') do
45
- ant.formatter :type => format, :toFile => "#{output_file_prefix}.#{format}"
46
- source_paths.each do |src|
47
- ant.fileset :dir=> src, :includes=>'**/*.java'
48
- end
49
- end
50
-
51
- end
52
- end
53
-
54
- def cpd(format, output_file_prefix, source_paths, options = {})
55
- dependencies = (options[:dependencies] || []) + self.dependencies
56
- cp = Buildr.artifacts(dependencies).each(&:invoke).map(&:to_s)
57
- minimum_token_count = options[:minimum_token_count] || 100
58
- encoding = options[:encoding] || 'UTF-8'
59
-
60
- puts "PMD-CPD: Analyzing source code..."
61
- mkdir_p File.dirname(output_file_prefix)
62
-
63
- Buildr.ant("cpd-report") do |ant|
64
- ant.taskdef :name=> 'cpd', :classpath => cp.join(';'), :classname => 'net.sourceforge.pmd.cpd.CPDTask'
65
- ant.cpd :format => format, :minimumTokenCount => minimum_token_count, :encoding => encoding, :outputFile => "#{output_file_prefix}.#{format}" do
66
- source_paths.each do |src|
67
- ant.fileset :dir=> src, :includes=>'**/*.java'
68
- end
69
- end
70
-
71
- end
72
- end
73
- end
74
-
75
- class Config
76
-
77
- attr_writer :enabled
78
-
79
- def enabled?
80
- !!@enabled
81
- end
82
-
83
- attr_writer :rule_set_files
84
-
85
- def rule_set_files
86
- @rule_set_files ||= ['rulesets/java/basic.xml','rulesets/java/imports.xml','rulesets/java/unusedcode.xml']
87
- end
88
-
89
- attr_writer :rule_set_paths
90
-
91
- def rule_set_paths
92
- @rule_set_paths ||= []
93
- end
94
-
95
- attr_writer :report_dir
96
-
97
- def report_dir
98
- @report_dir || project._(:reports, :pmd)
99
- end
100
-
101
- attr_writer :output_file_prefix
102
-
103
- def output_file_prefix
104
- @output_file_prefix || "#{self.report_dir}/pmd"
105
- end
106
-
107
- attr_writer :cpd_output_file_prefix
108
-
109
- def cpd_output_file_prefix
110
- @cpd_output_file_prefix || "#{self.report_dir}/cpd"
111
- end
112
-
113
- def source_paths
114
- @source_paths ||= [self.project.compile.sources, self.project.test.compile.sources]
115
- end
116
-
117
- def flat_source_paths
118
- source_paths.flatten.compact
119
- end
120
-
121
- protected
122
-
123
- def initialize(project)
124
- @project = project
125
- end
126
-
127
- attr_reader :project
128
- end
129
-
130
- module ProjectExtension
131
- include Extension
132
-
133
- def pmd
134
- @pmd ||= Buildr::Pmd::Config.new(project)
135
- end
136
-
137
- after_define do |project|
138
- if project.pmd.enabled?
139
- desc "Generate pmd xml report."
140
- project.task("pmd:rule:xml") do
141
- Buildr::Pmd.pmd(project.pmd.rule_set_files, 'xml', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
142
- end
143
-
144
- desc "Generate pmd html report."
145
- project.task("pmd:rule:html") do
146
- Buildr::Pmd.pmd(project.pmd.rule_set_files, 'html', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
147
- end
148
-
149
- desc "Generate pmd cpd xml report."
150
- project.task("pmd:cpd:xml") do
151
- Buildr::Pmd.cpd('xml', project.pmd.cpd_output_file_prefix, project.pmd.flat_source_paths)
152
- end
153
-
154
- desc "Generate pmd cpd text report."
155
- project.task("pmd:cpd:text") do
156
- Buildr::Pmd.cpd('text', project.pmd.cpd_output_file_prefix, project.pmd.flat_source_paths)
157
- end
158
- end
159
- end
160
- end
161
- end
162
- end
163
-
164
- class Buildr::Project
165
- include Buildr::Pmd::ProjectExtension
166
- end
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with this
3
+ # work for additional information regarding copyright ownership. The ASF
4
+ # licenses this file to you under the Apache License, Version 2.0 (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+
16
+ module Buildr
17
+ # Provides the <code>pmd:rule:xml</code>, <code>pmd:rule:html</code>, <code>pmd:cpd:xml</code>
18
+ # and <code>pmd:cpd:html</code> tasks.
19
+ #
20
+ # Require explicitly using <code>require "buildr/pmd"</code>.
21
+ module Pmd
22
+
23
+ class << self
24
+
25
+ # The specs for requirements
26
+ def dependencies
27
+ [
28
+ 'net.sourceforge.pmd:pmd:jar:5.0.5',
29
+ 'jaxen:jaxen:jar:1.1.1',
30
+ 'asm:asm:jar:3.2'
31
+ ]
32
+ end
33
+
34
+ def pmd(rule_set_files, format, output_file_prefix, source_paths, options = {})
35
+ dependencies = (options[:dependencies] || []) + self.dependencies
36
+ cp = Buildr.artifacts(dependencies).each(&:invoke).map(&:to_s)
37
+ (options[:rule_set_paths] || []).each {|p| cp << p}
38
+
39
+ puts "PMD: Analyzing source code..."
40
+ mkdir_p File.dirname(output_file_prefix)
41
+
42
+ Buildr.ant("pmd-report") do |ant|
43
+ ant.taskdef :name=> 'pmd', :classpath => cp.join(';'), :classname => 'net.sourceforge.pmd.ant.PMDTask'
44
+ ant.pmd :shortFilenames => true, :rulesetfiles => rule_set_files.join(',') do
45
+ ant.formatter :type => format, :toFile => "#{output_file_prefix}.#{format}"
46
+ source_paths.each do |src|
47
+ ant.fileset :dir=> src, :includes=>'**/*.java'
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+
54
+ def cpd(format, output_file_prefix, source_paths, options = {})
55
+ dependencies = (options[:dependencies] || []) + self.dependencies
56
+ cp = Buildr.artifacts(dependencies).each(&:invoke).map(&:to_s)
57
+ minimum_token_count = options[:minimum_token_count] || 100
58
+ encoding = options[:encoding] || 'UTF-8'
59
+
60
+ puts "PMD-CPD: Analyzing source code..."
61
+ mkdir_p File.dirname(output_file_prefix)
62
+
63
+ Buildr.ant("cpd-report") do |ant|
64
+ ant.taskdef :name=> 'cpd', :classpath => cp.join(';'), :classname => 'net.sourceforge.pmd.cpd.CPDTask'
65
+ ant.cpd :format => format, :minimumTokenCount => minimum_token_count, :encoding => encoding, :outputFile => "#{output_file_prefix}.#{format}" do
66
+ source_paths.each do |src|
67
+ ant.fileset :dir=> src, :includes=>'**/*.java'
68
+ end
69
+ end
70
+
71
+ end
72
+ end
73
+ end
74
+
75
+ class Config
76
+
77
+ attr_writer :enabled
78
+
79
+ def enabled?
80
+ !!@enabled
81
+ end
82
+
83
+ attr_writer :rule_set_files
84
+
85
+ def rule_set_files
86
+ @rule_set_files ||= ['rulesets/java/basic.xml','rulesets/java/imports.xml','rulesets/java/unusedcode.xml']
87
+ end
88
+
89
+ attr_writer :rule_set_paths
90
+
91
+ def rule_set_paths
92
+ @rule_set_paths ||= []
93
+ end
94
+
95
+ attr_writer :report_dir
96
+
97
+ def report_dir
98
+ @report_dir || project._(:reports, :pmd)
99
+ end
100
+
101
+ attr_writer :output_file_prefix
102
+
103
+ def output_file_prefix
104
+ @output_file_prefix || "#{self.report_dir}/pmd"
105
+ end
106
+
107
+ attr_writer :cpd_output_file_prefix
108
+
109
+ def cpd_output_file_prefix
110
+ @cpd_output_file_prefix || "#{self.report_dir}/cpd"
111
+ end
112
+
113
+ def source_paths
114
+ @source_paths ||= [self.project.compile.sources, self.project.test.compile.sources]
115
+ end
116
+
117
+ def flat_source_paths
118
+ source_paths.flatten.compact
119
+ end
120
+
121
+ protected
122
+
123
+ def initialize(project)
124
+ @project = project
125
+ end
126
+
127
+ attr_reader :project
128
+ end
129
+
130
+ module ProjectExtension
131
+ include Extension
132
+
133
+ def pmd
134
+ @pmd ||= Buildr::Pmd::Config.new(project)
135
+ end
136
+
137
+ after_define do |project|
138
+ if project.pmd.enabled?
139
+ desc "Generate pmd xml report."
140
+ project.task("pmd:rule:xml") do
141
+ Buildr::Pmd.pmd(project.pmd.rule_set_files, 'xml', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
142
+ end
143
+
144
+ desc "Generate pmd html report."
145
+ project.task("pmd:rule:html") do
146
+ Buildr::Pmd.pmd(project.pmd.rule_set_files, 'html', project.pmd.output_file_prefix, project.pmd.flat_source_paths, :rule_set_paths => project.pmd.rule_set_paths)
147
+ end
148
+
149
+ desc "Generate pmd cpd xml report."
150
+ project.task("pmd:cpd:xml") do
151
+ Buildr::Pmd.cpd('xml', project.pmd.cpd_output_file_prefix, project.pmd.flat_source_paths)
152
+ end
153
+
154
+ desc "Generate pmd cpd text report."
155
+ project.task("pmd:cpd:text") do
156
+ Buildr::Pmd.cpd('text', project.pmd.cpd_output_file_prefix, project.pmd.flat_source_paths)
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
163
+
164
+ class Buildr::Project
165
+ include Buildr::Pmd::ProjectExtension
166
+ end
@@ -0,0 +1,79 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4
+
5
+ <xsl:template match="/">
6
+ <html>
7
+ <head>
8
+ <title>ScssLint Violations</title>
9
+ </head>
10
+ <body bgcolor="#FFFFEF">
11
+ <p>
12
+ <b>Coding Style Check Results</b>
13
+ </p>
14
+ <table border="1" cellspacing="0" cellpadding="2">
15
+ <tr bgcolor="#CC9966">
16
+ <th colspan="2">
17
+ <b>Summary</b>
18
+ </th>
19
+ </tr>
20
+ <tr bgcolor="#F3F3E1">
21
+ <td>Files with errors</td>
22
+ <td>
23
+ <xsl:number level="any" value="count(descendant::file)"/>
24
+ </td>
25
+ </tr>
26
+ <tr bgcolor="#CCF3D0">
27
+ <td>Total errors</td>
28
+ <td>
29
+ <xsl:number level="any" value="count(descendant::issue)"/>
30
+ </td>
31
+ </tr>
32
+ </table>
33
+ <hr align="left" width="95%" size="1"/>
34
+ <p>The following are violations of the ScssLint Rules:</p>
35
+ <p/>
36
+ <xsl:apply-templates/>
37
+ </body>
38
+ </html>
39
+ </xsl:template>
40
+
41
+ <xsl:template match="file[issue]">
42
+ <table bgcolor="#AFFFFF" width="95%" border="1" cellspacing="0" cellpadding="2">
43
+ <tr>
44
+ <th>File:</th>
45
+ <td>
46
+ <xsl:value-of select="@name"/>
47
+ </td>
48
+ </tr>
49
+ </table>
50
+ <table bgcolor="#DFFFFF" width="95%" border="1" cellspacing="0" cellpadding="2">
51
+ <tr>
52
+ <th style="width: 4em; padding: 0; margin: 0;">Line</th>
53
+ <th style="width: 4em; padding: 0; margin: 0;">Column</th>
54
+ <th style="width: 7em; padding: 0; margin: 0;">Severity</th>
55
+ <th>Reason</th>
56
+ </tr>
57
+ <xsl:apply-templates select="issue"/>
58
+ </table>
59
+ <p/>
60
+ </xsl:template>
61
+
62
+ <xsl:template match="issue">
63
+ <tr>
64
+ <td>
65
+ <xsl:value-of select="@line"/>
66
+ </td>
67
+ <td>
68
+ <xsl:value-of select="@column"/>
69
+ </td>
70
+ <td>
71
+ <xsl:value-of select="@severity"/>
72
+ </td>
73
+ <td>
74
+ <xsl:value-of select="@reason"/>
75
+ </td>
76
+ </tr>
77
+ </xsl:template>
78
+
79
+ </xsl:stylesheet>