ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Amerson <gregory.amer...@liferay.com>
Subject IvyDE ivy-settings.xml and <pgp /> element
Date Tue, 24 Sep 2013 15:16:40 GMT
Hello IvyDE developers,

I've got a Eclipse java project where I have a ivy.xml and ivy-settings.xml
added and I'm configuring a Ivy container that I'm pointing to the
ivy-settings.xml file.  The problem is that inside the ivy-settings.xml
there is an element like this:

    <signers>
        <pgp keyId="${pgp.keyname}" name="${pgp.generator}"
password="${pgp.passphrase}" />
    </signers>

When the IvyDE plugin loads the embedded Ivy runtime from the OSGi bundle
and have it parse the ivy-settings.xml file it will throw NoClassDefFound
when it hits the <pgp> element.  See attached log file for error.

I've debugged this and its because ivy-settings.xml parser is trying to
create an instance of this class:
org.apache.ivy.plugins.signer.bouncycastle.OpenPGPSignatureGenerator

This class requires several classes in the org.bouncycastle.* package,
however, the OSGi classloader from Eclipse that is creating the new
instance of OpenPGPSignatureGenerator can't find the needed classes from
org.bouncycastle on the bundle classpath.

After trying several alternatives, it seems that the only way to get this
to work is to modify the org.apache.ivy_xxx.jar OSGi bundle itself and add
the necessary "Import-Package: org.bouncycastle.*" packages and also make
them available to Eclipse OSGi runtime.

Any thoughts?

-- 
Greg Amerson
Liferay Developer Tools
Liferay, Inc. www.liferay.com

Mime
View raw message