Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37713167
en ru br
ALT Linux repos
S:3.0.0_M4-alt1_6jpp11
5.0: 2.3.1-alt2_3jpp5
4.1: 1.5.3-alt2_2jpp1.7
4.0: 1.5.3-alt2_2jpp1.7

Group :: Development/Java
RPM: maven-surefire

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: plexus-archiver
%define _without_maven 1
BuildRequires: /proc
BuildRequires: jpackage-compat
# Copyright (c) 2000-2008, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

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

%bcond_without maven


Name:           maven-surefire
Version:        2.3.1
Release:        alt2_3jpp5
Epoch:          0
Summary:        Surefire is a test framework project.
License:        ASL 2.0
Group:          Development/Java
URL:            http://maven.apache.org/surefire/
# svn export http://svn.apache.org/repos/asf/maven/surefire/tags/surefire-2.3.1/ maven-surefire-2.3.1
Source0:        %{name}-%{version}.tar.gz
Source1:        %{name}-settings.xml
Source2:        %{name}-jpp-depmap.xml
Source3:        %{name}-2.3.1-build.tar.gz
Patch0:         maven-surefire-2.3-Commandline.patch
Patch1:         maven-surefire-2.3-CommandShell.patch
Patch2:         maven-surefire-2.3-CmdShell.patch
Patch3:         maven-surefire-2.3-junit4-pom.patch
Patch4:         maven-surefire-2.3-testng-TestNGXmlTestSuite.patch
Patch5:         maven-surefire-2.3-testng-TestNGDirectoryTestSuite.patch
Requires(post): jpackage-utils >= 0:1.7.5
Requires(postun): jpackage-utils >= 0:1.7.5
Requires: classworlds
Requires: plexus-utils
Requires: junit4
BuildRequires: jpackage-utils >= 0:1.7.5
BuildRequires: ant >= 0:1.6.5
BuildRequires: ant-junit
BuildRequires: junit >= 3.8.2
BuildRequires: junit4
BuildRequires: maven2
BuildRequires: maven-doxia
BuildRequires: maven-shared-reporting-impl
BuildRequires: plexus-utils
BuildRequires: testng
%if %with maven
BuildRequires: maven2 >= 0:2.0.7
BuildRequires: maven2-plugin-ant
BuildRequires: maven2-plugin-compiler
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-javadoc
BuildRequires: maven2-plugin-plugin
BuildRequires: maven2-plugin-resources
BuildRequires: maven2-plugin-site
BuildRequires: maven-surefire-plugin
BuildRequires: maven-shared-plugin-testing-harness
%endif
BuildArch:      noarch
Patch33: maven-surefire-2.3.1-alt-null-project.patch

%description
Surefire is a test framework project.

%package booter
Summary:         Booter for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: plexus-archiver
Requires: plexus-containers-component-api
Requires: plexus-utils

%description booter
%{summary}.

%package junit
Summary:         JUnit3 Runner for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: junit

%description junit
%{summary}.

%package junit4
Summary:         JUnit4 Runner for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: junit4

%description junit4
%{summary}.

%package testng
Summary:         TestNG Runner for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: plexus-utils
Requires: testng

%description testng
%{summary}.

%package plugin
Summary:         Maven2 Plugin for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-booter = %{epoch}:%{version}-%{release}
Requires: %{name}-junit = %{epoch}:%{version}-%{release}
Requires: %{name}-junit4 = %{epoch}:%{version}-%{release}
Requires: %{name}-testng = %{epoch}:%{version}-%{release}
Requires: maven2
Requires: plexus-utils
Obsoletes:       maven2-plugin-surefire < 0:2.0.7
Provides:        maven2-plugin-surefire = %{epoch}:%{version}-%{release}

%description plugin
%{summary}.

%package report-plugin
Summary:         Maven2 Report Plugin for %{name}
Group:           Development/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-booter = %{epoch}:%{version}-%{release}
Requires: maven2
Requires: maven-doxia
Requires: plexus-utils
Obsoletes:       maven2-plugin-surefire-report < 0:2.0.7
Provides:        maven2-plugin-surefire-report = %{epoch}:%{version}-%{release}

%description report-plugin
%{summary}.

%package javadoc
Summary:        Javadoc for %{name} API
Group:          Development/Documentation

%description javadoc
%{summary}.

%package booter-javadoc
Summary:        Javadoc for %{name} Booter
Group:          Development/Documentation

%description booter-javadoc
%{summary}.

%package junit-javadoc
Summary:        Javadoc for %{name} JUnit3 Runner
Group:          Development/Documentation

%description junit-javadoc
%{summary}.

%package junit4-javadoc
Summary:        Javadoc for %{name} JUnit4 Runner
Group:          Development/Documentation

%description junit4-javadoc
%{summary}.

%package testng-javadoc
Summary:        Javadoc for %{name} TestNG Runner
Group:          Development/Documentation

%description testng-javadoc
%{summary}.

