You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by cowwoc <co...@bbs.darktech.org> on 2012/12/20 05:17:22 UTC

Re: How to specify full path of a executable for a scm vendor?

Gentlemen,

I'd like to reopen this discussion. Automated build systems like Jenkins
need to run out of a self-contained sandbox. As such, we need to be able to
specify the full path to Mercurial. I filed this bug report against Jenkins:
https://issues.jenkins-ci.org/browse/JENKINS-16151

but I believe this can only be implemented with help from Maven SCM. Can
someone from the Maven team please comment on this?

Thank you,
Gili



--
View this message in context: http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739204.html
Sent from the Maven - Users mailing list archive at Nabble.com.

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


Re: How to specify full path of a executable for a scm vendor?

Posted by Wayne Fay <wa...@gmail.com>.
>      Files come and go. The build log may stick around for months after
> the workspace itself is gone. For this reason, I still favor
> command-line arguments.

But why would you care what the path was to Hg when you are reviewing
build logs "months after the workspace itself is gone"?? Unless the
build failed due to a missing Hg, I don't see why you'd care what the
path was.

Wayne

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


Re: How to specify full path of a executable for a scm vendor?

Posted by Stephen Connolly <st...@gmail.com>.
Files that come and go also include the SCM tools installed on the build
slave by Jenkins. And Jenkins should put the paths it is injecting into
toolchains in the build log anyway, so I don't see your point about files
as being an argument winner.

Also a toolchains file allows the developer to set up for their machine and
"just work" whereas the cli requires a lot if typing or setting up some
alias. Given that toolchains is already there for JDK and JRE I see that
the "right thing" (iow the maven way) is to use toolchains.

- Stephen

On Friday, 21 December 2012, cowwoc wrote:

>
>      Files come and go. The build log may stick around for months after
> the workspace itself is gone. For this reason, I still favor
> command-line arguments.
>
> Gili
>
> On 21/12/2012 12:26 PM, stephenconnolly [via Maven] wrote:
> > I am not suggesting a *static* file. I am suggesting a dynamic file that
> > Jenkins populates and just one already existing cli parameter that works
> > with more versions of maven than anything we add now.
> >
> > - Stephen
> >
> > On Friday, 21 December 2012, Jesse Glick wrote:
> >
> > > On 12/20/2012 12:19 PM, cowwoc wrote:
> > >
> > >> […] in a clustered environment all my configuration sits inside
> > Jenkins.
> > >> Having
> > >> to configure each node before I can use Jenkins on it adds a lot of
> > work.
> > >>
> > >> […] I favor adding command-line options to configuration files.
> > >>
> > >
> > > I agree that for cases like this it would be better to define the
> > > Mercurial location using a command-line option (or system property,
> > > environment variable, etc.) rather than a static configuration file;
> > though
> > > it might suffice for Jenkins to augment $PATH before calling Maven.
> > >
> > >
> > >
> > ------------------------------**------------------------------**---------
> > > To unsubscribe, e-mail: [hidden email]
> > </user/SendEmail.jtp?type=node&node=5739647&i=0>
> > > For additional commands, e-mail: [hidden email]
> > </user/SendEmail.jtp?type=node&node=5739647&i=1>
> > >
> > >
> >
> >
> > ------------------------------------------------------------------------
> > If you reply to this email, your message will be added to the
> > discussion below:
> >
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739647.html
> >
> > To unsubscribe from How to specify full path of a executable for a scm
> > vendor?, click here
> > <
> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5463712&code=Y293d29jQGJicy5kYXJrdGVjaC5vcmd8NTQ2MzcxMnwxNTc0MzIxMjQ3
> >.
> > NAML
> > <
> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >
> >
>
>
>
>
>
> --
> View this message in context:
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739649.html
> Sent from the Maven - Users mailing list archive at Nabble.com.

Re: How to specify full path of a executable for a scm vendor?

Posted by cowwoc <co...@bbs.darktech.org>.
     Files come and go. The build log may stick around for months after 
the workspace itself is gone. For this reason, I still favor 
command-line arguments.

Gili

