Sync from SUSE:ALP:Source:Standard:1.0 maven-plugin-plugin revision 3ac85e0ce2f23ea15e7944ba17bacdac

This commit is contained in:
Adrian Schröter 2023-06-07 07:51:02 +02:00
commit d99328add5
13 changed files with 2723 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,68 @@
From 0ebe12503766c6a76c507498e9e7f0cb1c4469c2 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 16 Mar 2015 14:29:21 +0100
Subject: [PATCH 1/3] Avoid duplicate MOJO parameters
---
.../JavaAnnotationsMojoDescriptorExtractor.java | 24 ++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
index 587ddad..231ed12 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
@@ -29,6 +29,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -573,7 +574,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
parameter.setSince( parameterAnnotationContent.getSince() );
parameter.setRequired( parameterAnnotationContent.required() );
- mojoDescriptor.addParameter( parameter );
+ addParameter( mojoDescriptor, parameter );
}
// Component annotations
@@ -614,7 +615,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
//parameter.setRequired( ... );
parameter.setEditable( false );
- mojoDescriptor.addParameter( parameter );
+ addParameter( mojoDescriptor, parameter );
}
mojoDescriptor.setPluginDescriptor( pluginDescriptor );
@@ -624,6 +625,25 @@ public class JavaAnnotationsMojoDescriptorExtractor
return mojoDescriptors;
}
+ private void addParameter( ExtendedMojoDescriptor mojoDescriptor,
+ org.apache.maven.plugin.descriptor.Parameter parameter )
+ throws DuplicateParameterException
+ {
+ if ( mojoDescriptor.getParameters() != null )
+ {
+ for ( Iterator<?> it = mojoDescriptor.getParameters().iterator(); it.hasNext(); )
+ {
+ if ( it.next().equals( parameter ) )
+ {
+ getLogger().warn( "Duplicate parameter " + parameter.getName() + " field in MOJO descriptor" );
+ it.remove();
+ }
+ }
+ }
+
+ mojoDescriptor.addParameter( parameter );
+ }
+
protected ExecuteAnnotationContent findExecuteInParentHierarchy( MojoAnnotatedClass mojoAnnotatedClass,
Map<String, MojoAnnotatedClass> mojoAnnotatedClasses )
{
--
2.14.3

View File

@ -0,0 +1,66 @@
From ea64c5b59f5f820a73ab3e82b6898762e55a8719 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 16 Mar 2015 16:42:20 +0100
Subject: [PATCH 2/3] Deal with nulls from getComment
---
.../annotations/JavaAnnotationsMojoDescriptorExtractor.java | 6 +++---
.../extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
index 231ed12..6ac677b 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
@@ -269,7 +269,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
MojoAnnotationContent mojoAnnotationContent = entry.getValue().getMojo();
if ( mojoAnnotationContent != null )
{
- mojoAnnotationContent.setDescription( javaClass.getComment() );
+ mojoAnnotationContent.setDescription( javaClass.getComment() != null ? javaClass.getComment() : "" );
DocletTag since = findInClassHierarchy( javaClass, "since" );
if ( since != null )
@@ -300,7 +300,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
}
ParameterAnnotationContent parameterAnnotationContent = parameter.getValue();
- parameterAnnotationContent.setDescription( javaField.getComment() );
+ parameterAnnotationContent.setDescription( javaClass.getComment() != null ? javaClass.getComment() : "" );
DocletTag deprecated = javaField.getTagByName( "deprecated" );
if ( deprecated != null )
@@ -326,7 +326,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
}
ComponentAnnotationContent componentAnnotationContent = component.getValue();
- componentAnnotationContent.setDescription( javaField.getComment() );
+ componentAnnotationContent.setDescription( javaClass.getComment() != null ? javaClass.getComment() : "" );
DocletTag deprecated = javaField.getTagByName( "deprecated" );
if ( deprecated != null )
diff --git a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
index 137d90d..36b30dc 100644
--- a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
+++ b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
@@ -115,7 +115,7 @@ public class JavaJavadocMojoDescriptorExtractor
ExtendedMojoDescriptor mojoDescriptor = new ExtendedMojoDescriptor();
mojoDescriptor.setLanguage( "java" );
mojoDescriptor.setImplementation( javaClass.getFullyQualifiedName() );
- mojoDescriptor.setDescription( javaClass.getComment() );
+ mojoDescriptor.setDescription( javaClass.getComment() != null ? javaClass.getComment() : "" );
// ----------------------------------------------------------------------
// Mojo annotations in alphabetical order
@@ -392,7 +392,7 @@ public class JavaJavadocMojoDescriptorExtractor
pd.setType( type.getFullyQualifiedName() );
- pd.setDescription( field.getComment() );
+ pd.setDescription( javaClass.getComment() != null ? javaClass.getComment() : "" );
DocletTag deprecationTag = field.getTagByName( JavadocMojoAnnotation.DEPRECATED );
--
2.14.3

