From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: broken references in jar manifests Date: Wed, 21 Mar 2018 23:58:20 +0100 Message-ID: <87r2odaveb.fsf@elephly.net> References: <87zi3qfwfi.fsf@gnu.org> <20180320112855.33d86b6f@scratchpost.org> <6b4b40b375cc973d19a4ccfa14d011e1@lepiller.eu> <20180320131418.70989741@scratchpost.org> <20180321220731.4cfc7ea7@scratchpost.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eymgv-00008Q-OG for guix-devel@gnu.org; Wed, 21 Mar 2018 18:58:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eymgs-0003eo-Nk for guix-devel@gnu.org; Wed, 21 Mar 2018 18:58:45 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21121) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eymgs-0003dd-E0 for guix-devel@gnu.org; Wed, 21 Mar 2018 18:58:42 -0400 In-reply-to: <20180321220731.4cfc7ea7@scratchpost.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Danny Milosavljevic Cc: guix-devel@gnu.org Hi Danny, >> (The specification says that INDEX.LIST is preferred if it exists) > > Just tried "jar -i" with java-picard after manually editing the class > path to be much longer: [=E2=80=A6] > No wrapping done anywhere (I added ./././ to the manifest in order to > make the line very long). That=E2=80=99s great. Thanks for testing. I=E2=80=99m still not clear on the effect of the INDEX.LIST file. Accordin= g to the specs it sounds like this could be used to set a search path for classes: When the classloader loads the root jar file, it reads the INDEX.LIST file and uses it to construct a hash table of mappings from file and package names to lists of jar file names. In order to find a class or a resource, the class loader queries the hashtable to find the proper jar file and then downloads it if necessary. If this is really so we could turn all propagated-inputs into regular inputs for all Java packages (in many cases they already are regular inputs, but this may actually be a mistake). We would have to test this in a real-world example, such as the dropseq-tools package, which currently has an unsightly =E2=80=9Crecord-references=E2=80=9D phase. If it is sufficient to record t= he Java package inputs in an INDEX.LIST file, we should do this in the ant-build-system. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net