[checkstyle] Rebase to latest upstream (5.3), use mvn to build, cleanups

Stanislav Ochotnicky sochotni at fedoraproject.org
Thu Oct 21 14:24:17 UTC 2010


commit 9e5a902f1104acec280b08c50d9b7bbe5daf0c77
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Thu Oct 21 16:15:11 2010 +0200

    Rebase to latest upstream (5.3), use mvn to build, cleanups
    
    * Thu Oct 21 2010 Stanislav Ochotnicky <sochotnicky at redhat.com> - 5.3-1
    - Use maven as build system (upstream change)
    - Obsolete manual subpackage (not available with mvn)
    - Cleanup BRs/Rs
    - Remove old patches

 .gitignore                                       |    1 +
 checkstyle-4.1-build.patch                       |   67 ---------
 checkstyle-4.1-checks-AllTests.patch             |   22 ---
 checkstyle-4.1-checks-blocks-AllTests.patch      |   16 --
 checkstyle-4.1-checks-coding-AllTests.patch      |   62 --------
 checkstyle-4.1-checks-design-AllTests.patch      |   20 ---
 checkstyle-4.1-checks-imports-AllTests.patch     |   15 --
 checkstyle-4.1-checks-indentation-AllTests.patch |   11 --
 checkstyle-4.1-checks-javadoc-AllTests.patch     |   17 ---
 checkstyle-4.1-checks-metrics-AllTests.patch     |   13 --
 checkstyle-build.patch                           |   78 ----------
 checkstyle.spec                                  |  163 ++++++++++-----------
 sources                                          |    3 +-
 13 files changed, 80 insertions(+), 408 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 51ab875..0926470 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 checkstyle-src-4.1.tar.gz
 checkstyle-src-5.1.tar.gz
+/checkstyle-5.3-src.tar.gz
diff --git a/checkstyle.spec b/checkstyle.spec
index 615ca6f..de2dfdf 100644
--- a/checkstyle.spec
+++ b/checkstyle.spec
@@ -29,53 +29,70 @@
 #
 
 Name:           checkstyle
-Version:        5.1
+Version:        5.3
 Release:        1%{?dist}
 Summary:        Java source code checker
+URL:            http://checkstyle.sourceforge.net/
 # src/checkstyle/com/puppycrawl/tools/checkstyle/grammars/java.g is GPLv2+
-# Most of the files in contrib/usage/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/usage/transmogrify/ are BSD 
+# Most of the files in contrib/usage/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/usage/transmogrify/ are BSD
 License:        LGPLv2+ and GPLv2+ and BSD
 Group:          Development/Tools
-Source0:        http://download.sf.net/checkstyle/checkstyle-src-%{version}.tar.gz
+Source0:        http://download.sf.net/checkstyle/checkstyle-%{version}-src.tar.gz
 Source1:        %{name}-script
 Source2:        %{name}.catalog
 
-Patch0:         %{name}-build.patch
+# Used for releases only, no use for us
+Patch0:         0001-Remove-sonatype-parent.patch
+
+# not available in Fedora yet
+Patch1:         0002-Remove-linkcheck-plugin.patch
 
-URL:            http://checkstyle.sourceforge.net/
-BuildRequires:  ant >= 0:1.6, ant-nodeps >= 0:1.6
-BuildRequires:  ant-junit >= 0:1.6, junit, antlr >= 0:2.7.1
-BuildRequires:  ant-trax
 BuildRequires:  java-devel >= 1:1.6.0
-BuildRequires:  jakarta-commons-beanutils
-BuildRequires:  jakarta-commons-cli, xalan-j2, jpackage-utils >= 0:1.5
-BuildRequires:  jakarta-commons-logging, jakarta-commons-collections, xerces-j2
-BuildRequires:  antlr-javadoc, xml-commons-apis-javadoc
-BuildRequires:  jakarta-commons-beanutils-javadoc, ant-javadoc, /usr/bin/perl
+BuildRequires:  maven2
+BuildRequires:  antlr-maven-plugin
+BuildRequires:  maven-antrun-plugin
+BuildRequires:  maven-compiler-plugin
+BuildRequires:  maven-eclipse-plugin
+BuildRequires:  maven-install-plugin
+BuildRequires:  maven-jar-plugin
+BuildRequires:  maven-javadoc-plugin
+BuildRequires:  maven-plugin-cobertura
+BuildRequires:  maven-plugin-exec
+BuildRequires:  maven-resources-plugin
+BuildRequires:  maven-site-plugin
+BuildRequires:  maven-surefire-plugin
+BuildRequires:  maven-surefire-provider-junit4
+BuildRequires:  apache-commons-beanutils
+BuildRequires:  apache-commons-cli
+BuildRequires:  apache-commons-logging
+BuildRequires:  apache-commons-collections
+BuildRequires:  xerces-j2
 BuildRequires:  jdom
 BuildRequires:  velocity
 BuildRequires:  emma
 BuildRequires:  junit4
 BuildRequires:  guava
