dev-java/qdox: Update jflex dependency. Fixes bug 557292.
authorPatrice Clement <monsieurp@gentoo.org>
Thu, 13 Aug 2015 15:40:58 +0000 (15:40 +0000)
committerPatrice Clement <monsieurp@gentoo.org>
Thu, 13 Aug 2015 15:47:07 +0000 (15:47 +0000)
Package-Manager: portage-2.2.18
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
dev-java/qdox/qdox-1.12-r2.ebuild [new file with mode: 0644]

diff --git a/dev-java/qdox/qdox-1.12-r2.ebuild b/dev-java/qdox/qdox-1.12-r2.ebuild
new file mode 100644 (file)
index 0000000..140ace0
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Parser for extracting class/interface/method definitions"
+HOMEPAGE="https://github.com/codehaus/qdox"
+SRC_URI="http://snapshots.repository.codehaus.org/com/thoughtworks/qdox/qdox/1.12-SNAPSHOT/qdox-1.12-20100531.205010-5-project.tar.gz  "
+
+LICENSE="Apache-2.0"
+SLOT="1.12"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~ppc-macos ~x64-macos ~x86-macos"
+
+S="${WORKDIR}/${P}-SNAPSHOT"
+
+CDEPEND="dev-java/ant-core:0"
+
+DEPEND=">=virtual/jdk-1.6
+       app-arch/unzip:0
+       dev-java/byaccj:0
+       dev-java/jflex:0
+       dev-java/jmock:1.0
+       test? ( dev-java/junit:0 )
+       ${CDEPEND}"
+
+RDEPEND=">=virtual/jre-1.6
+       ${CDEPEND}"
+
+java_prepare() {
+       if ! use test ; then
+               rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java
+               rm -rf src/java/com/thoughtworks/qdox/junit
+               rm -rf src/test
+       fi
+}
+
+src_compile() {
+       jflex \
+               src/grammar/lexer.flex \
+               --skel src/grammar/skeleton.inner \
+               -d src/java/com/thoughtworks/qdox/parser/impl/ || die
+       byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl src/grammar/parser.y || die
+       mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die
+
+       # create jar
+       mkdir -p build/classes || die
+
+       local cp="$(java-pkg_getjars --build-only ant-core,jmock-1.0)"
+
+       if use test ; then
+               cp="${cp}:$(java-pkg_getjars --build-only junit)"
+       fi
+
+       ejavac -sourcepath . -d build/classes -classpath "${cp}" \
+               $(find . -name "*.java") || die "Cannot compile sources"
+
+       mkdir dist || die
+       cd build/classes || die
+       jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR"
+
+       # generate javadoc
+       if use doc ; then
+               cd "${S}"
+               mkdir javadoc || die
+               javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}"
+       fi
+}
+
+src_test() {
+       java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant-core,junit,jmock-1.0) \
+               com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!"
+}
+
+src_install() {
+       java-pkg_dojar dist/${PN}.jar
+       java-pkg_register-ant-task
+
+       use source && java-pkg_dosrc src/java/com
+       use doc && java-pkg_dojavadoc javadoc
+}