Subject: [bug#29896] [PATCH] gnu: java-asm: Update to 6.0.

From: Ricardo Wurmus <[email-masked]>
Date: Fri, 19 Jan 2018 13:13:54 +0100

Chris Marusich <[email-masked]> writes:

> Gábor Boskovits <[email-masked]> writes:
>
>> Actually I did forget to check if it is used runtime.
>> It is used to build and OSGi bundle.
>> At first I tried to fake the dependency like for the ant tasks,
>> but I got compilation errors.
>
> If the new input is also required at runtime, then I'm not sure this
> package definition is correct.  I would normally expect a "runtime
> dependency" to be either retained as a reference in the output, or
> declared as a propagated-input (so that it gets installed alongside this
> package when this package is installed into a profile).  Perhaps I am
> missing some information here.
>
> I'm hoping Ricardo can comment on how this is intended to work for Java
> packages, since he originally added the ant-build-system.

The jars that the ant-build-system generates are uncompressed and thus
allow the scanner to find embedded store references.  The problem seems
to be that references to other *jars* are not kept, because they are
never recorded anywhere.  That’s normal for Java, which looks for named
classes on the classpath, i.e. a list of jars.  It behaves very much
like Python and its PYTHONPATH in this regard.

The best we can do here is to propagate inputs.  The alternative is to
try to be smart and record the effective runtime classpath, but that’s
hard/impossible to get right.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net