diff options
Diffstat (limited to 'dev-java/velocity/velocity-2.3_p20240314.ebuild')
-rw-r--r-- | dev-java/velocity/velocity-2.3_p20240314.ebuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/dev-java/velocity/velocity-2.3_p20240314.ebuild b/dev-java/velocity/velocity-2.3_p20240314.ebuild new file mode 100644 index 000000000000..9fc3d0f5f420 --- /dev/null +++ b/dev-java/velocity/velocity-2.3_p20240314.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.velocity:velocity-engine-core:2.3" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Apache Velocity is a general purpose template engine" +HOMEPAGE="https://velocity.apache.org" +MY_COMMIT="86cfcf41105f8a25db11ca6483e33c20fc0804d9" +SRC_URI="https://github.com/apache/${PN}-engine/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-engine-${MY_COMMIT}/${PN}-engine-core" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64" + +CP_DEPEND=" + >=dev-java/commons-io-2.8.0:1 + >=dev-java/commons-lang-3.11:3.6 + >=dev-java/slf4j-api-1.7.30:0 +" +DEPEND=" + >=virtual/jdk-1.8:* + ${CP_DEPEND} + test? ( + dev-db/hsqldb:0 + >=dev-java/slf4j-simple-1.7.30:0 + ) +" +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND} +" +JAVACC_SLOT="7.0.13" +BDEPEND="dev-java/javacc:${JAVACC_SLOT}" + +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" +JAVA_TEST_EXTRA_ARGS="-Dtest.compare.dir=target/test-classes -Dtest.result.dir=results" +JAVA_TEST_GENTOO_CLASSPATH="junit-4,hsqldb,slf4j-simple" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +src_prepare() { + java-pkg-2_src_prepare + + sed -e "s/\${project.version}/${PV}/" \ + src/main/java-templates/org/apache/velocity/runtime/VelocityEngineVersion.java > \ + src/main/java/org/apache/velocity/runtime/VelocityEngineVersion.java || die + + sed -i \ + -e 's/\${parser.basename}/Standard/g' \ + -e 's/\${parser.package}/org.apache.velocity.runtime.parser/g' \ + -e 's/\${parser.char.asterisk}/\*/g' \ + -e 's/\${parser.char.at}/\@/g' \ + -e 's/\${parser.char.dollar}/\$/g' \ + -e 's/\${parser.char.hash}/\#/g' \ + "${S}/src/main/parser/Parser.jjt" || die + + # File "StandardParserTreeConstants.java" does not exist. Will create one. + # File "StandardParserVisitor.java" does not exist. Will create one. + # File "JJTStandardParserState.java" does not exist. Will create one. + "jjtree-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \ + -JDK_VERSION=1.8 \ + -BUILD_NODE_FILES=false \ + -MULTI=true \ + -NODE_PACKAGE=org.apache.velocity.runtime.parser.node \ + -NODE_USES_PARSER=true \ + -STATIC=false \ + -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node" \ + "${S}/src/main/parser/Parser.jjt" \ + || die "Code generation via jjtree failed" + + "javacc-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \ + -JDK_VERSION=1.8 \ + -STATIC=false \ + -DEBUG_PARSER=false \ + -DEBUG_LOOKAHEAD=false \ + -DEBUG_TOKEN_MANAGER=false \ + -BUILD_PARSER=true \ + -TOKEN_MANAGER_USES_PARSER=true \ + -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}" \ + "${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node/Parser.jj" \ + || die "Parser.java code generation via javacc failed" + + # Avoid "error: duplicate class: org.apache.velocity.runtime.parser...." + rm -v "${JAVA_SRC_DIR}/CharStream.java" || die "cannot remove 'CharStream.java'" + rm -v "${JAVA_SRC_DIR}/ParseException.java" || die "cannot remove 'ParseException.java'" +} + +src_test() { + pushd src/test/java || die + # DataSourceResourceLoaderTestCase.java requires configured jdbc + local JAVA_TEST_RUN_ONLY=$(find * \ + -name "*TestCase.java" \ + ! -name "BaseTestCase.java" \ + ! -name "DataSourceResourceLoaderTestCase.java" \ + ) + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}" + JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}" + popd + java-pkg-simple_src_test +} |