You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by Ferdinand Soethe <fe...@apache.org> on 2005/06/27 08:14:33 UTC

Using local plugins (Re: [VOTE] merge locationmap branch with trunk)

Ross Gardler wrote:

> Furthermore, in my work on versioned plugins for the 0.7 release I took
> us nearly all the way to having plugins used from the plugins directory
> if they are present there. That would remove the need for a download or
> a local-deploy for people using the src version of Forrest.

I very much like that. What means very nearly all the way? What is
required to complete that?

--
Ferdinand Soethe


Re: Using local plugins (Re: [VOTE] merge locationmap branch with trunk)

Posted by Ross Gardler <rg...@apache.org>.
Ferdinand Soethe wrote:
> Ross Gardler wrote:
> 
> 
>>Furthermore, in my work on versioned plugins for the 0.7 release I took
>>us nearly all the way to having plugins used from the plugins directory
>>if they are present there. That would remove the need for a download or
>>a local-deploy for people using the src version of Forrest.
> 
> 
> I very much like that. What means very nearly all the way? What is
> required to complete that?

Well, it is easy, but it is hard ;-)

There are also two stages to the implementation:

Stage 1 - Install from src
--------------------------

The easy part is:

add a new condition to the plugin download code that detects when the 
src files are available and does a 'local-deploy' in preference to 
downloading the unversioned plugins (versioned plugins should always be 
downloaded). This is all done in main/targets/plugins.xml

The hard part is:

the versioned download stuff in main/targets/plugins.xml is in need of 
refactoring, it is quite complex right now because of all the 
conditional behaviour, Ant is not a programming language and it shows in 
that file. I have created an issue to convert it to an Ant task.

Stage 2 - Use in-place
----------------------

Change the plugin mounting code to mount the plugins from the src directory.

---

Both stages can be done without the refactoring, it shouldn't add too 
much additional complexity since the extra condition tests would be 
added to existing ones. However, I don't want us to loose sight of the 
refactoring that is needed.

Speaking personally, I don't have the time to do this right now (should 
do after ApacheCon), however, it is something that is very important. If 
someone wants to tackle it I will be sure to help out with any questions 
they have.

Ross