%prep
%setup -q
%if %without maven
%setup -q -T -D -a 3
%endif
cp -p %{SOURCE1} settings.xml
sed -i -e "s|<url>__JPP_URL_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml
sed -i -e "s|<url>__JAVADIR_PLACEHOLDER__</url>|<url>file://`pwd`/external_repo</url>|g" settings.xml
sed -i -e "s|<url>__MAVENREPO_DIR_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml
sed -i -e "s|<url>__MAVENDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/maven2/plugins</url>|g" settings.xml
sed -i -e "s|<url>__ECLIPSEDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/eclipse/plugins</url>|g" settings.xml

sed -i -e s:"private static void failSame(":"public static void failSame(":g \
   surefire-api/src/main/java/org/apache/maven/surefire/assertion/SurefireAssert.java
sed -i -e s:"private static void failNotSame(":"public static void failNotSame(":g \
   surefire-api/src/main/java/org/apache/maven/surefire/assertion/SurefireAssert.java
sed -i -e s:"private static void failNotEquals(":"public static void failNotEquals(":g \
   surefire-api/src/main/java/org/apache/maven/surefire/assertion/SurefireAssert.java
%patch0 -b .sav0
%patch1 -b .sav1
%patch2 -b .sav2
%patch3 -b .sav3
%patch4 -b .sav4
%patch5 -b .sav5

for i in \
   maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportGenerator.java \
   maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java; do

       sed -i -e s:org.codehaus.doxia.sink.Sink:org.apache.maven.doxia.sink.Sink:g $i
       sed -i -e s:org.codehaus.doxia.site.renderer.SiteRenderer:org.apache.maven.doxia.siterenderer.Renderer:g $i
       sed -i -r -e s:\(\\s+\)SiteRenderer\(\\s+\):\\1Renderer\\2:g $i
done
%patch33 -p1


%build
%if %with maven
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL
rm -rf surefire-api/src/test
rm -rf surefire-booter/src/test
rm -rf maven-surefire-report-plugin/src/test
mvn-jpp \
       -e \
       -s settings.xml \
       -Dmaven.test.failure.ignore=true \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       ant:ant install javadoc:javadoc
