diff --git a/plexus-containers-build.tar.xz b/plexus-containers-build.tar.xz index c7604dc..1165146 100644 --- a/plexus-containers-build.tar.xz +++ b/plexus-containers-build.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3a9715ba951b846125a7bccc9da25fa51586e1830ffa94e29498b77697b1255 -size 5156 +oid sha256:e99e9300240bfcedb4b23250d31b39912f7971464de6ba5060fe7dd1ebfd8aa6 +size 3232 diff --git a/plexus-containers.spec b/plexus-containers.spec index b3e7b7b..09a87dd 100644 --- a/plexus-containers.spec +++ b/plexus-containers.spec @@ -38,10 +38,10 @@ BuildRequires: fdupes BuildRequires: guava20 BuildRequires: javapackages-local BuildRequires: junit -BuildRequires: mvn(org.codehaus.plexus:plexus:pom:) BuildRequires: plexus-classworlds BuildRequires: plexus-utils BuildRequires: xbean +BuildRequires: mvn(org.codehaus.plexus:plexus:pom:) BuildConflicts: java-devel >= 9 Requires: mvn(org.codehaus.plexus:plexus:pom:) BuildArch: noarch @@ -150,9 +150,6 @@ mkdir -p plexus-component-annotations/src/test/java # integration tests fix sed -i "s|2.3| %{javadoc_plugin_version}|" plexus-component-javadoc/src/it/basic/pom.xml -# plexus-component-api has been merged into plexus-container-default -# %{mvn_alias} ":plexus-container-default" "org.codehaus.plexus:containers-component-api" - %build for i in plexus-component-annotations plexus-component-javadoc plexus-container-default; do pushd ${i} diff --git a/plexus-metadata-generator-nomojo.patch b/plexus-metadata-generator-nomojo.patch new file mode 100644 index 0000000..0e67e20 --- /dev/null +++ b/plexus-metadata-generator-nomojo.patch @@ -0,0 +1,26 @@ +--- plexus-containers-plexus-containers-1.7.1/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/ClassComponentDescriptorExtractor.java 2016-08-31 21:01:49.000000000 +0200 ++++ plexus-containers-plexus-containers-1.7.1/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/ClassComponentDescriptorExtractor.java 2019-03-07 07:59:40.878835988 +0100 +@@ -23,7 +23,6 @@ + import java.util.List; + import java.util.Map; + +-import org.apache.maven.plugin.MojoExecutionException; + import org.codehaus.plexus.component.annotations.Component; + import org.codehaus.plexus.component.repository.ComponentDescriptor; + import org.codehaus.plexus.metadata.gleaner.AnnotationComponentGleaner; +@@ -95,15 +94,8 @@ + // Add the projects dependencies + for ( String filename : elements ) + { +- try +- { + list.add( new File( filename ).toURI().toURL() ); + } +- catch ( MalformedURLException e ) +- { +- throw new MojoExecutionException( "Invalid classpath entry: " + filename, e ); +- } +- } + + URL[] urls = list.toArray( new URL[list.size()] ); + diff --git a/plexus-metadata-generator.spec b/plexus-metadata-generator.spec new file mode 100644 index 0000000..e3345a3 --- /dev/null +++ b/plexus-metadata-generator.spec @@ -0,0 +1,183 @@ +# +# spec file for package plexus-metadata-generator +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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 plexus-containers +%global comp_name component-metadata +%bcond_with tests +Name: plexus-metadata-generator +Version: 1.7.1 +Release: 0 +Summary: Component metadata from %{base_name} +# Most of the files are either under ASL 2.0 or MIT +# The following files are under xpp: +# plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/merge/Driver.java +# plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java +License: Apache-2.0 AND MIT AND xpp +Group: Development/Libraries/Java +URL: https://github.com/codehaus-plexus/plexus-containers +Source0: https://github.com/codehaus-plexus/%{base_name}/archive/%{base_name}-%{version}.tar.gz +Source1: http://www.apache.org/licenses/LICENSE-2.0.txt +Source2: LICENSE.MIT +Source100: %{base_name}-build.tar.xz +Patch0: 0001-Port-to-current-qdox.patch +Patch1000: %{name}-nomojo.patch +BuildRequires: ant +BuildRequires: apache-commons-cli +BuildRequires: fdupes +BuildRequires: javapackages-local +BuildRequires: jdom2 +BuildRequires: junit +BuildRequires: objectweb-asm +BuildRequires: plexus-classworlds +BuildRequires: plexus-cli +BuildRequires: plexus-containers-component-annotations +BuildRequires: plexus-containers-container-default +BuildRequires: plexus-utils +BuildRequires: qdox >= 2 +BuildRequires: xbean +BuildConflicts: java-devel >= 9 +Requires: apache-commons-cli +Requires: jdom2 guava20 xbean +Requires: objectweb-asm +Requires: plexus-cli +Requires: plexus-containers-component-annotations = %{version} +Requires: plexus-containers-container-default = %{version} +Requires: plexus-utils +Requires: qdox >= 2 +BuildArch: noarch +%if %{with tests} +BuildRequires: ant-junit +%endif + +%description +The Plexus project seeks to create end-to-end developer tools for +writing applications. At the core is the container, which can be +embedded or for a full scale application server. There are many +reusable components for hibernate, form processing, jndi, i18n, +velocity, etc. Plexus also includes an application server which +is like a J2EE application server, without all the baggage. + +%package javadoc +Summary: API documentation for %{name} +Group: Documentation/HTML + +%description javadoc +%{summary}. + +%prep +%setup -q -n %{base_name}-%{base_name}-%{version} -a100 + +mkdir -p lib +build-jar-repository -s lib %{base_name} objectweb-asm/asm objectweb-asm/asm-commons plexus/classworlds plexus/utils jdom2/jdom2 commons-cli qdox plexus/cli +%if %{with tests} +build-jar-repository -s lib hamcrest/core +%endif + +%patch0 -p1 + +%patch1000 -p1 + +cp %{SOURCE1} . +cp %{SOURCE2} . + +rm -rf plexus-container-default/src/test/java/org/codehaus/plexus/hierarchy + +%pom_remove_plugin -r :maven-site-plugin + +# For Maven 3 compat +%pom_add_dep org.apache.maven:maven-core plexus-component-metadata + +%pom_change_dep -r :google-collections com.google.guava:guava:20.0 + +# ASM dependency was changed to "provided" in XBean 4.x, so we need to provide ASM +%pom_add_dep org.ow2.asm:asm:5.0.3:runtime plexus-container-default +%pom_add_dep org.ow2.asm:asm-commons:5.0.3:runtime plexus-container-default + +%pom_remove_dep com.sun:tools plexus-component-javadoc +%pom_add_dep com.sun:tools plexus-component-javadoc + +# Generate OSGI info +%pom_xpath_inject "pom:project" " + bundle + + + + org.apache.felix + maven-bundle-plugin + true + + + <_nouses>true + org.codehaus.plexus.component.annotations.* + + + + + " plexus-component-annotations + +# to prevent ant from failing +mkdir -p plexus-component-annotations/src/test/java + +# integration tests fix +sed -i "s|2.3| %{javadoc_plugin_version}|" plexus-component-javadoc/src/it/basic/pom.xml + +rm -rf plexus-%{comp_name}/src/main/java/org/codehaus/plexus/maven +rm -rf plexus-%{comp_name}/src/main/resources/META-INF/maven + +%pom_remove_dep :maven-core plexus-%{comp_name} +%pom_remove_dep :maven-model plexus-%{comp_name} +%pom_remove_dep :maven-plugin-api plexus-%{comp_name} +%pom_remove_dep :maven-project plexus-%{comp_name} +%pom_remove_dep :maven-plugin-annotations plexus-%{comp_name} + +%pom_xpath_set "pom:project/pom:artifactId" %{name} plexus-%{comp_name} + +%build +pushd plexus-%{comp_name} + ant \ + -f generator-build.xml \ +%if %{without tests} + -Dtest.skip=true \ +%endif + jar javadoc +popd + +%install +# jar +install -dm 0755 %{buildroot}%{_javadir} +install -pm 0644 plexus-%{comp_name}/target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar +# pom +install -dm 0755 %{buildroot}%{_mavenpomdir} +install -pm 0644 plexus-%{comp_name}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom +%add_maven_depmap %{name}.pom %{name}.jar +# javadoc +install -dm 0755 %{buildroot}%{_javadocdir}/%{name} +cp -pr plexus-%{comp_name}/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/ +%fdupes -s %{buildroot}%{_javadocdir} +# script +%jpackage_script org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli "" "" %{name}:%{base_name}:objectweb-asm/asm:objectweb-asm/asm-commons:plexus/classworlds:plexus/utils:jdom2/jdom2:commons-cli:qdox:plexus/cli:guava20/guava-20.0:xbean/xbean-reflect %{name} + +%files -f .mfiles +%license LICENSE-2.0.txt LICENSE.MIT +%{_bindir}/%{name} + +%files javadoc +%license LICENSE-2.0.txt LICENSE.MIT +%{_javadocdir}/%{name} + +%changelog