The SVN provider does support the info command - it just seems to only work on remote repository URLs as the maven scm rejects the local path as a repo even though the code inside the svn provider can deal with it.
The Build-number still sufferes the same issues as it needs an ScmRepository which scm thinks is invalid. Although the code to parse the scm output doen't look to bad - it would appear I need to use this and forget about using the scm /svn provider? /James > -----Original Message----- > From: Dan Tran [mailto:dant...@gmail.com] > Sent: 08 January 2009 19:16 > To: Maven Developers List > Subject: Re: Maven SCM - SVN provider > > sorry, it should be buildnumber-maven-plugin > > On Thu, Jan 8, 2009 at 10:51 AM, Dan Tran <dant...@gmail.com> wrote: > > take a look at buildhelper-maven-plugin, it has code > dealing with svn > > info output > > > > BTW, perhaps we should ask svn provider to support svn info command. > > file a JIRA is a good start > > > > -D > > > > On Thu, Jan 8, 2009 at 10:42 AM, Nord, James <jn...@nds.com> wrote: > >> Hi all, > >> > >> I've been trying to write an enforcer plugin that will > validate the > >> SCM information contained in a POM actually reflects the actual > >> repository location. I'm only concerned with SVN. > >> > >> Basically I am trying to do is a "svn info > project.getBaseDir()" and > >> compare the repository url that comes back with the one defined in > >> the SCM tag. > >> > >> I've been failing misserably as using I can not construct a > >> SCMProviderRepository with the File argument. even though the svn > >> provider supports getting the url from a file location[1] it just > >> ends up throwing a null pointer exception[2]. > >> > >> I have managed to get the following code to work - but it doesn't > >> work out where the repo is from the .svn files. How can I > adapt it > >> to do so it will work with the local file location not the remote > >> location- I'm tearing my hair out! > >> > >> > >> String devSCM = project.getScm().getDeveloperConnection(); > >> String devSVN = devSCM.replaceFirst("scm:svn:", ""); > >> ScmRepository scmRepo = scmManger.makeScmRepository(devSCM); > >> log.warn("Using " + base + " as the base directory"); > >> ScmProvider provider = scmManger.getProviderByUrl(devSCM); > >> if (provider instanceof AbstractSvnScmProvider) { > >> AbstractSvnScmProvider svnProvider = > >> (AbstractSvnScmProvider)provider; > >> // following returns null and a n.p.e is later thrown by > >> AbstractCommand.execute(AbstractCommand.java:49) > >> //ScmProviderRepository providerRepo = > >> svnProvider.makeProviderScmRepository(project.getBaseDir()); > >> ScmProviderRepository providerRepo = > >> svnProvider.makeProviderScmRepository(devSVN, '\u0000'); > >> ScmFileSet fileSet = new > ScmFileSet(project.getBasedir(), > >> "pom.xml"); > >> SvnInfoScmResult infoResult = > >> svnProvider.info(providerRepo, fileSet, null); > >> if (infoResult.isSuccess()) { > >> .... > >> } > >> } > >> > >> > >> > >> [1] > >> > http://maven.apache.org/scm/xref/org/apache/maven/scm/provider/svn/Ab > >> str > >> actSvnScmProvider.html#110 > >> > >> Regards, > >> > >> /James > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For > additional commands, e-mail: dev-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org