%else
export CLASSPATH=$(build-classpath \
commons-lang \
plexus/utils \
)
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd surefire-api
ant -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
plexus/archiver \
plexus/containers-component-api \
plexus/utils \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd surefire-booter
ant -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
junit \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd surefire-providers/surefire-junit
ant -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
junit4 \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd surefire-providers/surefire-junit4
ant -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
plexus/utils \
testng-jdk15 \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd surefire-providers/surefire-testng
ant -Dbuild.sysclasspath=only jar javadoc
popd
export CLASSPATH=$(build-classpath \
maven2/artifact \
maven2/model \
maven2/plugin-api \
maven2/project \
plexus/utils \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:$(pwd)/surefire-booter/target/surefire-booter-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd maven-surefire-plugin
mkdir -p target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-plugin/
cp pom.xml target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-plugin/
cat > target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-plugin/pom.properties <<EOT
version=2.3
groupId=org.apache.maven.plugins
artifactId=maven-surefire-plugin
EOT
ant -Dbuild.sysclasspath=only jar
popd
export CLASSPATH=$(build-classpath \
maven2/artifact \
maven2/model \
maven2/plugin-api \
maven2/project \
maven2/reporting-api \
maven-doxia/sink \
maven-doxia/site-renderer \
maven-shared/reporting-impl \
plexus/utils \
)
CLASSPATH=$CLASSPATH:$(pwd)/surefire-api/target/surefire-api-%{version}.jar
CLASSPATH=$CLASSPATH:$(pwd)/surefire-booter/target/surefire-booter-%{version}.jar
CLASSPATH=$CLASSPATH:target/classes:target/test-classes
pushd maven-surefire-report-plugin
mkdir -p target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-report-plugin/
cp pom.xml target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-report-plugin/
cat > target/classes/META-INF/maven/org.apache.maven.plugins/maven-surefire-report-plugin/pom.properties <<EOT
version=2.3
groupId=org.apache.maven.plugins
artifactId=maven-surefire-report-plugin
EOT
ant -Dbuild.sysclasspath=only jar
popd
%endif


%install
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/maven-surefire
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/plugins
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms

install -m 644 pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-surefire.pom
%add_to_maven_depmap org.apache.maven.surefire surefire %{version} JPP/maven-surefire surefire

install -m 644 surefire-api/target/surefire-api-%{version}.jar \
   $RPM_BUILD_ROOT%{_javadir}/maven-surefire/api-%{version}.jar
%add_to_maven_depmap org.apache.maven.surefire surefire-api %{version} JPP/maven-surefire api
install -m 644 surefire-api/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-api.pom

install -m 644 surefire-booter/target/surefire-booter-%{version}.jar \
   $RPM_BUILD_ROOT%{_javadir}/maven-surefire/booter-%{version}.jar
%add_to_maven_depmap org.apache.maven.surefire surefire-booter %{version} JPP/maven-surefire booter
install -m 644 surefire-booter/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-booter.pom

install -m 644 surefire-providers/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-providers.pom
%add_to_maven_depmap org.apache.maven.surefire surefire-providers %{version} JPP/maven-surefire providers

install -m 644 surefire-providers/surefire-junit4/target/surefire-junit4-%{version}.jar \
   $RPM_BUILD_ROOT%{_javadir}/maven-surefire/junit4-%{version}.jar
%add_to_maven_depmap org.apache.maven.surefire surefire-junit4 %{version} JPP/maven-surefire junit4
install -m 644 surefire-providers/surefire-junit4/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-junit4.pom

install -m 644 surefire-providers/surefire-junit/target/surefire-junit-%{version}.jar \
   $RPM_BUILD_ROOT%{_javadir}/maven-surefire/junit-%{version}.jar
%add_to_maven_depmap org.apache.maven.surefire surefire-junit %{version} JPP/maven-surefire junit
install -m 644 surefire-providers/surefire-junit/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-junit.pom

install -m 644 surefire-providers/surefire-testng/target/surefire-testng-%{version}.jar \
   $RPM_BUILD_ROOT%{_javadir}/maven-surefire/testng-%{version}.jar
%add_to_maven_depmap org.apache.maven.surefire surefire-testng %{version} JPP/maven-surefire testng
install -m 644 surefire-providers/surefire-testng/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven-surefire-testng.pom


install -m 644 maven-surefire-plugin/target/maven-surefire-plugin-%{version}.jar \
   $RPM_BUILD_ROOT%{_datadir}/maven2/plugins/surefire-plugin-%{version}.jar
%add_to_maven_depmap org.apache.maven.plugins maven-surefire-plugin %{version} JPP/maven2/plugins surefire-plugin
install -m 644 maven-surefire-plugin/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven2.plugins-surefire-plugin.pom

install -m 644 maven-surefire-report-plugin/target/maven-surefire-report-plugin-%{version}.jar \
   $RPM_BUILD_ROOT%{_datadir}/maven2/plugins/surefire-report-plugin-%{version}.jar
%add_to_maven_depmap org.apache.maven.plugins maven-surefire-report-plugin %{version} JPP/maven2/plugins surefire-report-plugin
install -m 644 maven-surefire-report-plugin/pom.xml \
   $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.maven2.plugins-surefire-report-plugin.pom


(cd $RPM_BUILD_ROOT%{_javadir}/maven-surefire && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
(cd $RPM_BUILD_ROOT%{_javadir}/maven-surefire && ln -sf api.jar surefire.jar)
(cd $RPM_BUILD_ROOT%{_datadir}/maven2/plugins && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)

# javadoc


install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-api-%{version}
cp -pr surefire-api/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-api-%{version}
ln -s %{name}-api-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-api
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-booter-%{version}
cp -pr surefire-booter/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-booter-%{version}
ln -s %{name}-booter-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-booter
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit4-%{version}
cp -pr surefire-providers/surefire-junit4/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit4-%{version}
ln -s %{name}-junit4-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit4
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit-%{version}
cp -pr surefire-providers/surefire-junit/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit-%{version}
ln -s %{name}-junit-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-junit
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testng-%{version}
cp -pr surefire-providers/surefire-testng/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testng-%{version}
ln -s %{name}-testng-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-testng

%files
%dir %{_javadir}/maven-surefire
%{_javadir}/maven-surefire/api*
%{_javadir}/maven-surefire/surefire.jar
%dir %{_datadir}/maven2
%dir %{_datadir}/maven2/poms
%{_datadir}/maven2/poms/*
%{_mavendepmapfragdir}/*

%files booter
%{_javadir}/maven-surefire/booter*

%files junit
%{_javadir}/maven-surefire/junit-%{version}.jar
%{_javadir}/maven-surefire/junit.jar

%files junit4
%{_javadir}/maven-surefire/junit4-%{version}.jar
%{_javadir}/maven-surefire/junit4.jar

%files testng
%{_javadir}/maven-surefire/testng*

%files plugin
%dir %{_datadir}/maven2/plugins
%{_datadir}/maven2/plugins/surefire-plugin*

%files report-plugin
%dir %{_datadir}/maven2/plugins
%{_datadir}/maven2/plugins/surefire-report-plugin*

%files javadoc
%{_javadocdir}/maven-surefire-api-%{version}
%{_javadocdir}/maven-surefire-api

%files booter-javadoc
%{_javadocdir}/maven-surefire-booter-%{version}
%{_javadocdir}/maven-surefire-booter

%files junit-javadoc
%{_javadocdir}/maven-surefire-junit-%{version}
%{_javadocdir}/maven-surefire-junit

%files junit4-javadoc
%{_javadocdir}/maven-surefire-junit4-%{version}
%{_javadocdir}/maven-surefire-junit4

%files testng-javadoc
%{_javadocdir}/maven-surefire-testng-%{version}
%{_javadocdir}/maven-surefire-testng

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin