It's all about the answers!

Ask a question

Maven SCM Plugin for RTC


0
4
David Lafreniere (4.7k7) | asked Jul 20 '10, 3:41 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
edited Oct 06 '16, 10:24 a.m.
Please use this forum topic to discuss the ongoing development of the Maven SCM Plugin for RTC.

I would especially like to know how users intend to use the Maven SCM Plugin and especially the Maven Release plugin in the context of RTC.

What would really help is if you could provide a short description of what you feel each scm goal should do. (What would help even more if you could provide a sample Jazz SCM CLI line on exactly what you feel should be done).

Often difficulty occurs because we are bound to the Maven SCM Plugin framework, and the level of information supplied to us for each goal may be too little or to much in order to easily map it 1:1 to an RTC use case scenario. RTC SCM is great at being flexible for team (or even personal) use, but it also has many "things" that other traditional SCM systems do not.

Questions of discussion could be:

1. Should the checkin goal automatically create and "complete" a change set with the given message/comment every time the checkin goal is executed?. Should it also "deliver" this change set with every checkin goal? or should it just check in files to the existing change set?

2. The checkout goal allows an optional passed in ScmVersion Maven object. For example, the release-plugin calls this checkout goal in the release:perform goal and used this ScmVersion object to represent a "snapshot" which was created in the release:prepare goal. However Jazz RTC does not allow you to checkout (i.e. "load") a particular snapshot. Can we come up with an agreed upon action for this scenario?
2a. One option would be to temporarily create another repository workspace which is based on the given snapshot. This would allow the user to checkout the files properly. However one problem is that these SCM goals act against the workspace defined in the SCM URL (in the pom.xml), thus future goals such as (status or checkin) would be against the original repository workspace, and not the one we checked out of...

3. The "project structure" of Maven projects and RTC/Eclipse projects are different. Maven has the concept of "parent projects" in which entire child projects exist below a parent project, whereas in Eclipse/RTC each project generally exists at the same root level. At the surface this doesn't appear to be a problem, but some Maven users may not be able to do what they want with the Jazz SCM provider. In particular, Jazz SCM does not allow checking out a project underneath another checked out project (i.e. can't have a sandbox in a sandbox).
3a. Ex: During an initial test run of release:perform (after performing after a release:prepare), I saw that the supplied checkout directory was "<releaseProject>\target\checkout" (Which Jazz Scm cannot do).

Please see the following Wiki document for additional information.
https://jazz.net/wiki/bin/view/Main/BuildFAQ#Does_Jazz_Team_Build_support_Mav

104 answers



permanent link
SUNIL KUURAM (6431823) | answered Sep 18 '11, 10:07 p.m.
Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

permanent link
Chris Graham (367714) | answered Sep 25 '11, 9:06 p.m.
Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

Does it have to be included in the URL?

The normal way this is done is to define a <server> entry in the user's /.m2/settings.xml file. Then, only the server name is defined in the url of the pom.xml file. The server name is the <id> field of the <server> entry in the users settings.xml file. The <server> entry can then define, userId, password or ssh keys, file modes, permissions etc.

Eg:
<server>
<id>svn.server</id>
<username>chris</username>
<password>chris-password</password>
</server>

The pom.xml would look like this:

<scm>
<url>http://svn.server/svn/repos/MyProject/trunk</url>
<connection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</connection>
<developerConnection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</developerConnection>
</scm>

The jazz provider should work in a similar way. (Looking at the code, it should). Can someone please try? In this case, make sure that the server id includes the port no as well.

Eg:
<server>
<id>jazz:9443</id>
<username>chris</username>
<password>chris-password</password>
</server>

Note: The <server> entries are not just used for scm servers. They are also used for maven repositories and other things as well.

permanent link
SUNIL KUURAM (6431823) | answered Sep 26 '11, 1:05 p.m.
I have just tried this. It doesn't seem to work. I've removed user ID and password from pom.xml and moved to settings.xml. It hangs on scm status command, i believe prompts and waits for password. Here is my configuration:

