Repository: buildr Updated Branches: refs/heads/master 13a57a857 -> 0916a14b2
BUILDR-723: JavaTestFilter is unable to parse paths containing %2F Project: http://git-wip-us.apache.org/repos/asf/buildr/repo Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/0916a14b Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/0916a14b Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/0916a14b Branch: refs/heads/master Commit: 0916a14b23ce2e79d20f2d31d7e70f67d4073761 Parents: 13a57a8 Author: Antoine Toulme <anto...@lunar-ocean.com> Authored: Fri Sep 16 22:32:36 2016 -0700 Committer: Antoine Toulme <anto...@lunar-ocean.com> Committed: Fri Sep 16 22:32:36 2016 -0700 ---------------------------------------------------------------------- CHANGELOG | 1 + .../java/org/apache/buildr/JavaTestFilter.class | Bin 3552 -> 3941 bytes .../java/org/apache/buildr/JavaTestFilter.java | 2 +- spec/java/tests_spec.rb | 15 +++++++++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/buildr/blob/0916a14b/CHANGELOG ---------------------------------------------------------------------- diff --git a/CHANGELOG b/CHANGELOG index fc1e2a6..5ee7723 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -47,6 +47,7 @@ * Fixed: BUILDR-620 resources.filter should not run on non-text files * Fixed: BUILDR-489 Java + Scala joint compiler fails if default encoding and source file encoding are not same and special characters have been used in source code * Fixed: BUILDR-486 Buildr-generated poms should include dependencies +* Fixed: BUILDR-723 JavaTestFilter is unable to parse paths containing %2F * Change: Update the custom_pom addon to generate poms with exclusions section that excludes all transitive dependencies. This is required as buildr dependencies are not transitive while Maven's dependencies are transitive by default. http://git-wip-us.apache.org/repos/asf/buildr/blob/0916a14b/lib/buildr/java/org/apache/buildr/JavaTestFilter.class ---------------------------------------------------------------------- diff --git a/lib/buildr/java/org/apache/buildr/JavaTestFilter.class b/lib/buildr/java/org/apache/buildr/JavaTestFilter.class index 2ed8524..f65575b 100644 Binary files a/lib/buildr/java/org/apache/buildr/JavaTestFilter.class and b/lib/buildr/java/org/apache/buildr/JavaTestFilter.class differ http://git-wip-us.apache.org/repos/asf/buildr/blob/0916a14b/lib/buildr/java/org/apache/buildr/JavaTestFilter.java ---------------------------------------------------------------------- diff --git a/lib/buildr/java/org/apache/buildr/JavaTestFilter.java b/lib/buildr/java/org/apache/buildr/JavaTestFilter.java index 19583c1..db05ffa 100644 --- a/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +++ b/lib/buildr/java/org/apache/buildr/JavaTestFilter.java @@ -41,7 +41,7 @@ public class JavaTestFilter { for (int i = 0 ; i < paths.length ; ++i) { File file = new File(paths[i]).getCanonicalFile(); if (file.exists()) - urls[i] = file.toURL(); + urls[i] = file.toURI().toURL(); else throw new IOException("No file or directory with the name " + file); } http://git-wip-us.apache.org/repos/asf/buildr/blob/0916a14b/spec/java/tests_spec.rb ---------------------------------------------------------------------- diff --git a/spec/java/tests_spec.rb b/spec/java/tests_spec.rb index a6b1648..93fc835 100644 --- a/spec/java/tests_spec.rb +++ b/spec/java/tests_spec.rb @@ -415,6 +415,21 @@ describe Buildr::TestNG do project('foo').test.compile.dependencies.should include(artifact("#{group}:jmock:jar:#{JMock.version}")) project('foo').test.dependencies.should include(artifact("#{group}:jmock:jar:#{JMock.version}")) end + + it 'should parse test classes in paths containing escaped sequences' do + write 'bar%2F/src/test/java/com/example/AnnotatedClass.java', <<-JAVA + package com.example; + @org.testng.annotations.Test + public class AnnotatedClass { } + JAVA + define 'foo' do + define 'bar%2F' do + test.using(:testng) + end + end + project('foo:bar%2F').test.invoke + project('foo:bar%2F').test.tests.should include('com.example.AnnotatedClass') + end it 'should include classes using TestNG annotations' do write 'src/test/java/com/example/AnnotatedClass.java', <<-JAVA