You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Oleg Gusakov <ol...@gmail.com> on 2008/12/08 21:59:13 UTC

Mercury ant wrapper

Whoever might be interested, and especially Herve:

I am putting together a simplified ant wrapper for Mercury. Can you 
please critique http://jira.codehaus.org/browse/MERCURY-48 ?

Main idea - create a simple to use syntax, yet being able to extend it 
to full power of Mercury. The game plan is:

* configuration
* classpath resolution
* repository writes (install, deploy -they are the same in Mercury)
* reading deps. from pom
* ? reading config from settings

Thanks,
Oleg


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


Re: Mercury ant wrapper

Posted by Oleg Gusakov <ol...@gmail.com>.
Herve,

It also works now - I can compile java with mercury supplied jars. You 
can checkout the Mercury trunk. Unfortunately - thank to unknown 
samaritan - I cannot logon to people.apache.org and cannot deploy 
snapshots, so you'll have to install Mercury snapshots and package 
mecrcury-ant: it creates a shaded ..-all.jar that contains everything, 
including maven trunk components.

Then look at build.xml in the root on mercury-ant-tasks project.

My plan is outlined in http://jira.codehaus.org/browse/MERCURY-10, I 
hope to finish all major functionality early next week, then we can 
tweak/modify anything to your heart's desire :)

Thanks,
Oleg

Hervé BOUTEMY wrote:
> ok, I understand: for you, the tasks code is big then it is difficult to 
> integrate Mercury, and for me, Mercury is big then it is difficult to 
> integrate it into the tasks.  :)
>
> For the doc and the overall logic, now that the doc has been rewritten, split 
> into parts (big thank you Dennis), learning Maven Ant Tasks should be easier: 
> the usage section is a good introduction 
> http://maven.apache.org/ant-tasks/usage.html
>
> but this Mercury change is a chance to have a second look at the tasks 
> organization to improve their usability.
>
>
> I had a second look at MERCURY-48 for the proposed syntax.
> Like for the compact dependency syntax, I see some areas of 
> improvements/simplifications in it. On the other hand, I see some unneeded 
> changes, like dep instead of dependencies, write instead of deploy.
>
> I think good ideas from your proposal can be merged with existing syntax:
> - config to assemble local repo, remote repo and settings (these 3 should not 
> have their name changed IMHO)
> - separation of dependencies and resolve tasks
>
>
> I'll work on it more closely next days.
>
> Regards,
>
> Hervé
>
> Le mercredi 10 décembre 2008, Oleg Gusakov a écrit :
>   
>> Herve,
>>
>> Hervé BOUTEMY wrote:
>>     
>>> Hi Oleg,
>>>
>>> In fact, I have only one question: why create a completely new codebase?
>>> Of course, the new code with less features is simpler *for the moment*:
>>> less features is less code.
>>>       
>> At first I honestly tried to plug in Mercury into existing code, but:
>> * as the current code is functionally big, I would have to implement
>> everything before trying it out in real
>> * I have been always confused in the past by how to use existing
>> maven-ant-tasks, and had to look it up each time. Although on conceptual
>> level it's exactly the same, I want to simplify usage and make it a
>> little more logical: syntax, usage pattern - at least how I understand
>> this logic and ant usage patterns.
>>
>> I completely agree that there are no fundamental changes, after all
>> Mercury is just a simplification of existing Maven components. And in
>> this spirit I tried to simplify ant tasks as well :)
>>
>> I would really appreciate if you can help/guide this development, I
>> believe we can do a lot of cool things if separated from the former code
>> base and syntax obligations.
>>
>> Thanks,
>> Oleg
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>     
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>
>   

Re: Mercury ant wrapper

Posted by Hervé BOUTEMY <he...@free.fr>.
ok, I understand: for you, the tasks code is big then it is difficult to 
integrate Mercury, and for me, Mercury is big then it is difficult to 
integrate it into the tasks.  :)

For the doc and the overall logic, now that the doc has been rewritten, split 
into parts (big thank you Dennis), learning Maven Ant Tasks should be easier: 
the usage section is a good introduction 
http://maven.apache.org/ant-tasks/usage.html

but this Mercury change is a chance to have a second look at the tasks 
organization to improve their usability.


I had a second look at MERCURY-48 for the proposed syntax.
Like for the compact dependency syntax, I see some areas of 
improvements/simplifications in it. On the other hand, I see some unneeded 
changes, like dep instead of dependencies, write instead of deploy.

I think good ideas from your proposal can be merged with existing syntax:
- config to assemble local repo, remote repo and settings (these 3 should not 
have their name changed IMHO)
- separation of dependencies and resolve tasks


I'll work on it more closely next days.

Regards,

Hervé

Le mercredi 10 décembre 2008, Oleg Gusakov a écrit :
> Herve,
>
> Hervé BOUTEMY wrote:
> > Hi Oleg,
> >
> > In fact, I have only one question: why create a completely new codebase?
> > Of course, the new code with less features is simpler *for the moment*:
> > less features is less code.
>
> At first I honestly tried to plug in Mercury into existing code, but:
> * as the current code is functionally big, I would have to implement
> everything before trying it out in real
> * I have been always confused in the past by how to use existing
> maven-ant-tasks, and had to look it up each time. Although on conceptual
> level it's exactly the same, I want to simplify usage and make it a
> little more logical: syntax, usage pattern - at least how I understand
> this logic and ant usage patterns.
>
> I completely agree that there are no fundamental changes, after all
> Mercury is just a simplification of existing Maven components. And in
> this spirit I tried to simplify ant tasks as well :)
>
> I would really appreciate if you can help/guide this development, I
> believe we can do a lot of cool things if separated from the former code
> base and syntax obligations.
>
> Thanks,
> Oleg
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org



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


