File javapackages-tools.spec of Package javapackages-tools

# spec file for package javapackages-tools
# Copyright (c) 2014 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

# temporary turn off maven-local build to not add unsatisfied dependencies
# to Factory - remove them on maven submission
%bcond_with mavenlocal

Name:           javapackages-tools
Version:        2.0.1
Release:        0
Summary:        Macros and scripts for Java packaging support
License:        BSD-3-Clause
Group:          Development/Languages/Java

#PATCH-FIX-SUSE: SUSE does store jvm related things in libdir - ie /usr/lib64 on 64bits
#                where Fedora use jpackage convention - usr/lib everywhere
Patch0:         suse-use-libdir.patch
# PATCH-FIX-UPSTREAM Drain stdin in dependency generator
Patch1:         depgen.patch
# PATCH-FIX-SLE maven_depmap-no-attribute-exit.patch - fix ZipFile instance has no attribute '__exit__'
Patch2:         maven_depmap-no-attribute-exit.patch

#BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  asciidoc
BuildRequires:  xmlto
BuildRequires:  xz

Requires:       coreutils
# for xsltproc
%if 0%{?suse_version} == 1110
Requires:       libxslt
Requires:       libxslt-tools
Requires:       lua
Requires:       python
# for xml.dom.minidom
Requires:       python-xml

Provides:       jpackage-utils = %{version}-%{release}
Obsoletes:      jpackage-utils <= 1.7.5

This package provides macros and scripts to support Java packaging.

%if %{with mavenlocal}
%package -n maven-local
Summary:        Macros and scripts for Maven packaging support
Group:          Development/Languages/Java
Requires:       %{name} = %{version}-%{release}
Requires:       maven
Requires:       xmvn
# POM files needed by maven itself
Requires:       apache-commons-parent
Requires:       apache-parent
Requires:       geronimo-parent-poms
Requires:       httpcomponents-project
Requires:       jboss-parent
Requires:       jvnet-parent
Requires:       maven-parent
Requires:       maven-plugins-pom
Requires:       mojo-parent
Requires:       plexus-components-pom
Requires:       plexus-pom
Requires:       plexus-tools-pom
Requires:       sonatype-oss-parent
Requires:       weld-parent
# Common Maven plugins required by almost every build. It wouldn't make
# sense to explicitly require them in every package built with Maven.
Requires:       maven-assembly-plugin
Requires:       maven-compiler-plugin
Requires:       maven-enforcer-plugin
Requires:       maven-jar-plugin
Requires:       maven-javadoc-plugin
Requires:       maven-surefire-plugin
# Tests based on JUnit are very common and JUnit itself is small.
# Include JUnit provider for Surefire just for convenience.
Requires:       maven-surefire-provider-junit
# testng is quite common as well
Requires:       maven-surefire-provider-testng

%description -n maven-local
This package provides macros and scripts to support packaging Maven artifacts.

%setup -q -n javapackages-%{version}
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} == 1110
%patch2 -p1


# temporary hack to avoid rpm crash
sed -i -e "s,^.*fileattrs/javadoc.attr,# out," install

sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-*

%if %{without mavenlocal}
cd %{buildroot}
rm etc/rpm/macros.xmvn \
   etc/maven/metadata-org-apache-maven-plugins.xml \
   etc/maven/metadata-org-codehaus-mojo.xml \
   usr/share/java-utils/ \
   usr/bin/mvn-* \
cd -

mv files-common files-common-old
cat files-common-old | grep -v '^%dir /etc/java$' | grep -v '^%dir /usr/share/java$' > files-common

%files -f files-common

%if %{with mavenlocal}
%files -n maven-local -f files-maven