<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>179686</bug_id>
          
          <creation_ts>2007-05-24 21:29 0000</creation_ts>
          <short_desc>support in 3rd party extensions of dev-java/bsf should be improved</short_desc>
          <delta_ts>2007-05-28 23:05:38 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Java</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>176182</dependson>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>caster@gentoo.org</reporter>
          <assigned_to>java@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-24 21:29:54 0000</bug_when>
            <thetext>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&apos;s the case of at least jruby and groovy. So currently these two hard dep on bsf to build these adapters, but they aren&apos;t useful in any way as bsf doesn&apos;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&apos;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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2007-05-28 23:05:38 0000</bug_when>
            <thetext>Fixed in bsf-2.4.0-r1. Adds OPTIONAL_DEPEND on bsh, groovy and jruby (it can support more stuff but we don&apos;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&apos;s pkg_postinst telling user how to add the support.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>