File javaparser.spec of Package javaparser
#
# spec file for package javaparser
#
# Copyright (c) 2024 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: javaparser
Version: 3.26.2
Release: 0
Summary: Java Parser and Abstract Syntax Tree for Java
License: Apache-2.0 OR LGPL-3.0-or-later
Group: Development/Libraries/Java
URL: https://javaparser.org
Source0: https://github.com/javaparser/javaparser/archive/%{name}-parent-%{version}.tar.gz
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(biz.aQute.bnd:bnd-maven-plugin)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(org.checkerframework:checker-qual)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:javacc-maven-plugin)
BuildRequires: mvn(org.javassist:javassist)
BuildArch: noarch
%description
A set of libraries implementing a Java 1.0 - Java 17 Parser with advanced
analysis functionalities.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains API documentation for %{name}.
%prep
%setup -q -n %{name}-%{name}-parent-%{version}
sed -i 's/\r//' readme.md
# Remove plugins unnecessary for RPM builds
%pom_remove_plugin -r :jacoco-maven-plugin
%pom_remove_plugin :maven-source-plugin
%pom_add_dep org.checkerframework:checker-qual javaparser-symbol-solver-core
# Compatibility alias
%{mvn_alias} :javaparser-core com.google.code.javaparser:javaparser
# Fix javacc plugin name
sed -i \
-e 's/ph-javacc-maven-plugin/javacc-maven-plugin/' \
-e 's/com.helger.maven/org.codehaus.mojo/' \
javaparser-core/pom.xml
# This plugin is not packaged, so use maven-resources-plugin to accomplish the same thing
%pom_remove_plugin :templating-maven-plugin javaparser-core
%pom_xpath_inject "pom:build" "
<resources>
<resource>
<directory>src/main/java-templates</directory>
<filtering>true</filtering>
<targetPath>\${basedir}/src/main/java</targetPath>
</resource>
</resources>" javaparser-core
# Missing dep on jbehave for testing
%pom_disable_module javaparser-core-testing
%pom_disable_module javaparser-core-testing-bdd
# Only need to ship the core module
%pom_disable_module javaparser-core-generators
%pom_disable_module javaparser-core-metamodel-generator
%pom_disable_module javaparser-core-serialization
echo "-reproducible: true" >> javaparser-core/bnd.bnd
echo "-noextraheaders: true" >> javaparser-core/bnd.bnd
echo "-snapshot: SNAPSHOT" >> javaparser-core/bnd.bnd
%build
%{mvn_build} -f -- \
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Dsource=8
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%doc readme.md changelog.md
%license LICENSE LICENSE.APACHE LICENSE.GPL LICENSE.LGPL
%files javadoc -f .mfiles-javadoc
%license LICENSE LICENSE.APACHE LICENSE.GPL LICENSE.LGPL
%changelog