On 21/12/2012 12:26 PM, stephenconnolly [via Maven] wrote:
> I am not suggesting a *static* file. I am suggesting a dynamic file that
> Jenkins populates and just one already existing cli parameter that works
> with more versions of maven than anything we add now.
>
> - Stephen
>
> On Friday, 21 December 2012, Jesse Glick wrote:
>
> > On 12/20/2012 12:19 PM, cowwoc wrote:
> >
> >> […] in a clustered environment all my configuration sits inside 
> Jenkins.
> >> Having
> >> to configure each node before I can use Jenkins on it adds a lot of 
> work.
> >>
> >> […] I favor adding command-line options to configuration files.
> >>
> >
> > I agree that for cases like this it would be better to define the
> > Mercurial location using a command-line option (or system property,
> > environment variable, etc.) rather than a static configuration file; 
> though
> > it might suffice for Jenkins to augment $PATH before calling Maven.
> >
> >
> > 
> ------------------------------**------------------------------**---------
> > To unsubscribe, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739647&i=0>
> > For additional commands, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739647&i=1>
> >
> >
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the 
> discussion below:
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739647.html 
>
> To unsubscribe from How to specify full path of a executable for a scm 
> vendor?, click here 
> <http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5463712&code=Y293d29jQGJicy5kYXJrdGVjaC5vcmd8NTQ2MzcxMnwxNTc0MzIxMjQ3>.
> NAML 
> <http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> 
>





--
View this message in context: http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739649.html
Sent from the Maven - Users mailing list archive at Nabble.com.

Re: How to specify full path of a executable for a scm vendor?

Posted by Stephen Connolly <st...@gmail.com>.
I am not suggesting a *static* file. I am suggesting a dynamic file that
Jenkins populates and just one already existing cli parameter that works
with more versions of maven than anything we add now.

- Stephen

On Friday, 21 December 2012, Jesse Glick wrote:

> On 12/20/2012 12:19 PM, cowwoc wrote:
>
>> […] in a clustered environment all my configuration sits inside Jenkins.
>> Having
>> to configure each node before I can use Jenkins on it adds a lot of work.
>>
>> […] I favor adding command-line options to configuration files.
>>
>
> I agree that for cases like this it would be better to define the
> Mercurial location using a command-line option (or system property,
> environment variable, etc.) rather than a static configuration file; though
> it might suffice for Jenkins to augment $PATH before calling Maven.
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: How to specify full path of a executable for a scm vendor?

Posted by Jesse Glick <jg...@cloudbees.com>.
On 12/20/2012 12:19 PM, cowwoc wrote:
> […] in a clustered environment all my configuration sits inside Jenkins. Having
> to configure each node before I can use Jenkins on it adds a lot of work.
>
> […] I favor adding command-line options to configuration files.

I agree that for cases like this it would be better to define the Mercurial location using a command-line option (or system property, environment variable, etc.) rather 
than a static configuration file; though it might suffice for Jenkins to augment $PATH before calling Maven.


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


Re: How to specify full path of a executable for a scm vendor?

Posted by cowwoc <co...@bbs.darktech.org>.
     Well, you're going to laugh but I ended up installing a Jenkins 
plugin for setting environment variables and forced it to add HG to the 
PATH (of the job, not the entire system). In an ideal world I would have 
liked to pass an extra parameter to Maven -Dhg.path=<some-full-path> as 
opposed to writing a configuration file. You need to remember that in a 
clustered environment all my configuration sits inside Jenkins. Having 
to configure each node before I can use Jenkins on it adds a lot of work.

     What this means is that I favor adding command-line options to 
configuration files.

Gili

