Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 38843 invoked from network); 28 Sep 2007 14:55:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Sep 2007 14:55:48 -0000 Received: (qmail 74234 invoked by uid 500); 28 Sep 2007 14:55:36 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 74210 invoked by uid 500); 28 Sep 2007 14:55:36 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 74201 invoked by uid 99); 28 Sep 2007 14:55:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 07:55:36 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of t.p.ellison@gmail.com designates 66.249.92.173 as permitted sender) Received: from [66.249.92.173] (HELO ug-out-1314.google.com) (66.249.92.173) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 14:55:37 +0000 Received: by ug-out-1314.google.com with SMTP id u40so1391487ugc for ; Fri, 28 Sep 2007 07:55:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; bh=Xgt7S5S66w1f2zZ4WRjTxnbjHQA4m6B0uoVMiCc738E=; b=h78LUjMl1mXPQtRgzyevMXN/VuBueCpM31NIhO0u9kokzTvyFn2AWus7TrTA8eoEm2MTJWQ6l6WyKiOWz0T9zUdhKoX0j3dYz6dqjPPotbZCYy58qW+XjlStlMIN5F3CPoatEraSxOiGjvW4SbCkki9Ft4/FNzGkGwkSjDZSzeA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type:content-transfer-encoding; b=UrwJttyNXkHOGiB8SmSmgcWJwei2V/q27RS4qeNY7G/Ub1e0MTN+1VkgOm9KoG7oxDtL+0t8iz7DQrswS6HimSk8CfjiXEJwdzssriHQfS859G5fC0p90qTnB0ufuy31uA9NTckgelYDSpqAKTUpOgdBBkdYIXrjGp6X0VPPfJM= Received: by 10.66.222.9 with SMTP id u9mr5148254ugg.1190991315926; Fri, 28 Sep 2007 07:55:15 -0700 (PDT) Received: from ?9.20.183.161? ( [195.212.29.67]) by mx.google.com with ESMTPS id l33sm3077933ugc.2007.09.28.07.55.14 (version=SSLv3 cipher=RC4-MD5); Fri, 28 Sep 2007 07:55:14 -0700 (PDT) Message-ID: <46FD15CD.6050601@gmail.com> Date: Fri, 28 Sep 2007 15:55:09 +0100 From: Tim Ellison User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: dev@harmony.apache.org Subject: Re: [classlib] [pack200] Using BCEL for Pack200 References: <46FCDCBF.3080706@gmail.com> In-Reply-To: X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Sian January wrote: > Yes - BCEL is already in the classlib build, Duh, yes (it's Friday, thank goodness). > my question was really about > how to get the individual pack200 module to find it when I'm just working on > that module on its own (in Eclipse if that's relevant). I tried adding > org.apache.bcel to the list of imported packages in MANIFEST.MF but I think > I also need to get another plug-in to export it. Is that right? Yes, I took a look and the BCEL code is not participating in our target structure as an OSGi module. To do that we can simply create a new manifest for it (like we do for the other dependencies that we adopt as modules). The advantage of making BCEL a module is that we can then specify particular version dependency ranges etc using the pack200 modules dependencies, and import only the packages that BCEL exports, thereby avoiding building dependencies on its internals. The alternative is to use it as a regular JAR dependency, and for that you just need to tell Eclipse about it in the Pack200 build path. You should use the ECLIPSE_HOME variable as the root of the target so that other people can use the same build path on their systems, and the modular builds work against a HDK. i.e. Index: pack200/.classpath =================================================================== --- pack200/.classpath (revision 579314) +++ pack200/.classpath (working copy) @@ -6,5 +6,6 @@ + Regards, Tim > On 28/09/2007, Alexey Varlamov wrote: >> 2007/9/28, Tim Ellison : >>> Sian January wrote: >>>> I would like to use BCEL in pack200 to re-create class files from the >> data >>>> obtained from the pack200 archive. BCEL is able to create class files >> in >>>> the correct format and provides a higher-level interface that we would >> use >>>> instead of creating the class files directly. This would mean that we >> would >>>> not need to duplicate this effort in pack200 and so there would be >> less >>>> scope for creating bugs in this area. I know that BCEL is already a >> Harmony >>>> dependency and it's an Apache project so I can't see there being a >> licence >>>> issue, but just wondered if anyone has any other objections? >>> There is no problem with using BCEL as you say. At the moment it is a >>> dependency of the DRLVM and you will need to move it to be a dependency >>> of the classlib code, and then DRLVM can inherit this dependency I >> believe. >> >> Tim, >> You might confuse bcel with antlr? bcel is already in classlib, >> make/depends.properties says: >> # bcel is needed by yoko-rmi >> >>>> If not, could anyone suggest what would be the best way to add the >> BCEL jar >>>> file as a dependency to the pack200 project, given that it's already >> in >>>> Harmony? >>> Take a look at the classlib tree's make/depends.xml and >>> make/depends.properties to see how they are handled there for other >>> modules. These classlib dependencies are managed 'globally' (i.e. not >>> per module). >>> >>> Regards, >>> Tim >>> >>> > > >