junit/junit.spec

157 lines
4.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package junit
#
# Copyright (c) 2017 SUSE LINUX 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/
#
Name: junit
Version: 4.11
Release: 0
Summary: Java regression test package
License: CPL-1.0
Group: Development/Libraries/Java
Url: http://www.junit.org/
Source0: https://github.com/junit-team/junit/archive/r%{version}.tar.gz
#Source1: http://search.maven.org/remotecontent?filepath=junit/junit/4.11/junit-4.11.pom
Source1: junit-4.11.pom
#PATCH-FIX-OPENSUSE: do not use bundled hamcrest sources, which btw fixes hamcrest build with junit4
Patch0: junit-no-hamcrest-src.patch
#PATCH-FIX-UPSTREAM: build with jdk8 and newer, already in upstream repo
Patch1: junit-jdk8.patch
Patch2: junit-jdk9.patch
Patch3: junit-jdk10.patch
BuildRequires: ant
BuildRequires: hamcrest >= 1.3
BuildRequires: java-devel >= 1.6.0
BuildRequires: javapackages-local
BuildRequires: javapackages-tools
BuildRequires: perl(Digest::MD5)
Requires: hamcrest
Requires: java >= 1.6.0
Requires(post): javapackages-tools
Requires(postun): javapackages-tools
Provides: junit4 = %{version}
Obsoletes: junit4 <= 4.10
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
JUnit is a regression testing framework written by Erich Gamma and Kent Beck.
It is used by the developer who implements unit tests in Java. JUnit is Open
Source Software, released under the Common Public License Version 1.0 and
hosted on GitHub.
%package manual
Summary: Manual for %{name}
Group: Documentation/Other
Provides: junit4-manual = %{version}
Obsoletes: junit4-manual <= 4.10
%description manual
Manual for %{name}.
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
Provides: junit4-javadoc = %{version}
Obsoletes: junit4-javadoc <= 4.10
%description javadoc
Javadoc for %{name}.
%package demo
Summary: Demos for %{name}
Group: Documentation/Other
Requires: %{name} = %{version}
Provides: junit4-demo = %{version}
Obsoletes: junit4-demo <= 4.10
%description demo
Demos for %{name}.
%prep
%setup -q -n junit-r%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
find . -type f -name "*.jar" -or -name "*.class" | xargs -t rm -rf
ln -s $(build-classpath hamcrest/core) lib/hamcrest-core-1.3.jar
%build
export CLASSPATH=$(build-classpath hamcrest/core)
ant dist -Dversion-status=
%install
# jars
install -d -m 755 %{buildroot}%{_javadir}
install -m 644 junit%{version}/junit-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
# compat symlink
ln -sf %{_javadir}/%{name}.jar %{buildroot}%{_javadir}/junit4.jar
# pom
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -m 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap
# javadoc
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
cp -pr junit%{version}/javadoc/* %{buildroot}%{_javadocdir}/%{name}
# demo
install -d -m 755 %{buildroot}%{_datadir}/%{name}/demo/junit # Not using % name for last part because it is
# part of package name
cp -pr junit%{version}/junit/* %{buildroot}%{_datadir}/%{name}/demo/junit
%check
cat > test.java <<EOF
import org.junit.Assert;
class test {
public static void main(String[] args) {
Assert.fail("Hello world from junit");
}
}
EOF
javac -cp %{buildroot}/%{_javadir}/%{name}.jar test.java
java -cp %{buildroot}/%{_javadir}/%{name}.jar: test 2>&1 | \
grep 'Exception in thread "main" java.lang.AssertionError: Hello world from junit'
%files
%defattr(0644,root,root,0755)
%doc CODING_STYLE LICENSE README acknowledgements.txt
%{_javadir}/%{name}.jar
%{_javadir}/junit4.jar
%{_mavenpomdir}/*
%{_datadir}/maven-metadata/%{name}.xml*
%files demo
%defattr(0644,root,root,0755)
%{_datadir}/%{name}
%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}
%files manual
%defattr(0644,root,root,0755)
%doc junit%{version}/doc/*
%changelog