[xml-commons-apis] Add maven metadata

Stanislav Ochotnicky sochotni at fedoraproject.org
Fri May 6 10:30:50 UTC 2011


commit de5dd5d9d9beba89ed3d3f387927fbe05ed49679
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Fri May 6 12:25:31 2011 +0200

    Add maven metadata
    
    - Few guidelines tweaks (buildroot, clean, defattr)
    - Versionless jars & javadocs

 xml-apis-2.0.2.pom      |   13 ++++++++++
 xml-apis-ext-1.3.04.pom |   42 +++++++++++++++++++++++++++++++
 xml-commons-apis.spec   |   62 ++++++++++++++++++++++++++++++----------------
 3 files changed, 95 insertions(+), 22 deletions(-)
---
diff --git a/xml-apis-2.0.2.pom b/xml-apis-2.0.2.pom
new file mode 100644
index 0000000..664f0df
--- /dev/null
+++ b/xml-apis-2.0.2.pom
@@ -0,0 +1,13 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>xml-apis</groupId>
+  <artifactId>xml-apis</artifactId>
+  <version>2.0.2</version>
+  <distributionManagement>
+    <relocation>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.0.b2</version>
+    </relocation>
+  </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/xml-apis-ext-1.3.04.pom b/xml-apis-ext-1.3.04.pom
new file mode 100644
index 0000000..2e558ff
--- /dev/null
+++ b/xml-apis-ext-1.3.04.pom
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <parent>
+    <artifactId>apache</artifactId>
+    <groupId>org.apache</groupId>
+    <version>3</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>xml-apis</groupId>
+  <artifactId>xml-apis-ext</artifactId>
+  <name>XML Commons External Components XML APIs Extensions</name>
+  <version>1.3.04</version>
+  <description>xml-commons provides an Apache-hosted set of DOM, SAX, and 
+    JAXP interfaces for use in other xml-based projects. Our hope is that we 
+    can standardize on both a common version and packaging scheme for these 
+    critical XML standards interfaces to make the lives of both our developers 
+    and users easier. The External Components portion of xml-commons contains 
+    interfaces that are defined by external standards organizations. For DOM, 
+    that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for 
+    JAXP it's Sun.</description>
+  <url>http://xml.apache.org/commons/components/external/</url>
+  <issueManagement>
+    <system>bugzilla</system>
+    <url>http://issues.apache.org/bugzilla/</url>
+  </issueManagement>
+  <mailingLists>
+    <mailingList>
+      <name>XML Commons Developer's List</name>
+      <subscribe>commons-dev-subscribe at xml.apache.org</subscribe>
+      <unsubscribe>commons-dev-unsubscribe at xml.apache.org</unsubscribe>
+      <post>commons-dev at xml.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/xml-commons-dev/</archive>
+    </mailingList>
+  </mailingLists>
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-external-1_3_04/</connection>
+    <url>http://svn.apache.org/viewvc/xml/commons/tags/xml-commons-external-1_3_04/</url>
+  </scm>
+  <distributionManagement>
+    <status>deployed</status>
+  </distributionManagement>
+</project>
\ No newline at end of file
diff --git a/xml-commons-apis.spec b/xml-commons-apis.spec
index 7c459e9..48468af 100644
--- a/xml-commons-apis.spec
+++ b/xml-commons-apis.spec
@@ -1,6 +1,6 @@
 Name:          xml-commons-apis
 Version:       1.4.01
-Release:       3%{?dist}
+Release:       4%{?dist}
 Summary:       APIs for DOM, SAX, and JAXP
 Group:         Development/Libraries
 License:       ASL 2.0 and W3C and Public Domain
@@ -12,8 +12,8 @@ URL:           http://xml.apache.org/commons/
 Source0:       xml-commons-external-%{version}-src.tar.gz
 Source1:       %{name}-MANIFEST.MF
 Source2:       %{name}-ext-MANIFEST.MF
-
-BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Source3:       http://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+Source4:       http://repo1.maven.org/maven2/xml-apis/xml-apis-ext/1.3.04/xml-apis-ext-1.3.04.pom
 
 BuildArch:     noarch
 
@@ -23,6 +23,8 @@ BuildRequires: ant
 BuildRequires: zip
 Requires:      java
 Requires:      jpackage-utils
+Requires(post):    jpackage-utils
+Requires(postun):  jpackage-utils
 
 Obsoletes:     xml-commons < %{version}-%{release}
 Provides:      xml-commons = %{version}-%{release}
