Files
jsontools/jsontools.spec

144 lines
3.9 KiB
RPMSpec

#
# spec file for package jsontools
#
# Copyright (c) 2022 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: jsontools
Version: 1.7
Release: 0
Summary: Java JSON Tools
License: LGPL-2.1-only
Group: Development/Libraries/Java
URL: https://github.com/BackupTheBerlios/%{name}-svn
Source0: %{name}-%{version}.tar.xz
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: java-javadoc
BuildRequires: maven-local
BuildRequires: mvn(antlr:antlr)
BuildRequires: mvn(log4j:log4j)
BuildRequires: mvn(org.codehaus.mojo:antlr-maven-plugin)
BuildArch: noarch
%if 0%{?suse_version} > 1320
BuildRequires: texlive-avantgar
BuildRequires: texlive-babel-english
BuildRequires: texlive-dvips
BuildRequires: texlive-latex
BuildRequires: texlive-latexmk
BuildRequires: texlive-pdftex
BuildRequires: tex(avant.sty)
BuildRequires: tex(fullpage.sty)
BuildRequires: tex(listings.sty)
%endif
%description
Java JSON Tools, global project. It consists of the core which is relatively
independent on third party jars and optional parts which might introduce
transitive dependencies.
%package core
Summary: Java JSON Tools core library
%description core
Java JSON Tools core library. It is independent of third party libraries. It is
meant to minimize transitive dependencies. Applications of the JSON tools which
relate to other libraries will be in separate optional pacakges.
%if 0%{?suse_version} > 1320
%package core-doc
Summary: Documentation for %{name}-core
%description core-doc
Documentation for %{name}.
%endif
%package log4j
Summary: Java JSON Tools Log4J library.
%description log4j
Java JSON Tools Log4J library.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
API documentation for %{name}.
%prep
%setup -q
%pom_xpath_set -r pom:project/pom:version '%{version}'
%pom_remove_plugin :maven-antlr-plugin %{name}-core
%pom_add_plugin org.codehaus.mojo:antlr-maven-plugin %{name}-core \
'<configuration>
<grammars>json.g</grammars>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>'
# Tell maven to use the just built artifact
%pom_change_dep :%{name}-core:: ::\${project.version}: %{name}-log4j
%build
%{mvn_build} -f -s -- \
-DdetectJavaApiLink=false \
-Dmaven.javadoc.offlineLinks='https://docs.oracle.com/javase/8/docs/api/#%{_javadocdir}/java/' \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Dsource=8
%if 0%{?suse_version} > 1320
pushd %{name}-core
env -C docs latexmk -pdf jsontools-core-manual-1.6.tex
popd
%endif
%install
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}
%if 0%{?suse_version} > 1320
install -dm0755 %{buildroot}/%{_defaultdocdir}/%{name}-core
cp -rf %{name}-core/docs/%{name}-core-*.pdf %{buildroot}/%{_defaultdocdir}/%{name}-core/%{name}-core.pdf
%endif
%files -f .mfiles-%{name}
%license %{name}-core/LICENSE.txt
%files core -f .mfiles-%{name}-core
%license %{name}-core/LICENSE.txt
%if 0%{?suse_version} > 1320
%files core-doc
%license %{name}-core/LICENSE.txt
%{_defaultdocdir}/%{name}-core
%endif
%files log4j -f .mfiles-%{name}-log4j
%license %{name}-core/LICENSE.txt
%files javadoc -f .mfiles-javadoc
%license %{name}-core/LICENSE.txt
%changelog