View File

@ -0,0 +1,33 @@
From 690138ca262b03d7e43336dd9bfee2ca0e1b03f9 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Thu, 12 May 2016 09:36:10 +0200
Subject: [PATCH 3/3] Port to plexus-utils 3.0.24
---
.../maven/tools/plugin/generator/PluginHelpGenerator.java | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
index 23c3ed9..7543496 100644
--- a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
+++ b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java
@@ -302,7 +302,15 @@ public class PluginHelpGenerator
return;
}
- Properties properties = PropertyUtils.loadProperties( tmpPropertiesFile );
+ Properties properties;
+ try
+ {
+ properties = PropertyUtils.loadProperties( tmpPropertiesFile );
+ }
+ catch ( IOException exc )
+ {
+ properties = new Properties();
+ }
String helpPackageName = properties.getProperty( "helpPackageName" );
--
2.14.3

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,28 @@
-------------------------------------------------------------------
Fri May 13 09:17:09 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Fix build with modello 2.0.0
-------------------------------------------------------------------
Mon Nov 25 10:25:11 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream 3.6.0
* allow building with java > 1.8 too against objectweb-asm 7.2
- Removed patch:
* fix-getPluginsAsMap.patch
+ fix is present in the updated sources
- Modified patch:
* maven-plugin-plugin-bootstrap-resouces.patch
+ regenerate from the non-bootstrap build to correspond to
what is generate by the maven-plugin-plugin
-------------------------------------------------------------------
Fri Mar 29 17:04:37 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of a bootstrap version of maven-plugin-plugin
version 3.5.1
- Added patch:
* maven-plugin-plugin-bootstrap-resouces.patch
+ Add to the build pre-generated resources that need, in a
circular way, maven and maven-plugin-plugin for their
generation.

View File

