[txw2] First import after review (#794725)

Juan Hernandez jhernand at fedoraproject.org
Fri Mar 2 16:29:45 UTC 2012


commit 6387c4b192bbcd94e628d4c00044a670981a7216
Author: Juan Hernandez <juan.hernandez at redhat.com>
Date:   Fri Mar 2 17:29:03 2012 +0100

    First import after review (#794725)

 .gitignore                 |    1 +
 sources                    |    1 +
 txw2-20110809-args4j.patch |  146 ++++++++++++++++++++++++++++++++++++++++++++
 txw2-20110809-pom.patch    |   16 +++++
 txw2.spec                  |  118 +++++++++++++++++++++++++++++++++++
 5 files changed, 282 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..3e3ccc7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/txw2-20110809.tar.gz
diff --git a/sources b/sources
index e69de29..319bc3a 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+5f324bbcf133eea42305c994f2c575b4  txw2-20110809.tar.gz
diff --git a/txw2-20110809-args4j.patch b/txw2-20110809-args4j.patch
new file mode 100644
index 0000000..c9cf730
--- /dev/null
+++ b/txw2-20110809-args4j.patch
@@ -0,0 +1,146 @@
+diff -Naur txw2-20110809/compiler/src/main/java/com/sun/tools/txw2/Main.java txw2-20110809-work/compiler/src/main/java/com/sun/tools/txw2/Main.java
+--- txw2-20110809/compiler/src/main/java/com/sun/tools/txw2/Main.java	2011-03-29 02:59:19.000000000 -0400
++++ txw2-20110809-work/compiler/src/main/java/com/sun/tools/txw2/Main.java	2012-01-19 13:06:40.049998255 -0500
+@@ -43,10 +43,10 @@
+ import com.sun.codemodel.writer.FileCodeWriter;
+ import com.sun.codemodel.writer.SingleStreamCodeWriter;
+ import com.sun.tools.txw2.model.NodeSet;
++import org.kohsuke.args4j.Argument;
++import org.kohsuke.args4j.Option;
+ import org.kohsuke.args4j.CmdLineException;
+ import org.kohsuke.args4j.CmdLineParser;
+-import org.kohsuke.args4j.opts.BooleanOption;
+-import org.kohsuke.args4j.opts.StringOption;
+ import org.kohsuke.rngom.parse.IllegalSchemaException;
+ import org.kohsuke.rngom.parse.Parseable;
+ import org.kohsuke.rngom.parse.compact.CompactParseable;
+@@ -60,6 +60,8 @@
+ import java.io.IOException;
+ import java.net.MalformedURLException;
+ import java.util.Properties;
++import java.util.List;
++import java.util.ArrayList;
+ 
+ /**
+  * Programatic entry point to the TXW compiler.
+@@ -73,26 +75,39 @@
+         this.opts = opts;
+     }
+ 
+-    public static void main(String[] args) {
+-        System.exit(run(args));
++    public static class Options {
++        @Argument
++        public List<String> arguments = new ArrayList<String>();
++
++        @Option(name="-o")
++        public String output;
++
++        @Option(name="-p")
++        public String pkg;
++
++        @Option(name="-c")
++        public boolean compact;
++
++        @Option(name="-x")
++        public boolean xml;
++
++        @Option(name="-xsd")
++        public boolean xsd;
++
++        @Option(name="-h")
++        public boolean chain;
+     }
+ 
+-    public static class Options {
+-        public StringOption output = new StringOption("-o");
+-        public StringOption pkg = new StringOption("-p");
+-        public BooleanOption compact = new BooleanOption("-c");
+-        public BooleanOption xml = new BooleanOption("-x");
+-        public BooleanOption xsd = new BooleanOption("-xsd");
+-        public BooleanOption chain = new BooleanOption("-h");
++    public static void main(String[] args) {
++        System.exit(run(args));
+     }
+ 
+     public static int run(String[] args) {
+         Options opts = new Options();
+-        CmdLineParser parser = new CmdLineParser();
+-        parser.addOptionClass(opts);
++        CmdLineParser parser = new CmdLineParser(opts);
+ 
+         try {
+-            parser.parse(args);
++            parser.parseArgument(args);
+         } catch (CmdLineException e) {
+             System.out.println(e.getMessage());
+             printUsage();
+@@ -102,9 +117,9 @@
+         TxwOptions topts = new TxwOptions();
+         topts.errorListener = new ConsoleErrorReporter(System.out);
+ 
+-        if(opts.output.value!=null) {
++        if(opts.output != null) {
+             try {
+-                topts.codeWriter = new FileCodeWriter(new File(opts.output.value));
++                topts.codeWriter = new FileCodeWriter(new File(opts.output));
+             } catch( IOException e ) {
+                 System.out.println(e.getMessage());
+                 printUsage();
+@@ -114,12 +129,12 @@
+             topts.codeWriter = new SingleStreamCodeWriter(System.out);
+         }
+ 
+-        if(opts.chain.isOn()) {
++        if(opts.chain) {
+             topts.chainMethod = true;
+         }
+ 
+-        if(opts.pkg.value!=null) {
+-            topts._package = topts.codeModel._package(opts.pkg.value);
++        if(opts.pkg != null) {
++            topts._package = topts.codeModel._package(opts.pkg);
+         } else {
+             topts._package = topts.codeModel.rootPackage();
+         }
+@@ -146,21 +161,21 @@
+      * out of the specified schema file.
+      */
+     private static SchemaBuilder makeSourceSchema(CmdLineParser parser, Options opts, ErrorHandler eh) throws MalformedURLException {
+-        File f = new File((String)parser.getArguments().get(0));
++        File f = new File(opts.arguments.get(0));
+         final InputSource in = new InputSource(f.toURL().toExternalForm());
+ 
+-        if(opts.xsd.isOff() && opts.xml.isOff() && opts.compact.isOff()) {
++        if(!opts.xsd && !opts.xml && !opts.compact) {
+             // auto detect
+             if(in.getSystemId().endsWith(".rnc"))
+-                opts.compact.value=true;
++                opts.compact = true;
+             else
+             if(in.getSystemId().endsWith(".rng"))
+-                opts.xml.value=true;
++                opts.xml = true;
+             else
+-                opts.xsd.value=true;
++                opts.xsd = true;
+         }
+ 
+-        if(opts.xsd.isOn())
++        if(opts.xsd)
+             return new XmlSchemaLoader(in);
+ 
+         final Parseable parseable = makeRELAXNGSource(opts, in, eh, f);
+@@ -169,10 +184,10 @@
+     }
+ 
+     private static Parseable makeRELAXNGSource(Options opts, final InputSource in, ErrorHandler eh, File f) {
+-        if(opts.compact.isOn())
++        if(opts.compact)
+             return new CompactParseable(in,eh);
+ 
+-        if(opts.xml.isOn())
++        if(opts.xml)
+             return new SAXParseable(in,eh);
+ 
+         // otherwise sniff from the file extension
diff --git a/txw2-20110809-pom.patch b/txw2-20110809-pom.patch
new file mode 100644
index 0000000..b8c9e22
--- /dev/null
+++ b/txw2-20110809-pom.patch
@@ -0,0 +1,16 @@
+diff -Naur txw2-20110809/pom.xml txw2-20110809-work/pom.xml
+--- txw2-20110809/pom.xml	2011-08-09 10:31:55.000000000 -0400
++++ txw2-20110809-work/pom.xml	2012-01-19 10:00:37.965002334 -0500
+@@ -49,12 +49,6 @@
+     <version>20110809</version>
+     <packaging>pom</packaging>
+ 
+-    <parent>
+-        <groupId>net.java</groupId>
+-        <artifactId>jvnet-parent</artifactId>
+-        <version>1</version>
+-    </parent>
+-
+     <modules>
+         <module>compiler</module>
+         <module>runtime</module>
diff --git a/txw2.spec b/txw2.spec
new file mode 100644
index 0000000..133369a
--- /dev/null
+++ b/txw2.spec
@@ -0,0 +1,118 @@
+Name: txw2
+Version: 20110809
+Release: 3%{?dist}
+Summary: Typed XML writer for Java
+Group: Development/Libraries
+License: CDDL and GPLv2 with exceptions
+URL: https://txw.dev.java.net
+
+# svn export https://svn.java.net/svn/jaxb~version2/tags/txw2-project-20110809/ txw2-20110809
+# tar -zcvf txw2-20110809.tar.gz txw2-20110809
+Source0: %{name}-%{version}.tar.gz
+
+# Remove the reference to the parent net.java:jvnet-parent, as no package
+# contains that artifact:
+Patch0: %{name}-%{version}-pom.patch
+
+# Update to use the version of args4j available in the distribution:
+Patch1: %{name}-%{version}-args4j.patch
+
+BuildArch: noarch
+
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
+BuildRequires: maven
+
+BuildRequires: maven-compiler-plugin
+BuildRequires: maven-install-plugin
+BuildRequires: maven-jar-plugin
+BuildRequires: maven-javadoc-plugin
+BuildRequires: maven-release-plugin
+BuildRequires: maven-resources-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-surefire-provider-junit4
+BuildRequires: args4j
+BuildRequires: xsom
+BuildRequires: rngom
+BuildRequires: codemodel
+
+Requires: jpackage-utils
+Requires: java
+Requires: args4j
+Requires: xsom
+Requires: rngom
+Requires: codemodel
+
+
+%description
+Typed XML writer for Java.
+
+
+%package javadoc
+Summary: Javadocs for %{name}
+Group: Documentation
+Requires: jpackage-utils
+
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+
+
+%build
+mvn-rpmbuild \
+  -Dproject.build.sourceEncoding=UTF-8 \
+  install \
+  javadoc:aggregate
+
+
+%install
+
+# Jar files:
+install -d -m 755 %{buildroot}%{_javadir}
+cp -p runtime/target/txw2-%{version}.jar %{buildroot}%{_javadir}/txw2.jar
+cp -p compiler/target/txwc2-%{version}.jar %{buildroot}%{_javadir}/txwc2.jar
+
+# POM files:
+install -d -m 755 %{buildroot}%{_mavenpomdir}
+cp -p pom.xml %{buildroot}%{_mavenpomdir}/JPP-txw2-project.pom
+cp -p runtime/pom.xml %{buildroot}%{_mavenpomdir}/JPP-txw2.pom
+cp -p compiler/pom.xml %{buildroot}%{_mavenpomdir}/JPP-txwc2.pom
+
+# Dependencies map:
+%add_maven_depmap JPP-txw2-project.pom
+%add_maven_depmap JPP-txw2.pom txw2.jar
+%add_maven_depmap JPP-txwc2.pom txwc2.jar
+
+# Javadoc files:
+install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
+cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+
+%files
+%{_mavenpomdir}/*
+%{_mavendepmapfragdir}/*
+%{_javadir}/*
+%doc license.txt
+
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc license.txt
+
+
+%changelog
+* Fri Mar 2 2012 Juan Hernandez <juan.hernandez at redhat.com> 20110809-3
+- Use the jar names from upstream
+- Add comments describing the patches
+
+* Fri Feb 17 2012 Juan Hernandez <juan.hernandez at redhat.com> 20110809-2
+- Cleanup of the spec file
+
+* Mon Jan 16 2012 Marek Goldmann <mgoldman at redhat.com> 20110809-1
+- Initial packaging


More information about the scm-commits mailing list