# # spec file for package hamcrest # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %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 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 %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: jpackage-utils >= 1.7.4 %if %with integration BuildRequires: easymock2 %endif %if %with jarjar BuildRequires: jarjar %endif %if %with integration BuildRequires: jmock %endif BuildRequires: junit #BuildRequires: junit4 BuildRequires: qdox %if %with tests BuildRequires: testng %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch PreReq: jpackage-utils >= 1.7.4 %description 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. %package javadoc Summary: Library of matchers for building test expressions Group: Development/Libraries/Java %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. %package demo Summary: Library of matchers for building test expressions Group: Development/Libraries/Java Requires: %{name} = %{version}-%{release} Requires: junit #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. %prep %setup -q find . -type f -name "*.jar" | xargs -t rm # BUILD/hamcrest-%{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 ln -sf $(build-classpath qdox) lib/generator/ # BUILD/hamcrest-1.1/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 %if %with integration ln -sf $(build-classpath jmock) lib/integration/ %endif # BUILD/hamcrest-1.1/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 %if %with tests ln -sf $(build-classpath testng-jdk15) lib/integration/ %endif %patch0 -p0 %if %without jarjar %patch1 -p1 %endif %if %without integration %patch2 -p1 %endif 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 %install # jars install -d -m 755 %{buildroot}%{_javadir}/%{name} install -d -m 755 %{buildroot}%{_mavenpomdir} install -m 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP.%{name}-parent.pom %add_maven_depmap JPP.%{name}-parent.pom install -m 644 build/%{name}-all-%{version}.jar %{buildroot}%{_javadir}/%{name}/all.jar install -m 644 %{SOURCE6} %{buildroot}%{_mavenpomdir}/JPP.%{name}-all.pom %add_maven_depmap JPP.%{name}-all.pom %{name}/all.jar install -m 644 build/%{name}-core-%{version}.jar %{buildroot}%{_javadir}/%{name}/core.jar install -m 644 %{SOURCE5} %{buildroot}%{_mavenpomdir}/JPP.%{name}-core.pom %add_maven_depmap JPP.%{name}-core.pom %{name}/core.jar install -m 644 build/%{name}-generator-%{version}.jar %{buildroot}%{_javadir}/%{name}/generator.jar install -m 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP.%{name}-generator.pom %add_maven_depmap JPP.%{name}-generator.pom %{name}/generator.jar install -m 644 build/%{name}-library-%{version}.jar %{buildroot}%{_javadir}/%{name}/library.jar install -m 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP.%{name}-library.pom %add_maven_depmap JPP.%{name}-library.pom %{name}/library.jar %if %with integration install -m 644 build/%{name}-integration-%{version}.jar %{buildroot}%{_javadir}/%{name}/integration.jar install -m 644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP.%{name}-integration.pom %add_maven_depmap JPP.%{name}-integration.pom %{name}/integration.jar %endif install -m 644 build/%{name}-text-%{version}.jar %{buildroot}%{_javadir}/%{name}/text.jar install -m 644 %{SOURCE7} %{buildroot}%{_mavenpomdir}/JPP.%{name}-text.pom %add_maven_depmap JPP.%{name}-text.pom %{name}/text.jar %if %with tests install -m 644 build/%{name}-unit-test-%{version}.jar %{buildroot}%{_javadir}/%{name}/unit-test.jar %endif # javadoc install -d -m 755 %{buildroot}%{_javadocdir}/%{name} cp -pr build/javadoc/* %{buildroot}%{_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 %defattr(0644,root,root,0755) %doc LICENSE.txt %dir %{_javadir}/%{name} %{_javadir}/%{name}/all.jar %{_javadir}/%{name}/core.jar %{_javadir}/%{name}/generator.jar %if %with integration %{_javadir}/%{name}/integration.jar %endif %{_javadir}/%{name}/library.jar %{_javadir}/%{name}/text.jar %if %with tests %{_javadir}/%{name}/unit-test.jar %endif %{_mavenpomdir} %config %{_mavendepmapfragdir}/* %files javadoc %defattr(0644,root,root,0755) %{_javadocdir}/%{name} %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name} %changelog