Port to QDox 2.0
- Resolves: rhbz#1166700
This commit is contained in:
parent
dc3392992e
commit
1ff4a50d8f
92
hamcrest-1.3-qdox-2.0.patch
Normal file
92
hamcrest-1.3-qdox-2.0.patch
Normal file
@ -0,0 +1,92 @@
|
||||
diff --git a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
|
||||
index efaf615..338178d 100644
|
||||
--- a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
|
||||
+++ b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.hamcrest.generator;
|
||||
|
||||
-import com.thoughtworks.qdox.JavaDocBuilder;
|
||||
+import com.thoughtworks.qdox.JavaProjectBuilder;
|
||||
import com.thoughtworks.qdox.model.JavaClass;
|
||||
|
||||
import java.io.File;
|
||||
@@ -16,7 +16,7 @@ import java.io.Reader;
|
||||
*/
|
||||
public class QDox {
|
||||
|
||||
- private final JavaDocBuilder javaDocBuilder = new JavaDocBuilder();
|
||||
+ private final JavaProjectBuilder javaDocBuilder = new JavaProjectBuilder();
|
||||
|
||||
public void addSourceTree(File sourceDir) {
|
||||
javaDocBuilder.addSourceTree(sourceDir);
|
||||
diff --git a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
|
||||
index 5108140..ec02f54 100644
|
||||
--- a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
|
||||
+++ b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
|
||||
@@ -4,8 +4,10 @@ import com.thoughtworks.qdox.model.DocletTag;
|
||||
import com.thoughtworks.qdox.model.JavaClass;
|
||||
import com.thoughtworks.qdox.model.JavaMethod;
|
||||
import com.thoughtworks.qdox.model.JavaParameter;
|
||||
-import com.thoughtworks.qdox.model.Type;
|
||||
+import com.thoughtworks.qdox.model.JavaType;
|
||||
+import com.thoughtworks.qdox.model.impl.DefaultJavaType;
|
||||
|
||||
+import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -56,15 +58,15 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
|
||||
JavaMethod methodSource = findMethodInSource(factoryMethod);
|
||||
if (methodSource != null) {
|
||||
factoryMethod.setJavaDoc(createJavaDocComment(methodSource));
|
||||
- JavaParameter[] parametersFromSource
|
||||
+ List<JavaParameter> parametersFromSource
|
||||
= methodSource.getParameters();
|
||||
List<FactoryMethod.Parameter> parametersFromReflection
|
||||
= factoryMethod.getParameters();
|
||||
|
||||
- if (parametersFromReflection.size() == parametersFromSource.length) {
|
||||
- for (int i = 0; i < parametersFromSource.length; i++) {
|
||||
+ if (parametersFromReflection.size() == parametersFromSource.size()) {
|
||||
+ for (int i = 0; i < parametersFromSource.size(); i++) {
|
||||
parametersFromReflection.get(i).setName(
|
||||
- parametersFromSource[i].getName());
|
||||
+ parametersFromSource.get(i).getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,18 +81,18 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
|
||||
// Note, this doesn't always work - it struggles with some kinds of generics.
|
||||
// This seems to cover most cases though.
|
||||
List<FactoryMethod.Parameter> params = factoryMethod.getParameters();
|
||||
- Type[] types = new Type[params.size()];
|
||||
+ List<JavaType> types = new ArrayList<JavaType>(params.size());
|
||||
boolean varArgs = false;
|
||||
- for (int i = 0; i < types.length; i++) {
|
||||
+ for (int i = 0; i < params.size(); i++) {
|
||||
String type = params.get(i).getType();
|
||||
varArgs = VARARGS_REGEX.matcher(type).find();
|
||||
// QDox ignores varargs and generics, so we strip them out to help QDox.
|
||||
type = GENERIC_REGEX.matcher(type).replaceAll("");
|
||||
type = VARARGS_REGEX.matcher(type).replaceAll("");
|
||||
- types[i] = new Type(type);
|
||||
+ types.add(new DefaultJavaType(type));
|
||||
}
|
||||
- JavaMethod[] methods = classSource.getMethodsBySignature(factoryMethod.getName(), types, false, varArgs);
|
||||
- return methods.length == 1 ? methods[0] : null;
|
||||
+ List<JavaMethod> methods = classSource.getMethodsBySignature(factoryMethod.getName(), types, false, varArgs);
|
||||
+ return methods.size() == 1 ? methods.get(0) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,8 +100,8 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
|
||||
*/
|
||||
private static String createJavaDocComment(JavaMethod methodSource) {
|
||||
String comment = methodSource.getComment();
|
||||
- DocletTag[] tags = methodSource.getTags();
|
||||
- if ((comment == null || comment.trim().length() == 0) && tags.length == 0) {
|
||||
+ List<DocletTag> tags = methodSource.getTags();
|
||||
+ if ((comment == null || comment.trim().length() == 0) && tags.size() == 0) {
|
||||
return null;
|
||||
}
|
||||
StringBuilder result = new StringBuilder();
|
@ -42,7 +42,7 @@
|
||||
|
||||
Name: hamcrest
|
||||
Version: 1.3
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
Epoch: 0
|
||||
Summary: Library of matchers for building test expressions
|
||||
License: BSD
|
||||
@ -68,6 +68,7 @@ Source12: hamcrest-generator-MANIFEST.MF
|
||||
Patch0: %{name}-%{version}-build.patch
|
||||
Patch1: %{name}-%{version}-no-jarjar.patch
|
||||
Patch3: %{name}-%{version}-javadoc.patch
|
||||
Patch4: %{name}-%{version}-qdox-2.0.patch
|
||||
|
||||
Requires: java-headless >= 1:1.6.0
|
||||
Requires: qdox
|
||||
@ -79,6 +80,7 @@ BuildRequires: ant >= 0:1.6.5
|
||||
BuildRequires: ant-junit
|
||||
BuildRequires: zip
|
||||
BuildRequires: easymock3
|
||||
BuildRequires: perl
|
||||
%if %with jarjar
|
||||
BuildRequires: jarjar
|
||||
%endif
|
||||
@ -141,6 +143,7 @@ ln -sf $(build-classpath testng-jdk15) lib/integration/
|
||||
%patch1 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
perl -pi -e 's/\r$//g' LICENSE.txt
|
||||
|
||||
@ -238,6 +241,10 @@ cp -pr %{name}-examples $RPM_BUILD_ROOT%{_datadir}/%{name}/
|
||||
%{_datadir}/%{name}
|
||||
|
||||
%changelog
|
||||
* Wed Feb 4 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:1.3-9
|
||||
- Port to QDox 2.0
|
||||
- Resolves: rhbz#1166700
|
||||
|
||||
* Wed Jul 30 2014 Mat Booth <mat.booth@redhat.com> - 0:1.3-8
|
||||
- Fix FTBFS
|
||||
- Always build integration jar (removes some complexity from the spec)
|
||||
|
Loading…
Reference in New Issue
Block a user