<scm>
<connection>scm:jazz:https://host:9103/jazz:CI-sunil-test</connection>
<developerConnection>scm:jazz:https://host:9103/jazz:CI-sunil-test</developerConnection>
<url>scm:jazz:https://host:9103/jazz:CI-sunil-test</url>
</scm>

...and under <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<tagBase>scm:jazz:https://host:9103/jazz:CI-sunil-test</tagBase>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.3</version>
</dependency>

</dependencies>
</plugin>

settings.xml:
<server>
<id>jazz:9103</id>
<username>userid</username>
<password>password</password>
</server>


However, I've noticed scm login command has a -c (cache) option. Anyone knows how long this gets cached? This seems to be a viable solution...

Thanks
Sunil

Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

Does it have to be included in the URL?

The normal way this is done is to define a <server> entry in the user's /.m2/settings.xml file. Then, only the server name is defined in the url of the pom.xml file. The server name is the <id> field of the <server> entry in the users settings.xml file. The <server> entry can then define, userId, password or ssh keys, file modes, permissions etc.

Eg:
<server>
<id>svn.server</id>
<username>chris</username>
<password>chris-password</password>
</server>

The pom.xml would look like this:

<scm>
<url>http://svn.server/svn/repos/MyProject/trunk</url>
<connection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</connection>
<developerConnection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</developerConnection>
</scm>

The jazz provider should work in a similar way. (Looking at the code, it should). Can someone please try? In this case, make sure that the server id includes the port no as well.

Eg:
<server>
<id>jazz:9443</id>
<username>chris</username>
<password>chris-password</password>
</server>

Note: The <server> entries are not just used for scm servers. They are also used for maven repositories and other things as well.

permanent link
Chris Graham (367714) | answered Sep 26 '11, 9:54 p.m.
Hmmm. Just to be sure, for this:


<scm>
<connection>scm:jazz:https://host:9103/jazz:CI-sunil-test</connection>
<developerConnection>scm:jazz:https://host:9103/jazz:CI-sunil-test</developerConnection>
<url>scm:jazz:https://host:9103/jazz:CI-sunil-test</url>
</scm>


The id in the settings should be:

<server>
<id>host:9103</id>
<username>userid</username>
<password>password</password>
</server>


-Chris

I have just tried this. It doesn't seem to work. I've removed user ID and password from pom.xml and moved to settings.xml. It hangs on scm status command, i believe prompts and waits for password. Here is my configuration:

<scm>
<connection>scm:jazz:https://host:9103/jazz:CI-sunil-test</connection>
<developerConnection>scm:jazz:https://host:9103/jazz:CI-sunil-test</developerConnection>
<url>scm:jazz:https://host:9103/jazz:CI-sunil-test</url>
</scm>

...and under <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<tagBase>scm:jazz:https://host:9103/jazz:CI-sunil-test</tagBase>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.3</version>
</dependency>

</dependencies>
</plugin>

settings.xml:
<server>
<id>jazz:9103</id>
<username>userid</username>
<password>password</password>
</server>


However, I've noticed scm login command has a -c (cache) option. Anyone knows how long this gets cached? This seems to be a viable solution...

Thanks
Sunil

Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

Does it have to be included in the URL?

The normal way this is done is to define a <server> entry in the user's /.m2/settings.xml file. Then, only the server name is defined in the url of the pom.xml file. The server name is the <id> field of the <server> entry in the users settings.xml file. The <server> entry can then define, userId, password or ssh keys, file modes, permissions etc.

Eg:
<server>
<id>svn.server</id>
<username>chris</username>
<password>chris-password</password>
</server>

The pom.xml would look like this:

<scm>
<url>http://svn.server/svn/repos/MyProject/trunk</url>
<connection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</connection>
<developerConnection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</developerConnection>
</scm>

The jazz provider should work in a similar way. (Looking at the code, it should). Can someone please try? In this case, make sure that the server id includes the port no as well.

Eg:
<server>
<id>jazz:9443</id>
<username>chris</username>
<password>chris-password</password>
</server>