On 20/12/2012 11:38 AM, stephenconnolly [via Maven] wrote:
> We already have toolchains to handle this type of thing, plus toolchains
> only needs one cli param to use an alternative one, whereas your scheme
> just keeps on expanding
>
> On Thursday, 20 December 2012, Olivier Lamy wrote:
>
> > maybe a bit simpler with something similar to svn/git with
> > $HOME/.scm/svn-settings.xml / $HOME/.scm/git-settings.xml.
> > See http://maven.apache.org/scm/subversion.html and
> > http://maven.apache.org/scm/git.html
> >
> > a simple $HOME/.scm/hg-settings.xml
> > with
> >
> > <hg-settings>
> >   <hgPath>/home/beer/wine/bin/hg</hgPath >
> > </hg-settings>
> >
> > WDYT ?
> >
> > 2012/12/20 Stephen Connolly <[hidden email] 
> </user/SendEmail.jtp?type=node&node=5739327&i=0><javascript:;>
> > >:
> > > Well if you wanted to explore this, the way I would come at this 
> is via
> > > maven's toolchains api
> > >
> > > Thus if the SCM tool had an entry for the HG executable in
> > > ~/.m2/toolchains.xml then that path would be used, otherwise 
> whatever is
> > > resolved from the path would get resolved.
> > >
> > > Working on this will likely help flesh out the parts of the 
> toolchains
> > api
> > > that are slightly undercooked, but I would be happy to review and 
> try and
> > > help (though I do not have time at present to write the code myself)
> > >
> > > I think this would be a good sized problem for somebody in the 
> committer
> > > school (or wanting to enrole)
> > >
> > > -Stephen
> > >
> > > On Thursday, 20 December 2012, cowwoc wrote:
> > >
> > >> Gentlemen,
> > >>
> > >> I'd like to reopen this discussion. Automated build systems like 
> Jenkins
> > >> need to run out of a self-contained sandbox. As such, we need to be
> > able to
> > >> specify the full path to Mercurial. I filed this bug report against
> > >> Jenkins:
> > >> https://issues.jenkins-ci.org/browse/JENKINS-16151
> > >>
> > >> but I believe this can only be implemented with help from Maven 
> SCM. Can
> > >> someone from the Maven team please comment on this?
> > >>
> > >> Thank you,
> > >> Gili
> > >>
> > >>
> > >>
> > >> --
> > >> View this message in context:
> > >>
> > 
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739204.html
> > >> Sent from the Maven - Users mailing list archive at Nabble.com.
> > >>
> > >> 
> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739327&i=1><javascript:;><javascript:;> 
>
> > >> For additional commands, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739327&i=2><javascript:;>
> > <javascript:;>
> > >>
> > >>
> >
> >
> >
> > --
> > Olivier Lamy
> > Talend: http://coders.talend.com
> > http://twitter.com/olamy | http://linkedin.com/in/olamy
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739327&i=3> <javascript:;>
> > For additional commands, e-mail: [hidden email] 
> </user/SendEmail.jtp?type=node&node=5739327&i=4><javascript:;>
> >
> >
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the 
> discussion below:
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739327.html 
>
> To unsubscribe from How to specify full path of a executable for a scm 
> vendor?, click here 
> <http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5463712&code=Y293d29jQGJicy5kYXJrdGVjaC5vcmd8NTQ2MzcxMnwxNTc0MzIxMjQ3>.
> NAML 
> <http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> 
>





--
View this message in context: http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739332.html
Sent from the Maven - Users mailing list archive at Nabble.com.

Re: How to specify full path of a executable for a scm vendor?

Posted by cowwoc <co...@bbs.darktech.org>.
On a somewhat related note, I just ran into another problem with the HG scm
provider. 

