# # spec file for package velocity # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: velocity Version: 1.7 Release: 0 Summary: Java-based template engine License: Apache-2.0 Group: Development/Libraries/Java URL: https://velocity.apache.org/ Source0: https://archive.apache.org/dist/velocity/engine/%{version}/%{name}-%{version}.tar.gz Source1: %{name}-%{version}.pom Patch0: velocity-build_xml.patch Patch1: velocity-1.7-CVE-2020-13936.patch Patch2: velocity-1.7-commons-lang3.patch Patch3: velocity-1.7-log-chute.patch BuildRequires: ant BuildRequires: commons-collections BuildRequires: commons-lang3 BuildRequires: fdupes BuildRequires: java-devel >= 1.8 BuildRequires: javapackages-local >= 6 BuildArch: noarch %description Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity's capabilities reach well beyond the realm of web sites; for example, it can generate SQL and PostScript and XML (see Anakia for more information on XML transformations) from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems. Velocity also provides template services for the Turbine web application framework. Velocity+Turbine provides a template service that will allow web applications to be developed according to a true MVC model. %package manual Summary: Manual for %{name} Group: Development/Libraries/Java %description manual Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity's capabilities reach well beyond the realm of web sites; for example, it can generate SQL and PostScript and XML (see Anakia for more information on XML transformations) from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems. Velocity also provides template services for the Turbine web application framework. Velocity+Turbine provides a template service that will allow web applications to be developed according to a true MVC model. %package javadoc Summary: Javadoc for %{name} Group: Documentation/HTML %description javadoc Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity's capabilities reach well beyond the realm of web sites; for example, it can generate SQL and PostScript and XML (see Anakia for more information on XML transformations) from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems. Velocity also provides template services for the Turbine web application framework. Velocity+Turbine provides a template service that will allow web applications to be developed according to a true MVC model. %package demo Summary: Demo for %{name} Group: Development/Libraries/Java Requires: %{name} = %{version}-%{release} %description demo Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity's capabilities reach well beyond the realm of web sites; for example, it can generate SQL and PostScript and XML (see Anakia for more information on XML transformations) from templates. It can be used either as a standalone utility for generating source code and reports, or as an integrated component of other systems. Velocity also provides template services for the Turbine web application framework. Velocity+Turbine provides a template service that will allow web applications to be developed according to a true MVC model. %prep %setup -q cp %{SOURCE1} pom.xml %patch0 -b .sav0 %patch1 -p1 %patch2 -p1 %patch3 -p1 find . -name '*.jar' -print -delete find . -name '*.class' -print -delete # Disable unneeded features rm -r src/java/org/apache/velocity/{anakia,texen,servlet,convert} rm src/java/org/apache/velocity/runtime/log/{Avalon,Log4J}Log{Chute,System}.java rm src/java/org/apache/velocity/runtime/log/{CommonsLog,Servlet}LogChute.java rm src/java/org/apache/velocity/runtime/log/SimpleLog4JLogSystem.java rm src/java/org/apache/velocity/runtime/log/VelocityFormatter.java rm src/java/org/apache/velocity/app/event/implement/Escape{Html,JavaScript,Sql,Xml,}Reference.java %pom_remove_dep :oro %pom_remove_dep :jdom %pom_remove_dep :commons-logging %pom_remove_dep :log4j %pom_remove_dep :servlet-api %pom_remove_dep :logkit %pom_remove_dep :ant %pom_remove_dep :werken-xpath %build mkdir -p bin/lib build-jar-repository -s -p bin/lib commons-collections commons-lang3 export CLASSPATH=$(build-classpath commons-collections commons-lang3) ant \ -Djavac.source=1.8 -Djavac.target=1.8 \ -buildfile build/build.xml \ jar javadocs %install # jars install -d -m 755 %{buildroot}%{_javadir} install -p -m 644 bin/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar # pom install -d -m 755 %{buildroot}%{_mavenpomdir} %{mvn_install_pom} pom.xml \ %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %add_maven_depmap -a velocity:velocity # javadoc install -d -m 755 %{buildroot}%{_javadocdir}/%{name} cp -pr docs/api/* %{buildroot}%{_javadocdir}/%{name} %fdupes -s %{buildroot}%{_javadocdir} rm -rf docs/api # zero-length file rm -r test/issues/velocity-537/compare/velocity537.vm.cmp # data install -d -m 755 %{buildroot}%{_datadir}/%{name} cp -pr examples test %{buildroot}%{_datadir}/%{name} %fdupes -s %{buildroot}%{_datadir}/%{name} %files -f .mfiles %license LICENSE NOTICE %doc README.txt %files manual %doc docs/* %files javadoc %{_javadocdir}/%{name} %files demo %{_datadir}/%{name} %changelog