release:perform changes perforce clientspec

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

release:perform changes perforce clientspec

brewk9
Maven is changing my perforce client spec! It's changing the root to the target\checkout directory of the project I'm building. This directory doesn't even exist in perforce!

This is happening when I call the release:perform goal with system property -Dmaven.scm.perforce.clientspec.name=brewke_all.
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

Emmanuel Venisse-2
File an issue.

Emmanuel

brewk9 a écrit :
> Maven is changing my perforce client spec! It's changing the root to the
> target\checkout directory of the project I'm building. This directory
> doesn't even exist in perforce!
>
> This is happening when I call the release:perform goal with system property
> -Dmaven.scm.perforce.clientspec.name=brewke_all.
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

Mike Perham-3-3
In reply to this post by brewk9
Ken, I wrote the Perforce plugin for Maven but I don't use either technology at my current job (I'm now a Ruby guy) so I'm limited in how I can help you.  I'm happy to answer what questions I can.

To perform the release, Maven needs to build the canonical source as checked into Perforce.  The only way it can check out that code to a particular location on your local disk is by using a clientspec.  If you don't give Maven a name, it will create a temporary clientspec and use that for the release.  But either way, it's going to change the target directory to be target/checkout so that the source will be checked out to the proper directory for building.

mike

On 12/12/07, brewk9 <[hidden email] > wrote:

Maven is changing my perforce client spec! It's changing the root to the
target\checkout directory of the project I'm building. This directory
doesn't even exist in perforce!

This is happening when I call the release:perform goal with system property
-Dmaven.scm.perforce.clientspec.name=brewke_all.
--
View this message in context: http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
Sent from the Maven - SCM mailing list archive at Nabble.com.


 
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

brewk9
Thanks for your reply. Well, I'm supplying the clientspec to enable the maven-changelog-plugin to work. Without that, that plugin doesn't work. Should the perforce plugin be changed to always create a temporary clientspec? Any other suggestions?

