| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="2" |
| WANT_ANT_TASKS="ant-antlr ant-nodeps" |
| JAVA_PKG_IUSE="doc source test" |
| |
| inherit java-pkg-2 java-ant-2 |
| |
| MY_P="${PN}-src-${PV}" |
| DESCRIPTION="A development tool to help programmers write Java code that adheres to a coding standard" |
| HOMEPAGE="http://checkstyle.sourceforge.net" |
| SRC_URI="mirror://sourceforge/checkstyle/${MY_P}.tar.gz" |
| |
| LICENSE="LGPL-2.1" |
| SLOT="0" |
| KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x86-macos" |
| IUSE="" |
| |
| COMMON_DEP=">=dev-java/antlr-2.7.7:0[java] |
| dev-java/commons-beanutils:1.7 |
| dev-java/commons-cli:1 |
| dev-java/commons-logging:0 |
| dev-java/commons-collections:0" |
| |
| RDEPEND=">=virtual/jre-1.4 |
| ${COMMON_DEP}" |
| |
| DEPEND="!test? ( >=virtual/jdk-1.4 ) |
| test? ( >=virtual/jdk-1.5 ) |
| ${COMMON_DEP} |
| test? ( |
| dev-java/ant-junit |
| dev-java/ant-trax |
| dev-java/emma:0 |
| )" |
| |
| S="${WORKDIR}/${MY_P}" |
| |
| # So that we can generate 1.4 bytecode for dist |
| # and 1.5 for tests |
| JAVA_PKG_BSFIX="off" |
| |
| java_prepare() { |
| cd "${S}/lib" |
| rm -v *.jar || die |
| java-pkg_jar-from antlr |
| java-pkg_jar-from commons-beanutils-1.7 |
| java-pkg_jar-from commons-cli-1 |
| java-pkg_jar-from commons-logging |
| java-pkg_jar-from commons-collections |
| } |
| |
| src_compile() { |
| eant compile.checkstyle $(use_doc) |
| jar cfm ${PN}.jar config/manifest.mf -C target/checkstyle . || die "jar failed" |
| } |
| |
| src_test() { |
| java-pkg_jar-from --build-only --into lib junit |
| java-pkg_jar-from --build-only --into lib emma |
| ANT_TASKS="emma ant-nodeps ant-junit ant-trax" eant run.tests |
| } |
| |
| src_install() { |
| java-pkg_dojar ${PN}.jar |
| |
| dodoc README RIGHTS.antlr || die |
| use doc && java-pkg_dojavadoc target/docs/api |
| use source && java-pkg_dosrc src/${PN}/com |
| |
| # Install check files |
| insinto /usr/share/checkstyle/checks |
| for file in *.xml; do |
| [[ "${file}" != build.xml ]] && doins ${file} |
| done |
| |
| # Install extra files |
| insinto /usr/share/checkstyle/contrib |
| doins -r contrib/* |
| |
| java-pkg_dolauncher ${PN} \ |
| --main com.puppycrawl.tools.checkstyle.Main |
| |
| java-pkg_dolauncher ${PN}-gui \ |
| --main com.puppycrawl.tools.checkstyle.gui.Main |
| |
| # Make the ant tasks available to ant |
| java-pkg_register-ant-task |
| } |
| |
| pkg_postinst() { |
| elog "Checkstyle is located at /usr/bin/checkstyle" |
| elog "Check files are located in /usr/share/checkstyle/checks/" |
| } |