@@ -33,7 +35,7 @@ Provides:      xml-commons-jaxp-1.3-apis = %{version}-%{release}
 %description
 xml-commons-apis is designed to organize and have common packaging for
 the various externally-defined standard interfaces for XML. This
-includes the DOM, SAX, and JAXP. 
+includes the DOM, SAX, and JAXP.
 
 %package manual
 Summary:       Manual for %{name}
@@ -51,7 +53,6 @@ Group:         Documentation
 
 %prep
 %setup -q -n external
-
 # Make sure upstream hasn't sneaked in any jars we don't know about
 find -name '*.class' -exec rm -f '{}' \;
 find -name '*.jar' -exec rm -f '{}' \;
@@ -62,12 +63,14 @@ iconv -f iso8859-1 -t utf-8 LICENSE.dom-documentation.txt > \
 iconv -f iso8859-1 -t utf-8 LICENSE.dom-software.txt > \
   LICENSE.dom-sof.temp && mv -f LICENSE.dom-sof.temp LICENSE.dom-software.txt
 
+# remove bogus section from poms
+cp %{SOURCE3} %{SOURCE4} .
+sed -i '/distributionManagement/,/\/distributionManagement/ {d}' *.pom
+
 %build
 ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 jar javadoc
 
 %install
-rm -rf %{buildroot}
-
 # inject OSGi manifests
 mkdir -p META-INF
 cp -p %{SOURCE1} META-INF/MANIFEST.MF
@@ -78,46 +81,61 @@ touch META-INF/MANIFEST.MF
 zip -u build/xml-apis-ext.jar META-INF/MANIFEST.MF
 
 # Jars
-install -pD -T build/xml-apis.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
-install -pD -T build/xml-apis-ext.jar %{buildroot}%{_javadir}/%{name}-ext-%{version}.jar
+install -pD -T build/xml-apis.jar %{buildroot}%{_javadir}/%{name}.jar
+install -pDm 644 xml-apis-[0-9]*.pom %{buildroot}/%{_mavenpomdir}/JPP-%{name}.pom
+%add_to_maven_depmap xml-apis xml-apis %{version} JPP %{name}
+
+install -pD -T build/xml-apis-ext.jar %{buildroot}%{_javadir}/%{name}-ext.jar
+install -pDm 644 xml-apis-ext*.pom %{buildroot}/%{_mavenpomdir}/JPP-%{name}-ext.pom
+%add_to_maven_depmap xml-apis xml-apis-ext %{version} JPP %{name}-ext
 
-# Jar versioning
-(cd %{buildroot}%{_javadir} && for jar in %{name}-%{version}.jar; do ln -sf ${jar} dom3-${jar}; done)
-(cd %{buildroot}%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
 # for better interoperability with the jpp apis packages
 ln -sf %{name}.jar %{buildroot}%{_javadir}/jaxp13.jar
 ln -sf %{name}.jar %{buildroot}%{_javadir}/jaxp.jar
 ln -sf %{name}.jar %{buildroot}%{_javadir}/xml-commons-jaxp-1.3-apis.jar
 
 # Javadocs
-mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version}
-cp -pr build/docs/javadoc/* \
-  %{buildroot}%{_javadocdir}/%{name}-%{version}
-ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name} 
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr build/docs/javadoc/* %{buildroot}%{_javadocdir}/%{name}
 
 # prevent apis javadoc from being included in doc
 rm -rf build/docs/javadoc
 
-%clean
-rm -rf %{buildroot}
+%pre javadoc
+# workaround for rpm bug, can be removed in F-18
+[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
+rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
+
+
+%post
+%update_maven_depmap
+
+%postun
+%update_maven_depmap
+
 
 %files
-%defattr(-,root,root,-)
-%doc LICENSE NOTICE 
+%doc LICENSE NOTICE
 %doc LICENSE.dom-documentation.txt README.dom.txt
 %doc LICENSE.dom-software.txt LICENSE.sac.html
 %doc LICENSE.sax.txt README-sax  README.sax.txt
 %{_javadir}/*
+%{_mavendepmapfragdir}/%{name}
+%{_mavenpomdir}/JPP-%{name}.pom
+%{_mavenpomdir}/JPP-%{name}-ext.pom
 
 %files manual
-%defattr(-,root,root,-)
 %doc build/docs/*
 
 %files javadoc
-%defattr(-,root,root,-)
 %{_javadocdir}/*
 
 %changelog
+* Fri May  6 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 1.4.01-4
+- Add maven metadata
+- Few guidelines tweaks (buildroot, clean, defattr)
+- Versionless jars & javadocs
+
 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.4.01-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list