File auto.spec of Package auto.28016

#
# spec file for package auto
#
# 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/
#


%global auto_ver 1.6.1
%global common_ver 1.0
%global service_ver 1.0
%global parent_ver 6
Name:           auto
Version:        %{auto_ver}
Release:        0
Summary:        A collection of source code generators for Java
License:        Apache-2.0
Group:          Development/Libraries/Java
URL:            https://github.com/google/auto
Source0:        https://github.com/google/auto/archive/auto-value-%{version}.tar.gz
Source1:        https://github.com/google/auto/archive/auto-common-%{common_ver}.tar.gz
Source2:        https://github.com/google/auto/archive/auto-service-%{service_ver}.tar.gz
Source3:        https://github.com/google/auto/archive/auto-parent-%{parent_ver}.tar.gz
BuildRequires:  fdupes
BuildRequires:  java-devel >= 1.8
BuildRequires:  maven-local
BuildRequires:  mvn(com.squareup:javapoet)
BuildRequires:  mvn(org.apache.maven.plugins:maven-invoker-plugin)
BuildRequires:  mvn(org.sonatype.oss:oss-parent:pom:)
BuildArch:      noarch

%description
The Auto sub-projects are a collection of code generators
that automate those types of tasks.

%package common
Summary:        Auto Common Utilities
Group:          Development/Libraries/Java
Obsoletes:      %{name}-factory < %{version}-%{release}

%description common
Common utilities for creating annotation processors.

%package service
Summary:        AutoService Processor
Group:          Development/Libraries/Java

%description service
Provider-configuration files for ServiceLoader.

%package service-aggregator
Summary:        AutoService Aggregator
Group:          Development/Libraries/Java

%description service-aggregator
Aggregator POM for @AutoService.

%package service-annotations
Summary:        AutoService Annotations
Group:          Development/Libraries/Java

%description service-annotations
Provider-configuration files for ServiceLoader.

%package value
Summary:        Auto Value
Group:          Development/Libraries/Java

%description value
Immutable value-type code generation for Java 1.6+.

%package value-annotations
Summary:        Auto Value Annotations
Group:          Development/Libraries/Java

%description value-annotations
Immutable value-type code generation for Java 1.6+.

%package value-parent
Summary:        Auto Value Parent

%description value-parent
Immutable value-type code generation for Java 1.6+.

%package javadoc
Summary:        Javadoc for %{name}
Group:          Documentation/HTML

%description javadoc
This package contains javadoc for %{name}.

%prep
%setup -q -n auto-auto-value-%{version} -a1 -a2 -a3
rm -rf pom.xml factory/ common/ service/
mv auto-auto-parent-%{parent_ver}/pom.xml .
mv auto-auto-common-%{common_ver}/common common
mv auto-auto-service-%{service_ver}/service service

find -name '*.class' -print -delete
find -name '*.jar' -print -delete

# remove unnecessary dependency on parent POM
%pom_remove_parent

# Disable factory module due to missing dep:
# com.google.googlejavaformat:google-java-format
%pom_disable_module factory build-pom.xml
# Missing dep on com.google.gwt:gwt
%pom_disable_module src/it/functional value/pom.xml
%pom_disable_module src/it/gwtserializer value/pom.xml

# Fix deps in service module
%pom_xpath_set "pom:parent/pom:version" 6 service
%pom_change_dep com.google.auto:auto-common com.google.auto:auto-common:1.0 value/processor
%pom_change_dep com.google.auto.service:auto-service com.google.auto.service:auto-service:1.0 value/processor
#%pom_change_dep com.google.auto:auto-common com.google.auto:auto-common:0.10 service
%pom_remove_plugin org.apache.maven.plugins:maven-checkstyle-plugin
%pom_remove_plugin :maven-shade-plugin
%pom_remove_plugin :maven-shade-plugin value/processor

%mvn_package :build-only __noinstall

%build
%{mvn_build} -sf -- \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
	-Dmaven.compiler.release=8 \
%endif
	-f build-pom.xml -Dsource=8 -Dfile.encoding=UTF-8

%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}

%files -f .mfiles-%{name}-parent
%dir %{_javadir}/%{name}
%doc README.md
%license LICENSE.txt

%files common -f .mfiles-%{name}-common
%doc common/README.md
%license LICENSE.txt

%files service -f .mfiles-%{name}-service
%doc service/README.md
%license LICENSE.txt

%files service-aggregator -f .mfiles-%{name}-service-aggregator
%license LICENSE.txt

%files service-annotations -f .mfiles-%{name}-service-annotations
%license LICENSE.txt

%files value -f .mfiles-%{name}-value
%doc value/README.md
%license LICENSE.txt

%files value-annotations -f .mfiles-%{name}-value-annotations
%license LICENSE.txt

%files value-parent -f .mfiles-%{name}-value-parent
%license LICENSE.txt

%files javadoc -f .mfiles-javadoc
%license LICENSE.txt

%changelog
openSUSE Build Service is sponsored by