- Update to 1.3
bugfix and feature update, see CHANGES.txt for details - Removed patches * hamcrest-1.1-build.patch + renamed to hamcrest-1.3-build.patch * hamcrest-1.1-no-jarjar.patch + renamed to hamcrest-1.3-no-jarjar.patch * hamcrest-1.1-no-integration.patch + renamed to hamcrest-1.3-no-integration.patch - Added patches * hamcrest-1.3-javadoc.patch - Updated poms and added OSGI manifests from Fedora OBS-URL: https://build.opensuse.org/package/show/Java:packages/hamcrest?expand=0&rev=9
This commit is contained in:
156
hamcrest.spec
156
hamcrest.spec
@@ -19,46 +19,67 @@
|
||||
%define _without_integration 1
|
||||
%define _without_tests 1
|
||||
%define _withouth_jarjar 1
|
||||
|
||||
# This option controls integration which requires easymock2 and jmock
|
||||
%bcond_without integration
|
||||
|
||||
# This option controls jarjar on qdox
|
||||
# Since bundling the qdox classes prevents upgrades, we disable it by default
|
||||
%bcond_with jarjar
|
||||
|
||||
# This option controls tests which requires ant-junit and testng
|
||||
%bcond_without tests
|
||||
|
||||
# If integration is disabled, then tests are disabled
|
||||
%if %without integration
|
||||
%bcond_with tests
|
||||
%endif
|
||||
|
||||
Name: hamcrest
|
||||
Version: 1.1
|
||||
Version: 1.3
|
||||
Release: 0
|
||||
Summary: Library of matchers for building test expressions
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/Java
|
||||
Url: http://code.google.com/p/hamcrest/
|
||||
Source0: http://hamcrest.googlecode.com/files/hamcrest-1.1.tar.bz2
|
||||
Source1: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
|
||||
Source2: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.pom
|
||||
Source3: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-integration/1.1/hamcrest-integration-1.1.pom
|
||||
Source4: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-generator/1.1/hamcrest-generator-1.1.pom
|
||||
Source5: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
|
||||
Source6: http://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.pom
|
||||
Source7: hamcrest-text-1.1.pom
|
||||
Patch0: hamcrest-1.1-build.patch
|
||||
Patch1: hamcrest-1.1-no-jarjar.patch
|
||||
Patch2: hamcrest-1.1-no-integration.patch
|
||||
Requires: java >= 1.5.0
|
||||
Url: http://code.google.com/p/%{name}/
|
||||
Source0: http://%{name}.googlecode.com/files/%{name}-%{version}.tgz
|
||||
Source1: http://repo1.maven.org/maven2/org/%{name}/%{name}-parent/%{version}/%{name}-parent-%{version}.pom
|
||||
Source2: http://repo1.maven.org/maven2/org/%{name}/%{name}-library/%{version}/%{name}-library-%{version}.pom
|
||||
Source3: http://repo1.maven.org/maven2/org/%{name}/%{name}-integration/%{version}/%{name}-integration-%{version}.pom
|
||||
Source4: http://repo1.maven.org/maven2/org/%{name}/%{name}-generator/%{version}/%{name}-generator-%{version}.pom
|
||||
Source5: http://repo1.maven.org/maven2/org/%{name}/%{name}-core/%{version}/%{name}-core-%{version}.pom
|
||||
Source6: http://repo1.maven.org/maven2/org/%{name}/%{name}-all/%{version}/%{name}-all-%{version}.pom
|
||||
# This file was added by the maintainer for compatibility with maven dep
|
||||
# solving system
|
||||
Source7: %{name}-text-%{version}.pom
|
||||
|
||||
Source8: hamcrest-core-MANIFEST.MF
|
||||
Source9: hamcrest-library-MANIFEST.MF
|
||||
Source10: hamcrest-text-MANIFEST.MF
|
||||
Source11: hamcrest-integration-MANIFEST.MF
|
||||
Source12: hamcrest-generator-MANIFEST.MF
|
||||
|
||||
#PATCH-FIX-OPENSUSE: don't use versioned deps, no overview in html
|
||||
Patch0: %{name}-%{version}-build.patch
|
||||
#PATCH-FIX-OPENSUSE: don't bundle QDox classes into hamcrest-generator.jar
|
||||
Patch1: %{name}-%{version}-no-jarjar.patch
|
||||
#PATCH-FIX-OPENSUSE: don't build hamcrest-integration.jar
|
||||
Patch2: %{name}-%{version}-no-integration.patch
|
||||
#PATCH-FIX-OPENSUSE: there is no hamcrest-generator-nodeps
|
||||
Patch3: %{name}-%{version}-javadoc.patch
|
||||
|
||||
Requires: java >= 1.6.0
|
||||
Requires: qdox
|
||||
%if %with integration
|
||||
Requires: easymock2
|
||||
Requires: jmock
|
||||
%endif
|
||||
Requires: qdox
|
||||
|
||||
BuildRequires: ant >= 1.6.5
|
||||
BuildRequires: ant-junit
|
||||
BuildRequires: java-devel >= 1.5.0
|
||||
#BuildRequires: ant-junit
|
||||
BuildRequires: java-devel >= 1.6.0
|
||||
BuildRequires: javapackages-tools
|
||||
BuildRequires: zip
|
||||
%if %with integration
|
||||
BuildRequires: easymock2
|
||||
%endif
|
||||
@@ -69,14 +90,18 @@ BuildRequires: jarjar
|
||||
BuildRequires: jmock
|
||||
%endif
|
||||
BuildRequires: junit
|
||||
#FIXME: build with junit4 once we will update junit4 to 4.11
|
||||
# and remove bundled hamcrest parts, prevents us to build
|
||||
# hamcrest itself
|
||||
#BuildRequires: junit4
|
||||
#junit4 does require hamcrest, but we don't need it for building itself
|
||||
#!BuildIgnore: hamcrest
|
||||
BuildRequires: qdox
|
||||
%if %with tests
|
||||
BuildRequires: testng
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
PreReq: javapackages-tools
|
||||
|
||||
%description
|
||||
Provides a library of matcher objects (also known as constraints or
|
||||
@@ -87,77 +112,100 @@ mocking libraries and UI validation rules.
|
||||
|
||||
|
||||
%package javadoc
|
||||
Summary: Library of matchers for building test expressions
|
||||
Group: Development/Libraries/Java
|
||||
Summary: Javadoc for %{name}
|
||||
Group: Documentation/HTML
|
||||
|
||||
%description javadoc
|
||||
Provides a library of matcher objects (also known as constraints or
|
||||
predicates) allowing 'match' rules to be defined declaratively, to be
|
||||
used in other frameworks. Typical scenarios include testing frameworks,
|
||||
mocking libraries and UI validation rules.
|
||||
|
||||
|
||||
Javadoc for %{name}.
|
||||
|
||||
%package demo
|
||||
Summary: Library of matchers for building test expressions
|
||||
Summary: Demo files for %{name}
|
||||
Group: Development/Libraries/Java
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: junit
|
||||
#Requires: junit4
|
||||
Requires: %{name} = %{version}
|
||||
Requires: junit4
|
||||
%if %with tests
|
||||
Requires: testng
|
||||
%endif
|
||||
|
||||
%description demo
|
||||
Provides a library of matcher objects (also known as constraints or
|
||||
predicates) allowing 'match' rules to be defined declaratively, to be
|
||||
used in other frameworks. Typical scenarios include testing frameworks,
|
||||
mocking libraries and UI validation rules.
|
||||
|
||||
|
||||
Demo files for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
find . -type f -name "*.jar" | xargs -t rm
|
||||
# BUILD/hamcrest-%{version}/lib/generator/jarjar-1.0rc3.jar.no
|
||||
rm -fr hamcrest-integration/src/main/java/org/hamcrest/integration/JMock1Adapter.java
|
||||
rm -fr hamcrest-integration/src/main/java/org/hamcrest/JMock1Matchers.java
|
||||
rm -fr hamcrest-unit-test/src/main/java/org/hamcrest/integration/JMock1AdapterTest.java
|
||||
# BUILD/%{name}-%{version}/lib/generator/jarjar-1.0rc3.jar.no
|
||||
%if %with jarjar
|
||||
ln -sf $(build-classpath jarjar) lib/generator/
|
||||
%endif
|
||||
# BUILD/hamcrest-1.1/lib/generator/qdox-1.6.1.jar.no
|
||||
# BUILD/%{name}-%{version}/lib/generator/qdox-1.6.1.jar.no
|
||||
ln -sf $(build-classpath qdox) lib/generator/
|
||||
# BUILD/hamcrest-1.1/lib/integration/easymock-2.2.jar.no
|
||||
# BUILD/%{name}-%{version}/lib/integration/easymock-2.2.jar.no
|
||||
%if %with integration
|
||||
ln -sf $(build-classpath easymock2) lib/integration/
|
||||
%endif
|
||||
# BUILD/hamcrest-1.1/lib/integration/jmock-1.10RC1.jar.no
|
||||
# BUILD/%{name}-%{version}/lib/integration/jmock-%{version}0RC1.jar.no
|
||||
%if %with integration
|
||||
ln -sf $(build-classpath jmock) lib/integration/
|
||||
%endif
|
||||
# BUILD/hamcrest-1.1/lib/integration/junit-3.8.1.jar.no
|
||||
# BUILD/%{name}-%{version}/lib/integration/junit-3.8.1.jar.no
|
||||
ln -sf $(build-classpath junit) lib/integration/
|
||||
# BUILD/hamcrest-1.1/lib/integration/junit-4.0.jar.no
|
||||
ln -sf $(build-classpath junit4) lib/integration/
|
||||
# BUILD/hamcrest-1.1/lib/integration/testng-4.6-jdk15.jar.no
|
||||
# BUILD/%{name}-%{version}/lib/integration/junit-4.0.jar.no
|
||||
#ln -sf $(build-classpath junit4) lib/integration/
|
||||
# BUILD/%{name}-%{version}/lib/integration/testng-4.6-jdk15.jar.no
|
||||
%if %with tests
|
||||
ln -sf $(build-classpath testng-jdk15) lib/integration/
|
||||
%endif
|
||||
%patch0 -p0
|
||||
|
||||
%patch0 -p1
|
||||
%if %without jarjar
|
||||
%patch1 -p1
|
||||
%endif
|
||||
%if %without integration
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
|
||||
perl -pi -e 's/\r$//g' LICENSE.txt
|
||||
|
||||
%build
|
||||
export CLASSPATH=$(build-classpath qdox)
|
||||
export OPT_JAR_LIST="junit ant/ant-junit"
|
||||
%if %with integration
|
||||
ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 -Dversion=%{version} -Dbuild.sysclasspath=first all javadoc
|
||||
%else
|
||||
ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 -Dversion=%{version} -Dbuild.sysclasspath=first clean core generator library text bigjar javadoc
|
||||
%endif
|
||||
# The unit-test goal is switched off as some tests fail with JDK 7
|
||||
# see https://github.com/hamcrest/JavaHamcrest/issues/30
|
||||
ant -Dant.build.javac.source=1.5 -Dversion=%{version} -Dbuild.sysclasspath=last clean core generator library bigjar javadoc
|
||||
|
||||
# inject OSGi manifests
|
||||
mkdir -p META-INF
|
||||
cp -p %{SOURCE8} META-INF/MANIFEST.MF
|
||||
touch META-INF/MANIFEST.MF
|
||||
zip -u build/%{name}-core-%{version}.jar META-INF/MANIFEST.MF
|
||||
|
||||
rm -fr META-INF
|
||||
mkdir -p META-INF
|
||||
cp -p %{SOURCE9} META-INF/MANIFEST.MF
|
||||
touch META-INF/MANIFEST.MF
|
||||
zip -u build/%{name}-library-%{version}.jar META-INF/MANIFEST.MF
|
||||
|
||||
rm -fr META-INF
|
||||
mkdir -p META-INF
|
||||
cp -p %{SOURCE10} META-INF/MANIFEST.MF
|
||||
touch META-INF/MANIFEST.MF
|
||||
zip -u build/%{name}-text-%{version}.jar META-INF/MANIFEST.MF
|
||||
|
||||
rm -fr META-INF
|
||||
mkdir -p META-INF
|
||||
cp -p %{SOURCE11} META-INF/MANIFEST.MF
|
||||
touch META-INF/MANIFEST.MF
|
||||
zip -u build/%{name}-integration-%{version}.jar META-INF/MANIFEST.MF
|
||||
|
||||
rm -fr META-INF
|
||||
mkdir -p META-INF
|
||||
cp -p %{SOURCE12} META-INF/MANIFEST.MF
|
||||
touch META-INF/MANIFEST.MF
|
||||
zip -u build/%{name}-generator-%{version}.jar META-INF/MANIFEST.MF
|
||||
|
||||
%install
|
||||
# jars
|
||||
@@ -198,12 +246,10 @@ install -m 644 build/%{name}-unit-test-%{version}.jar %{buildroot}%{_javadir}/%{
|
||||
|
||||
# javadoc
|
||||
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
|
||||
cp -pr build/javadoc/* %{buildroot}%{_javadocdir}/%{name}
|
||||
cp -pr build/temp/hamcrest-all-1.3-javadoc.jar.contents/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
|
||||
|
||||
# demo
|
||||
install -d -m 755 %{buildroot}%{_datadir}/%{name}
|
||||
%if %with integration
|
||||
install -m 644 build/%{name}-examples-%{version}.jar %{buildroot}%{_datadir}/%{name}-%{version}
|
||||
%endif
|
||||
cp -pr %{name}-examples %{buildroot}%{_datadir}/%{name}/
|
||||
|
||||
%files
|
||||
@@ -221,7 +267,7 @@ cp -pr %{name}-examples %{buildroot}%{_datadir}/%{name}/
|
||||
%if %with tests
|
||||
%{_javadir}/%{name}/unit-test.jar
|
||||
%endif
|
||||
%{_mavenpomdir}
|
||||
%{_mavenpomdir}/*
|
||||
%config %{_mavendepmapfragdir}/*
|
||||
|
||||
%files javadoc
|
||||
|
Reference in New Issue
Block a user