Name: bsh2 Version: 2.1b5 Release: 1%{?dist} Summary: Lightweight Scripting for Java Group: Development/Libraries License: LGPL Url: http://code.google.com/p/beanshell2/ Source0: http://beanshell2.googlecode.com/files/bsh-2.1b5-src.zip Source1: beanshell-2.1b5.pom Source2: bsh-bsf-2.1b5.pom Source3: bsh-classgen-2.1b5.pom Source4: bsh-classpath-2.1b5.pom Source5: bsh-commands-2.1b5.pom Source6: bsh-core-2.1b5.pom Source7: bsh-reflect-2.1b5.pom Source8: bsh-util-2.1b5.pom Patch0: bsh2-2.1b5-faq-xsl.patch Patch1: bsh2-2.1b5-manual-xsl.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: javacc BuildRequires: junit4 BuildRequires: bsf BuildRequires: tomcat-servlet-3.0-api BuildRequires: bsf-javadoc BuildRequires: java-javadoc # documentation BuildRequires: xalan-j2 BuildRequires: xalan-j2-xsltc Requires: bsf Requires: tomcat-servlet-3.0-api Requires: java Requires: jpackage-utils BuildArch: noarch %description BeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript(tm). You can use BeanShell interactively for Java experimentation and debugging or as a simple scripting engine for your applications. In short: BeanShell is a dynamically interpreted Java, plus some useful stuff. Another way to describe it is to say that in many ways BeanShell is to Java as Tcl/Tk is to C: BeanShell is embeddable - You can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide scripting extensibility for your applications. Alternatively, you can call your Java applications and objects from BeanShell; working with Java objects and APIs dynamically. Since BeanShell is written in Java and runs in the same space as your application, you can freely pass references to "real live" objects into scripts and return them as results. %package bsf Group: Development/Libraries Summary: BSF support for %{name} Requires: %{name} = %{version}-%{release} Requires: bsf %description bsf BSF support for %{name}. %package classgen Group: Development/Libraries Summary: ASM support for %{name} Requires: %{name} = %{version}-%{release} %description classgen ASM support for %{name}. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name}. %package demo Group: Development/Libraries Summary: Demos for %{name} Requires: %{name} = %{version}-%{release} %description demo Demonstrations and samples for %{name}. %package manual Summary: Manual for %{name} Group: Documentation %description manual Documentation for %{name}. %prep %setup -q -n BeanShell2-%{version} find -name '*.jar' -exec rm -f '{}' \; find -name '*.class' -exec rm -f '{}' \; find -name 'CVS' -exec rm -f '{}' \; find -name '.cvsignore' -exec rm -f '{}' \; pushd lib ln -sf $(build-classpath bsf) bsf.jar ln -sf $(build-classpath javacc) javacc.jar ln -sf $(build-classpath junit4) junit.4.8.2.jar ln -sf $(build-classpath tomcat-servlet-3.0-api) servlet.jar popd perl -p -i -e 's|VERSION =.*;|VERSION = "%{version}-%{release}";|' src/bsh/Interpreter.java # TODO rm src/bsh/org/objectweb/asm %patch0 -p0 %patch1 -p0 %build pushd tests/test-scripts/Data %javac $(find . -name "*.java") %jar cf addclass.jar $(find . -name "*.class") %jar cf addedCommand.jar $(find . -name "addedCommand.bsh") popd ant -Dant.build.javac.source=1.5 \ -Dant.build.javac.target=1.5 \ -Dbuild.sysclasspath=first \ -Dbsf.javadoc=%{_javadocdir}/bsf \ -Djava.javadoc=%{_javadocdir}/java \ dist test export CLASSPATH=$(build-classpath xalan-j2-serializer xalan-j2 xsltc) (cd docs/faq && %ant) (cd docs/manual && %ant) mkdir -p bsh-bsf/classes export CLASSPATH=$(build-classpath bsf):$PWD/dist/bsh-%{version}.jar %javac -d bsh-bsf/classes $(find bsf/src -name "*.java") rm -rf bsh-bsf/classes/TestBshBSF.class %jar uf dist/bsh-bsf-%{version}.jar -C bsh-bsf/classes . %install mkdir -p %{buildroot}%{_javadir}/%{name} install -pm 644 dist/bsh-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh.jar install -pm 644 dist/bsh-bsf-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-bsf.jar install -pm 644 dist/bsh-classgen-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-classgen.jar install -pm 644 dist/bsh-classpath-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-classpath.jar install -pm 644 dist/bsh-commands-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-commands.jar install -pm 644 dist/bsh-core-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-core.jar install -pm 644 dist/bsh-reflect-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-reflect.jar install -pm 644 dist/bsh-util-%{version}.jar %{buildroot}%{_javadir}/%{name}/bsh-util.jar mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 %{SOURCE1} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh.pom %add_maven_depmap JPP.%{name}-bsh.pom install -pm 644 %{SOURCE2} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-bsf.pom %add_maven_depmap -f bsf JPP.%{name}-bsh-bsf.pom %{name}/bsh-bsf.jar install -pm 644 %{SOURCE3} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-classgen.pom %add_maven_depmap -f classgen JPP.%{name}-bsh-classgen.pom %{name}/bsh-classgen.jar install -pm 644 %{SOURCE4} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-classpath.pom %add_maven_depmap JPP.%{name}-bsh-classpath.pom %{name}/bsh-classpath.jar install -pm 644 %{SOURCE5} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-commands.pom %add_maven_depmap JPP.%{name}-bsh-commands.pom %{name}/bsh-commands.jar install -pm 644 %{SOURCE6} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-core.pom %add_maven_depmap JPP.%{name}-bsh-core.pom %{name}/bsh-core.jar install -pm 644 %{SOURCE7} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-reflect.pom %add_maven_depmap JPP.%{name}-bsh-reflect.pom %{name}/bsh-reflect.jar install -pm 644 %{SOURCE8} \ %{buildroot}%{_mavenpomdir}/JPP.%{name}-bsh-util.pom %add_maven_depmap JPP.%{name}-bsh-util.pom %{name}/bsh-util.jar find docs -name ".cvswrappers" -exec rm -rf {} \; find docs -name "*.xml" -exec rm -rf {} \; find docs -name "*.xsl" -exec rm -rf {} \; find docs -name "*.log" -exec rm -rf {} \; (cd docs/manual && mv -f html/* .) (cd docs/manual && rm -rf html) (cd docs/manual && rm -rf xsl) mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp javadoc/* %{buildroot}%{_javadocdir}/%{name} for i in `find tests -name "*.bsh"`; do perl -p -i -e 's,^\n?#!(/(usr/)?bin/java bsh\.Interpreter|/bin/sh),#!%{_bindir}/%{name},' $i done mkdir -p %{buildroot}%{_datadir}/%{name} cp -a tests %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_datadir}/%{name}/bshservlet ( cd %{buildroot}%{_datadir}/%{name}/bshservlet %jar xf %{_builddir}/BeanShell2-%{version}/dist/bshservlet.war ) mkdir -p %{buildroot}%{_datadir}/%{name}/bshservlet-wbsh ( cd %{buildroot}%{_datadir}/%{name}/bshservlet-wbsh %jar xf %{_builddir}/BeanShell2-%{version}/dist/bshservlet-wbsh.war ) ln -sf ../../java/%{name}/bsh.jar %{buildroot}%{_datadir}/bsh2/bshservlet-wbsh/bsh-%{version}.jar mkdir -p %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/%{name} << EOF #!/bin/sh # # %{name} script # JPackage Project (http://jpackage.sourceforge.net) # Source functions library . %{_datadir}/java-utils/java-functions # Source system prefs if [ -f %{_sysconfdir}/%{name}.conf ] ; then . %{_sysconfdir}/%{name}.conf fi # Source user prefs if [ -f \$HOME/.%{name}rc ] ; then . \$HOME/.%{name}rc fi # Configuration MAIN_CLASS=bsh.Interpreter if [ -n "\$BSH_DEBUG" ]; then BASE_FLAGS=-Ddebug=true fi BASE_JARS="%{name}.jar" #if [ -f /usr/lib/libJavaReadline.so ]; then # BASE_FLAGS="$BASE_FLAGS -Djava.library.path=/usr/lib" # BASE_FLAGS="\$BASE_FLAGS -Dbsh.console.readlinelib=GnuReadline" # BASE_JARS="\$BASE_JARS libreadline-java.jar" #fi # Set parameters set_jvm set_classpath \$BASE_JARS set_flags \$BASE_FLAGS set_options \$BASE_OPTIONS # Let's start run "\$ at " EOF cat > %{buildroot}%{_bindir}/%{name}doc << EOF #!/usr/bin/env %{_bindir}/%{name} EOF cat scripts/bshdoc.bsh >> %{buildroot}%{_bindir}/%{name}doc mkdir -p %{buildroot}%{_sysconfdir} touch %{buildroot}%{_sysconfdir}/%{name}.conf %files %config(noreplace,missingok) %{_sysconfdir}/%{name}.conf %attr(0755,root,root) %{_bindir}/%{name} %attr(0755,root,root) %{_bindir}/%{name}doc %dir %{_datadir}/%{name} %{_datadir}/%{name}/bshservlet/* %{_datadir}/%{name}/bshservlet-wbsh/* %{_javadir}/%{name}/bsh.jar %{_javadir}/%{name}/bsh-classpath.jar %{_javadir}/%{name}/bsh-commands.jar %{_javadir}/%{name}/bsh-core.jar %{_javadir}/%{name}/bsh-reflect.jar %{_javadir}/%{name}/bsh-util.jar %{_mavenpomdir}/JPP.%{name}-bsh-classpath.pom %{_mavenpomdir}/JPP.%{name}-bsh-commands.pom %{_mavenpomdir}/JPP.%{name}-bsh-core.pom %{_mavenpomdir}/JPP.%{name}-bsh-reflect.pom %{_mavenpomdir}/JPP.%{name}-bsh-util.pom %{_mavenpomdir}/JPP.%{name}-bsh.pom %{_mavendepmapfragdir}/%{name} %doc src/README.txt %files bsf %{_javadir}/%{name}/bsh-bsf.jar %{_mavenpomdir}/JPP.%{name}-bsh-bsf.pom %{_mavendepmapfragdir}/%{name}-bsf %files classgen %{_javadir}/%{name}/bsh-classgen.jar %{_mavenpomdir}/JPP.%{name}-bsh-classgen.pom %{_mavendepmapfragdir}/%{name}-classgen %files javadoc %{_javadocdir}/%{name} %files demo %dir %{_datadir}/%{name}/tests %{_datadir}/%{name}/tests/* %files manual %doc docs/* %changelog * Wed Mar 28 2012 gil cattaneo 2.1b5-1 - initial rpm