-Requires:       ant >= 0:1.6
-Requires:       antlr >= 0:2.7.1, regexp >= 0:1.2, jakarta-commons-logging
-Requires:       jakarta-commons-cli, jakarta-commons-beanutils
-Requires:       jakarta-commons-collections, jpackage-utils >= 0:1.5
+
+Requires:       java
+Requires:       jpackage-utils >= 0:1.5
+Requires:       apache-commons-cli
+Requires:       apache-commons-beanutils
+Requires:       apache-commons-collections
+Requires:       apache-commons-logging
 Requires:       jaxp_parser_impl
 Requires:       antlr >= 0:2.7.1
-Requires:       java
-Requires:       jpackage-utils
-Requires:       jakarta-commons-beanutils
-Requires:       jakarta-commons-cli, xalan-j2, jpackage-utils >= 0:1.5
-Requires:       jakarta-commons-logging, jakarta-commons-collections, xerces-j2
-Requires:       antlr-javadoc, xml-commons-apis-javadoc
-Requires:       jakarta-commons-beanutils-javadoc, ant-javadoc, /usr/bin/perl
+Requires:       xalan-j2
+Requires:       xerces-j2
 Requires:       jdom
 Requires:       velocity
+
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Obsoletes:      %{name}-optional < %{version}-%{release}
+# revisit later, maybe manual will come back when change from ant to
+# maven build system will settle down
+Obsoletes:      %{name}-manual < %{version}-%{release}
 
 %description
 A tool for checking Java source code for adherence to a set of rules.
@@ -95,90 +112,63 @@ Summary:        Javadoc for %{name}
 %description    javadoc
 Javadoc for %{name}.
 
-%package        manual
-Group:          Documentation
-Summary:        Manual for %{name}
-
-%description    manual
-Manual for %{name}.
-
 %prep
-%setup -q -n %{name}-src-%{version}
-%patch0 -p1  -b .sav
-%__perl -p -i -e 's|\./{\@docRoot}/\.\./index\.html|%{_docdir}/%{name}-manual-%{version}/index.html|' build.xml
-# remove all binary libs
-find . -name "*.jar" -exec %__rm -f {} \;
+%setup -q -n %{name}-%{version}
+%patch0 -p1
+%patch1 -p1
 
 # fix encoding issues in docs
 sed -i 's/\r//' LICENSE LICENSE.apache20 README RIGHTS.antlr \
