%define with_maven 0 Name: jakarta-bsf3 Version: 3.1 Release: 1mamba Summary: Bean Scripting Framework (BSF) Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: gil URL: http://jakarta.apache.org/bsf/ # svn export https://svn.apache.org/repos/asf/jakarta/bsf/tags/bsf-3.1 bsf-3.1 # tar czf bsf-3.1-src-svn.tar.gz bsf-3.1 Source0: bsf-%{version}-src-svn.tar.gz Source1: maven2-2.2.0-settings.xml Source2: jakarta-bsf3-3.1-autogeneratedfiles.tar.gz Source3: https://scripting.dev.java.net/files/documents/4957/37593/jsr223-engines.zip Patch0: jakarta-bsf3-3.1-engines.patch #Patch1: jakarta-bsf3-3.1-more-engines.patch License: Apache Software License 2.0 BuildRequires: apache-ant BuildRequires: apache-batik %if %with_maven BuildRequires: apache-maven BuildRequires: apache-maven-ant-plugin BuildRequires: apache-maven-antrun-plugin BuildRequires: apache-maven-assembly-plugin BuildRequires: apache-maven-compiler-plugin BuildRequires: apache-maven-jar-plugin BuildRequires: apache-maven-javadoc-plugin BuildRequires: apache-maven-site-plugin #BuildRequires: maven-surefire-plugin %endif BuildRequires: apache-tomcat5-servletapi5 BuildRequires: apache-ws-commons-axiom BuildRequires: apache-xmlbeans BuildRequires: jakarta-commons-logging BuildRequires: java-backport-util-concurrent BuildRequires: java-bea-stax-api BuildRequires: java-jaxen BuildRequires: java-retroweaver BuildRequires: java-rhino16 BuildRequires: java-jsr223-scripting-engines-js BuildRequires: java-jsr223-scripting-engines-jython BuildRequires: java-sun-jaf BuildRequires: java-sun-mail-1.4-api BuildRequires: java-wstx BuildRequires: objectweb-asm = 3.2 BuildRequires: xerces-j2 BuildRequires: xml-commons-apis BuildRequires: jpackage-utils # x testing BuildRequires: apache-anakia BuildRequires: apache-log4j BuildRequires: apache-tomcat5-jsp20-api BuildRequires: apache-velocity BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-lang24 BuildRequires: jakarta-commons-logging BuildRequires: java-dom BuildRequires: java-hsqldb BuildRequires: java-junit3 BuildRequires: xalan-j2 Requires: jpackage-utils BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF permits any Java application to be implemented in part (or dynamically extended) by a language that is embedded within it. This is achieved by providing an API that permits calling scripting language engines from within Java, as well as an object registry that exposes Java objects to these scripting language engines. BSF supports several scripting languages currently: * Javascript (using Rhino ECMAScript, from the Mozilla project) * Python (using either Jython or JPython) * Tcl (using Jacl) * NetRexx (an extension of the IBM REXX scripting language in Java) * XSLT Stylesheets (as a component of Apache XML project's Xalan and Xerces) In addition, the following languages are supported with their own BSF engines: * Java (using BeanShell, from the BeanShell project) * JRuby * JudoScript %package examples Group: Development/Languages Summary: %{name} examples %description examples Apache Bean Scripting Framework (BSF). This package contains the sample in various programming languages. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc Apache Bean Scripting Framework (BSF). This package contains javadoc for %{name} %package manual Group: Documentation Summary: Manual for %{name} %description manual Apache Bean Scripting Framework (BSF). This package contains documentation for %{name}. %package source Group: Development/Languages Summary: %{name} source %description source Apache Bean Scripting Framework (BSF). This package contains %{name} source. %prep %setup -q -n bsf-%{version} chmod -R go=u-w * for j in $(find . -name "*.jar"); do mv $j ${j}.no done %if %with_maven cp %{SOURCE1} settings.xml mkdir -p .m2/repository/JPP/maven2/default_poms sed -i -e "s|__INTERNAL_REPO_PLACEHOLDER__|file://`pwd`/external_repo|g" settings.xml sed -i -e "s|__EXTERNAL_REPO_PLACEHOLDER__|file://`pwd`/.m2/repository|g" settings.xml %else tar xf %{SOURCE2} mkdir -p bsf-engines/engines-download cp %{SOURCE3} bsf-engines/engines-download/engines.zip mkdir -p bsf-engines/target/engines-download pushd bsf-engines/target/engines-download/ cp %{SOURCE3} engines.zip mkdir -p engines/javascript/build/ ln -sf $(build-classpath scripting-engines/js-engine) engines/javascript/build/ mkdir -p engines/jython/build/ ln -sf $(build-classpath scripting-engines/jython-engine) engines/jython/build/ popd %patch0 #%patch1 %endif %build export JAVA_HOME=/usr/lib/jvm/jdk-sun export MAVEN_REPO_LOCAL=$PWD/.m2/repository export MAVEN_SETTINGS=$PWD/settings.xml mkdir -p $MAVEN_REPO_LOCAL %if %with_maven mkdir external_repo ln -s %{_javadir} external_repo/JPP cd bsf-api mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install cd .. cd bsf-engines mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install mvn-jpp \ -s $MAVEN_SETTINGS \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ install:install-file \ -DgroupId=org.apache.bsf \ -DartifactId=bsf-engines \ -Dversion=%{version} \ -Dpackaging=jar \ -Dfile=$PWD/target/bsf-engines-%{version}.jar cd .. cd bsf-utils mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install cd .. mvn-jpp \ -s $MAVEN_SETTINGS \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ install:install-file \ -DgroupId=jython \ -DartifactId=jython \ -Dversion=2.2b1 \ -Dpackaging=jar \ -Dfile=$(build-classpath jython) cd testing mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ ant:ant install cd .. mvn-jpp \ -e \ -s $MAVEN_SETTINGS \ -Dmaven.test.failure.ignore=true \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ javadoc:javadoc %else cd bsf-api export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dbuild.sysclasspath=first \ jar javadoc cd .. cd bsf-engines # sed -i "s|com.rc.retroweaver.ant.RetroWeaverTask|net.sourceforge.retroweaver.ant.RetroWeaverTask|" build.xml export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath objectweb-asm/asm-util objectweb-asm/asm-commons objectweb-asm/asm) CLASSPATH=$CLASSPATH:$(build-classpath retroweaver retroweaver-rt backport-util-concurrent) CLASSPATH=$CLASSPATH:$(build-classpath junit-3.8.2):target/test-classes:target/classes ant -Dbsf.version=%{version} -Dalready.downloaded=true merge-engines cd .. cd bsf-utils # test fails require Rhino 1.6R5 export CLASSPATH="" CLASSPATH=$CLASSPATH:../bsf-engines/target/bsf-engines-%{version}.jar CLASSPATH=$CLASSPATH:../bsf-api/target/bsf-api-%{version}.jar CLASSPATH=$CLASSPATH:$(build-classpath objectweb-asm/asm-util objectweb-asm/asm-commons objectweb-asm/asm) CLASSPATH=$CLASSPATH:$(build-classpath retroweaver retroweaver-rt backport-util-concurrent) CLASSPATH=$CLASSPATH:$(build-classpath commons-logging xercesImpl xml-commons-apis) CLASSPATH=$CLASSPATH:$(build-classpath jaxen sun-jaf sun-mail-api batik-all) CLASSPATH=$CLASSPATH:$(build-classpath ws-commons-axiom-api ws-commons-axiom-impl rhino16) CLASSPATH=$CLASSPATH:$(build-classpath xmlbeans/xbean servletapi5 wstx/wstx-asl bea-stax-api) CLASSPATH=$CLASSPATH:$(build-classpath bcel junit-3.8.2):target/classes:target/test-classes ant \ -Duser.home=$PWD \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Dmaven.settings.offline=true \ -Dmaven.settings.interactiveMode=false \ -Dbuild.sysclasspath=first \ -Dmaven.test.skip=true \ jar javadoc cd .. cd distribution ant -Dbsf.version=%{version} create-bsf-all cd .. # buildrequire for apache harmony mkdir bsf-%{version} cp -pr distribution/target/bsf-all-%{version}.jar bsf-%{version}/ cp -pr bsf-api/target/bsf-api-%{version}.jar bsf-%{version}/ cp -pr bsf-engines/target/bsf-engines-%{version}.jar bsf-%{version}/ cp -pr bsf-utils/target/bsf-utils-%{version}.jar bsf-%{version}/ cp -pr LICENSE NOTICE RELEASE_NOTES bsf-%{version}/ cp -pr distribution/src/bin/README bsf-%{version}/ zip -r bsf.zip bsf-%{version} %endif %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir}/bsf3 mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 bsf-api/target/bsf-api-%{version}.jar \ %{buildroot}%{_javadir}/bsf3/api-%{version}.jar %add_to_maven_depmap org.apache.bsf bsf-api %{version} JPP/bsf3 api install -pm 644 bsf-api/pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.bsf3-api.pom install -m 644 bsf-utils/target/bsf-utils-%{version}.jar \ %{buildroot}%{_javadir}/bsf3/utils-%{version}.jar %add_to_maven_depmap org.apache.bsf bsf-utils %{version} JPP/bsf3 utils install -pm 644 bsf-utils/pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.bsf3-utils.pom install -m 644 bsf-engines/target/bsf-engines-%{version}.jar \ %{buildroot}%{_javadir}/bsf3/engines-%{version}.jar %add_to_maven_depmap org.apache.bsf bsf-engines %{version} JPP/bsf3 engines install -pm 644 bsf-engines/pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.bsf3-engines.pom install -m 644 distribution/target/bsf-all-%{version}.jar \ %{buildroot}%{_javadir}/bsf3/all-%{version}.jar %add_to_maven_depmap org.apache.bsf bsf-all %{version} JPP/bsf3 all install -pm 644 distribution/pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.bsf3-all.pom %add_to_maven_depmap org.apache.bsf parent %{version} JPP/bsf3 parent install -pm 644 pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.bsf3-parent.pom ( cd %{buildroot}%{_javadir}/bsf3 for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/} done ) mkdir -p %{buildroot}%{_javadocdir}/bsf3-%{version} %if %with_maven cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/bsf3-%{version} %else cp -pr bsf-api/target/site/apidocs/* %{buildroot}%{_javadocdir}/bsf3-%{version} mkdir -p %{buildroot}%{_javadocdir}/bsf3-%{version}/utils cp -pr bsf-utils/target/site/apidocs/* %{buildroot}%{_javadocdir}/bsf3-%{version}/utils/ %endif ln -s bsf3-%{version} %{buildroot}%{_javadocdir}/bsf3 mkdir -p %{buildroot}%{_sourcedir}/bsf-%{version} cp -pr bsf.zip %{buildroot}%{_sourcedir}/bsf-%{version} #%{_bindir}/aot-compile-rpm %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %{_javadir}/bsf3/all-%{version}.jar %{_javadir}/bsf3/all.jar %{_javadir}/bsf3/api-%{version}.jar %{_javadir}/bsf3/api.jar %{_javadir}/bsf3/engines-%{version}.jar %{_javadir}/bsf3/engines.jar %{_javadir}/bsf3/utils-%{version}.jar %{_javadir}/bsf3/utils.jar %{_mavendepmapfragdir} %{_datadir}/maven2/poms %doc BUILDING LICENSE NOTICE RELEASE_NOTES %files javadoc %defattr(-,root,root) %{_javadocdir}/bsf3-%{version} %{_javadocdir}/bsf3 %files source %defattr(-,root,root) %{_sourcedir}/bsf-%{version}/bsf.zip %changelog * Fri Dec 10 2010 gil 3.1-1mamba - update to 3.1 * Fri Jul 09 2010 gil 3.0-1mamba - update to 3.0 - renamed to legacy jakarta-bsf3 * Tue Jun 09 2009 gil 2.4.0-1mamba - update to 2.4.0 * Mon Mar 09 2009 gil 2.3.0-2mamba - rebuilt * Sat Feb 21 2009 gil 2.3.0-1mamba - package created by autospec