# # spec file for package plexus-metadata-generator # # 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 plexus-containers %global comp_name component-metadata %bcond_with tests Name: plexus-metadata-generator Version: 2.1.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 Patch1: plexus-metadata-generator-cli.patch Patch1000: %{name}-nomojo.patch BuildRequires: ant BuildRequires: apache-commons-cli BuildRequires: fdupes BuildRequires: javapackages-local BuildRequires: jdom2 BuildRequires: junit BuildRequires: objectweb-asm >= 7 BuildRequires: plexus-classworlds BuildRequires: plexus-cli BuildRequires: plexus-containers-component-annotations BuildRequires: plexus-containers-container-default BuildRequires: plexus-utils BuildRequires: qdox >= 2 BuildRequires: xbean Requires: apache-commons-cli Requires: guava Requires: jdom2 Requires: objectweb-asm >= 7 Requires: plexus-cli Requires: plexus-containers-component-annotations = %{version} Requires: plexus-containers-container-default = %{version} Requires: plexus-utils Requires: qdox >= 2 Requires: xbean BuildArch: noarch %if %{with tests} BuildRequires: ant-junit %endif %description Plexus contains end-to-end developer tools for writing applications. At the core is the container, which can be embedded or for an 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. %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 %patch1 -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 # 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 # 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 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_parent plexus-%{comp_name} %pom_xpath_inject "pom:project" " org.codehaus.plexus %{version} " 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}/plexus-container-default:%{base_name}/plexus-component-annotations:objectweb-asm/asm:plexus-classworlds:plexus/utils:jdom2/jdom2:commons-cli:qdox:plexus/cli:guava/guava: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