-         build.xml checkstyle_checks.xml sun_checks.xml suppressions.xml \
-         src/xdocs/css/*.css contrib/hooks/*.pl
+         checkstyle_checks.xml sun_checks.xml suppressions.xml \
+         contrib/hooks/*.pl src/site/resources/css/*css \
+         java.header
 
 %build
-export OPT_JAR_LIST="ant/ant-junit ant/ant-trax junit ant/ant-nodeps jdom velocity"
-export CLASSPATH=$(build-classpath commons-collections)
-
-pushd lib
-ln -sf $(build-classpath antlr) .
-ln -sf $(build-classpath commons-beanutils-core) .
-ln -sf $(build-classpath commons-collections) .
-ln -sf $(build-classpath commons-cli) .
-ln -sf $(build-classpath commons-logging) .
-ln -sf $(build-classpath emma) .
-ln -sf $(build-classpath emma_ant) .
-ln -sf $(build-classpath junit4 ) .
-ln -sf $(build-classpath guava ) .
-
-popd
-
-%ant \
-  -Dbuild.sysclasspath=first \
-  -Dant.javadoc=%{_javadocdir}/ant \
-  -Dantlr.javadoc=%{_javadocdir}/antlr \
-  -Djaxp.javadoc=%{_javadocdir}/xml-commons-apis \
-  -Dbeanutils.javadoc=%{_javadocdir}/jakarta-commons-beanutils \
-  build.bindist run.tests
+export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
+mkdir -p $MAVEN_REPO_LOCAL
+
+mvn-jpp -e \
+        -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
+        install javadoc:aggregate
+
 
 %install
-%__rm -rf %{buildroot}
+rm -rf %{buildroot}
 
 # jar
-%__mkdir_p %{buildroot}%{_javadir}
-%__cp -pa target/dist/%{name}-%{version}/%{name}-%{version}.jar \
-  %{buildroot}%{_javadir}
-(cd %{buildroot}%{_javadir} && 
-    for jar in *-%{version}.jar; 
-        do %__ln_s ${jar} `echo $jar| %__sed "s|-%{version}||g"`; 
+install -dm 755 %{buildroot}%{_javadir}
+cp -pa target/%{name}-%{version}.jar %{buildroot}%{_javadir}
+(cd %{buildroot}%{_javadir} &&
+    for jar in *-%{version}.jar;
+        do %__ln_s ${jar} `echo $jar| %__sed "s|-%{version}||g"`;
     done
 )
 
 # script
-install -Dpm 755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}
+install -Dm 755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}
 
 # dtds
-install -Dpm 644 %{SOURCE2} %{buildroot}%{_datadir}/xml/%{name}/catalog
-%__cp -pa src/checkstyle/com/puppycrawl/tools/checkstyle/*.dtd \
+install -Dm 644 %{SOURCE2} %{buildroot}%{_datadir}/xml/%{name}/catalog
+cp -pa src/checkstyle/com/puppycrawl/tools/checkstyle/*.dtd \
   %{buildroot}%{_datadir}/xml/%{name}
 
 # javadoc
-%__mkdir_p %{buildroot}%{_javadocdir}/%{name}-%{version}
-%__cp -par target/dist/%{name}-%{version}/docs/api/* \
-  %{buildroot}%{_javadocdir}/%{name}-%{version}
-%__ln_s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
+install -dm 755  %{buildroot}%{_javadocdir}/%{name}-%{version}
+cp -par target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
 
 # demo
-%__mkdir_p %{buildroot}%{_datadir}/%{name}
-%__cp -par target/dist/%{name}-%{version}/contrib/* \
-  %{buildroot}%{_datadir}/%{name}
+install -dm 755 %{buildroot}%{_datadir}/%{name}
+cp -par contrib/* %{buildroot}%{_datadir}/%{name}
 
 # ant.d
-%__mkdir_p  %{buildroot}%{_sysconfdir}/ant.d
-%__cat > %{buildroot}%{_sysconfdir}/ant.d/%{name} << EOF
+install -dm 755  %{buildroot}%{_sysconfdir}/ant.d
+cat > %{buildroot}%{_sysconfdir}/ant.d/%{name} << EOF
 checkstyle antlr regexp jakarta-commons-beanutils jakarta-commons-cli jakarta-commons-logging jakarta-commons-collections jaxp_parser_impl
 EOF
 
 %clean
-%__rm -rf %{buildroot}
+rm -rf %{buildroot}
 
 %post
 # Note that we're using a fully versioned catalog, so this is always ok.
@@ -199,7 +189,7 @@ fi
 %files
 %defattr(-,root,root,-)
 %doc LICENSE LICENSE.apache20 README RIGHTS.antlr
-%doc build.xml checkstyle_checks.xml java.header sun_checks.xml suppressions.xml
+%doc checkstyle_checks.xml java.header sun_checks.xml suppressions.xml
 
 %{_javadir}/%{name}.jar
 %{_javadir}/%{name}-%{version}.jar
@@ -215,11 +205,14 @@ fi
 %defattr(-,root,root,-)
 %doc %{_javadocdir}/*
 
-%files manual
-%defattr(-,root,root,-)
-%doc target/dist/%{name}-%{version}/docs/*
 
 %changelog
+* Thu Oct 21 2010 Stanislav Ochotnicky <sochotnicky at redhat.com> - 5.3-1
+- Use maven as build system (upstream change)
+- Obsolete manual subpackage (not available with mvn)
+- Cleanup BRs/Rs
+- Remove old patches
+
 * Wed Jun  9 2010 Stanislav Ochotnicky <sochotnicky at redhat.com> - 5.1-1
 - Rebase to new version
 - Cleanup of whole spec file
diff --git a/sources b/sources
index c350b39..f60f30b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-96b430fe5087b4f62fa78804475ee2ea  checkstyle-src-4.1.tar.gz
-88d57081e898171c2d02da0a902742d9  checkstyle-src-5.1.tar.gz
+9a19c903536e3627de87f611b73c1639  checkstyle-5.3-src.tar.gz


More information about the scm-commits mailing list