Note: The <server> entries are not just used for scm servers. They are also used for maven repositories and other things as well.

permanent link
Chris Graham (367714) | answered Sep 26 '11, 10:04 p.m.
You should also be able to clean up the pom's and their replicated dependencies.

I had a chat to one of the maven commiters about the scm plugins, and their registration. The common approach appears to be to list the plugins as dependencies. The recommended way of doing this is to make use of the <extensions> attribute. It needs to be set to true. The best way of doing this would be to put the following into a parent pom (a good build practice to have common settings, and this is most easily achieved via a parent pom - all of my projects use this). Note: This is not a parent as defined in a multi module project. It is defined in the <parent> section in the pom.


<properties>
<maven>1.3</maven>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>${maven-scm-provider-jazz.version}</version>
<inherited>true</inherited>
<extensions>true</extensions>
</plugin>
</plugins>
</build>


:-(
Broken formatting, set the following property and use it in the plugin.
maven-scm-provider-jazz.version = 1.3

See: https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=90042 for the full details.

The version has been defined as a property, so that in the future, any child pom may override it and change it (without having to re-release/change the parent pom).

Want to give it a go? That way it does not need to be also added as a dep of the release plugin.

-Chris

I have just tried this. It doesn't seem to work. I've removed user ID and password from pom.xml and moved to settings.xml. It hangs on scm status command, i believe prompts and waits for password. Here is my configuration:

<scm>
<connection>scm:jazz:https://host:9103/jazz:CI-sunil-test</connection>
<developerConnection>scm:jazz:https://host:9103/jazz:CI-sunil-test</developerConnection>
<url>scm:jazz:https://host:9103/jazz:CI-sunil-test</url>
</scm>

...and under <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<tagBase>scm:jazz:https://host:9103/jazz:CI-sunil-test</tagBase>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.3</version>
</dependency>

</dependencies>
</plugin>

settings.xml:
<server>
<id>jazz:9103</id>
<username>userid</username>
<password>password</password>
</server>


However, I've noticed scm login command has a -c (cache) option. Anyone knows how long this gets cached? This seems to be a viable solution...

Thanks
Sunil

Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

Does it have to be included in the URL?

The normal way this is done is to define a <server> entry in the user's /.m2/settings.xml file. Then, only the server name is defined in the url of the pom.xml file. The server name is the <id> field of the <server> entry in the users settings.xml file. The <server> entry can then define, userId, password or ssh keys, file modes, permissions etc.

Eg:
<server>
<id>svn.server</id>
<username>chris</username>
<password>chris-password</password>
</server>

The pom.xml would look like this:

<scm>
<url>http://svn.server/svn/repos/MyProject/trunk</url>
<connection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</connection>
<developerConnection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</developerConnection>
</scm>

The jazz provider should work in a similar way. (Looking at the code, it should). Can someone please try? In this case, make sure that the server id includes the port no as well.

Eg:
<server>
<id>jazz:9443</id>
<username>chris</username>
<password>chris-password</password>
</server>

Note: The <server> entries are not just used for scm servers. They are also used for maven repositories and other things as well.

permanent link
SUNIL KUURAM (6431823) | answered Oct 03 '11, 4:08 p.m.
Hello Chris,

Thanks for the respose. I have tried to use the extensions attribute as suggested, but getting this error:

The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.
------------------------------------------------------------------------
Trace
java.lang.IllegalStateException: The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.

Any idea?

Appreciate your help.

Thanks
Sunil

You should also be able to clean up the pom's and their replicated dependencies.

I had a chat to one of the maven commiters about the scm plugins, and their registration. The common approach appears to be to list the plugins as dependencies. The recommended way of doing this is to make use of the <extensions> attribute. It needs to be set to true. The best way of doing this would be to put the following into a parent pom (a good build practice to have common settings, and this is most easily achieved via a parent pom - all of my projects use this). Note: This is not a parent as defined in a multi module project. It is defined in the <parent> section in the pom.


<properties>
<maven>1.3</maven>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>${maven-scm-provider-jazz.version}</version>
<inherited>true</inherited>
<extensions>true</extensions>
</plugin>
</plugins>
</build>


:-(
Broken formatting, set the following property and use it in the plugin.
maven-scm-provider-jazz.version = 1.3

See: https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=90042 for the full details.

The version has been defined as a property, so that in the future, any child pom may override it and change it (without having to re-release/change the parent pom).

Want to give it a go? That way it does not need to be also added as a dep of the release plugin.

-Chris

I have just tried this. It doesn't seem to work. I've removed user ID and password from pom.xml and moved to settings.xml. It hangs on scm status command, i believe prompts and waits for password. Here is my configuration:

<scm>
<connection>scm:jazz:https://host:9103/jazz:CI-sunil-test</connection>
<developerConnection>scm:jazz:https://host:9103/jazz:CI-sunil-test</developerConnection>
<url>scm:jazz:https://host:9103/jazz:CI-sunil-test</url>
</scm>

...and under <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<tagBase>scm:jazz:https://host:9103/jazz:CI-sunil-test</tagBase>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.3</version>
</dependency>

</dependencies>
</plugin>

settings.xml:
<server>
<id>jazz:9103</id>
<username>userid</username>
<password>password</password>
</server>


However, I've noticed scm login command has a -c (cache) option. Anyone knows how long this gets cached? This seems to be a viable solution...

Thanks
Sunil

Hello,

Has the source code for Jazz Maven SCM Provider plugin released yet? I went through the forums and wiki documents and noticed that the RTC user password has to be put in plain text within pom.xml, which is a serious audit issue. This becomes more serious due to the use of LDAP/Active Directory based logins. Any plans to fix this, or release the source code for this plugin soon....?

Thanks
Sunil

In your opinion, do you think that i should open a work item for this? Or wait your feedback? (We are a IBM Partner formal client, and have some support, of course, not one that you can supply in this specific case :) )

Annother question, we have access to source code for tha jazz maven scm provider?

Thanks.


Hi Rodrigo,

We're planning on releasing the source so that the Maven community can maintain it. (I'll look into this shortly). Given that, instead of making Jazz work items, you can just report any issues here and I'll take a look at them (and hopefully fix them)

