Name: fuse-extra
Version: 1.3
Release: 1%{?dist}
Summary: Implements addons and plugins for the Fuse Stack
License: ASL 2.0
URL: https://github.com/fusesource/fuse-extra
Source0: https://github.com/fusesource/fuse-extra/archive/%{name}-project-%{version}.tar.gz
Patch0: %{name}-1.3-disable-iq80_snappy-support.patch
Patch1: %{name}-1.3-activemq5.6.patch
Patch2: %{name}-1.3-disable-hadoop1-support.patch
BuildRequires: maven-local
BuildRequires: mvn(com.sun.codemodel:codemodel)
BuildRequires: mvn(javax.xml.bind:jaxb-api)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.activemq:activemq-core)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.codehaus.jackson:jackson-core-asl)
BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl)
BuildRequires: mvn(org.fusesource:fusesource-pom)
BuildRequires: mvn(org.fusesource.hawtbuf:hawtbuf)
BuildRequires: mvn(org.fusesource.hawtbuf:hawtbuf-proto)
BuildRequires: mvn(org.fusesource.hawtbuf:hawtbuf-protoc)
BuildRequires: mvn(org.fusesource.hawtdispatch:hawtdispatch-scala)
BuildRequires: mvn(org.fusesource.hawtdispatch:hawtdispatch-transport)
BuildRequires: mvn(org.fusesource.leveldbjni:leveldbjni-all)
BuildRequires: mvn(org.iq80.leveldb:leveldb)
BuildRequires: mvn(org.scala-lang:scala-compiler)
BuildRequires: mvn(org.scala-lang:scala-library)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
BuildRequires: mvn(org.xerial.snappy:snappy-java)
%if 0
# fusemq-leveldb
BuildRequires: mvn(org.apache.hadoop:hadoop-core:1.0.0)
BuildRequires: mvn(org.iq80.snappy:snappy)
# fusemq-apollo-mqtt
BuildRequires: mvn(org.apache.activemq:apollo-broker:1.4)
BuildRequires: mvn(org.apache.activemq:apollo-web:1.4)
BuildRequires: mvn(org.fusesource.mqtt-client:mqtt-client)
# test deps
BuildRequires: mvn(commons-lang:commons-lang)
BuildRequires: mvn(org.apache.activemq:activemq-console:5.5.1-fuse-03-06)
BuildRequires: mvn(org.apache.activemq:activemq-core:5.5.1-fuse-03-06:test-jar)
BuildRequires: mvn(org.apache.activemq:apollo-bdb:1.4)
BuildRequires: mvn(org.apache.activemq:apollo-broker:1.4:test-jar)
BuildRequires: mvn(org.apache.activemq:apollo-leveldb:1.4)
BuildRequires: mvn(org.apache.activemq:apollo-stomp:1.4)
BuildRequires: mvn(org.apache.activemq:apollo-util:1.4:test-jar)
BuildRequires: mvn(org.apache.commons:commons-math)
BuildRequires: mvn(org.apache.hadoop:hadoop-test)
BuildRequires: mvn(org.eclipse.jetty.aggregate:jetty-all-server:7.5.1.v20110908)
BuildRequires: mvn(org.fusesource.stompjms:stompjms-client:1.11)
BuildRequires: mvn(org.mortbay.jetty:jetty:6.1.26)
BuildRequires: mvn(org.mortbay.jetty:jetty-util:6.1.26)
BuildRequires: mvn(org.mortbay.jetty:jsp-2.1:6.1.14)
BuildRequires: mvn(org.mortbay.jetty:jsp-api-2.1:6.1.14
BuildRequires: mvn(org.scalatest:scalatest_2.9.1)
BuildRequires: mvn(tomcat:jasper-compiler:5.5.12)
BuildRequires: mvn(tomcat:jasper-runtime:5.5.12)
%endif
BuildArch: noarch
# It can be configured to provide
# message HA by replicating stored data to a Hadoop file-system
# such as HDFS.
#° MQTT v3.1 Protocol for Apollo : This module lets you use the
# MQTT v3.1 protocol to talk to Apache Apollo message server.
%description
Fuse Extra: A collection of addons and plugins for the
open source projects FuseSource support.
This project provides:
° LevelDB Store for FuseMQ : A message store for FuseMQ or ActiveMQ
that uses LevelDB based indexes.
%package amqp
Summary: Fuse Extra :: AMQP
%description amqp
Java API for the AMQP Protocol.
%package amqp-generator
Summary: Fuse Extra :: Code generator for AMQP
%description amqp-generator
Fuse Extra :: Code generator for AMQP described types.
%package leveldb
Summary: Fuse Extra :: LevelDB
%description leveldb
Fuse Extra :: LevelDB based message storage for ActiveMQ.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{name}-project-%{version}
find . -name '*.class' -print -delete
find . -name '*.jar' -print -delete
%patch0 -p1
%patch1 -p1
%patch2 -p1
rm -rf fusemq-leveldb/src/main/scala/org/fusesource/mq/leveldb/HALevelDBClient.scala \
fusemq-leveldb/src/main/scala/org/fusesource/mq/leveldb/HALevelDBStore.scala
%pom_xpath_remove "pom:build/pom:extensions"
%pom_disable_module fusemq-apollo
%pom_disable_module fuse-scala
%pom_xpath_set "pom:parent/pom:artifactId" fuse-extra-project fusemq-leveldb
%pom_xpath_set "pom:parent/pom:relativePath" .. fusemq-leveldb
%pom_add_dep org.scala-lang:scala-library:'${scala-version}':compile fusemq-leveldb
%pom_xpath_remove "pom:dependency[pom:scope = 'test']" fusemq-leveldb
%pom_remove_plugin org.fusesource.mvnplugins:maven-uberize-plugin fusemq-leveldb
%pom_remove_dep :leveldbjni-osx fusemq-leveldb
%pom_remove_dep :leveldbjni-linux64 fusemq-leveldb
%pom_xpath_set "pom:dependency[pom:groupId = 'org.fusesource.leveldbjni']/pom:artifactId" leveldbjni-all fusemq-leveldb
#%% pom_remove_plugin org.scala-tools:maven-scala-plugin fuse-scala
%pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin:1.7 fusemq-leveldb '
compile
process-classes
run
org.scala-lang
scala-compiler
${scala-version}
'
%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:configuration/pom:instructions/pom:Embed-Dependency" fusemq-leveldb
%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:configuration/pom:classifier" fusemq-leveldb
%pom_remove_dep :maven-project fusesource-amqp-generator
%pom_add_dep org.apache.maven:maven-core:3.1.1 fusesource-amqp-generator "true"
# cannot find symbol
# [ERROR] symbol: method setReadableByteChannel(java.nio.channels.FileChannel)
# [ERROR] location: variable codec of type org.fusesource.amqp.codec.AMQPProtocolCodec
# deprecated method in org.fusesource.hawtdispatch.transport.AbstractProtocolCodec
sed -i '/setReadableByteChannel/d' fusesource-amqp/src/main/java/org/fusesource/amqp/cli/Dump.java
%build
# NO test deps available
%mvn_build -sf
%install
%mvn_install
%files -f .mfiles-%{name}-project
%dir %{_javadir}/%{name}
%doc readme.md
%license license.txt
%files amqp -f .mfiles-fusesource-amqp
%files amqp-generator -f .mfiles-fusesource-amqp-generator
%files leveldb -f .mfiles-fusemq-leveldb
%doc fusemq-leveldb/readme.md fusemq-leveldb/kahadb-vs-leveldb.png
%files javadoc -f .mfiles-javadoc
%license license.txt
%changelog
* Wed Apr 15 2015 gil cattaneo 1.3-1
- initial rpm