[parboiled] add scala support

gil gil at fedoraproject.org
Thu Mar 20 06:03:08 UTC 2014


commit cbacb330ba58567ccb8948089edd113eb791355a
Author: gil <puntogil at libero.it>
Date:   Thu Mar 20 07:02:55 2014 +0100

    add scala support

 parboiled-1.1.6-scala-use-antrun-plugin.patch |   59 +++++++++++++++++++++++++
 parboiled-scala_2.10-1.1.6.pom                |   57 ++++++++++++++++++++++++
 parboiled.spec                                |   50 +++++++++++++++++++--
 3 files changed, 162 insertions(+), 4 deletions(-)
---
diff --git a/parboiled-1.1.6-scala-use-antrun-plugin.patch b/parboiled-1.1.6-scala-use-antrun-plugin.patch
new file mode 100644
index 0000000..0b6cd16
--- /dev/null
+++ b/parboiled-1.1.6-scala-use-antrun-plugin.patch
@@ -0,0 +1,59 @@
+--- parboiled-scala/pom.xml	2014-03-19 17:51:22.538149787 +0100
++++ parboiled-scala/pom.xml-gil	2014-03-19 17:52:16.244284900 +0100
+@@ -3,6 +3,56 @@
+ <!-- begin of code added by maintainer -->
+ <build><plugins>
+ 
++             <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-antrun-plugin</artifactId>
++                <version>1.7</version>
++                 <executions>
++                     <execution>
++                        <id>scala-compile</id>
++                        <phase>compile</phase>
++                        <configuration>
++                            <tasks>
++                                <property name="build.compiler" value="extJavac"/>
++                                <taskdef resource="scala/tools/ant/antlib.xml" classpathref="maven.compile.classpath"/>
++                                <mkdir dir="${project.build.outputDirectory}"/>
++                                <scalac srcdir="src/main" destdir="${project.build.outputDirectory}" classpathref="maven.compile.classpath">
++                                    <include name="scala/**/*.scala"/>
++                                </scalac>
++                            </tasks>
++                        </configuration>
++                    <goals>
++                        <goal>run</goal>
++                    </goals>
++                    </execution>
++                    <!--TODO unavailable test deps-->
++                    <!--execution>
++                        <id>scala-test-compile</id>
++                        <phase>test-compile</phase>
++                        <configuration>
++                            <tasks>
++                                <property name="build.compiler" value="extJavac"/>
++                                <taskdef resource="scala/tools/ant/antlib.xml" classpathref="maven.compile.classpath"/>
++                                <mkdir dir="${project.build.testOutputDirectory}"/>
++                                <scalac srcdir="src/test" destdir="${project.build.testOutputDirectory}" classpathref="maven.test.classpath">
++                                    <include name="scala/**/*.scala"/>
++                                </scalac>
++                            </tasks>
++                        </configuration>
++                         <goals>
++                            <goal>run</goal>
++                         </goals>
++                    </execution-->
++                 </executions>
++                <dependencies>
++                    <dependency>
++                        <groupId>org.scala-lang</groupId>
++                        <artifactId>scala-compiler</artifactId>
++                        <version>2.10.2</version>
++                    </dependency>
++                </dependencies>
++             </plugin>
++
+ <!-- begin of code added by maintainer -->
+ <plugin><groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId><version>any</version><extensions>true</extensions><configuration><instructions><Bundle-SymbolicName>org.parboiled.scala</Bundle-SymbolicName><Bundle-Name>org.parboiled.scala</Bundle-Name><Bundle-Version>${project.version}</Bundle-Version><Private-Package>org.parboiled.scala.*</Private-Package></instructions></configuration><executions><execution><id>bundle-manifest</id><phase>process-classes</phase><goals><goal>manifest</goal></goals></execution></executions></plugin>
+ <!-- end of code added by maintainer -->
diff --git a/parboiled-scala_2.10-1.1.6.pom b/parboiled-scala_2.10-1.1.6.pom
new file mode 100644
index 0000000..752da2f
--- /dev/null
+++ b/parboiled-scala_2.10-1.1.6.pom
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.parboiled</groupId>
+    <artifactId>parboiled-scala_2.10</artifactId>
+    <packaging>bundle</packaging>
+    <description>Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful</description>
+    <url>http://parboiled.org</url>
+    <version>1.1.6</version>
+    <licenses>
+        <license>
+            <name>Apache 2</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+    <name>parboiled-scala</name>
+    <inceptionYear>2009</inceptionYear>
+    <organization>
+        <name>org.parboiled</name>
+        <url>http://parboiled.org</url>
+    </organization>
+    <scm>
+        <url>git at github.com:sirthias/parboiled.git</url>
+        <connection>scm:git:git at github.com:sirthias/parboiled.git</connection>
+    </scm>
+    <developers>
+        <developer>
+            <id>sirthias</id>
+            <name>Mathias Doenitz</name>
+        </developer>
+    </developers>
+    <dependencies>
+        <dependency>
+            <groupId>org.parboiled</groupId>
+            <artifactId>parboiled-core</artifactId>
+            <version>1.1.6</version>
+        </dependency>
+        <dependency>
+            <groupId>org.scala-lang</groupId>
+            <artifactId>scala-library</artifactId>
+            <version>2.10.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>5.14.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.scalatest</groupId>
+            <artifactId>scalatest_2.10</artifactId>
+            <version>1.9.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/parboiled.spec b/parboiled.spec
index 6cafd33..2fcaead 100644
--- a/parboiled.spec
+++ b/parboiled.spec
@@ -1,6 +1,6 @@
 Name:          parboiled
 Version:       1.1.6
