[jackson] First import after review (#789611)

Juan Hernandez jhernand at fedoraproject.org
Thu Feb 16 20:10:28 UTC 2012


commit c6a08765218d8dc4a693158ec5bfafff699ab386
Author: Juan Hernandez <juan.hernandez at redhat.com>
Date:   Thu Feb 16 21:09:17 2012 +0100

    First import after review (#789611)

 .gitignore                                         |    1 +
 ...-build-plain-jars-instead-of-osgi-bundles.patch |   98 +++++++++++++
 jackson-dont-require-repackaged-asm.patch          |   32 +++++
 jackson.spec                                       |  143 ++++++++++++++++++++
 sources                                            |    1 +
 5 files changed, 275 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..bb57595 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jackson-src-1.9.4.tar.gz
diff --git a/jackson-build-plain-jars-instead-of-osgi-bundles.patch b/jackson-build-plain-jars-instead-of-osgi-bundles.patch
new file mode 100644
index 0000000..6069608
--- /dev/null
+++ b/jackson-build-plain-jars-instead-of-osgi-bundles.patch
@@ -0,0 +1,98 @@
+From 8cfd6868e1d8c5eb4816682f32d137b551dcab05 Mon Sep 17 00:00:00 2001
+From: Juan Hernandez <juan.hernandez at redhat.com>
+Date: Tue, 14 Feb 2012 18:27:09 +0100
+Subject: [PATCH 1/2] Build plain jar files instead of OSGi bundles
+
+In order to avoid dependending on BND.
+---
+ ant/build-jars.xml |   64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ build.xml          |    2 +-
+ 2 files changed, 65 insertions(+), 1 deletions(-)
+ create mode 100644 ant/build-jars.xml
+
+diff --git a/ant/build-jars.xml b/ant/build-jars.xml
+new file mode 100644
+index 0000000..1267948
+--- /dev/null
++++ b/ant/build-jars.xml
+@@ -0,0 +1,64 @@
++<?xml version="1.0" standalone='yes'?>
++
++<project name="Plain jar files for Jackson" basedir=".">
++
++  <target name="jars.asl" depends="jar.core.asl, jar.mapper.asl"/>
++  <target name="jars.lgpl" depends=""/>
++  <target name="jars.other" depends="jar.jaxrs, jar.xc, jar.smile, jar.mrbean"/>
++  <target name="jars.tools" depends="jar.tool.smile"/>
++
++  <target name="jar.core.asl" depends="compile.core">
++    <jar destfile="${dir.build}/jackson-core-asl-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.core}"/>
++    </jar> 
++  </target> 
++
++  <target name="jar.mapper.asl" depends="compile.mapper">
++    <jar destfile="${dir.build}/jackson-mapper-asl-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.mapper}"/>
++    </jar>
++  </target> 
++
++  <target name="jar.jaxrs" depends="compile.jaxrs">
++    <jar destfile="${dir.build}/jackson-jaxrs-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.jaxrs}"/>
++    </jar>
++  </target>
++
++  <target name="jar.mrbean" depends="compile.mrbean">
++    <jar destfile="${dir.build}/jackson-mrbean-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.mrbean}"/>
++    </jar> 
++  </target> 
++
++  <target name="jar.xc" depends="compile.xc">
++    <jar destfile="${dir.build}/jackson-xc-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.xc}"/>
++    </jar>
++  </target> 
++
++  <target name="jar.smile" depends="compile.smile">
++    <jar destfile="${dir.build}/jackson-smile-${IMPL_VERSION}.jar">
++      <fileset dir="${dir.build.classes.smile}"/>
++    </jar>
++  </target> 
++
++  <target name="jar.tool.smile" depends="compile.smile, jar.core.asl, jar.smile">
++    <jar destfile="${dir.build}/smile-tool-${IMPL_VERSION}.jar">
++      <manifest>
++        <attribute name="Built-By" value="${user.name}"/>
++        <attribute name="Implementation-Title" value="Smile Tool"/>
++        <attribute name="Implementation-Version" value="${IMPL_VERSION}"/>
++        <attribute name="Implementation-Vendor" value="${IMPL_VENDOR}"/>
++        <attribute name="Main-Class" value="org.codehaus.jackson.smile.Tool"/>
++      </manifest>
++      <fileset dir="${dir.build.classes.core}">
++        <include name="org/codehaus/jackson/**/*.class" />
++      </fileset>
++      <fileset dir="${dir.build.classes.smile}">
++        <include name="org/codehaus/jackson/**/*.class" />
++      </fileset>
++    </jar>
++  </target> 
++
++</project>
+diff --git a/build.xml b/build.xml
+index 4f1432d..4613994 100644
+--- a/build.xml
++++ b/build.xml
+@@ -74,7 +74,7 @@
+     </patternset>
+ 
+     <!-- some build tasks are refactored out of the main task -->
+-    <import file="ant/build-osgi.xml" />
++    <import file="ant/build-jars.xml" />
+     <import file="ant/build-maven-deploy.xml" />
+     <import file="ant/build-coverage.xml" />
+     <import file="ant/build-test.xml" />
+-- 
+1.7.9
+
diff --git a/jackson-dont-require-repackaged-asm.patch b/jackson-dont-require-repackaged-asm.patch
new file mode 100644
index 0000000..bb96b8c
--- /dev/null
+++ b/jackson-dont-require-repackaged-asm.patch
@@ -0,0 +1,32 @@
+From d05e128aa7c5ef7b2699b044fa33a799375f1acc Mon Sep 17 00:00:00 2001
+From: Juan Hernandez <juan.hernandez at redhat.com>
+Date: Tue, 14 Feb 2012 18:28:20 +0100
+Subject: [PATCH 2/2] Don't require repackaged asm
+
+To avoid bringing in additional dependencies to do the repackaging.
+
+The repackaging is done in order to avoid version problems, but we should have
+solved that already in Fedora.
+---
+ .../org/codehaus/jackson/mrbean/BeanBuilder.java   |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/mrbean/java/org/codehaus/jackson/mrbean/BeanBuilder.java b/src/mrbean/java/org/codehaus/jackson/mrbean/BeanBuilder.java
+index b03ca0a..cbbc92d 100644
+--- a/src/mrbean/java/org/codehaus/jackson/mrbean/BeanBuilder.java
++++ b/src/mrbean/java/org/codehaus/jackson/mrbean/BeanBuilder.java
+@@ -3,9 +3,9 @@ package org.codehaus.jackson.mrbean;
+ import java.lang.reflect.Method;
+ import java.util.*;
+ 
+-import org.codehaus.jackson.org.objectweb.asm.*;
++import org.objectweb.asm.*;
+ 
+-import static org.codehaus.jackson.org.objectweb.asm.Opcodes.*;
++import static org.objectweb.asm.Opcodes.*;
+ 
+ import org.codehaus.jackson.type.JavaType;
+ import org.codehaus.jackson.map.DeserializationConfig;
+-- 
+1.7.9
+
diff --git a/jackson.spec b/jackson.spec
new file mode 100644
index 0000000..3ad896a
--- /dev/null
+++ b/jackson.spec
@@ -0,0 +1,143 @@
+Name: jackson
+Version: 1.9.4
+Release: 2%{?dist}
+Summary: Jackson Java JSON-processor
+
+Group: Development/Libraries
+License: ASL 2.0 or LGPLv2
+URL: http://jackson.codehaus.org
+
+Source0: http://jackson.codehaus.org/1.9.4/jackson-src-1.9.4.tar.gz
+
+# Build plain jar files instead of OSGi bundles in order to avoid depending on
+# BND:
+Patch0: %{name}-build-plain-jars-instead-of-osgi-bundles.patch
+
+# Don't require a repackaged version of ASM:
+Patch1: %{name}-dont-require-repackaged-asm.patch
+
+BuildArch: noarch
+
+Requires: java
+Requires: jpackage-utils
+Requires: joda-time >= 1.6.2
+Requires: stax2-api >= 3.1.1
+Requires: jsr-311 >= 1.1.1
+Requires: objectweb-asm >= 3.3
+
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
+BuildRequires: ant >= 1.8.2
+BuildRequires: maven-ant-tasks >= 2.1.1
+BuildRequires: joda-time >= 1.6.2
+BuildRequires: stax2-api >= 3.1.1
+BuildRequires: jsr-311 >= 1.1.1
+BuildRequires: objectweb-asm >= 3.3
+BuildRequires: cglib >= 2.2
+BuildRequires: groovy >= 1.8.5
+
+
+%description
+JSON processor (JSON parser + JSON generator) written in Java. Beyond basic
+JSON reading/writing (parsing, generating), it also offers full node-based Tree
+Model, as well as full OJM (Object/Json Mapper) data binding functionality.
+
+
+%package javadoc
+Summary: Javadocs for %{name}
+Group: Documentation
+Requires: jpackage-utils
+
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+
+%prep
+%setup -q -n %{name}-src-%{version}
+%patch0 -p1
+%patch1 -p1
+
+# Remove all the binary jar files, as the packaging policies
+# forbids using them:
+find . -type f -name '*.jar' -exec rm {} \;
+
+# Remove some tests to avoid additional dependencies:
+rm src/test/org/codehaus/jackson/map/interop/TestHibernate.java
+rm src/perf/perf/TestJsonPerf.java
+rm src/test/org/codehaus/jackson/map/interop/TestGoogleCollections.java
+
+# Make symbolic links to the jar files expected by the ant build
+# scripts:
+ln -s $(build-classpath joda-time) lib/ext/joda-time.jar
+ln -s $(build-classpath stax2-api) lib/xml/sta2-api.jar
+ln -s $(build-classpath jsr-311) lib/jaxrs/jsr-311.jar
+ln -s $(build-classpath objectweb-asm/asm) lib/ext/asm/asm.jar
+ln -s $(build-classpath objectweb-asm/asm) lib/repackaged/jackson-asm.jar
+ln -s $(build-classpath cglib) lib/ext/cglib/cglib-nodep.jar
+ln -s $(build-classpath groovy) lib/ext/groovy/groovy.jar
+ln -s $(build-classpath junit) lib/junit/junit.jar
+
+
+%build
+ant dist
+
+
+%install
+
+# Create the directories for the jar and pom files:
+mkdir -p %{buildroot}%{_javadir}/jackson
+install -d -m 755 %{buildroot}%{_mavenpomdir}
+
+# For each jar file install it and its pom:
+jars='
+jackson-core-asl
+jackson-mapper-asl
+jackson-xc
+jackson-smile
+jackson-mrbean
+jackson-jaxrs
+'
+for jar in ${jars}
+do
+  cp -p dist/${jar}-%{version}.jar %{buildroot}%{_javadir}/jackson/${jar}.jar
+  install -pm 644 dist/${jar}-%{version}.pom %{buildroot}/%{_mavenpomdir}/JPP.jackson-${jar}.pom
+  %add_maven_depmap JPP.jackson-${jar}.pom jackson/${jar}.jar
+done
+
+# Javadoc files:
+install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
+cp -rp dist/javadoc/* %{buildroot}%{_javadocdir}/%{name}/.
+
+
+%files
+%{_mavenpomdir}/*
+%{_mavendepmapfragdir}/*
+%{_javadir}/%{name}/*
+%doc README.txt
+%doc release-notes
+
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc README.txt
+%doc release-notes
+
+
+%changelog
+* Wed Feb 15 2012 Juan Hernandez <juan.hernandez at redhat.com> 1.9.4-2
+- Updated license to ASL 2.0 or LGPLv2
+- Removed macros from the source URL
+
+* Mon Feb 13 2012 Juan Hernandez <juan.hernandez at redhat.com> 1.9.4-1
+- Update to upstream version 1.9.4
+
+* Mon Feb 13 2012 Juan Hernandez <juan.hernandez at redhat.com> 1.6.3-3
+- Include jackson-jarxrs.jar in the package
+
+* Mon Feb 13 2012 Juan Hernandez <juan.hernandez at redhat.com> 1.6.3-2
+- Don't use absolute references but build-classpath
+
+* Thu Feb 9 2012 Juan Hernandez <juan.hernandez at redhat.com> 1.6.3-1
+- Initial packaging
+
diff --git a/sources b/sources
index e69de29..a37d7aa 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+8c11b14421fa179aa6fcc960f9b28dab  jackson-src-1.9.4.tar.gz


More information about the scm-commits mailing list