# # spec file for package hamcrest (Version 1.1) # # Copyright (c) 2009 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 with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} %define without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} %define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}} %define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}} %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: 2 Summary: Library of matchers for building test expressions License: BSD-3-Clause Url: http://code.google.com/p/hamcrest/ Group: Development/Libraries/Java 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: jpackage-utils >= 1.7.4 BuildRequires: java-devel >= 1.5.0 BuildRequires: ant >= 1.6.5 BuildRequires: ant-junit %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 License: BSD-3-Clause Group: Development/Libraries/Java Summary: Library of matchers for building test expressions %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 License: BSD-3-Clause Group: Development/Libraries/Java Summary: Library of matchers for building test expressions 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 $RPM_BUILD_ROOT%{_javadir}/%{name} install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-parent.pom %add_to_maven_depmap org.hamcrest %{name}-parent %{version} JPP/%{name} parent install -m 644 build/%{name}-all-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/all-%{version}.jar install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-all.pom %add_to_maven_depmap org.hamcrest %{name}-all %{version} JPP/%{name} all install -m 644 build/%{name}-core-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/core-%{version}.jar install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-core.pom %add_to_maven_depmap org.hamcrest %{name}-core %{version} JPP/%{name} core install -m 644 build/%{name}-generator-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/generator-%{version}.jar install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-generator.pom %add_to_maven_depmap org.hamcrest %{name}-generator %{version} JPP/%{name} generator install -m 644 build/%{name}-library-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/library-%{version}.jar install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-library.pom %add_to_maven_depmap org.hamcrest %{name}-library %{version} JPP/%{name} library %if %with integration install -m 644 build/%{name}-integration-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/integration-%{version}.jar install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-integration.pom %add_to_maven_depmap org.hamcrest %{name}-integration %{version} JPP/%{name} integration %endif install -m 644 build/%{name}-text-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/text-%{version}.jar install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-text.pom %add_to_maven_depmap org.hamcrest %{name}-text %{version} JPP/%{name} text %if %with tests install -m 644 build/%{name}-unit-test-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/unit-test-%{version}.jar %endif pushd $RPM_BUILD_ROOT%{_javadir}/%{name} for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done popd # javadoc install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr build/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # demo install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} %if %with integration install -m 644 build/%{name}-examples-%{version}.jar $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} %endif cp -pr %{name}-examples $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/ ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_datadir}/%{name} %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(0644,root,root,0755) %doc LICENSE.txt %dir %{_javadir}/%{name} %{_javadir}/%{name}/all-%{version}.jar %{_javadir}/%{name}/all.jar %{_javadir}/%{name}/core-%{version}.jar %{_javadir}/%{name}/core.jar %{_javadir}/%{name}/generator-%{version}.jar %{_javadir}/%{name}/generator.jar %if %with integration %{_javadir}/%{name}/integration-%{version}.jar %{_javadir}/%{name}/integration.jar %endif %{_javadir}/%{name}/library-%{version}.jar %{_javadir}/%{name}/library.jar %{_javadir}/%{name}/text-%{version}.jar %{_javadir}/%{name}/text.jar %if %with tests %{_javadir}/%{name}/unit-test-%{version}.jar %{_javadir}/%{name}/unit-test.jar %endif %{_datadir}/maven2/* %config %{_mavendepmapfragdir}/* %files javadoc %defattr(0644,root,root,0755) %{_javadocdir}/%{name}-%{version} %{_javadocdir}/%{name} %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name}-%{version} %{_datadir}/%{name} %changelog * Tue May 05 2009 mvyskocil@suse.cz - Initial packaging of 1.1 in SUSE (from jpp 5.0)