Name: sonar Version: 3.2 Release: 1%{?dist} Summary: An open platform to manage code quality Group: Development/Libraries License: LGPLv2+ URL: http://www.sonarsource.org/ # git clone git://github.com/SonarSource/sonar.git sonar-3.2 # cd sonar-3.2/ && git archive --format=tar --prefix=sonar-3.2/ 3.2 | xz > ../sonar-3.2-src-git.tar.xz Source0: %{name}-%{version}-src-git.tar.xz # require hamcrest 1.1 Source1: %{name}-update-center-1.2-depmap Patch0: %{name}-3.0-pom.patch # dbunit with (unavailable) oracle support Patch1: %{name}-%{version}-remove-oracle.patch # remove jetty 6.x references Patch2: %{name}-3.0-remove-jetty-servlet-tester.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: apache-commons-codec BuildRequires: apache-commons-collections BuildRequires: apache-commons-configuration BuildRequires: apache-commons-dbcp BuildRequires: apache-commons-io BuildRequires: apache-commons-lang BuildRequires: backport-util-concurrent BuildRequires: derby BuildRequires: geronimo-jta BuildRequires: guava BuildRequires: hibernate-commons-annotations >= 4.0.1 BuildRequires: hibernate3 BuildRequires: hibernate3-ehcache BuildRequires: hibernate3-entitymanager BuildRequires: httpcomponents-client BuildRequires: jakarta-commons-httpclient BuildRequires: jcip-annotations BuildRequires: jfreechart BuildRequires: jruby BuildRequires: jruby-rack BuildRequires: json_simple BuildRequires: jsr-305 BuildRequires: logback BuildRequires: maven BuildRequires: maven-plugin-registry BuildRequires: maven-profile BuildRequires: maven-project BuildRequires: maven-shared-dependency-tree BuildRequires: maven-wagon BuildRequires: mybatis BuildRequires: picocontainer >= 2.14.1 BuildRequires: plexus-classworlds BuildRequires: plexus-interpolation BuildRequires: plexus-utils BuildRequires: slf4j BuildRequires: sonar-update-center-common BuildRequires: stax2-api BuildRequires: staxmate BuildRequires: woodstox-core BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: xpp3 BuildRequires: xstream # sonar-application sonar-core sonar-server BuildRequires: jtds # sonar-testing-harness BuildRequires: fest-assert BuildRequires: dbunit BuildRequires: reflections BuildRequires: xmlunit # test deps BuildRequires: hamcrest BuildRequires: junit BuildRequires: mockito BuildRequires: pmd BuildRequires: simple BuildRequires: tomcat-servlet-3.0-api BuildRequires: animal-sniffer BuildRequires: buildnumber-maven-plugin BuildRequires: maven-compiler-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-install-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-source-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-junit4 BuildRequires: native2ascii-maven-plugin BuildRequires: sonar-packaging-maven-plugin Requires: apache-commons-codec Requires: apache-commons-collections Requires: apache-commons-configuration Requires: apache-commons-dbcp Requires: apache-commons-io Requires: apache-commons-lang Requires: backport-util-concurrent Requires: derby Requires: geronimo-jta Requires: guava Requires: hibernate-commons-annotations >= 4.0.1 Requires: hibernate3 Requires: hibernate3-ehcache Requires: hibernate3-entitymanager Requires: httpcomponents-client Requires: jakarta-commons-httpclient Requires: jcip-annotations Requires: jfreechart Requires: jruby Requires: jruby-rack Requires: json-simple Requires: jsr-305 Requires: logback Requires: maven Requires: maven-plugin-registry Requires: maven-profile Requires: maven-project Requires: maven-shared-dependency-tree Requires: maven-wagon Requires: mybatis Requires: picocontainer >= 2.14.1 Requires: plexus-classworlds Requires: plexus-interpolation Requires: plexus-utils Requires: slf4j Requires: sonar-update-center-common Requires: stax2-api Requires: staxmate Requires: woodstox-core Requires: xalan-j2 Requires: xerces-j2 Requires: xpp3 Requires: xstream Requires: jtds Requires: java Requires: jpackage-utils BuildArch: noarch %description Sonar is an open platform to manage code quality. %package maven3-plugin Group: Development/Libraries Summary: Sonar :: Maven3 Plugin Requires: %{name} = %{version}-%{release} Requires: maven Requires: maven-shared-dependency-tree %description maven3-plugin %{summary}. %package plugins Group: Development/Libraries Summary: Sonar :: Plugins Requires: %{name} = %{version}-%{release} Requires: maven %description plugins %{summary}. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %prep %setup -q %patch0 -p0 %patch1 -p0 %patch2 -p0 find . -name "*.bat" -delete find . -name "*.class" -delete find . -name "*.jar" -delete # TODO require: # com.google.gwt gwt-incubator 2.0.1 # com.google.gwt gwt-user 2.0.4 # org.codehaus.sonar sonar-dev-maven-plugin 1.3.2 # org.codehaus.mojo gwt-maven-plugin %pom_disable_module sonar-gwt-api %pom_disable_module plugins/sonar-core-gwt %pom_disable_module plugins/sonar-core-plugin %pom_disable_module plugins/sonar-design-plugin # TODO require: # com.puppycrawl.tools checkstyle 5.5 %pom_disable_module plugins/sonar-checkstyle-plugin %pom_disable_module plugins/sonar-squid-java-plugin # TODO require: # org.jacoco org.jacoco.core org.jacoco.agent 0.5.6.201201232323 %pom_disable_module plugins/sonar-jacoco-plugin # TODO require: findbugs 2.x %pom_disable_module plugins/sonar-findbugs-plugin # TODO require: pmd 4.3 %pom_disable_module plugins/sonar-pmd-plugin sed -i "s|4.3|4.2.5|" sonar-duplications/pom.xml # require # org.codehaus.sonar sonar-dev-maven-plugin 1.3.2 # net.sf.alchim yuicompressor-maven-plugin 0.7.1 # org.jruby jruby-complete 1.6.1 # org.jruby.rack jruby-rack 1.0.0.1 jruby-rake-plugin sed -i "s|jruby-complete|jruby|" $(find . -name "pom.xml") # require # net.sourceforge.jtds jtds # org.mortbay.jetty jetty 6.x # org.sonatype.jsw-binaries jsw-binaries 3.2.3.6 type tar.gz # tanukisoft wrapper 3.2.3 # and all plugins in plugins sub dir %pom_disable_module sonar-application # TODO sonar-server # require jetty 6.x %pom_disable_module sonar-server %pom_remove_dep org.jruby.rack:jruby-rack %pom_remove_dep org.mortbay.jetty:jetty-plus %pom_remove_dep org.mortbay.jetty:jetty-naming %pom_remove_dep org.mortbay.jetty:jetty %pom_remove_dep org.mortbay.jetty:jetty-util %pom_remove_dep org.mortbay.jetty:jetty-servlet-tester # require maven 2.x %pom_disable_module sonar-maven-plugin # these tests breaks the build rm -rf sonar-colorizer/src/test/java/org/sonar/colorizer/MultilinesDocTokenizerTest.java rm -rf sonar-graph/src/test/java/org/sonar/graph/FeedbackEdgeTest.java rm -rf sonar-channel/src/test/java/org/sonar/channel/ChannelDispatcherTest.java rm -rf sonar-plugin-api/src/test/java/org/sonar/api/utils/HttpDownloaderTest.java rm -rf sonar-plugin-api/src/test/java/org/sonar/api/utils/RedirectServlet.java sed -i "s|jetty-servlet-tester|servlet-api|" sonar-plugin-api/pom.xml sonar-ws-client/pom.xml %pom_xpath_inject "pom:project/pom:dependencies" " com.google.code.findbugs jsr305 provided " sonar-plugin-api %pom_xpath_inject "pom:project/pom:dependencies" " com.google.code.findbugs jsr305 provided " sonar-duplications %pom_xpath_inject "pom:project/pom:dependencies" " org.apache.maven maven-core provided " sonar-plugin-api %pom_remove_dep org.hibernate:hibernate-annotations sonar-core %pom_remove_dep org.hibernate:hibernate-annotations sonar-plugin-api %pom_remove_dep geronimo-spec:geronimo-spec-jta sonar-core %pom_xpath_inject "pom:project/pom:dependencies" " org.apache.geronimo.specs geronimo-jta_1.1_spec " sonar-core %pom_xpath_inject "pom:project/pom:dependencies" " org.hibernate hibernate-core " sonar-plugin-api %pom_remove_plugin net.sf.alchim:yuicompressor-maven-plugin sonar-server %pom_remove_plugin org.codehaus.sonar:sonar-dev-maven-plugin sonar-server %pom_remove_dep org.codehaus.sonar:sonar-batch-maven-compat sonar-server %pom_xpath_inject "pom:project/pom:dependencies" " backport-util-concurrent backport-util-concurrent 3.1 org.apache.maven maven-artifact 3.0.3 org.apache.maven maven-repository-metadata 3.0.3 org.apache.maven maven-settings 3.0.3 org.apache.maven maven-artifact-manager 2.2.1 org.apache.maven maven-model 2.2.1 org.apache.maven maven-plugin-registry 2.2.1 org.apache.maven maven-profile 2.2.1 org.apache.maven maven-project 2.2.1 org.apache.maven.wagon wagon-provider-api 1.0 org.codehaus.plexus plexus-classworlds 2.4 org.codehaus.plexus plexus-interpolation 1.14 org.codehaus.plexus plexus-utils 2.0.6 " sonar-plugin-api %pom_disable_module sonar-batch-maven-compat # TODO fix commons-email pom %pom_disable_module plugins/sonar-email-notifications-plugin # TODO # circular dependency require org.codehaus.sonar.common-rules sonar-common-rules 1.0.1 %pom_disable_module plugins/sonar-java-plugin %build # test failed for various reasons mvn-rpmbuild -Dmaven.test.failure.ignore=true -Dmaven.local.depmap.file=%{SOURCE1} install javadoc:aggregate %install mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom %add_maven_depmap JPP.%{name}-%{name}.pom mkdir -p %{buildroot}%{_javadir}/%{name} # TODO sonar-application sonar-gwt-api sonar-server for m in %{name}-batch \ %{name}-batch-bootstrapper \ %{name}-channel \ %{name}-check-api \ %{name}-colorizer \ %{name}-core \ %{name}-deprecated \ %{name}-duplications \ %{name}-graph \ %{name}-java-api \ %{name}-markdown \ %{name}-plugin-api \ %{name}-squid \ %{name}-testing-harness \ %{name}-ws-client; do install -m 644 ${m}/target/${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 ${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar done install -m 644 %{name}-core/target/%{name}-core-%{version}-tests.jar %{buildroot}%{_javadir}/%{name}/%{name}-core-tests.jar install -m 644 %{name}-plugin-api/target/%{name}-plugin-api-%{version}-tests.jar %{buildroot}%{_javadir}/%{name}/%{name}-plugin-api-tests.jar install -m 644 %{name}-maven3-plugin/target/%{name}-maven3-plugin-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-maven3-plugin.jar install -pm 644 %{name}-maven3-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-maven3-plugin.pom %add_maven_depmap JPP.%{name}-%{name}-maven3-plugin.pom %{name}/%{name}-maven3-plugin.jar -f maven3-plugin # TODO sonar-checkstyle-plugin sonar-core-gwt sonar-core-plugin # sonar-design-plugin sonar-email-notifications-plugin sonar-findbugs-plugin # sonar-jacoco-plugin sonar-java-plugin sonar-pmd-plugin sonar-squid-java-plugin for m in %{name}-cobertura-plugin \ %{name}-cpd-plugin \ %{name}-dbcleaner-plugin \ %{name}-l10n-en-plugin \ %{name}-surefire-plugin; do install -m 644 plugins/${m}/target/${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 plugins/${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar -f plugins done mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}-batch-bootstrapper.jar %{_javadir}/%{name}/%{name}-batch.jar %{_javadir}/%{name}/%{name}-channel.jar %{_javadir}/%{name}/%{name}-check-api.jar %{_javadir}/%{name}/%{name}-colorizer.jar %{_javadir}/%{name}/%{name}-core-tests.jar %{_javadir}/%{name}/%{name}-core.jar %{_javadir}/%{name}/%{name}-deprecated.jar %{_javadir}/%{name}/%{name}-duplications.jar %{_javadir}/%{name}/%{name}-graph.jar %{_javadir}/%{name}/%{name}-java-api.jar %{_javadir}/%{name}/%{name}-markdown.jar %{_javadir}/%{name}/%{name}-plugin-api-tests.jar %{_javadir}/%{name}/%{name}-plugin-api.jar %{_javadir}/%{name}/%{name}-squid.jar %{_javadir}/%{name}/%{name}-testing-harness.jar %{_javadir}/%{name}/%{name}-ws-client.jar %{_mavenpomdir}/JPP.%{name}-%{name}-batch-bootstrapper.pom %{_mavenpomdir}/JPP.%{name}-%{name}-batch.pom %{_mavenpomdir}/JPP.%{name}-%{name}-channel.pom %{_mavenpomdir}/JPP.%{name}-%{name}-check-api.pom %{_mavenpomdir}/JPP.%{name}-%{name}-colorizer.pom %{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %{_mavenpomdir}/JPP.%{name}-%{name}-deprecated.pom %{_mavenpomdir}/JPP.%{name}-%{name}-duplications.pom %{_mavenpomdir}/JPP.%{name}-%{name}-graph.pom %{_mavenpomdir}/JPP.%{name}-%{name}-java-api.pom %{_mavenpomdir}/JPP.%{name}-%{name}-markdown.pom %{_mavenpomdir}/JPP.%{name}-%{name}-plugin-api.pom %{_mavenpomdir}/JPP.%{name}-%{name}-squid.pom %{_mavenpomdir}/JPP.%{name}-%{name}-testing-harness.pom %{_mavenpomdir}/JPP.%{name}-%{name}-ws-client.pom %{_mavenpomdir}/JPP.%{name}-%{name}.pom %{_mavendepmapfragdir}/%{name} %doc COPYING README.md copyright.txt %files maven3-plugin %{_javadir}/%{name}/%{name}-maven3-plugin.jar %{_mavenpomdir}/JPP.%{name}-%{name}-maven3-plugin.pom %{_mavendepmapfragdir}/%{name}-maven3-plugin %doc COPYING copyright.txt %files plugins %{_javadir}/%{name}/%{name}-cobertura-plugin.jar %{_javadir}/%{name}/%{name}-cpd-plugin.jar %{_javadir}/%{name}/%{name}-dbcleaner-plugin.jar %{_javadir}/%{name}/%{name}-l10n-en-plugin.jar %{_javadir}/%{name}/%{name}-surefire-plugin.jar %{_mavenpomdir}/JPP.%{name}-%{name}-cobertura-plugin.pom %{_mavenpomdir}/JPP.%{name}-%{name}-cpd-plugin.pom %{_mavenpomdir}/JPP.%{name}-%{name}-dbcleaner-plugin.pom %{_mavenpomdir}/JPP.%{name}-%{name}-l10n-en-plugin.pom %{_mavenpomdir}/JPP.%{name}-%{name}-surefire-plugin.pom %{_mavendepmapfragdir}/%{name}-plugins %doc COPYING copyright.txt %files javadoc %{_javadocdir}/%{name} %doc COPYING copyright.txt %changelog * Tue Aug 14 2012 gil cattaneo 3.2-1 - Update to 3.2 * Fri Jun 22 2012 gil cattaneo 3.1-1 - Update to 3.1 * Fri Apr 20 2012 gil cattaneo 3.0-1 - Initial rpm