@ -0,0 +1,134 @@
#
# spec file
#
# 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 base_name maven-plugin-tools
%global artifactId maven-plugin-plugin
Name: %{artifactId}-bootstrap
Version: 3.6.0
Release: 0
Summary: Maven Plugin Plugin
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://maven.apache.org/plugin-tools/
Source0: http://repo2.maven.org/maven2/org/apache/maven/plugin-tools/%{base_name}/%{version}/%{base_name}-%{version}-source-release.zip
Source1: %{base_name}-build.tar.xz
Patch0: 0001-Avoid-duplicate-MOJO-parameters.patch
Patch1: 0002-Deal-with-nulls-from-getComment.patch
Patch2: 0003-Port-to-plexus-utils-3.0.24.patch
# The maven-plugin-plugin is used to generate those descriptors, which
# creates a circular dependency of maven-plugin-plugin on itself.
# We generated those ones outside the rpm build for a bootstrap package.
Patch20: maven-plugin-plugin-bootstrap-resouces.patch
BuildRequires: ant
BuildRequires: javapackages-local
BuildRequires: maven-doxia-logging-api
BuildRequires: maven-doxia-sink-api
BuildRequires: maven-doxia-sitetools
BuildRequires: maven-lib
BuildRequires: maven-plugin-annotations
BuildRequires: maven-plugin-registry
BuildRequires: maven-plugin-tools-api
BuildRequires: maven-plugin-tools-generators
BuildRequires: maven-reporting-api
BuildRequires: maven-reporting-impl
BuildRequires: modello >= 2.0.0
BuildRequires: plexus-containers-container-default
BuildRequires: plexus-utils
BuildRequires: plexus-velocity
BuildRequires: unzip
BuildRequires: velocity
BuildRequires: xmvn-install
BuildRequires: xmvn-resolve
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-annotations)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-java)
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildArch: noarch
%description
The Plugin Plugin is used to create a Maven plugin descriptor for any Mojo's
found in the source tree, to include in the JAR. It is also used to generate
Xdoc files for the Mojos as well as for updating the plugin registry, the
artifact metadata and a generic help goal.
%prep
%setup -q -n %{base_name}-%{version} -a1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch20 -p1
%pom_remove_plugin -r :maven-enforcer-plugin
%pom_xpath_inject "pom:project/pom:properties" "
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>"
# Why on the earth is this dependency there ???
%pom_remove_dep :maven-surefire-common maven-plugin-plugin
# Remove test dependencies because tests are skipped anyways.
%pom_xpath_remove "pom:dependency[pom:scope='test']"
%pom_change_dep org.easymock:easymock:: :::test maven-plugin-tools-annotations
# For some reason, this dependency is not generated by javapackages-local
# and for some reasons if we give it a scope 'runtime' it works
%pom_remove_dep :maven-plugin-annotations maven-plugin-plugin
%pom_add_dep org.apache.maven.plugin-tools:maven-plugin-annotations:%{version}:runtime maven-plugin-plugin
%{mvn_package} :maven-plugin-tools __noinstall
%build
mkdir -p lib
build-jar-repository -s lib \
maven-doxia/doxia-logging-api \
maven-doxia/doxia-sink-api \
maven-doxia-sitetools/doxia-site-renderer \
maven/maven-artifact \
maven/maven-compat \
maven/maven-core \
maven/maven-model \
maven/maven-plugin-api \
maven/maven-plugin-registry \
maven/maven-repository-metadata \
maven-plugin-tools/maven-plugin-annotations \
maven-plugin-tools/maven-plugin-tools-api \
maven-plugin-tools/maven-plugin-tools-generators \
maven-reporting-api/maven-reporting-api \
maven-reporting-impl/maven-reporting-impl \
plexus-containers/plexus-container-default \
plexus/utils \
plexus-velocity/plexus-velocity \
velocity
%{mvn_file} :%{artifactId} %{base_name}/%{artifactId}
pushd %{artifactId}
%ant \
-Dtest.skip=true \
jar
popd
%mvn_artifact pom.xml
%mvn_artifact %{artifactId}/pom.xml %{artifactId}/target/%{artifactId}-%{version}.jar
%install
%mvn_install
%files -f .mfiles
%license LICENSE NOTICE
%changelog

View File

@ -0,0 +1,20 @@
-------------------------------------------------------------------
Mon Nov 25 10:29:02 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream 3.6.0
* allow building with java > 1.8 too against objectweb-asm 7.2
- Removed patch:
* fix-getPluginsAsMap.patch
+ fix is present in the updated sources
-------------------------------------------------------------------
Sun Nov 24 17:30:49 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Specify maven.compiler.release to fix build with jdk9+ and newer
maven-javadoc-plugin
-------------------------------------------------------------------
Wed Apr 3 09:16:17 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of the non-bootstrap version of
maven-plugin-plugin 3.5.1

118
maven-plugin-plugin.spec Normal file
View File

