#%define antlib %(echo $ANT_HOME/lib) %define api_ver 2.0 Name: java-emma Version: 2.0.5312 Release: 4mamba Summary: a free Java code coverage tool Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: gil URL: http://emma.sourceforge.net/index.html #cvs -d:pserver:anonymous@emma.cvs.sourceforge.net:/cvsroot/emma login #cvs -z3 -d:pserver:anonymous@emma.cvs.sourceforge.net:/cvsroot/emma co -P emma Source0: http://fastbull.dl.sourceforge.net/sourceforge/emma/emma-%{version}-src.zip # These are hacks until we get the source for the timestamping class # http://sourceforge.net/tracker/index.php?func=detail&aid=1953619&group_id=108932&atid=651900 Source1: java-emma-2.0.5312-timestamp.sh Source2: java-emma-2.0.5312-timestamp2.sh Source3: http://repository.jboss.org/maven2/emma/emma/%{version}/emma-%{version}.pom Source4: http://repository.jboss.org/maven2/emma/emma_ant/%{version}/emma_ant-%{version}.pom Patch0: java-emma-2.0.5312-dependencies_xml.patch Patch1: java-emma-2.0.5312-build_xml.patch # Taken from Gentoo package to allow us to build on a JDK > 1.4 Patch2: java-emma-2.0.5312-java15api.patch # From eclemma's emmapatch directory Patch3: java-emma-2.0.5312-eclemma.patch # This is a hack until we get the source for the timestamping class # http://sourceforge.net/tracker/index.php?func=detail&aid=1953619&group_id=108932&atid=651900 Patch4: java-emma-2.0.5312-timestamp.patch # This patch fixes ArrayIndexOutOfBoundExceptions on 64-bit. Patch5: java-emma-2.0.5312-64_bit_fix.patch Patch6: java-emma-2.0.5312-notarget.patch Patch7: java-emma-2.0.5312-no-version-stamp-tool.patch License: Common Public License 1.0 BuildRequires: apache-ant BuildRequires: bc BuildRequires: java-openjdk BuildRequires: jpackage-utils BuildRequires: xerces-j2 Requires: jpackage-utils Requires: xerces-j2 BuildRoot: %{_tmppath}/%{name}-%{version}-root %description EMMA is a fast Java code coverage tool based on bytecode instrumentation. It differs from the existing tools by enabling coverage profiling on large scale enterprise software projects with simultaneous emphasis on fast individual development. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc EMMA is a fast Java code coverage tool based on bytecode instrumentation. This package contains javadoc for %{name}. %prep %setup -q -n emma-%{version} %patch0 -p1 %patch1 -p1 # new ant prefix sed -i "s|/opt/java/ant|%{_javadir}|" build.xml %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p0 %patch7 -p1 for j in $(find . -name "*.jar"); do mv $j ${j}.no done cp -p %{SOURCE1} emma-timestamp.sh cp -p %{SOURCE2} emma-timestamp2.sh %build export CLASSPATH=$(build-classpath ant-1.7.1 xerces-j2) ant -Dbuild.compiler=modern build build javadoc %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" #mkdir -p %{buildroot}%{antlib} mkdir -p %{buildroot}%{_javadir} mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 dist/emma.jar %{buildroot}%{_javadir}/emma-%{api_ver}.jar install -m 644 %{SOURCE3} %{buildroot}%{_datadir}/maven2/poms/JPP-emma.pom %add_to_maven_depmap emma emma %{version} JPP emma install -m 644 dist/emma_ant.jar %{buildroot}%{_javadir}/emma_ant-%{api_ver}.jar install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/maven2/poms/JPP-emma_ant.pom %add_to_maven_depmap emma emma_ant %{version} JPP emma_ant ( cd %{buildroot}%{_javadir} for jar in *-%{api_ver}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{api_ver}||g"` done # ln -sf ../../java/emma-%{api_ver}.jar %{buildroot}%{antlib}/emma.jar # ln -sf ../../java/emma_ant-%{api_ver}.jar %{buildroot}%{antlib}/emma_ant.jar ) mkdir -p %{buildroot}%{_javadocdir}/emma-%{api_ver} cp -pr out/javadocs/* %{buildroot}%{_javadocdir}/emma-%{api_ver} ln -s emma-%{api_ver} %{buildroot}%{_javadocdir}/emma %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %{_javadir}/emma-%{api_ver}.jar %{_javadir}/emma.jar %{_javadir}/emma_ant-%{api_ver}.jar %{_javadir}/emma_ant.jar #%{antlib}/emma.jar #%{antlib}/emma_ant.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc cpl-v10.html %files javadoc %defattr(-,root,root) %{_javadocdir}/emma-%{api_ver} %{_javadocdir}/emma %changelog * Fri Feb 25 2011 gil 2.0.5312-4mamba - rebuilt with OpenJDK support * Thu Nov 04 2010 gil 2.0.5312-3mamba - rebuilt devel * Fri Oct 23 2009 gil 2.0.5312-2mamba - add maven pom * Fri Mar 27 2009 gil 2.0.5312-1mamba - package created by autospec