Does it have to be included in the URL?

The normal way this is done is to define a <server> entry in the user's /.m2/settings.xml file. Then, only the server name is defined in the url of the pom.xml file. The server name is the <id> field of the <server> entry in the users settings.xml file. The <server> entry can then define, userId, password or ssh keys, file modes, permissions etc.

Eg:
<server>
<id>svn.server</id>
<username>chris</username>
<password>chris-password</password>
</server>

The pom.xml would look like this:

<scm>
<url>http://svn.server/svn/repos/MyProject/trunk</url>
<connection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</connection>
<developerConnection>scm:svn:http://svn.server/svn/repos/MyProject/trunk</developerConnection>
</scm>

The jazz provider should work in a similar way. (Looking at the code, it should). Can someone please try? In this case, make sure that the server id includes the port no as well.

Eg:
<server>
<id>jazz:9443</id>
<username>chris</username>
<password>chris-password</password>
</server>

Note: The <server> entries are not just used for scm servers. They are also used for maven repositories and other things as well.

permanent link
Chris Graham (367714) | answered Oct 09 '11, 11:24 p.m.
Hello. Back from a week with my boys. :-)

Hmmm. I've got vague recollections about this.

1. Is your local repo actually (/devit_home/users/bldfge/.m2/CMST) as set in your ~/.m2/settings.xml?
2. Does the file exist?
3. Is it corrupted?
4. Sometimes I think that the meta data can get broken, I'd delete/re-install the jar (along with it's meta data). Ie, mvn install:install-file ...

I need to get a working sample up i a VM to play with this properly.

-Chris

Hello Chris,

Thanks for the respose. I have tried to use the extensions attribute as suggested, but getting this error:

The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.
------------------------------------------------------------------------
Trace
java.lang.IllegalStateException: The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.

