ant-dev mailing list archives

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

Le 29 août 2013 à 11:00, Greg Amerson <gregory.amerson@liferay.com> 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:
> https://builds.apache.org/job/IvyDE-updatesite/673/
> 
> 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:
> https://github.com/liferay/liferay-ide/blob/master/tools/plugins/com.liferay.ide.sdk.ui/src/com/liferay/ide/sdk/ui/IvyUtil.java
> 
> 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.

Nicolas

> 
> Thanks,
> Greg
> 
> 
> On Tue, Jul 30, 2013 at 1:56 AM, Nicolas Lalevée <nicolas.lalevee@hibnet.org
>> 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: dev-unsubscribe@ant.apache.org
>> For additional commands, e-mail: dev-help@ant.apache.org
>> 
>> 
> 
> 
> -- 
> Greg Amerson
> Liferay Developer Tools
> Liferay, Inc. www.liferay.com


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message