@ -0,0 +1,118 @@
#
# spec file for package maven-plugin-plugin
#
# 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 base_name maven-plugin-tools
Name: maven-plugin-plugin
Version: 3.6.0
Release: 0
Summary: Maven Plugin Plugin
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://maven.apache.org/plugin-tools/
Source0: http://repo2.maven.org/maven2/org/apache/maven/plugin-tools/%{base_name}/%{version}/%{base_name}-%{version}-source-release.zip
Patch0: 0001-Avoid-duplicate-MOJO-parameters.patch
Patch1: 0002-Deal-with-nulls-from-getComment.patch
Patch2: 0003-Port-to-plexus-utils-3.0.24.patch
BuildRequires: fdupes
BuildRequires: maven-local
BuildRequires: unzip
BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api)
BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-annotations)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-api)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-generators)
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-tools-java)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-api)
BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl)
BuildRequires: mvn(org.apache.maven.surefire:maven-surefire-common)
BuildRequires: mvn(org.apache.maven:maven-artifact:2.2.1)
BuildRequires: mvn(org.apache.maven:maven-model:2.2.1)
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-repository-metadata)
BuildRequires: mvn(org.apache.velocity:velocity)
BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.codehaus.plexus:plexus-velocity)
Obsoletes: %{name}-bootstrap
#!BuildRequires: maven-compiler-plugin-bootstrap
#!BuildRequires: maven-jar-plugin-bootstrap
#!BuildRequires: maven-javadoc-plugin-bootstrap
#!BuildRequires: maven-plugin-plugin-bootstrap
#!BuildRequires: maven-resources-plugin-bootstrap
#!BuildRequires: maven-surefire-plugin-bootstrap
BuildArch: noarch
%description
The Plugin Plugin is used to create a Maven plugin descriptor for any Mojo's
found in the source tree, to include in the JAR. It is also used to generate
Xdoc files for the Mojos as well as for updating the plugin registry, the
artifact metadata and a generic help goal.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Libraries/Java
%description javadoc
API documentation for %{name}.
%prep
%setup -q -n %{base_name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%pom_remove_plugin -r :maven-enforcer-plugin
%pom_xpath_inject "pom:project/pom:properties" "
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>"
# Remove test dependencies because tests are skipped anyways.
%pom_xpath_remove "pom:dependency[pom:scope='test']"
# Why on the earth is this dependency there ???
%pom_remove_dep :maven-surefire-common maven-plugin-plugin
%pom_change_dep org.easymock:easymock:: :::test maven-plugin-tools-annotations
%build
pushd %{name}
%{mvn_file} :%{name} %{base_name}/%{name}
%{mvn_build} -f \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-- -Dmaven.compiler.release=7
%endif
popd
%install
pushd %{name}
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
popd
%files -f %{name}/.mfiles
%license LICENSE NOTICE
%files javadoc -f %{name}/.mfiles-javadoc
%license LICENSE NOTICE
%changelog

BIN
maven-plugin-tools-3.6.0-source-release.zip (Stored with Git LFS) Normal file

Binary file not shown.

BIN
maven-plugin-tools-build.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,36 @@
-------------------------------------------------------------------
Fri May 13 09:16:46 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Fix build with modello 2.0.0
-------------------------------------------------------------------
Mon Mar 7 11:01:23 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Do not force building with java-1_8_0-openjdk, since the package
builds just fine with higher versions.
-------------------------------------------------------------------
Tue May 11 15:18:26 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Do not build against the legacy guava20 package any more
-------------------------------------------------------------------
Mon Nov 25 10:18:49 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream 3.6.0
* allow building with java > 1.8 too against objectweb-asm 7.2
* maven-plugin-tools-javadoc component does not exist any more
* Renamed the package of documentation to
maven-plugin-tools-javadoc since there is no name clash any
more and it allows smooth upgrade
- Removed patch:
* fix-getPluginsAsMap.patch
+ fix is present in the updated sources
-------------------------------------------------------------------
Fri Mar 29 13:22:25 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of maven-plugin-tools 3.5.1
- Generate and customize ant build files
- Do not build maven-plugin-plugin in this spec, since it has
circular dependency on itself

277
maven-plugin-tools.spec Normal file
View File

@ -0,0 +1,277 @@
#
# spec file for package maven-plugin-tools
#
# 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: maven-plugin-tools
Version: 3.6.0
Release: 0
Summary: Maven Plugin Tools
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://maven.apache.org/plugin-tools/
Source0: http://repo2.maven.org/maven2/org/apache/maven/plugin-tools/%{name}/%{version}/%{name}-%{version}-source-release.zip
Source1: %{name}-build.tar.xz
Patch0: 0001-Avoid-duplicate-MOJO-parameters.patch
Patch1: 0002-Deal-with-nulls-from-getComment.patch
Patch2: 0003-Port-to-plexus-utils-3.0.24.patch
BuildRequires: ant
BuildRequires: apache-commons-cli
BuildRequires: atinject
BuildRequires: bsh2
BuildRequires: fdupes
BuildRequires: google-guice
BuildRequires: guava
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local
BuildRequires: jdom2
BuildRequires: jtidy
BuildRequires: junit
BuildRequires: maven-lib
BuildRequires: maven-reporting-api
BuildRequires: modello >= 2.0.0
BuildRequires: objectweb-asm
BuildRequires: plexus-ant-factory
BuildRequires: plexus-archiver
BuildRequires: plexus-bsh-factory
BuildRequires: plexus-classworlds
BuildRequires: plexus-cli
BuildRequires: plexus-containers-component-annotations
BuildRequires: plexus-metadata-generator
BuildRequires: plexus-utils
BuildRequires: plexus-velocity
BuildRequires: qdox
BuildRequires: sisu-inject
BuildRequires: sisu-plexus
BuildRequires: unzip
BuildRequires: velocity
BuildRequires: xbean
BuildRequires: xmvn-install
BuildRequires: xmvn-resolve
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildArch: noarch
%description
The Maven Plugin Tools contains the necessary tools to be able to produce Maven
Plugins in a variety of languages.
%package -n maven-plugin-annotations
Summary: Maven Plugin Java 5 Annotations
Group: Development/Libraries/Java
%description -n maven-plugin-annotations
This package contains Java 5 annotations to use in Mojos.
%package annotations
Summary: Maven Plugin Tool for Annotations
Group: Development/Libraries/Java
%description annotations
This package provides Java 5 annotation tools for use with Apache Maven.
%package ant
Summary: Maven Plugin Tool for Ant
Group: Development/Libraries/Java
%description ant
Descriptor extractor for plugins written in Ant.
%package api
Summary: Maven Plugin Tools APIs
Group: Development/Libraries/Java
%description api
The Maven Plugin Tools API provides an API to extract information from
and generate documentation for Maven Plugins.
%package beanshell
Summary: Maven Plugin Tool for Beanshell
Group: Development/Libraries/Java
%description beanshell
Descriptor extractor for plugins written in Beanshell.
%package generators
Summary: Maven Plugin Tools Generators
Group: Development/Libraries/Java
%description generators
The Maven Plugin Tools Generators provides content generation
(documentation, help) from plugin descriptor.
%package java
Summary: Maven Plugin Tool for Java
Group: Development/Libraries/Java
%description java
Descriptor extractor for plugins written in Java.
%package model
Summary: Maven Plugin Metadata Model
Group: Development/Libraries/Java
%description model
The Maven Plugin Metadata Model provides an API to play with the Metadata
model.
%package -n maven-script-ant
Summary: Maven Ant Mojo Support
Group: Development/Libraries/Java
%description -n maven-script-ant
This package provides %{summary}, which write Maven plugins with
Ant scripts.
%package -n maven-script-beanshell
Summary: Maven Beanshell Mojo Support
Group: Development/Libraries/Java
%description -n maven-script-beanshell
This package provides %{summary}, which write Maven plugins with
Beanshell scripts.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Libraries/Java
Provides: %{name}-javadocs = %{version}-%{release}
Obsoletes: %{name}-javadocs < %{version}-%{release}
%description javadoc
API documentation for %{name}.
%prep
%setup -q -a1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%pom_remove_plugin -r :maven-enforcer-plugin
%pom_xpath_inject "pom:project/pom:properties" "
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>"
# Remove test dependencies because tests are skipped anyways.
%pom_xpath_remove "pom:dependency[pom:scope='test']"
%pom_change_dep org.easymock:easymock:: :::test maven-plugin-tools-annotations
%{mvn_package} :maven-plugin-tools __noinstall
%{mvn_package} :maven-script __noinstall
%{mvn_package} :{*} @1
%build
mkdir -p lib
build-jar-repository -s lib \
ant \
ant-launcher \
atinject \
bsh2/bsh \
commons-cli \
guava/guava \
guice/google-guice-no_aop \
jdom2/jdom2 \
jtidy \
junit \
maven/maven-artifact \
maven/maven-compat \
maven/maven-core \
maven/maven-model \
maven/maven-plugin-api \
maven-reporting-api/maven-reporting-api \
objectweb-asm/asm \
objectweb-asm/asm-commons \
org.eclipse.sisu.inject \
org.eclipse.sisu.plexus \
plexus/ant-factory \
plexus/archiver \
plexus/bsh-factory \
plexus-classworlds \
plexus/cli \
plexus-containers/plexus-component-annotations \
plexus-metadata-generator \
plexus/utils \
plexus-velocity/plexus-velocity \
qdox \
velocity \
xbean/xbean-reflect
ln -s $(xmvn-resolve com.sun:tools) lib/
%{ant} \
-Dtest.skip=true \
package javadoc
%mvn_artifact pom.xml
%mvn_artifact maven-script/pom.xml
mkdir -p target/site/apidocs
for i in \
maven-plugin-annotations \
maven-plugin-tools-annotations \
maven-plugin-tools-api \
maven-plugin-tools-generators \
maven-plugin-tools-java; do
%{mvn_artifact} ${i}/pom.xml ${i}/target/${i}-%{version}.jar
if [ -d ${i}/target/site/apidocs ]; then
cp -r ${i}/target/site/apidocs target/site/apidocs/${i}
fi
done
for i in \
maven-plugin-tools-ant \
maven-plugin-tools-beanshell \
maven-plugin-tools-model \
maven-script-ant \
maven-script-beanshell; do
%{mvn_artifact} maven-script/${i}/pom.xml maven-script/${i}/target/${i}-%{version}.jar
if [ -d maven-script/${i}/target/site/apidocs ]; then
cp -r maven-script/${i}/target/site/apidocs target/site/apidocs/${i}
fi
done
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files -n maven-plugin-annotations -f .mfiles-maven-plugin-annotations
%files annotations -f .mfiles-maven-plugin-tools-annotations
%license LICENSE NOTICE
%files ant -f .mfiles-maven-plugin-tools-ant
%files api -f .mfiles-maven-plugin-tools-api
%license LICENSE NOTICE
%files beanshell -f .mfiles-maven-plugin-tools-beanshell
%files generators -f .mfiles-maven-plugin-tools-generators
%files java -f .mfiles-maven-plugin-tools-java
%files model -f .mfiles-maven-plugin-tools-model
%license LICENSE NOTICE
%files -n maven-script-ant -f .mfiles-maven-script-ant
%license LICENSE NOTICE
%files -n maven-script-beanshell -f .mfiles-maven-script-beanshell
%license LICENSE NOTICE
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%changelog