File junit.spec of Package junit

# spec file for package junit
# 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

Name:           junit
Version:        4.11
Release:        0
Summary:        Java regression test package
License:        CPL-1.0
Group:          Development/Libraries/Java
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: disable bogus test
Patch1:         junit-jdk8.patch
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

BuildRequires:  ant
BuildRequires:  hamcrest >= 1.3
BuildRequires:  java-devel >= 1.6.0
BuildRequires:  javapackages-tools
BuildRequires:  perl(Digest::MD5)

Requires(post): javapackages-tools
Requires(postun): javapackages-tools
Requires:       hamcrest
Requires:       java >= 1.6.0
Provides:       junit4 = %{version}
Obsoletes:      junit4 <= 4.10

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}.

%setup -q -n junit-r%{version}
%patch0 -p1
%patch1 -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

#export CLASSPATH=
#export OPT_JAR_LIST=:
#ant dist
ant dist -Dversion-status=

# 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

# 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


cat > <<EOF
import junit.framework.Assert;
class test {

    public static void main(String[] args) {"Hello world from junit");

javac -cp %{buildroot}/%{_javadir}/%{name}.jar
java -cp %{buildroot}/%{_javadir}/%{name}.jar: test  && exit 42

%doc CODING_STYLE LICENSE README acknowledgements.txt

%files demo

%files javadoc

%files manual
%doc junit%{version}/doc/*