mperham wrote
Ken, I wrote the Perforce plugin for Maven but I don't use either technology
at my current job (I'm now a Ruby guy) so I'm limited in how I can help you.
 I'm happy to answer what questions I can.
To perform the release, Maven needs to build the canonical source as checked
into Perforce.  The only way it can check out that code to a particular
location on your local disk is by using a clientspec.  If you don't give
Maven a name, it will create a temporary clientspec and use that for the
release.  But either way, it's going to change the target directory to be
target/checkout so that the source will be checked out to the proper
directory for building.

mike

On 12/12/07, brewk9 <ken.brewer@pearson.com> wrote:
>
>
> Maven is changing my perforce client spec! It's changing the root to the
> target\checkout directory of the project I'm building. This directory
> doesn't even exist in perforce!
>
> This is happening when I call the release:perform goal with system
> property
> -Dmaven.scm.perforce.clientspec.name=brewke_all.
> --
> View this message in context:
> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
> Sent from the Maven - SCM mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

Mike Perham-3-3
I guess I don't recall what your actual problem is.  Can you summarize?

On 12/12/07, brewk9 <[hidden email]> wrote:

Thanks for your reply. Well, I'm supplying the clientspec to enable the
maven-changelog-plugin to work. Without that, that plugin doesn't work.
Should the perforce plugin be changed to always create a temporary
clientspec? Any other suggestions?


mperham wrote:
>
> Ken, I wrote the Perforce plugin for Maven but I don't use either
> technology

> at my current job (I'm now a Ruby guy) so I'm limited in how I can help
> you.
>  I'm happy to answer what questions I can.
> To perform the release, Maven needs to build the canonical source as
> checked
> into Perforce.  The only way it can check out that code to a particular
> location on your local disk is by using a clientspec.  If you don't give
> Maven a name, it will create a temporary clientspec and use that for the
> release.  But either way, it's going to change the target directory to be
> target/checkout so that the source will be checked out to the proper
> directory for building.
>
> mike
>
> On 12/12/07, brewk9 <[hidden email]> wrote:
>>
>>
>> Maven is changing my perforce client spec! It's changing the root to the
>> target\checkout directory of the project I'm building. This directory
>> doesn't even exist in perforce!
>>
>> This is happening when I call the release:perform goal with system
>> property
>> -Dmaven.scm.perforce.clientspec.name=brewke_all.
>> --
>> View this message in context:
>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
>> Sent from the Maven - SCM mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302529.html
Sent from the Maven - SCM mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

Dennis Lundberg-2
In reply to this post by brewk9
To get the changelog-plugin working with perforce, follow these
instructions:

 
http://maven.apache.org/plugins/maven-changelog-plugin/examples/using-perforce.html

brewk9 wrote:

> Thanks for your reply. Well, I'm supplying the clientspec to enable the
> maven-changelog-plugin to work. Without that, that plugin doesn't work.
> Should the perforce plugin be changed to always create a temporary
> clientspec? Any other suggestions?
>
>
> mperham wrote:
>> Ken, I wrote the Perforce plugin for Maven but I don't use either
>> technology
>> at my current job (I'm now a Ruby guy) so I'm limited in how I can help
>> you.
>>  I'm happy to answer what questions I can.
>> To perform the release, Maven needs to build the canonical source as
>> checked
>> into Perforce.  The only way it can check out that code to a particular
>> location on your local disk is by using a clientspec.  If you don't give
>> Maven a name, it will create a temporary clientspec and use that for the
>> release.  But either way, it's going to change the target directory to be
>> target/checkout so that the source will be checked out to the proper
>> directory for building.
>>
>> mike
>>
>> On 12/12/07, brewk9 <[hidden email]> wrote:
>>>
>>> Maven is changing my perforce client spec! It's changing the root to the
>>> target\checkout directory of the project I'm building. This directory
>>> doesn't even exist in perforce!
>>>
>>> This is happening when I call the release:perform goal with system
>>> property
>>> -Dmaven.scm.perforce.clientspec.name=brewke_all.
>>> --
>>> View this message in context:
>>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
>>> Sent from the Maven - SCM mailing list archive at Nabble.com.
>>>
>>>
>>
>


--
Dennis Lundberg
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

brewk9
In reply to this post by Mike Perham-3-3
The problem is that maven is changing my clientspec which in turn is breaking other things dependent on that clientspec, including maven-changelog-plugin reports. IMHO, maven should not be changing my clientspec. I would expect it to create temporary clientspecs as needed but not change mine.

Yes, I can omit the -Dmaven.scm.perforce.clientspec.name property which causes the release plugin to create a temp client spec instead of changing mine however, the maven-changelog-plugin reports do not work if I don't supply a client spec.

In any case, Maven should not change a user-supplied client spec.

mperham wrote
I guess I don't recall what your actual problem is.  Can you summarize?

On 12/12/07, brewk9 <ken.brewer@pearson.com> wrote:
>
>
> Thanks for your reply. Well, I'm supplying the clientspec to enable the
> maven-changelog-plugin to work. Without that, that plugin doesn't work.
> Should the perforce plugin be changed to always create a temporary
> clientspec? Any other suggestions?
>
>
> mperham wrote:
> >
> > Ken, I wrote the Perforce plugin for Maven but I don't use either
> > technology
> > at my current job (I'm now a Ruby guy) so I'm limited in how I can help
> > you.
> >  I'm happy to answer what questions I can.
> > To perform the release, Maven needs to build the canonical source as
> > checked
> > into Perforce.  The only way it can check out that code to a particular
> > location on your local disk is by using a clientspec.  If you don't give
> > Maven a name, it will create a temporary clientspec and use that for the
> > release.  But either way, it's going to change the target directory to
> be
> > target/checkout so that the source will be checked out to the proper
> > directory for building.
> >
> > mike
> >
> > On 12/12/07, brewk9 <ken.brewer@pearson.com> wrote:
> >>
> >>
> >> Maven is changing my perforce client spec! It's changing the root to
> the
> >> target\checkout directory of the project I'm building. This directory
> >> doesn't even exist in perforce!
> >>
> >> This is happening when I call the release:perform goal with system
> >> property
> >> -Dmaven.scm.perforce.clientspec.name=brewke_all.
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
> >> Sent from the Maven - SCM mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302529.html
> Sent from the Maven - SCM mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

Mike Perham-3-3
You are not giving it a clientspec, you are giving it a name to use.  It is assumed that Maven SCM can do whatever it wants with that clientspec (create it, modify it, delete it).  It was done this way because there are corporations who have Peforce clientspec naming standards and absolutely will not allow the creation of clientspecs with arbitrary names.

I don't know anything about the changelog plugin or why it is trying to reuse the same clientspec.

On 12/12/07, brewk9 <[hidden email]> wrote:

The problem is that maven is changing my clientspec which in turn is breaking
other things dependent on that clientspec, including maven-changelog-plugin
reports. IMHO, maven should not be changing my clientspec. I would expect it
to create temporary clientspecs as needed but not change mine.

Yes, I can omit the -Dmaven.scm.perforce.clientspec.name property which
causes the release plugin to create a temp client spec instead of changing
mine however, the maven-changelog-plugin reports do not work if I don't
supply a client spec.

In any case, Maven should not change a user-supplied client spec.


mperham wrote:

>
> I guess I don't recall what your actual problem is.  Can you summarize?
>
> On 12/12/07, brewk9 <[hidden email]> wrote:
>>
>>
>> Thanks for your reply. Well, I'm supplying the clientspec to enable the
>> maven-changelog-plugin to work. Without that, that plugin doesn't work.
>> Should the perforce plugin be changed to always create a temporary
>> clientspec? Any other suggestions?
>>
>>
>> mperham wrote:
>> >
>> > Ken, I wrote the Perforce plugin for Maven but I don't use either
>> > technology
>> > at my current job (I'm now a Ruby guy) so I'm limited in how I can help
>> > you.
>> >  I'm happy to answer what questions I can.
>> > To perform the release, Maven needs to build the canonical source as
>> > checked
>> > into Perforce.  The only way it can check out that code to a particular
>> > location on your local disk is by using a clientspec.  If you don't
>> give
>> > Maven a name, it will create a temporary clientspec and use that for
>> the
>> > release.  But either way, it's going to change the target directory to
>> be
>> > target/checkout so that the source will be checked out to the proper
>> > directory for building.
>> >
>> > mike
>> >
>> > On 12/12/07, brewk9 < [hidden email]> wrote:
>> >>
>> >>
>> >> Maven is changing my perforce client spec! It's changing the root to
>> the
>> >> target\checkout directory of the project I'm building. This directory
>> >> doesn't even exist in perforce!
>> >>
>> >> This is happening when I call the release:perform goal with system
>> >> property
>> >> -Dmaven.scm.perforce.clientspec.name=brewke_all.
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
>> >> Sent from the Maven - SCM mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302529.html
>> Sent from the Maven - SCM mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14303964.html
Sent from the Maven - SCM mailing list archive at Nabble.com.


 
Reply | Threaded
Open this post in threaded view
|

Re: release:perform changes perforce clientspec

brewk9
In reply to this post by Dennis Lundberg-2
I have added the clientspec in the pom as the documentation indicates(like below) instead of on the command line and now my clientspec is NOT changed(good). However, the change reports are empty after running release:prepare and release:perform. The change reports are populated if I just run the 'site' goal though. How can I get them populated when doing a release?

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <configuration>
          <systemProperties>
            <property>
              <name>maven.scm.perforce.clientspec.name</name>
              <value>your.perforce.clientspec.name</value>
            </property>
          </systemProperties>
        </configuration>

Dennis Lundberg-2 wrote
To get the changelog-plugin working with perforce, follow these
instructions:

 
http://maven.apache.org/plugins/maven-changelog-plugin/examples/using-perforce.html

brewk9 wrote:
> Thanks for your reply. Well, I'm supplying the clientspec to enable the
> maven-changelog-plugin to work. Without that, that plugin doesn't work.
> Should the perforce plugin be changed to always create a temporary
> clientspec? Any other suggestions?
>
>
> mperham wrote:
>> Ken, I wrote the Perforce plugin for Maven but I don't use either
>> technology
>> at my current job (I'm now a Ruby guy) so I'm limited in how I can help
>> you.
>>  I'm happy to answer what questions I can.
>> To perform the release, Maven needs to build the canonical source as
>> checked
>> into Perforce.  The only way it can check out that code to a particular
>> location on your local disk is by using a clientspec.  If you don't give
>> Maven a name, it will create a temporary clientspec and use that for the
>> release.  But either way, it's going to change the target directory to be
>> target/checkout so that the source will be checked out to the proper
>> directory for building.
>>
>> mike
>>
>> On 12/12/07, brewk9 <ken.brewer@pearson.com> wrote:
>>>
>>> Maven is changing my perforce client spec! It's changing the root to the
>>> target\checkout directory of the project I'm building. This directory
>>> doesn't even exist in perforce!
>>>
>>> This is happening when I call the release:perform goal with system
>>> property
>>> -Dmaven.scm.perforce.clientspec.name=brewke_all.
>>> --
>>> View this message in context:
>>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-tp14302166s177p14302166.html
>>> Sent from the Maven - SCM mailing list archive at Nabble.com.
>>>
>>>
>>
>


--
Dennis Lundberg
Reply | Threaded
Open this post in threaded view
|

RE: release:perform changes perforce clientspec

Annies, Sebastian
In reply to this post by brewk9
I think the Perforce Plugin should create a .p4config file! That would solve
most if not all our problems with Perforce and Maven!

Regards,
Sebastian

> -----Original Message-----
> From: brewk9 [mailto:[hidden email]]
> Sent: Wednesday, December 12, 2007 8:51 PM
> To: [hidden email]
> Subject: Re: release:perform changes perforce clientspec
>
>
> Thanks for your reply. Well, I'm supplying the clientspec to enable the
> maven-changelog-plugin to work. Without that, that plugin doesn't work.
> Should the perforce plugin be changed to always create a temporary
> clientspec? Any other suggestions?
>
>
> mperham wrote:
> >
> > Ken, I wrote the Perforce plugin for Maven but I don't use either
> > technology
> > at my current job (I'm now a Ruby guy) so I'm limited in how I can help
> > you.
> >  I'm happy to answer what questions I can.
> > To perform the release, Maven needs to build the canonical source as
> > checked
> > into Perforce.  The only way it can check out that code to a particular
> > location on your local disk is by using a clientspec.  If you don't give
> > Maven a name, it will create a temporary clientspec and use that for the
> > release.  But either way, it's going to change the target directory to
be
> > target/checkout so that the source will be checked out to the proper
> > directory for building.
> >
> > mike
> >
> > On 12/12/07, brewk9 <[hidden email]> wrote:
> >>
> >>
> >> Maven is changing my perforce client spec! It's changing the root to
the

> >> target\checkout directory of the project I'm building. This directory
> >> doesn't even exist in perforce!
> >>
> >> This is happening when I call the release:perform goal with system
> >> property
> >> -Dmaven.scm.perforce.clientspec.name=brewke_all.
> >> --
> >> View this message in context:
> >> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-
> tp14302166s177p14302166.html
> >> Sent from the Maven - SCM mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
http://www.nabble.com/release%3Aperform-changes-
> perforce-clientspec-tp14302166s177p14302529.html
> Sent from the Maven - SCM mailing list archive at Nabble.com.


smime.p7s (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: release:perform changes perforce clientspec

Annies, Sebastian
In reply to this post by Dennis Lundberg-2
That does not help very much if you are using Continuum since you don't know
your client's name! The only solution is writing a .p4config.

SCM-281, MCHANGELOG-66, SCM-227 and release from Continuum would be working
a probably even more issues would be fixed.

Regards,
Sebastian

> -----Original Message-----
> From: Dennis Lundberg [mailto:[hidden email]]
> Sent: Wednesday, December 12, 2007 10:03 PM
> To: [hidden email]
> Subject: Re: release:perform changes perforce clientspec
>
> To get the changelog-plugin working with perforce, follow these
> instructions:
>
>
> http://maven.apache.org/plugins/maven-changelog-plugin/examples/using-
> perforce.html
>
> brewk9 wrote:
> > Thanks for your reply. Well, I'm supplying the clientspec to enable the
> > maven-changelog-plugin to work. Without that, that plugin doesn't work.
> > Should the perforce plugin be changed to always create a temporary
> > clientspec? Any other suggestions?
> >
> >
> > mperham wrote:
> >> Ken, I wrote the Perforce plugin for Maven but I don't use either
> >> technology
> >> at my current job (I'm now a Ruby guy) so I'm limited in how I can help
> >> you.
> >>  I'm happy to answer what questions I can.
> >> To perform the release, Maven needs to build the canonical source as
> >> checked
> >> into Perforce.  The only way it can check out that code to a particular
> >> location on your local disk is by using a clientspec.  If you don't
give
> >> Maven a name, it will create a temporary clientspec and use that for
the
> >> release.  But either way, it's going to change the target directory to
be
> >> target/checkout so that the source will be checked out to the proper
> >> directory for building.
> >>
> >> mike
> >>
> >> On 12/12/07, brewk9 <[hidden email]> wrote:
> >>>
> >>> Maven is changing my perforce client spec! It's changing the root to
the

> >>> target\checkout directory of the project I'm building. This directory
> >>> doesn't even exist in perforce!
> >>>
> >>> This is happening when I call the release:perform goal with system
> >>> property
> >>> -Dmaven.scm.perforce.clientspec.name=brewke_all.
> >>> --
> >>> View this message in context:
> >>> http://www.nabble.com/release%3Aperform-changes-perforce-clientspec-
> tp14302166s177p14302166.html
> >>> Sent from the Maven - SCM mailing list archive at Nabble.com.
> >>>
> >>>
> >>
> >
>
>
> --
> Dennis Lundberg

smime.p7s (7K) Download Attachment