Any idea?

Appreciate your help.

Thanks
Sunil


permanent link
Chris Graham (367714) | answered Oct 10 '11, 8:31 p.m.
Hi All.

Ok. I've been able to replicate this. And indeed, my vague recollections did come back into sharp focus.

In short, you've done nothing wrong.

It is a bug in the way that the plugin has been built. You can not fix this.

David has too.

I've informed him of what the problem is, and how it needs to be fixed.

I've not heard back yet.

If I don't soon, I'll see what I can do about it.

-Chris

Hello. Back from a week with my boys. :-)

Hmmm. I've got vague recollections about this.

1. Is your local repo actually (/devit_home/users/bldfge/.m2/CMST) as set in your ~/.m2/settings.xml?
2. Does the file exist?
3. Is it corrupted?
4. Sometimes I think that the meta data can get broken, I'd delete/re-install the jar (along with it's meta data). Ie, mvn install:install-file ...

I need to get a working sample up i a VM to play with this properly.

-Chris

Hello Chris,

Thanks for the respose. I have tried to use the extensions attribute as suggested, but getting this error:

The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.
------------------------------------------------------------------------
Trace
java.lang.IllegalStateException: The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.

Any idea?

Appreciate your help.

Thanks
Sunil


permanent link
Scott Curry (11) | answered Dec 12 '11, 8:28 p.m.
Can anyone provide a status on releasing this plugin as open source and if/when it will be in the maven central repo?

Making the jazz-scm work with the maven-release-plugin is a must for many folks using maven for a long time and I am surprised IBM will not put more resources into resolving this within the jazz scm. Nearly every other SCM on the market will work (correctly) with the maven-release plugin including other DRCS like git.

Any information or update is appreciated.

Scott

permanent link
Chris Graham (367714) | answered Jan 02 '12, 11:14 p.m.
An update. I might back track on what i said above. <blush>

This is the right way to use a non-core SCM provider with the maven-scm-plugin. By non-core, I mean the providers that are not built with (and subsequenlty listed as dependencies of, the) maven-scm-plugin.


<build>
<plugins>
<!-- Add in the Jazz SCM Provider, so that it is known to the system. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.3</version>
<configuration>
<providerImplementations>
<jazz>jazz</jazz>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jazz</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>


As for the other issues, eg the password in clear text in the scm lines in the pom and moving them to the more normal settings.xml location, that will require a code change. That code was introduced into a newer version (1.5 I think) of the maven-scm-plugin. So the jazz code will need to be modified and built against 1.5 as a minimum (1.6 has also been released).

-Chris


Hi All.

Ok. I've been able to replicate this. And indeed, my vague recollections did come back into sharp focus.

In short, you've done nothing wrong.

It is a bug in the way that the plugin has been built. You can not fix this.

David has too.

I've informed him of what the problem is, and how it needs to be fixed.

I've not heard back yet.

If I don't soon, I'll see what I can do about it.

-Chris

Hello. Back from a week with my boys. :-)

Hmmm. I've got vague recollections about this.

1. Is your local repo actually (/devit_home/users/bldfge/.m2/CMST) as set in your ~/.m2/settings.xml?
2. Does the file exist?
3. Is it corrupted?
4. Sometimes I think that the meta data can get broken, I'd delete/re-install the jar (along with it's meta data). Ie, mvn install:install-file ...

I need to get a working sample up i a VM to play with this properly.

-Chris

Hello Chris,

Thanks for the respose. I have tried to use the extensions attribute as suggested, but getting this error:

The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.
------------------------------------------------------------------------
Trace
java.lang.IllegalStateException: The plugin descriptor for the plugin Plugin was not found. Please verify that the plugin JAR /devit_home/users/bldfge/.m2/CMST/org/apache/maven/scm/maven-scm-provider-jazz/1.3/maven-scm-provider-jazz-1.3.jar is intact.

Any idea?

Appreciate your help.

Thanks
Sunil

Your answer


Register or to post your answer.