%global _version %( echo %{version} | tr . _ ) %bcond_with javadoc Name: quickfixj Version: 1.6.1 Release: 1%{?dist} Summary: Java implementation of FIX protocol License: ASL 1.1 URL: http://www.quickfixj.org/ Source0: https://github.com/quickfix-j/quickfixj/archive/QFJ_RELEASE_%{_version}.tar.gz # Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=10901659 BuildRequires: maven-local BuildRequires: mvn(com.sleepycat:je) BuildRequires: mvn(dom4j:dom4j) BuildRequires: mvn(hsqldb:hsqldb:1) BuildRequires: mvn(jaxen:jaxen) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven:maven-core) BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) BuildRequires: mvn(org.apache.mina:mina-core) # org.hamcrest:1.1 BuildRequires: mvn(org.hamcrest:hamcrest-all) BuildRequires: mvn(org.mockito:mockito-all) BuildRequires: mvn(org.slf4j:jcl-over-slf4j) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-jdk14) BuildRequires: mvn(proxool:proxool) BuildArch: noarch %description The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL). QuickFIX/J is a full featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine. QuickFIX/J features include support for FIX protocol versions 4.0 through 4.4 and 5.0/FIXT1.1 (www.fixprotocol.org). This package provides the QuickFIX/J Core engine. %package all Summary: QuickFIX/J All runtime modules %description all QuickFIX/J All runtime modules. %package codegenerator Summary: QuickFIX/J Code Generator Maven Plugin %description codegenerator The codegenerator plugin allows creating Java sources for FIX Messages from a QuickFIX XML dictionary. %package dictgenerator Summary: QuickFIX/J Dictionary Generator %description dictgenerator The Dictionary Generator allows creating a QuickFIX-compatible XML spec file from a set of FIX repository definition XML files. %package distribution Summary: QuickFIX/J Distribution POM %description distribution QuickFIX/J Distribution POM. %package examples Summary: QuickFIX/J Examples Parent POM %description examples QuickFIX/J example applications Parent POM. %package examples-banzai Summary: QuickFIX/J Examples - Banzai %description examples-banzai QuickFIX/J example application - Banzai. %package examples-executor Summary: QuickFIX/J Examples - Executor %description examples-executor QuickFIX/J example application - Executor. %package examples-ordermatch Summary: QuickFIX/J Examples - Order Match %description examples-ordermatch QuickFIX/J example application - Order Match. %package messages Summary: QuickFIX/J Message Parent POM %description messages QuickFIX/J Message classes for various FIX specifications. This package provides QuickFIX/J Message Parent POM. %package messages-all Summary: QuickFIX/J Message classes for all FIX specifications %description messages-all QuickFIX/J Message classes for all FIX specifications. %package messages-fix40 Summary: QuickFIX/J Message classes for FIX 4.0 %description messages-fix40 QuickFIX/J Message classes for FIX 4.0. %package messages-fix41 Summary: QuickFIX/J Message classes for FIX 4.1 %description messages-fix41 QuickFIX/J Message classes for FIX 4.1. %package messages-fix42 Summary: QuickFIX/J Message classes for FIX 4.2 %description messages-fix42 QuickFIX/J Message classes for FIX 4.2. %package messages-fix43 Summary: QuickFIX/J Message classes for FIX 4.3 %description messages-fix43 QuickFIX/J Message classes for FIX 4.3. %package messages-fix44 Summary: QuickFIX/J Message classes for FIX 4.4 %description messages-fix44 QuickFIX/J Message classes for FIX 4.4. %package messages-fix50 Summary: QuickFIX/J Message classes for FIX 5.0 %description messages-fix50 QuickFIX/J Message classes for FIX 5.0. %package messages-fix50sp1 Summary: QuickFIX/J Message classes for FIX 5.0 SP1 %description messages-fix50sp1 QuickFIX/J Message classes for FIX 5.0 SP1. %package messages-fix50sp2 Summary: QuickFIX/J Message classes for FIX 5.0 SP2 %description messages-fix50sp2 QuickFIX/J Message classes for FIX 5.0 SP2. %package messages-fixt11 Summary: QuickFIX/J Message classes for FIXT 1.1 %description messages-fixt11 QuickFIX/J Message classes for FIXT 1.1. %package parent Summary: QuickFIX/J Parent POM %description parent QuickFIX/J Parent POM. %if %{with javadoc} %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %endif %prep %setup -q -n %{name}-QFJ_RELEASE_%{_version} find . -name "*.bat" -print -delete find . -name "*.class" -print -delete find . -name "*.jar" -print -delete %pom_remove_plugin -r :maven-assembly-plugin %pom_remove_plugin -r :maven-pmd-plugin %pom_remove_plugin -r :maven-shade-plugin %pom_remove_plugin -r :maven-source-plugin %pom_xpath_set -r pom:addClasspath false %pom_xpath_remove -r pom:classpathPrefix %pom_change_dep :maven-project :maven-core %{name}-codegenerator %pom_change_dep berkeleydb: com.sleepycat: %{name}-core %pom_change_dep com.cloudhopper.proxool: proxool: %{name}-core %pom_change_dep :hsqldb :hsqldb:1 %{name}-core %pom_remove_plugin :maven-javadoc-plugin %{name}-distribution # Unavailable test dep: tyrex:tyrex:1.0.1 %pom_remove_dep tyrex:tyrex %{name}-core rm -r %{name}-core/src/test/java/quickfix/MessageUtilsTest.java \ %{name}-core/src/test/java/quickfix/DefaultDataDictionaryProviderTest.java # Some tests fail because they use hamcrest 1.1 rm -r %{name}-core/src/test/java/quickfix/JdbcStoreLegacyTest.java \ %{name}-core/src/test/java/quickfix/JdbcStoreTest.java \ %{name}-core/src/test/java/quickfix/SessionTest.java \ %{name}-core/src/test/java/quickfix/mina/SingleThreadedEventHandlingStrategyTest.java # These tests @ random fails rm -r %{name}-core/src/test/java/quickfix/test/acceptance/AcceptanceTestSuite.java rm -r %{name}-core/src/test/java/quickfix/test/acceptance/resynch/ResynchTest.java # Used by apache camel %mvn_alias org.quickfixj:quickfixj-all org.apache.servicemix.bundles:org.apache.servicemix.bundles.quickfix %build #[ERROR] javadoc: error - java.lang.OutOfMemoryError: Please increase memory. %if %{without javadoc} opts="-j" %else # Increase JVM memory limits to avoid OOM export MAVEN_OPTS="-Xms512m" %endif %mvn_build $opts -s %install %mvn_install %files -f .mfiles-%{name}-core %doc README.md %license LICENSE %files all -f .mfiles-%{name}-all %license LICENSE %files codegenerator -f .mfiles-%{name}-codegenerator %license LICENSE %files dictgenerator -f .mfiles-%{name}-dictgenerator %license LICENSE %files distribution -f .mfiles-%{name}-distribution %license LICENSE %files examples -f .mfiles-%{name}-examples %license LICENSE %files examples-banzai -f .mfiles-%{name}-examples-banzai %license LICENSE %files examples-executor -f .mfiles-%{name}-examples-executor %license LICENSE %files examples-ordermatch -f .mfiles-%{name}-examples-ordermatch %license LICENSE %files messages -f .mfiles-%{name}-messages %license LICENSE %files messages-all -f .mfiles-%{name}-messages-all %license LICENSE %files messages-fix40 -f .mfiles-%{name}-messages-fix40 %license LICENSE %files messages-fix41 -f .mfiles-%{name}-messages-fix41 %license LICENSE %files messages-fix42 -f .mfiles-%{name}-messages-fix42 %license LICENSE %files messages-fix43 -f .mfiles-%{name}-messages-fix43 %license LICENSE %files messages-fix44 -f .mfiles-%{name}-messages-fix44 %license LICENSE %files messages-fix50 -f .mfiles-%{name}-messages-fix50 %license LICENSE %files messages-fix50sp1 -f .mfiles-%{name}-messages-fix50sp1 %license LICENSE %files messages-fix50sp2 -f .mfiles-%{name}-messages-fix50sp2 %license LICENSE %files messages-fixt11 -f .mfiles-%{name}-messages-fixt11 %license LICENSE %files parent -f .mfiles-%{name}-parent %license LICENSE %if %{with javadoc} %files javadoc -f .mfiles-javadoc %license LICENSE %endif %changelog * Mon Aug 31 2015 gil cattaneo 1.6.1-1 - initial rpm