Re: Mercury ant wrapper

Posted by Oleg Gusakov <ol...@gmail.com>.
Herve,

Hervé BOUTEMY wrote:
> Hi Oleg,
>
> In fact, I have only one question: why create a completely new codebase?
> Of course, the new code with less features is simpler *for the moment*: less 
> features is less code.
>   
At first I honestly tried to plug in Mercury into existing code, but:
* as the current code is functionally big, I would have to implement 
everything before trying it out in real
* I have been always confused in the past by how to use existing 
maven-ant-tasks, and had to look it up each time. Although on conceptual 
level it's exactly the same, I want to simplify usage and make it a 
little more logical: syntax, usage pattern - at least how I understand 
this logic and ant usage patterns.

I completely agree that there are no fundamental changes, after all 
Mercury is just a simplification of existing Maven components. And in 
this spirit I tried to simplify ant tasks as well :)

I would really appreciate if you can help/guide this development, I 
believe we can do a lot of cool things if separated from the former code 
base and syntax obligations.

Thanks,
Oleg



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


Re: Mercury ant wrapper

Posted by Brett Porter <br...@apache.org>.
On 10/12/2008, at 7:52 PM, Hervé BOUTEMY wrote:

> Hi Oleg,
>
> In fact, I have only one question: why create a completely new  
> codebase?
> Of course, the new code with less features is simpler *for the  
> moment*: less
> features is less code.

This was my first reaction as well. I think you might win more fans by  
making it easier to migrate from the existing version rather than  
having to search/replace. Rewriting the docs would not be much fun  
either :) I felt reading from a POM was a very important feature of  
the previous version to encourage people to create one even for their  
Ant projects.

As for this version, I like particularly the <config /> element. My  
personal preference would be to remain explicit on the tags, eg <repo  
id="something" file="/path" /> could be a file:// remote repo, but  
it's implied to be local? And <dep /> is not descriptive enough that  
it is a dependency group.

>
>
> Features are exactly same as current ant-tasks: see the  
> documentation [1]
> http://maven.apache.org/ant-tasks/index.html
>
> I see some little differences/improvements that I like, for example  
> the
> compact form
>  dependency name="ant:ant:1.6.5"
> instead of
>  dependency groupId="ant" artifactId="ant" version="1.6.5"
> But it doesn't change much things: this additional syntax could  
> simply be
> added to the actual ant-tasks.

+1. Supporting both is good, but I prefer the look of the original.

>
>
> To me, this seems like reinventing the wheel: there are good ideas  
> in the new
> one, which should be kept, but nothing fundamental.
>
> Current trunk depends on maven-project, maven-settings, maven- 
> artifact and
> wagon components, which are now replaced in Maven 3 with Mercury:  
> yes, with
> Maven 3.0, "Maven Ant Tasks 3.0" should become naturally "Mercury  
> Ant Tasks
> 1.0", simply by upgrading components.
>
> Did you try to upgrade maven-ant-tasks trunk?
>
>
> Regards,
>
> Hervé

Cheers,
Brett

>
>
> Le lundi 08 décembre 2008, Oleg Gusakov a écrit :
>> Whoever might be interested, and especially Herve:
>>
>> I am putting together a simplified ant wrapper for Mercury. Can you
>> please critique http://jira.codehaus.org/browse/MERCURY-48 ?
>>
>> Main idea - create a simple to use syntax, yet being able to extend  
>> it
>> to full power of Mercury. The game plan is:
>>
>> * configuration
>> * classpath resolution
>> * repository writes (install, deploy -they are the same in Mercury)
>> * reading deps. from pom
>> * ? reading config from settings
>>
>> Thanks,
>> Oleg
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


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


Re: Mercury ant wrapper

Posted by Hervé BOUTEMY <he...@free.fr>.
Hi Oleg,

In fact, I have only one question: why create a completely new codebase?
Of course, the new code with less features is simpler *for the moment*: less 
features is less code.

Features are exactly same as current ant-tasks: see the documentation [1] 
http://maven.apache.org/ant-tasks/index.html

I see some little differences/improvements that I like, for example the 
compact form
  dependency name="ant:ant:1.6.5"
instead of
  dependency groupId="ant" artifactId="ant" version="1.6.5"
But it doesn't change much things: this additional syntax could simply be 
added to the actual ant-tasks.

To me, this seems like reinventing the wheel: there are good ideas in the new 
one, which should be kept, but nothing fundamental. 

Current trunk depends on maven-project, maven-settings, maven-artifact and 
wagon components, which are now replaced in Maven 3 with Mercury: yes, with 
Maven 3.0, "Maven Ant Tasks 3.0" should become naturally "Mercury Ant Tasks 
1.0", simply by upgrading components.

Did you try to upgrade maven-ant-tasks trunk?


Regards,

Hervé

Le lundi 08 décembre 2008, Oleg Gusakov a écrit :
> Whoever might be interested, and especially Herve:
>
> I am putting together a simplified ant wrapper for Mercury. Can you
> please critique http://jira.codehaus.org/browse/MERCURY-48 ?
>
> Main idea - create a simple to use syntax, yet being able to extend it
> to full power of Mercury. The game plan is:
>
> * configuration
> * classpath resolution
> * repository writes (install, deploy -they are the same in Mercury)
> * reading deps. from pom
> * ? reading config from settings
>
> Thanks,
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org



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