File maven-jaxb2-plugin.spec of Package maven-jaxb2-plugin

#
# spec file for package maven-jaxb2-plugin
#
# 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:           maven-jaxb2-plugin
Version:        0.14.0
Release:        0
Summary:        Provides the capability to generate java sources from schemas
License:        Apache-2.0 AND BSD-2-Clause
Group:          Development/Libraries/Java
URL:            https://java.net/projects/maven-jaxb2-plugin/pages/Home
Source0:        https://github.com/highsource/jaxb-tools/archive/refs/tags/%{version}.tar.gz
# Don't try to use an internal bundled resolver
Patch0:         %{name}-0.14.0-dont-use-internal-resolver.patch
# Adapt for Maven 3:
Patch1:         %{name}-0.13.0-adapt-for-maven-3.patch
BuildRequires:  fdupes
BuildRequires:  java-devel >= 1.8
BuildRequires:  maven-local
BuildRequires:  mvn(com.sun.activation:javax.activation)
BuildRequires:  mvn(com.sun.codemodel:codemodel)
BuildRequires:  mvn(com.sun.istack:istack-commons-runtime)
BuildRequires:  mvn(com.sun.istack:istack-commons-tools)
BuildRequires:  mvn(com.sun.xml.bind.external:rngom)
BuildRequires:  mvn(com.sun.xml.dtd-parser:dtd-parser)
BuildRequires:  mvn(com.sun.xml.fastinfoset:FastInfoset)
BuildRequires:  mvn(com.sun.xsom:xsom)
BuildRequires:  mvn(javax.xml.bind:jaxb-api)
BuildRequires:  mvn(junit:junit)
BuildRequires:  mvn(org.apache.commons:commons-lang3)
BuildRequires:  mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires:  mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires:  mvn(org.apache.maven:maven-compat)
BuildRequires:  mvn(org.apache.maven:maven-core)
BuildRequires:  mvn(org.apache.maven:maven-plugin-api)
BuildRequires:  mvn(org.codehaus.plexus:plexus-utils)
BuildRequires:  mvn(org.glassfish.jaxb:codemodel)
BuildRequires:  mvn(org.glassfish.jaxb:jaxb-runtime)
BuildRequires:  mvn(org.glassfish.jaxb:jaxb-xjc)
BuildRequires:  mvn(org.glassfish.jaxb:jaxb-xjc-jdk9)
BuildRequires:  mvn(org.glassfish.jaxb:txw2)
BuildRequires:  mvn(org.jvnet.staxex:stax-ex)
BuildRequires:  mvn(org.slf4j:slf4j-api)
BuildRequires:  mvn(org.sonatype.plexus:plexus-build-api)
BuildRequires:  mvn(xml-resolver:xml-resolver)
BuildArch:      noarch

%description
This Maven 2 plugin wraps the JAXB 2.x XJC compiler and provides the capability
to generate Java sources from XML Schemas.

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

%description javadoc
The API documentation of %{name}.

%prep
%setup -q -n jaxb-tools-%{version}
%patch -P 0 -p1
%patch -P 1 -p1

# use glassfish-jaxb = 2.0.5
%pom_disable_module plugin-2.0
# use glassfish-jaxb = 2.1.13
%pom_disable_module plugin-2.1

# Add dependency on codemodel:
# because org.glassfish.jaxb:codemodel:2.2.11 have missing classes use @ runtime by these plugins:
%pom_add_dep com.sun.codemodel:codemodel:2.6 plugin
%pom_add_dep com.sun.codemodel:codemodel:2.6 plugin-2.2
%pom_add_dep com.sun.codemodel:codemodel:2.6 plugin-2.3

%pom_remove_dep -r :jaxb-core
%pom_remove_plugin -r :maven-dependency-plugin

%pom_xpath_set -r "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:source" "1.8"
%pom_xpath_set -r "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:target" "1.8"

%build

%{mvn_build} -f -j

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

%files -f .mfiles
%doc README.md
%license LICENSE

%if 0
%files javadoc -f .mfiles-javadoc
%license LICENSE
%endif

%changelog
openSUSE Build Service is sponsored by