-Release:       1%{?dist}
+Release:       2%{?dist}
 Summary:       Java/Scala library providing parsing of input text based on PEGs
 License:       ASL 2.0
 URL:           http://parboiled.org/
@@ -10,6 +10,8 @@ Source1:       http://repo1.maven.org/maven2/org/parboiled/%{name}-core/%{versio
 Source2:       http://repo1.maven.org/maven2/org/parboiled/%{name}-java/%{version}/%{name}-java-%{version}.pom
 # customized aggregator pom
 Source3:       %{name}-pom.xml
+Source4:       http://repo1.maven.org/maven2/org/parboiled/%{name}-scala_%{scala_short_version}/%{version}/%{name}-scala_%{scala_short_version}-%{version}.pom
+Patch0:        %{name}-1.1.6-scala-use-antrun-plugin.patch
 
 BuildRequires: java-devel
 
@@ -18,8 +20,10 @@ BuildRequires: mvn(org.ow2.asm:asm-analysis)
 BuildRequires: mvn(org.ow2.asm:asm-tree)
 BuildRequires: mvn(org.ow2.asm:asm-util)
 
-%if 0
+BuildRequires: mvn(org.scala-lang:scala-compiler)
 BuildRequires: mvn(org.scala-lang:scala-library)
+
+%if 0
 # test deps
 BuildRequires: mvn(org.scalatest:scalatest_2.9.3)
 BuildRequires: mvn(org.testng:testng)
@@ -36,6 +40,12 @@ context free grammars (CFGs) for formally specifying syntax, they
 make a good replacement for regular expressions and generally have quite
 a few advantages over the "traditional" way of building parsers via CFGs.
 
+%package scala
+Summary:       Parsing in Scala
+
+%description scala
+parboiled parsing in Scala.
+
 %package javadoc
 Summary:       Javadoc for %{name}
 
@@ -50,8 +60,9 @@ find . -name "*.jar" -delete
 
 cp -p %{SOURCE1} %{name}-core/pom.xml
 cp -p %{SOURCE2} %{name}-java/pom.xml
+cp -p %{SOURCE4} %{name}-scala/pom.xml
 
-for m in core java; do
+for m in core java scala; do
 %pom_xpath_inject "pom:project" "
 <build>
   <plugins>
@@ -108,12 +119,37 @@ done
   </execution>
 </executions>"
 
-#cp -p %%{SOURCE?} %%{name}-scala/pom.xml
+%pom_add_plugin org.apache.felix:maven-bundle-plugin %{name}-scala "
+<extensions>true</extensions>
+<configuration>
+  <instructions>
+    <Bundle-SymbolicName>org.parboiled.scala</Bundle-SymbolicName>
+    <Bundle-Name>org.parboiled.scala</Bundle-Name>
+    <Bundle-Version>\${project.version}</Bundle-Version>
+    <Private-Package>org.parboiled.scala.*</Private-Package>
+  </instructions>
+</configuration>
+<executions>
+  <execution>
+    <id>bundle-manifest</id>
+    <phase>process-classes</phase>
+    <goals>
+      <goal>manifest</goal>
+    </goals>
+  </execution>
+</executions>"
+
+%patch0 -p0
+
 cp -p %{SOURCE3} pom.xml
 sed -i "s|@VERSION@|%{version}|" pom.xml
+%pom_xpath_inject "pom:modules" "<module>%{name}-scala</module>"
 
 %mvn_file :%{name}-core %{name}/core
 %mvn_file :%{name}-java %{name}/java
+%mvn_file :%{name}-scala_* %{name}/scala
+%mvn_package :%{name}-project __noinstall
+%mvn_package :%{name}-scala_* scala
 
 %build
 
@@ -127,10 +163,16 @@ sed -i "s|@VERSION@|%{version}|" pom.xml
 %dir %{_javadir}/%{name}
 %doc CHANGELOG LICENSE README.markdown
 
+%files scala -f .mfiles-scala
+%doc LICENSE
+
 %files javadoc -f .mfiles-javadoc
 %doc LICENSE
 
 %changelog
+* Thu Mar 20 2014 gil cattaneo <puntogil at libero.it> 1.1.6-2
+- add scala support
+
 * Tue Nov 26 2013 gil cattaneo <puntogil at libero.it> 1.1.6-1
 - update to 1.1.6 rhbz#1034875
 


More information about the scm-commits mailing list