http://maven.apache.org/maven-release/maven-release-plugin/examples/perform-release.html
assumes that scm providers allow users to specify tags as part of the
connectionUrl. The HG provider does not allow this. As a consequence, I
cannot release:perform against an existing tag :(

Gili



--
View this message in context: http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739644.html
Sent from the Maven - Users mailing list archive at Nabble.com.

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


Re: How to specify full path of a executable for a scm vendor?

Posted by Stephen Connolly <st...@gmail.com>.
We already have toolchains to handle this type of thing, plus toolchains
only needs one cli param to use an alternative one, whereas your scheme
just keeps on expanding

On Thursday, 20 December 2012, Olivier Lamy wrote:

> maybe a bit simpler with something similar to svn/git with
> $HOME/.scm/svn-settings.xml / $HOME/.scm/git-settings.xml.
> See http://maven.apache.org/scm/subversion.html and
> http://maven.apache.org/scm/git.html
>
> a simple $HOME/.scm/hg-settings.xml
> with
>
> <hg-settings>
>   <hgPath>/home/beer/wine/bin/hg</hgPath >
> </hg-settings>
>
> WDYT ?
>
> 2012/12/20 Stephen Connolly <stephen.alan.connolly@gmail.com<javascript:;>
> >:
> > Well if you wanted to explore this, the way I would come at this is via
> > maven's toolchains api
> >
> > Thus if the SCM tool had an entry for the HG executable in
> > ~/.m2/toolchains.xml then that path would be used, otherwise whatever is
> > resolved from the path would get resolved.
> >
> > Working on this will likely help flesh out the parts of the toolchains
> api
> > that are slightly undercooked, but I would be happy to review and try and
> > help (though I do not have time at present to write the code myself)
> >
> > I think this would be a good sized problem for somebody in the committer
> > school (or wanting to enrole)
> >
> > -Stephen
> >
> > On Thursday, 20 December 2012, cowwoc wrote:
> >
> >> Gentlemen,
> >>
> >> I'd like to reopen this discussion. Automated build systems like Jenkins
> >> need to run out of a self-contained sandbox. As such, we need to be
> able to
> >> specify the full path to Mercurial. I filed this bug report against
> >> Jenkins:
> >> https://issues.jenkins-ci.org/browse/JENKINS-16151
> >>
> >> but I believe this can only be implemented with help from Maven SCM. Can
> >> someone from the Maven team please comment on this?
> >>
> >> Thank you,
> >> Gili
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739204.html
> >> Sent from the Maven - Users mailing list archive at Nabble.com.
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org<javascript:;><javascript:;>
> >> For additional commands, e-mail: users-help@maven.apache.org<javascript:;>
> <javascript:;>
> >>
> >>
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org <javascript:;>
> For additional commands, e-mail: users-help@maven.apache.org<javascript:;>
>
>

Re: How to specify full path of a executable for a scm vendor?

Posted by Olivier Lamy <ol...@apache.org>.
maybe a bit simpler with something similar to svn/git with
$HOME/.scm/svn-settings.xml / $HOME/.scm/git-settings.xml.
See http://maven.apache.org/scm/subversion.html and
http://maven.apache.org/scm/git.html

a simple $HOME/.scm/hg-settings.xml
with

<hg-settings>
  <hgPath>/home/beer/wine/bin/hg</hgPath >
</hg-settings>

WDYT ?

2012/12/20 Stephen Connolly <st...@gmail.com>:
> Well if you wanted to explore this, the way I would come at this is via
> maven's toolchains api
>
> Thus if the SCM tool had an entry for the HG executable in
> ~/.m2/toolchains.xml then that path would be used, otherwise whatever is
> resolved from the path would get resolved.
>
> Working on this will likely help flesh out the parts of the toolchains api
> that are slightly undercooked, but I would be happy to review and try and
> help (though I do not have time at present to write the code myself)
>
> I think this would be a good sized problem for somebody in the committer
> school (or wanting to enrole)
>
> -Stephen
>
> On Thursday, 20 December 2012, cowwoc wrote:
>
>> Gentlemen,
>>
>> I'd like to reopen this discussion. Automated build systems like Jenkins
>> need to run out of a self-contained sandbox. As such, we need to be able to
>> specify the full path to Mercurial. I filed this bug report against
>> Jenkins:
>> https://issues.jenkins-ci.org/browse/JENKINS-16151
>>
>> but I believe this can only be implemented with help from Maven SCM. Can
>> someone from the Maven team please comment on this?
>>
>> Thank you,
>> Gili
>>
>>
>>
>> --
>> View this message in context:
>> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739204.html
>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org <javascript:;>
>> For additional commands, e-mail: users-help@maven.apache.org<javascript:;>
>>
>>



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

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


Re: How to specify full path of a executable for a scm vendor?

Posted by Stephen Connolly <st...@gmail.com>.
Well if you wanted to explore this, the way I would come at this is via
maven's toolchains api

Thus if the SCM tool had an entry for the HG executable in
~/.m2/toolchains.xml then that path would be used, otherwise whatever is
resolved from the path would get resolved.

Working on this will likely help flesh out the parts of the toolchains api
that are slightly undercooked, but I would be happy to review and try and
help (though I do not have time at present to write the code myself)

I think this would be a good sized problem for somebody in the committer
school (or wanting to enrole)

-Stephen

On Thursday, 20 December 2012, cowwoc wrote:

> Gentlemen,
>
> I'd like to reopen this discussion. Automated build systems like Jenkins
> need to run out of a self-contained sandbox. As such, we need to be able to
> specify the full path to Mercurial. I filed this bug report against
> Jenkins:
> https://issues.jenkins-ci.org/browse/JENKINS-16151
>
> but I believe this can only be implemented with help from Maven SCM. Can
> someone from the Maven team please comment on this?
>
> Thank you,
> Gili
>
>
>
> --
> View this message in context:
> http://maven.40175.n5.nabble.com/How-to-specify-full-path-of-a-executable-for-a-scm-vendor-tp5463712p5739204.html
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org <javascript:;>
> For additional commands, e-mail: users-help@maven.apache.org<javascript:;>
>
>