1
0
javapackages-tools/javapackages-tools.spec

164 lines
5.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package javapackages-tools
#
# 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 http://bugs.opensuse.org/
#
# 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: 0.15.0
Release: 0
Summary: Macros and scripts for Java packaging support
License: BSD-3-Clause
Group: Development/Languages/Java
Url: https://fedorahosted.org/javapackages/
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
BuildArch: noarch
BuildRequires: jpackage-utils
Requires: libxslt
Requires: python
Requires: jpackage-utils = 1.7.5
# javapackages were a part of jpackage-utils, so let support an auto update
Provides: jpackage-utils:%{_rpmconfigdir}/fileattrs/*.attr
%description
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.
%endif
%prep
%setup -q -n javapackages-%{version}
%build
%install
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}-utils
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/rpm
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/maven
install -d -m 755 $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven-effective-poms
%if %{with mavenlocal}
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/xmvn
%endif
install -d -m 755 $RPM_BUILD_ROOT%{_mavendepmapfragdir}
install -p -m 755 depgenerators/maven.prov $RPM_BUILD_ROOT%{_rpmconfigdir}
install -p -m 755 depgenerators/maven.req $RPM_BUILD_ROOT%{_rpmconfigdir}
install -p -m 755 depgenerators/osgi.prov $RPM_BUILD_ROOT%{_rpmconfigdir}
install -p -m 755 depgenerators/osgi.req $RPM_BUILD_ROOT%{_rpmconfigdir}
install -p -m 755 depgenerators/javadoc.req $RPM_BUILD_ROOT%{_rpmconfigdir}
# Add the maven poms file attribute entry (rpm >= 4.9.0)
install -p -m 644 depgenerators/fileattrs/maven.attr $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs
install -p -m 644 depgenerators/fileattrs/osgi.attr $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs
install -p -m 644 depgenerators/fileattrs/javadoc.attr $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs
install -p -m 644 macros.* $RPM_BUILD_ROOT%{_sysconfdir}/rpm
%if %{with mavenlocal}
install -p -m 644 metadata/*.xml $RPM_BUILD_ROOT%{_sysconfdir}/maven
%else
rm -f %{buildroot}/%{_sysconfdir}/rpm/macros.xmvn
%endif
install -p -m 644 scripts/maven_depmap.py $RPM_BUILD_ROOT%{_javadir}-utils
install -p -m 644 scripts/pom_editor.sh $RPM_BUILD_ROOT%{_javadir}-utils
%if %{with mavenlocal}
install -p -m 644 scripts/xmvn_config_editor.sh $RPM_BUILD_ROOT%{_javadir}-utils
install -p -m 755 scripts/mvn-* $RPM_BUILD_ROOT%{_bindir}
install -p -m 644 configs/configuration*.xml $RPM_BUILD_ROOT%{_datadir}/xmvn
ln -sf %{_datadir}/xmvn/configuration-19.xml $RPM_BUILD_ROOT%{_datadir}/xmvn/configuration.xml
%endif
install -p -m 755 depmap.xml $RPM_BUILD_ROOT%{_mavendepmapfragdir}/%{name}-depmap.xml
%if %{with mavenlocal}
# On Fedora 18 we don't want to install mvn-local and mvn-rpmbuild
# scripts as they are already provided by maven package.
%if 0%{?fedora} == 18
rm -f $RPM_BUILD_ROOT%{_bindir}/mvn-{local,rpmbuild}
%endif
%endif
%files
%defattr(-,root,root,-)
%doc LICENSE
%dir %{_rpmconfigdir}/fileattrs
%dir %{_datadir}/maven-effective-poms
%{_rpmconfigdir}/fileattrs/*.attr
%{_rpmconfigdir}/*.prov
%{_rpmconfigdir}/*.req
# The python file is compiled producing .pyc and .pyo, which we need to include
%{_javadir}-utils/maven_depmap.py*
%{_javadir}-utils/pom_editor.sh
%{_sysconfdir}/rpm/macros.fjava
%{_mavendepmapfragdir}/*
%if %{with mavenlocal}
%files -n maven-local
%defattr(-,root,root,-)
%dir %{_datadir}/xmvn
%{_javadir}-utils/xmvn_config_editor.sh
%{_sysconfdir}/rpm/macros.xmvn
%{_sysconfdir}/maven/*.xml
%{_bindir}/mvn-*
%{_datadir}/xmvn/configuration*.xml
%endif
%changelog