Name: hazelcast Version: 2.6.3 Release: 1%{?dist} Summary: Hazelcast CE In-Memory DataGrid License: ASL 2.0 URL: http://www.hazelcast.com/ Source0: https://github.com/hazelcast/hazelcast/archive/v%{version}.tar.gz BuildRequires: java-devel BuildRequires: glassfish-jsp-api # dont support hibernate 4.x series BuildRequires: hibernate3 BuildRequires: mvn(org.apache.tomcat:tomcat-servlet-api) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(org.hibernate.common:hibernate-commons-annotations) BuildRequires: mvn(log4j:log4j) BuildRequires: mvn(org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec) BuildRequires: mvn(org.slf4j:slf4j-api) # required by hibernate3 BuildRequires: mvn(javax.transaction:jta) %if 0 # hazelcast-spring BuildRequires: mvn(javax.annotation:jsr250-api) BuildRequires: mvn(org.springframework:spring-beans) BuildRequires: mvn(org.springframework:spring-context) BuildRequires: mvn(org.springframework:spring-core) BuildRequires: mvn(org.mongodb:mongo-java-driver) >= 2.7.3 # Unavailable dep BuildRequires: mvn(org.springframework.data:spring-data-mongodb) >= 1.0.1.RELEASE # hazelcast-spring test deps BuildRequires: mvn(org.springframework:spring-tx) BuildRequires: mvn(org.springframework:spring-test) %endif # test deps BuildRequires: glassfish-jsp #BuildRequires: mvn(org.eclipse.jetty:jetty-jsp) BuildRequires: mvn(javassist:javassist) BuildRequires: mvn(org.eclipse.jetty:jetty-webapp) BuildRequires: mvn(org.slf4j:slf4j-simple) %if %{fedora} > 19 BuildRequires: mvn(hsqldb:hsqldb:1) %else BuildRequires: mvn(hsqldb:hsqldb) %endif BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.mockito:mockito-core) BuildRequires: maven-local BuildRequires: maven-dependency-plugin BuildRequires: maven-assembly-plugin BuildRequires: maven-antrun-plugin BuildRequires: maven-plugin-bundle #BuildRequires: maven-rar-plugin BuildRequires: maven-source-plugin BuildArch: noarch %description Hazelcast CE is an open source highly scalable data distribution platform. Hazelcast allows you to easily share and partition your data across your cluster. %package client Summary: Hazelcast Client %description client Hazelcast Client enables you to do all Hazelcast operations without being a member of the cluster. %package cloud Summary: Hazelcast EC2 Auto Discovery %description cloud Hazelcast EC2 Auto Discovery. %package hibernate3 Summary: Integration of Hazelcast with Hibernate 3 %description hibernate3 Hazelcast second level cache provider for Hibernate 3. %package ra Summary: Hazelcast Resource Adapter %description ra Hazelcast Resource Adapter. %if 0 %package spring Summary: Integration of Hazelcast with Spring %description spring Hazelcast Spring cache provider. %endif %package wm Summary: Hazelcast WebFilter %description wm Hazelcast dynamic HTTP session clustering. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{version} find . -name "*.bat" -delete find . -name "*.class" -delete find . -name "*.jar" -delete find . -name "*.rar" -delete find . -name "*.war" -delete %pom_remove_plugin :findbugs-maven-plugin %pom_remove_plugin :animal-sniffer-maven-plugin %{name} %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-client %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-cloud %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-hibernate %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-ra %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-spring %pom_remove_plugin :animal-sniffer-maven-plugin %{name}-wm %pom_remove_plugin :jetty-maven-plugin %{name}-wm %pom_disable_module %{name}-documentation # requires org.springframework.data:spring-data-mongodb %pom_disable_module %{name}-spring %pom_xpath_remove "pom:project/pom:build/pom:resources/pom:resource[pom:directory='../hazelcast-spring/target/classes']" %{name}-all %pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:executions/pom:execution/pom:configuration/pom:instructions/pom:Import-Package" %{name}-all %pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:executions/pom:execution/pom:configuration/pom:instructions" " !junit.framework, !org.junit, !org.mockito, org.apache.log4j;resolution:=optional, org.apache.log4j.*;resolution:=optional, org.slf4j;resolution:=optional, org.hibernate;resolution:=optional, org.hibernate.*;resolution:=optional, * " %{name}-all %pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-dependency-plugin']/pom:executions/pom:execution/pom:configuration/pom:artifactItems/pom:artifactItem[pom:artifactId='hazelcast-spring']" %{name}-all %pom_xpath_set "pom:project/pom:properties/pom:hibernate.core.version" 3 %{name}-hibernate %if %{fedora} > 19 %pom_xpath_set "pom:project/pom:properties/pom:hsqldb.version" 1 %{name}-hibernate %endif %pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:groupId = 'org.mockito' ]/pom:artifactId" mockito-core %pom_xpath_set "pom:project/pom:packaging" jar %{name}-ra %pom_remove_dep geronimo-spec:geronimo-spec-j2ee-connector %{name}-ra %pom_add_dep org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec::provided %{name}-ra %pom_remove_plugin :maven-rar-plugin %{name}-ra %pom_remove_dep javax.servlet:javax.servlet-api %{name}-wm %pom_add_dep org.apache.tomcat:tomcat-servlet-api::provided %{name}-wm %pom_remove_dep org.eclipse.jetty:jetty-jsp %{name}-wm %pom_add_dep org.glassfish.web:javax.servlet.jsp::test %{name}-wm cp -p src/main/resources/apache-v2-license.txt license.txt cp -p src/main/resources/notice.txt . sed -i 's|../lib/hazelcast-${project.version}.jar|%{_javadir}/%{name}/%{name}.jar|' \ %{name}/src/main/resources/*.sh sed -i 's|../lib/hazelcast-client-${project.version}.jar|%{_javadir}/%{name}/%{name}-client.jar|' \ %{name}-client/src/main/resources/*.sh sed -i 's|../lib/hazelcast-${project.version}.jar:../lib/hazelcast-wm-${project.version}.jar|%{_javadir}/%{name}/%{name}.jar:%{_javadir}/%{name}/%{name}-wm.jar|' \ %{name}-wm/src/main/resources/*.sh for m in client \ hibernate \ spring \ wm; do %pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:scope='test']" %{name}-${m} done rm -rf hazelcast*/src/test/java/* %build %mvn_package ":%{name}-all" %{name} %mvn_package ":%{name}-root" %{name} %mvn_package ":%{name}-hibernate" %{name}-hibernate3 # takes too much time and @ random fails # e.g. # [INFO] hazelcast ......................................... SUCCESS [49:00.842s] # Tests in error: # putIfAbsentWithTtl(com.hazelcast.client.HazelcastClientMapTest): No cluster member available to connect # testNoClusterAfterStart(com.hazelcast.client.HazelcastClientClusterTest): Unexpected exception, expected but was %mvn_build -f -s %install %mvn_install %files -f .mfiles-%{name} %dir %{_javadir}/%{name} %doc license.txt notice.txt README.md %files client -f .mfiles-%{name}-client %doc license.txt notice.txt %files cloud -f .mfiles-%{name}-cloud %doc license.txt notice.txt %files hibernate3 -f .mfiles-%{name}-hibernate3 %doc license.txt notice.txt %files ra -f .mfiles-%{name}-ra %doc license.txt notice.txt %if 0 %files spring -f .mfiles-%{name}-spring %doc license.txt notice.txt %endif %files wm -f .mfiles-%{name}-wm %doc license.txt notice.txt %files javadoc -f .mfiles-javadoc %doc license.txt notice.txt %changelog * Wed Oct 02 2013 gil cattaneo 2.6.3-1 - update to 2.6.3 * Fri Aug 30 2013 gil cattaneo 2.6.2-1 - update to 2.6.2 * Wed Jun 05 2013 gil cattaneo 2.6-1 - initial rpm