%global namedreltag -SNAPSHOT %global namedversion %{version}%{?namedreltag} Name: jour Version: 2.0.4 Release: 0.1.SNAPSHOT%{?dist} Summary: Byte-code instrumentation library Group: Development/Libraries License: LGPLv2+ URL: http://jour.sourceforge.net/ # svn export https://jour.svn.sourceforge.net/svnroot/jour/ jour-2.0.4-SNAPSHOT # find jour-2.0.4-SNAPSHOT/ -name "*.class" -print -delete # find jour-2.0.4-SNAPSHOT/ -name "*.jar" -print -delete # jour-instrument/src/test/resources/jarPreProcessorTest.jar Source0: %{name}-%{namedversion}-src-svn.tar.gz # testRecursion(net.sf.jour.processor.TestJarFileInputSource): Resource not found /jarPreProcessorTest.jar # testPreProcessorJar(net.sf.jour.TestPreProcessor): Resource not found /jarPreProcessorTest.jar Patch0: %{name}-%{namedversion}-test.patch BuildRequires: java-devel BuildRequires: javassist BuildRequires: junit BuildRequires: log4j BuildRequires: mvn(org.apache.maven:maven-archiver) BuildRequires: mvn(org.apache.maven:maven-artifact) BuildRequires: mvn(org.apache.maven:maven-compat) BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(com.pyx4j:maven-plugin-log4j) BuildRequires: maven-local BuildRequires: maven-compiler-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-plugin-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-junit4 Requires: javassist Requires: junit Requires: log4j Requires: java BuildArch: noarch %description The Jour library is an open source suite of java byte-code instrumentation base on Javassist. Jour is designed to simplify the use of Javassist for processing multiple classes. In short Jour is simple Aspect Oriented Programming AOP framework on top of Javassist. %package maven-plugin Group: Development/Libraries Summary: Maven jour plugin Requires: %{name} = %{version}-%{release} Requires: mvn(org.apache.maven:maven-archiver) Requires: mvn(org.apache.maven:maven-artifact) Requires: mvn(org.apache.maven:maven-compat) Requires: mvn(org.apache.maven:maven-plugin-api) Requires: mvn(com.pyx4j:maven-plugin-log4j) %description maven-plugin This package provides Maven jour plugin. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{namedversion} %patch0 -p1 -b .test %pom_remove_plugin org.codehaus.mojo:jdepend-maven-plugin %pom_remove_plugin org.codehaus.mojo:findbugs-maven-plugin %pom_remove_plugin org.codehaus.mojo:taglist-maven-plugin %pom_remove_plugin :maven-pmd-plugin %pom_xpath_remove "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']/pom:configuration" %pom_xpath_inject "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']" "1.51.5" sed -i 's|ISO-8859-1|UTF-8|' pom.xml %pom_remove_plugin :maven-dependency-plugin jour-instrument %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']/pom:configuration" \ jour-instrument %pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']" \ "1.51.5" jour-instrument sed -i 's|true|false|' jour-instrument/pom.xml %pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']/pom:configuration" \ jour-maven-plugin %pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']" \ "1.51.5" jour-maven-plugin %pom_remove_dep org.apache.maven:maven-project jour-maven-plugin %pom_add_dep org.apache.maven:maven-compat jour-maven-plugin #%%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']/pom:configuration" \ # jour-examples #%%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId ='maven-compiler-plugin']" \ # "1.51.5" jour-examples %pom_disable_module jour-examples %build mvn-rpmbuild package javadoc:aggregate %install mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %add_maven_depmap JPP-%{name}.pom mkdir -p %{buildroot}%{_javadir} install -m 644 %{name}-instrument/target/%{name}-instrument-%{namedversion}.jar \ %{buildroot}%{_javadir}/%{name}-instrument.jar install -pm 644 %{name}-instrument/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-instrument.pom %add_maven_depmap JPP-%{name}-instrument.pom %{name}-instrument.jar install -m 644 %{name}-maven-plugin/target/%{name}-maven-plugin-%{namedversion}.jar \ %{buildroot}%{_javadir}/%{name}-maven-plugin.jar install -pm 644 %{name}-maven-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-maven-plugin.pom %add_maven_depmap -f maven-plugin JPP-%{name}-maven-plugin.pom %{name}-maven-plugin.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %files %{_javadir}/%{name}-instrument.jar %{_mavenpomdir}/JPP-%{name}.pom %{_mavenpomdir}/JPP-%{name}-instrument.pom %{_mavendepmapfragdir}/%{name} %files maven-plugin %{_javadir}/%{name}-maven-plugin.jar %{_mavenpomdir}/JPP-%{name}-maven-plugin.pom %{_mavendepmapfragdir}/%{name}-maven-plugin %files javadoc %{_javadocdir}/%{name} %changelog * Thu May 02 2013 gil cattaneo 2.0.4-0.1.SNAPSHOT - initial rpm