ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée <>
Subject Re: API of IvyDE
Date Fri, 30 Aug 2013 18:47:52 GMT

Le 29 août 2013 à 11:00, Greg Amerson <> a écrit :

> Hello Nicolas,
> We just released a new version of Liferay IDE, that uses IvyDE to configure
> some Ivy based Liferay projects.  We used the latest nightly build of IvyDE
> as our integration point:
> So for Liferay projects that use Ivy, our Eclipse plugin does the following:
>   - Add ivy nature
>   - Add ivy container with a bunch of Liferay specific settings
>   - Perform resolve on the Ivy container
> We were able to use the IvyDE exported APIs, in most cases except for when
> we were creating the Ivy container path.  I did not want to hard-code the
> construction of the container path, instead I feel using the logic from
> IvyDE directly is much better for downstream projects like us to make sure
> we are constructing the path correctly.  Here is the method that I wanted
> to use:
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfAdapter.getPath(IvyClasspathContainerConfiguration)
> But this method is unavailable downstream, so for our latest release we
> created a new class called IvyUtil where we copied this method into it.
> See here:
> Would your team consider creating an API for this usage?

Actually you can call org.apache.ivyde.eclipse.cp.IvyClasspathContainerConfiguration.getPath().

Thank you very much for your feedback. Good to know the API is working for you.


> Thanks,
> Greg
> On Tue, Jul 30, 2013 at 1:56 AM, Nicolas Lalevée <
>> wrote:
>> As discussed recently with Greg, IvyDE needs a proper API so that other
>> plugin can rely on. In house we do a such "external" plugin to IvyDE:
>> EasyAnt4e, the eclipse plugin for the integration of EasyAnt into Eclipse.
>> I think it is a good use case and I tried to make a proper API usable by
>> EasyAnt4e. I think I have been able to make something nice. See my last
>> commit r1508149. And hopefully nothing too internal is exposed.
>> There is a corner case though, and I don't know what to do. The IvyConsole
>> (from IvyDE) is extended by EasyAntConsoleImpl (from EasyAnt4e). I am not a
>> big fan of exposing the IvyConsole. It is too tied to the way IvyDE and Ivy
>> itself print the logs. I have not tested, but I guess that in the current
>> state, depending of which console starts first, logs will go in one but not
>> in the other. It might be very confusing for the end user. And preferences
>> regarding the colors and the log level are also being shared. Probably
>> another mess.
>> Did I missed something ? Couldn't the EasyAntConsole implements its own
>> log stream handling ?
>> Note: it is a common practice to have "internal" in the name of the
>> packages which are not exposed. I haven't renamed every package, since it
>> will move a lot of resources. So you should rely on the MANIFEST.MF to see
>> what is actually exposed. But as soon as we are happy with the state of the
>> code, we could rename them.
>> Nicolas
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> -- 
> Greg Amerson
> Liferay Developer Tools
> Liferay, Inc.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message