# Copyright 1999-2013 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 MY_PN="struts" MY_P="${MY_PN}-${PV}-src" DESCRIPTION="A powerful Model View Controller Framework for JSP/Servlets: Plugins" SRC_URI="mirror://apache/struts/source/${MY_P}.zip https://dev.gentoo.org/~tomwij/files/dist/${MY_PN}-build.xml-${PV}.tar.xz https://dev.gentoo.org/~tomwij/files/dist/${MY_PN}-${PV}-build.xml-classpath.patch" HOMEPAGE="http://struts.apache.org/index.html" LICENSE="Apache-2.0" SLOT="2" KEYWORDS="~amd64" COMMON_DEPS="dev-java/commons-beanutils:1.7 dev-java/commons-lang:3.1 dev-java/commons-io:1 dev-java/freemarker:2.3 dev-java/juel:0 dev-java/ognl:3.0 dev-java/osgi-core-api:0 dev-java/struts-core:${SLOT} dev-java/struts-xwork:${SLOT} dev-java/velocity:0 java-virtuals/servlet-api:3.0" RDEPEND=">=virtual/jre-1.5 ${COMMON_DEPS}" DEPEND=">=virtual/jdk-1.5 test? ( dev-java/ant-junit:0 ) ${COMMON_DEPS}" S="${WORKDIR}/${MY_PN}-${PV}/src/plugins" JAVA_ANT_REWRITE_CLASSPATH="true" EANT_GENTOO_CLASSPATH="struts-core-${SLOT},struts-xwork-${SLOT}" EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH}" EANT_BUILD_TARGET="package" EANT_TEST_TARGET="test" # javatemplates/maven-build.xml:149: # Test org.apache.struts2.views.java.simple.AbstractCommonAttributesTest failed # Cannot instantiate test case: testRenderTextFieldDynamicAttrs RESTRICT="test" src_unpack() { unpack ${MY_P}.zip cd "${WORKDIR}"/${MY_PN}-${PV}/src || die unpack ${MY_PN}-build.xml-${PV}.tar.xz } java_prepare() { find . -name '*.jar' -print -delete || die epatch "${DISTDIR}"/${MY_PN}-${PV}-build.xml-classpath.patch epatch "${FILESDIR}"/${MY_PN}-${PV}-build.xml-manifest.patch epatch "${FILESDIR}"/${MY_PN}-${PV}-build.xml-remove-codebehind.patch epatch "${FILESDIR}"/${MY_PN}-${PV}-build.xml-remove-portlet.patch # Remove tests that don't build due to test files that aren't installed. rm jfreechart/src/test/java/org/apache/struts2/dispatcher/ChartResultTest.java java-pkg_getjars commons-beanutils-1.7,commons-io-1,commons-lang-3.1,freemarker-2.3,juel,ognl-3.0,osgi-core-api,servlet-api-3.0,velocity } src_test() { EANT_TEST_EXTRA_ARGS="-Dgentoo.test.classpath=$(java-pkg_getjars ${EANT_TEST_GENTOO_CLASSPATH})" EANT_TEST_EXTRA_ARGS+=" -Djunit.present=true" java-pkg-2_src_test } src_install() { for plugin in $(find . -mindepth 1 -maxdepth 1 -type d | sed 's:./::g' | tr '\n' ' ') ; do [[ ! -d ${plugin}/target ]] && continue einfo "Installing plugin '${plugin}' ..." java-pkg_newjar ${plugin}/target/${MY_PN}2-${plugin}-plugin-${PV}.jar ${plugin}.jar if use doc ; then java-pkg_dojavadoc ${plugin}/target/site/apidocs mkdir "${D}"/usr/share/doc/${P}/${plugin} || die mv "${D}"/usr/share/doc/${P}/{html,${plugin}/html} || die fi use source && java-pkg_dosrc ${plugin}/src/main/java/org done if use doc ; then rm "${D}"/usr/share/${PN}-${SLOT}/api || die fi } pkg_postinst() { elog "The 'codebehind' and 'portlet' plugins are not in this release because they don't build yet." }