BSF is framework to run scripts in various languages, via adapter classes. Some
adapters are already included in bsf source itself and just pull the respective
language via flag (python, rhino, tcl). But there are other languages which
have the adapter classes as (optional) part of their own sources - that's the
case of at least jruby and groovy. So currently these two hard dep on bsf to
build these adapters, but they aren't useful in any way as bsf doesn't bring
jruby nor groovy on its classpath. Also, the dependency on bsf is also runtime,
which may be strictly technically correct (there are classes importing bsf
classes) but makes no practical sense (only bsf itself would try to use these
adapter classes), pretty similar to packages with ant tasks, or jdbc providers.
The question is how to make these 3rd party packages available to bsf. Some
special ANT_TASKS-like variable for bsf launcher is possible but I wouldn't
prefer that, as bsf can be embedded in other app (apache-ant-bsf for example).
We could make groovy and jruby pulled as PDEPEND in bsf (and recorded in
package.env) via use flags, but some more general solution would need the
optional-package support for package.env I suppose.
Fixed in bsf-2.4.0-r1. Adds OPTIONAL_DEPEND on bsh, groovy and jruby (it can
support more stuff but we don't package it). Also, dependency on bsf in these
packages is now optional via bsf USE flag and build-only (the adapter classes
are used only from bsf itself) to prevent unnecessary classpath pollution.
There's pkg_postinst telling user how to add the support.