# Copyright (c) 2012-2013 Red Hat, Inc.
# 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 Red Hat 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.
#
# Authors: Mikolaj Izdebski <mizdebsk@redhat.com>


# %mvn_package - assign Maven artifact(s) to a subpackage
#
# Usage: %mvn_package [gId]:[aId[:ver]] <subpackage name>
#
# This macro causes given artifact(s) to be installed in given subpackage.
#
# GId, aId and ver can contain wildcards and alternatives, which allows
# multiple artifacts to be matched. If any of gId, aId or ver is omited
# then any value will match the respective part. In particular a bare :
# symbol will match any artifact.
#
# Subpackage name can contain backreferences in form @n.
#
%mvn_package mvn-package


# %mvn_alias - create alias(es) for given Maven artifact(s)
#
# Usage: %mvn_alias [gId]:[aId[:ver]] [aliasGId]:[aliasAId[:aliasVer]] [...]
#
# This macro adds one or more aliases for specified artifacts. Aliases are
# additional groupId, artifactId and version triples under which artifacts
# can be found. After resulting package is installed any attempts to
# resolve any of aliases will result in resolving the original artifact.
#
# GId, aId and ver can contain wildcards and alternatives, which allows
# multiple artifacts to be matched. If any of gId, aId or ver is omited
# then any value will match the respective part. In particular a bare :
# symbol will match any artifact.
#
# AliasGId, aliasAId and aliasVer can contain backreferences in form @n,
# which can refer only to respective parts.
#
%mvn_alias mvn-alias


# %mvn_file - specify file name(s) for Maven artifact(s)
#
# Usage: %mvn_file [gId]:[aId[:ver]] <file1> [file2 ...]
#
# GId, aId and ver can contain wildcards and alternatives, which allows
# multiple artifacts to be matched. If any of gId, aId or ver is omited
# then any value will match the respective part. In particular a bare :
# symbol will match any artifact.
#
# File names can contain backreferences in form @n. If multiple names
# are given then the first one will be primary name of the artifact and
# additional names will be symbolic links pointing to the primary file.
#
%mvn_file mvn-file


# %mvn_build - build Maven project
#
# Usage: %mvn_build [options]
#
# This macro causes Maven project to be built (usually compiled and
# packaged). It is intended to be placed in %build section of spec file.
#
# For summary of accepted options execute `mvn-build --help` command.
#
%mvn_build mvn-build


# %mvn_install - install Maven project
#
# Usage: %mvn_install
#
# This macro causes previously built Maven project to be installed into
# buildroot. It is intended to be placed in %install section of spec file.
#
%mvn_install() \
[ -d .root ] && cp -pr .root/* $RPM_BUILD_ROOT \
if [ -d target/site/apidocs ]; then \
   install -dm755 $RPM_BUILD_ROOT/%{_javadocdir}/%{name} \
   cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} \
   echo '/%{_javadocdir}/%{name}' >>.mfiles-javadoc \
fi \
%{nil}
