[jira] [Commented] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread Matthieu Brouillard (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488447#comment-16488447
 ] 

Matthieu Brouillard commented on SCM-885:
-

thank you Mickael, do you have an idea when will {{1.10.0}} be released?

> Extend GitChangeLogCommand by using revision only
> -
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.10.0
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (SCM-826) Allow multiple identities on same SCM host

2018-05-23 Thread Michael Osipov (JIRA)

 [ 
https://issues.apache.org/jira/browse/SCM-826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov closed SCM-826.
--
Resolution: Not A Problem

> Allow multiple identities on same SCM host
> --
>
> Key: SCM-826
> URL: https://issues.apache.org/jira/browse/SCM-826
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-plugin
>Reporter: phansson
>Priority: Major
>
> It is no longer uncommon for a developer to have several identities on a 
> single SCM host (just think of sites such as GitHub and BitBucket).
> The current scheme for centralizing credentials is to put them in 
> settings.xml and then Maven SCM Plugin will match the host name in {{}} 
> section of the POM with the {{}} section from {{}} in 
> settings.xml.
> As far as I know (pretty much undocumented) this scheme will currently only 
> work for a single identity at the VCS host.
> My proposal is to expand on the current scheme so that it will allow some 
> form of *longest match* which would include a potential prefixed username in 
> the SCM URL  (e.g. j...@github.com) or matching on the URL path 
> (github.com/apache rather than just matching on the hostname itself).
> Here's an example of how I envisage it:
> {code:xml}
> 
>   
> 
> 
>   us...@github.com
>   user1
>   mysecret
> 
> 
> 
>   us...@github.com
>   user2
>   mysecret
> 
> 
> 
>   us...@github.com/apache
>   user2
>   mysecret
> 
> 
> 
>   github.com
>   user1
>   mysecret
> 
> {code}
> This enhancement would be completely backwards compatible, is simple to 
> implement and will solve a lot of use cases in one go.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488005#comment-16488005
 ] 

ASF GitHub Bot commented on SCM-885:


asfgit closed pull request #74: [SCM-885] third implementation
URL: https://github.com/apache/maven-scm/pull/74
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.gitattributes b/.gitattributes
index 3bb3b5ea8..d09ce69a2 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6,3 +6,8 @@
 *.csstext
 *.js text
 *.sqltext
+
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/**
 binary
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/**
 binary
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/*
 text eol=lf
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/*
 text eol=lf
\ No newline at end of file
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
index b8473ab0b..61242c36f 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
@@ -55,6 +55,14 @@ protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repo
 throw new ScmException( "Unsupported method for this provider." );
 }
 
+@Deprecated
+protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repository, ScmFileSet fileSet,
+  ScmVersion version, 
String datePattern )
+throws ScmException
+{
+throw new ScmException( "Unsupported method for this provider." );
+}
+
 /**
  * {@inheritDoc}
  */
@@ -76,13 +84,21 @@ public ScmResult executeCommand( ScmProviderRepository 
repository, ScmFileSet fi
 
 ScmBranch branch = (ScmBranch) parameters.getScmVersion( 
CommandParameter.BRANCH, null );
 
+ScmVersion version = parameters.getScmVersion( 
CommandParameter.SCM_VERSION, null );
+
 ScmVersion startVersion = parameters.getScmVersion( 
CommandParameter.START_SCM_VERSION, null );
 
 ScmVersion endVersion = parameters.getScmVersion( 
CommandParameter.END_SCM_VERSION, null );
 
 String datePattern = parameters.getString( 
CommandParameter.CHANGELOG_DATE_PATTERN, null );
 
-if ( startVersion != null || endVersion != null )
+boolean uniqueUsageOfVersion = startVersion == null && endVersion == 
null && version != null;
+
+if ( uniqueUsageOfVersion )
+{
+return executeChangeLogCommand( repository, fileSet, version, 
datePattern );
+}
+else if ( startVersion != null || endVersion != null )
 {
 return executeChangeLogCommand( repository, fileSet, startVersion, 
endVersion, datePattern );
 }
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
index f96c12603..f8723c1c2 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
@@ -175,4 +175,15 @@ public void setDateRange( Date startDate, Date endDate )
 setEndDate( endDate );
 }
 
+public void setRevision( ScmVersion revision )
+throws ScmException
+{
+parameters.setScmVersion( CommandParameter.SCM_VERSION, revision );
+}
+
+public ScmVersion getRevision()
+throws ScmException
+{
+return parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
+}
 }
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..50b8df861 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ 

[jira] [Commented] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488003#comment-16488003
 ] 

ASF GitHub Bot commented on SCM-885:


asfgit closed pull request #70: [SCM-885] allow to use only endVersion in 
GitChangeLogCommand
URL: https://github.com/apache/maven-scm/pull/70
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..7aab4e89f 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
@@ -170,10 +170,10 @@ static Commandline createCommandLine( 
GitScmProviderRepository repository, File
 if ( startVersion != null )
 {
 versionRange.append( StringUtils.escape( 
startVersion.getName() ) );
+   // range separator needed only if a lower bound 
revision is set
+versionRange.append( ".." );
 }
 
-versionRange.append( ".." );
-
 if ( endVersion != null )
 {
 versionRange.append( StringUtils.escape( endVersion.getName() 
) );
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
index ecc6086fa..f498c5d13 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
@@ -151,6 +151,14 @@ public void 
testCommandLineWithStartVersionAndEndVersionEquals()
  + " -- " + StringUtils.quoteAndEscape( 
workingDirectory.getPath(), '"' ) );
 }
 
+public void testCommandLineWithOnlyEndVersion()
+throws Exception
+{
+testCommandLine( "scm:git:http://foo.com/git;, null, null, new 
ScmRevision( "10" ),
+ "git whatchanged --date=iso 10"
+ + " -- " + StringUtils.quoteAndEscape( 
workingDirectory.getPath(), '"' ) );
+}
+
 public void testCommandLineWithStartVersionAndEndVersionAndBranch()
 throws Exception
 {


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Extend GitChangeLogCommand by using revision only
> -
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488004#comment-16488004
 ] 

ASF GitHub Bot commented on SCM-885:


asfgit closed pull request #72: [SCM-885] second implementation with new API
URL: https://github.com/apache/maven-scm/pull/72
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java 
b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
index c8edd3541..3d695ef4f 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
@@ -50,6 +50,8 @@
 
 public static final CommandParameter BRANCH = new CommandParameter( 
"branch" );
 
+public static final CommandParameter FROM_START_OF_REPOSITORY = new 
CommandParameter( "fromStartOfRepository" );
+
 public static final CommandParameter START_SCM_VERSION = new 
CommandParameter( "startScmVersion" );
 
 public static final CommandParameter END_SCM_VERSION = new 
CommandParameter( "endScmVersion" );
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
index b8473ab0b..b808900f0 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
@@ -55,6 +55,14 @@ protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repo
 throw new ScmException( "Unsupported method for this provider." );
 }
 
+protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repository, ScmFileSet fileSet,
+  ScmVersion 
endVersion,
+  String datePattern, 
boolean fromStartOfRepository )
+throws ScmException
+{
+throw new ScmException( "Unsupported method for this provider." );
+}
+
 /**
  * {@inheritDoc}
  */
@@ -82,9 +90,18 @@ public ScmResult executeCommand( ScmProviderRepository 
repository, ScmFileSet fi
 
 String datePattern = parameters.getString( 
CommandParameter.CHANGELOG_DATE_PATTERN, null );
 
+boolean fromStartOfRepository = parameters.getBoolean( 
CommandParameter.FROM_START_OF_REPOSITORY, false );
+
 if ( startVersion != null || endVersion != null )
 {
-return executeChangeLogCommand( repository, fileSet, startVersion, 
endVersion, datePattern );
+if ( startVersion == null && fromStartOfRepository )
+{
+return executeChangeLogCommand( repository, fileSet, 
endVersion, datePattern, fromStartOfRepository );
+}
+else
+{
+return executeChangeLogCommand( repository, fileSet, 
startVersion, endVersion, datePattern );
+}
 }
 else
 {
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
index f96c12603..0fe6305f5 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
@@ -130,6 +130,18 @@ public void setEndRevision( ScmVersion endRevision )
 parameters.setScmVersion( CommandParameter.END_SCM_VERSION, 
endRevision );
 }
 
+public boolean isFromStartOfRepository()
+throws ScmException
+{
+return parameters.getBoolean( 
CommandParameter.FROM_START_OF_REPOSITORY, false );
+}
+
+public void setFromStartOfRepository()
+throws ScmException
+{
+parameters.setString( CommandParameter.FROM_START_OF_REPOSITORY, 
Boolean.TRUE.toString() );
+}
+
 public String getDatePattern()
 throws ScmException
 {
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..41211df79 100644
--- 

[jira] [Closed] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread Michael Osipov (JIRA)

 [ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov closed SCM-885.
--
Resolution: Fixed

Fixed with 
[67a4c252838c2c4c6d12409c5831b1e92d9bcc98|https://gitbox.apache.org/repos/asf?p=maven-scm.git;a=commit;h=67a4c252838c2c4c6d12409c5831b1e92d9bcc98]

> Extend GitChangeLogCommand by using revision only
> -
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] asfgit closed pull request #74: [SCM-885] third implementation

2018-05-23 Thread GitBox
asfgit closed pull request #74: [SCM-885] third implementation
URL: https://github.com/apache/maven-scm/pull/74
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.gitattributes b/.gitattributes
index 3bb3b5ea8..d09ce69a2 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6,3 +6,8 @@
 *.csstext
 *.js text
 *.sqltext
+
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/**
 binary
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/**
 binary
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/*
 text eol=lf
+/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/*
 text eol=lf
\ No newline at end of file
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
index b8473ab0b..61242c36f 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
@@ -55,6 +55,14 @@ protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repo
 throw new ScmException( "Unsupported method for this provider." );
 }
 
+@Deprecated
+protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repository, ScmFileSet fileSet,
+  ScmVersion version, 
String datePattern )
+throws ScmException
+{
+throw new ScmException( "Unsupported method for this provider." );
+}
+
 /**
  * {@inheritDoc}
  */
@@ -76,13 +84,21 @@ public ScmResult executeCommand( ScmProviderRepository 
repository, ScmFileSet fi
 
 ScmBranch branch = (ScmBranch) parameters.getScmVersion( 
CommandParameter.BRANCH, null );
 
+ScmVersion version = parameters.getScmVersion( 
CommandParameter.SCM_VERSION, null );
+
 ScmVersion startVersion = parameters.getScmVersion( 
CommandParameter.START_SCM_VERSION, null );
 
 ScmVersion endVersion = parameters.getScmVersion( 
CommandParameter.END_SCM_VERSION, null );
 
 String datePattern = parameters.getString( 
CommandParameter.CHANGELOG_DATE_PATTERN, null );
 
-if ( startVersion != null || endVersion != null )
+boolean uniqueUsageOfVersion = startVersion == null && endVersion == 
null && version != null;
+
+if ( uniqueUsageOfVersion )
+{
+return executeChangeLogCommand( repository, fileSet, version, 
datePattern );
+}
+else if ( startVersion != null || endVersion != null )
 {
 return executeChangeLogCommand( repository, fileSet, startVersion, 
endVersion, datePattern );
 }
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
index f96c12603..f8723c1c2 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
@@ -175,4 +175,15 @@ public void setDateRange( Date startDate, Date endDate )
 setEndDate( endDate );
 }
 
+public void setRevision( ScmVersion revision )
+throws ScmException
+{
+parameters.setScmVersion( CommandParameter.SCM_VERSION, revision );
+}
+
+public ScmVersion getRevision()
+throws ScmException
+{
+return parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
+}
 }
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..50b8df861 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
@@ -69,6 +69,14 @@ protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repo
 

[GitHub] asfgit closed pull request #72: [SCM-885] second implementation with new API

2018-05-23 Thread GitBox
asfgit closed pull request #72: [SCM-885] second implementation with new API
URL: https://github.com/apache/maven-scm/pull/72
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java 
b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
index c8edd3541..3d695ef4f 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
@@ -50,6 +50,8 @@
 
 public static final CommandParameter BRANCH = new CommandParameter( 
"branch" );
 
+public static final CommandParameter FROM_START_OF_REPOSITORY = new 
CommandParameter( "fromStartOfRepository" );
+
 public static final CommandParameter START_SCM_VERSION = new 
CommandParameter( "startScmVersion" );
 
 public static final CommandParameter END_SCM_VERSION = new 
CommandParameter( "endScmVersion" );
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
index b8473ab0b..b808900f0 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
@@ -55,6 +55,14 @@ protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repo
 throw new ScmException( "Unsupported method for this provider." );
 }
 
+protected ChangeLogScmResult executeChangeLogCommand( 
ScmProviderRepository repository, ScmFileSet fileSet,
+  ScmVersion 
endVersion,
+  String datePattern, 
boolean fromStartOfRepository )
+throws ScmException
+{
+throw new ScmException( "Unsupported method for this provider." );
+}
+
 /**
  * {@inheritDoc}
  */
@@ -82,9 +90,18 @@ public ScmResult executeCommand( ScmProviderRepository 
repository, ScmFileSet fi
 
 String datePattern = parameters.getString( 
CommandParameter.CHANGELOG_DATE_PATTERN, null );
 
+boolean fromStartOfRepository = parameters.getBoolean( 
CommandParameter.FROM_START_OF_REPOSITORY, false );
+
 if ( startVersion != null || endVersion != null )
 {
-return executeChangeLogCommand( repository, fileSet, startVersion, 
endVersion, datePattern );
+if ( startVersion == null && fromStartOfRepository )
+{
+return executeChangeLogCommand( repository, fileSet, 
endVersion, datePattern, fromStartOfRepository );
+}
+else
+{
+return executeChangeLogCommand( repository, fileSet, 
startVersion, endVersion, datePattern );
+}
 }
 else
 {
diff --git 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
index f96c12603..0fe6305f5 100644
--- 
a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
+++ 
b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java
@@ -130,6 +130,18 @@ public void setEndRevision( ScmVersion endRevision )
 parameters.setScmVersion( CommandParameter.END_SCM_VERSION, 
endRevision );
 }
 
+public boolean isFromStartOfRepository()
+throws ScmException
+{
+return parameters.getBoolean( 
CommandParameter.FROM_START_OF_REPOSITORY, false );
+}
+
+public void setFromStartOfRepository()
+throws ScmException
+{
+parameters.setString( CommandParameter.FROM_START_OF_REPOSITORY, 
Boolean.TRUE.toString() );
+}
+
 public String getDatePattern()
 throws ScmException
 {
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..41211df79 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ 

[GitHub] asfgit closed pull request #70: [SCM-885] allow to use only endVersion in GitChangeLogCommand

2018-05-23 Thread GitBox
asfgit closed pull request #70: [SCM-885] allow to use only endVersion in 
GitChangeLogCommand
URL: https://github.com/apache/maven-scm/pull/70
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 2145eeb83..7aab4e89f 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
@@ -170,10 +170,10 @@ static Commandline createCommandLine( 
GitScmProviderRepository repository, File
 if ( startVersion != null )
 {
 versionRange.append( StringUtils.escape( 
startVersion.getName() ) );
+   // range separator needed only if a lower bound 
revision is set
+versionRange.append( ".." );
 }
 
-versionRange.append( ".." );
-
 if ( endVersion != null )
 {
 versionRange.append( StringUtils.escape( endVersion.getName() 
) );
diff --git 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
index ecc6086fa..f498c5d13 100644
--- 
a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
+++ 
b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
@@ -151,6 +151,14 @@ public void 
testCommandLineWithStartVersionAndEndVersionEquals()
  + " -- " + StringUtils.quoteAndEscape( 
workingDirectory.getPath(), '"' ) );
 }
 
+public void testCommandLineWithOnlyEndVersion()
+throws Exception
+{
+testCommandLine( "scm:git:http://foo.com/git;, null, null, new 
ScmRevision( "10" ),
+ "git whatchanged --date=iso 10"
+ + " -- " + StringUtils.quoteAndEscape( 
workingDirectory.getPath(), '"' ) );
+}
+
 public void testCommandLineWithStartVersionAndEndVersionAndBranch()
 throws Exception
 {


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (SCM-885) Extend GitChangeLogCommand by using revision only

2018-05-23 Thread Michael Osipov (JIRA)

 [ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SCM-885:
---
Summary: Extend GitChangeLogCommand by using revision only  (was: 
GitChangeLogCommand is wrong when only endVersion is set)

> Extend GitChangeLogCommand by using revision only
> -
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (SCM-885) GitChangeLogCommand is wrong when only endVersion is set

2018-05-23 Thread Michael Osipov (JIRA)

 [ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SCM-885:
---
Component/s: maven-scm-provider-jgit

> GitChangeLogCommand is wrong when only endVersion is set
> 
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Bug
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (SCM-885) GitChangeLogCommand is wrong when only endVersion is set

2018-05-23 Thread Michael Osipov (JIRA)

 [ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SCM-885:
---
Issue Type: Improvement  (was: Bug)

> GitChangeLogCommand is wrong when only endVersion is set
> 
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Improvement
>  Components: maven-scm-provider-gitexe, maven-scm-provider-jgit
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (MJAVADOC-519) IT detectLinks fails on Windows

2018-05-23 Thread Robert Scholte (JIRA)

 [ 
https://issues.apache.org/jira/browse/MJAVADOC-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte closed MJAVADOC-519.
---
   Resolution: Cannot Reproduce
 Assignee: Robert Scholte  (was: Karl Heinz Marbaise)
Fix Version/s: (was: 3.0.1)

> IT detectLinks fails on Windows
> ---
>
> Key: MJAVADOC-519
> URL: https://issues.apache.org/jira/browse/MJAVADOC-519
> Project: Maven Javadoc Plugin
>  Issue Type: Bug
>Affects Versions: 3.0.1
>Reporter: Karl Heinz Marbaise
>Assignee: Robert Scholte
>Priority: Critical
> Attachments: failing-javadoc-it.log
>
>
> [Currently|https://gitbox.apache.org/repos/asf?p=maven-javadoc-plugin.git;a=commitdiff;h=e637834a1aecaaa835fe2cdcda67664156f3630d]
>  the following IT is failing:
> {code}
> [windows-jdk9] [INFO]   Passed: 35, Failed: 1, Errors: 0, Skipped: 0
> [windows-jdk9] [INFO] -
> [windows-jdk9] [WARNING] The following builds failed:
> [windows-jdk9] [WARNING] *  detectLinks\pom.xml
> [windows-jdk9] [INFO] -
> [windows-jdk9] [WARNING] Ignoring that 1 build failed.
> [windows-jdk9] [INFO] 
> 
> [windows-jdk9] [INFO] BUILD SUCCESS
> [windows-jdk9] [INFO] ---
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (MNG-6415) Project Artifacts Cache does not retain the order of classpath entries.

2018-05-23 Thread Michael Osipov (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487829#comment-16487829
 ] 

Michael Osipov edited comment on MNG-6415 at 5/23/18 6:44 PM:
--

I am fine when this fix is accompanied by a documentation update + an IT.


was (Author: michael-o):
I am fine when this fix is accompanied by a documentation update.

> Project Artifacts Cache does not retain the order of classpath entries.
> ---
>
> Key: MNG-6415
> URL: https://issues.apache.org/jira/browse/MNG-6415
> Project: Maven
>  Issue Type: Bug
>  Components: core
>Affects Versions: 3.5.2
> Environment: Windows 7, JDK8u144
>Reporter: Seckin Onur SELAMET
>Priority: Major
>  Labels: CLASSPATH
> Attachments: 
> [MNG-6415]_Fixes_Project_Artifact_Cache_classpath_order_retaining_issue_.patch
>
>
> Project artifacts cache does not retain the order of classpath entries.
> Wrong Object type used in implementation. HashSet can not guarantee the order 
> of elements.
> In runtime ProjectArtifacts passed as LinkedHashSet already which is safe.
>  
> Possible fix is provided in comments section.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MNG-6415) Project Artifacts Cache does not retain the order of classpath entries.

2018-05-23 Thread Michael Osipov (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487829#comment-16487829
 ] 

Michael Osipov commented on MNG-6415:
-

I am fine when this fix is accompanied by a documentation update.

> Project Artifacts Cache does not retain the order of classpath entries.
> ---
>
> Key: MNG-6415
> URL: https://issues.apache.org/jira/browse/MNG-6415
> Project: Maven
>  Issue Type: Bug
>  Components: core
>Affects Versions: 3.5.2
> Environment: Windows 7, JDK8u144
>Reporter: Seckin Onur SELAMET
>Priority: Major
>  Labels: CLASSPATH
> Attachments: 
> [MNG-6415]_Fixes_Project_Artifact_Cache_classpath_order_retaining_issue_.patch
>
>
> Project artifacts cache does not retain the order of classpath entries.
> Wrong Object type used in implementation. HashSet can not guarantee the order 
> of elements.
> In runtime ProjectArtifacts passed as LinkedHashSet already which is safe.
>  
> Possible fix is provided in comments section.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MNG-6415) Project Artifacts Cache does not retain the order of classpath entries.

2018-05-23 Thread Robert Scholte (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487809#comment-16487809
 ] 

Robert Scholte commented on MNG-6415:
-

{quote}We have never documented this to be retained throughout.{quote}
Maybe not explicit, but surely implicit. The result of a build is consistent 
which is possible because the order of jars stays the same. It is a known 
practice that if you have classpath-order issues, you can put that dependency 
more up in your pom.
Anyway, this is how dependency resolution worked for years, we're now hit by an 
unintended change which can easily be fixed. Better to change the documentation 
than to disappoint the projects that relied on this "bug/feature". 

> Project Artifacts Cache does not retain the order of classpath entries.
> ---
>
> Key: MNG-6415
> URL: https://issues.apache.org/jira/browse/MNG-6415
> Project: Maven
>  Issue Type: Bug
>  Components: core
>Affects Versions: 3.5.2
> Environment: Windows 7, JDK8u144
>Reporter: Seckin Onur SELAMET
>Priority: Major
>  Labels: CLASSPATH
> Attachments: 
> [MNG-6415]_Fixes_Project_Artifact_Cache_classpath_order_retaining_issue_.patch
>
>
> Project artifacts cache does not retain the order of classpath entries.
> Wrong Object type used in implementation. HashSet can not guarantee the order 
> of elements.
> In runtime ProjectArtifacts passed as LinkedHashSet already which is safe.
>  
> Possible fix is provided in comments section.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MPMD-263) Add documentation information for GitHub

2018-05-23 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/MPMD-263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487704#comment-16487704
 ] 

Hudson commented on MPMD-263:
-

Build succeeded in Jenkins: Maven TLP » maven-pmd-plugin » MPMD-263 #2

See https://builds.apache.org/job/maven-box/job/maven-pmd-plugin/job/MPMD-263/2/

> Add documentation information for GitHub
> 
>
> Key: MPMD-263
> URL: https://issues.apache.org/jira/browse/MPMD-263
> Project: Maven PMD Plugin
>  Issue Type: Improvement
>  Components: CPD, PMD
>Reporter: Andreas Dangel
>Assignee: Andreas Dangel
>Priority: Minor
> Fix For: 3.10.0
>
>
> Add a README.md similar to MPH-151



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (MPMD-263) Add documentation information for GitHub

2018-05-23 Thread Andreas Dangel (JIRA)
Andreas Dangel created MPMD-263:
---

 Summary: Add documentation information for GitHub
 Key: MPMD-263
 URL: https://issues.apache.org/jira/browse/MPMD-263
 Project: Maven PMD Plugin
  Issue Type: Improvement
  Components: CPD, PMD
Reporter: Andreas Dangel
Assignee: Andreas Dangel
 Fix For: 3.10.0


Add a README.md similar to MPH-151



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SCM-885) GitChangeLogCommand is wrong when only endVersion is set

2018-05-23 Thread Michael Osipov (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487435#comment-16487435
 ] 

Michael Osipov commented on SCM-885:


This works for me on Windows and should be set by everyone on Windows:

{noformat}
core.autocrlf=true
core.safecrlf=true
core.eol=native
{noformat}

> GitChangeLogCommand is wrong when only endVersion is set
> 
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Bug
>  Components: maven-scm-provider-gitexe
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MNG-3092) Resolution of version ranges with non-snapshot bounds can resolve to a snapshot version

2018-05-23 Thread Tim Shaw (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487418#comment-16487418
 ] 

Tim Shaw commented on MNG-3092:
---

We were about to use ranges in a CI/SemanticVersioning environment.

Without this 'fix' we have serious issues.

Please just implement it (as per the non-implemented 2.0 spec???)

> Resolution of version ranges with non-snapshot bounds can resolve to a 
> snapshot version
> ---
>
> Key: MNG-3092
> URL: https://issues.apache.org/jira/browse/MNG-3092
> Project: Maven
>  Issue Type: Bug
>  Components: Dependencies
>Reporter: Mark Hobson
>Priority: Major
> Fix For: 3.x / Backlog
>
> Attachments: MNG-3092.patch, MNG-3092.patch
>
>
> Contrary to the 2.0 design docs:
> "Resolution of dependency ranges should not resolve to a snapshot 
> (development version) unless it is included as an explicit boundary."
> -- from 
> http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-Incorporating%7B%7BSNAPSHOT%7D%7Dversionsintothespecification
> The following is equates to true:
> VersionRange.createFromVersionSpec( "[1.0,1.1]" ).containsVersion( new 
> DefaultArtifactVersion( "1.1-SNAPSHOT" ) )
> The attached patch only allows snapshot versions to be contained in a range 
> if they are equal to one of the boundaries.  Note that this is a strict 
> equality, so [1.0,1.2-SNAPSHOT] will not contain 1.1-SNAPSHOT.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (SCM-885) GitChangeLogCommand is wrong when only endVersion is set

2018-05-23 Thread Matthieu Brouillard (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16486818#comment-16486818
 ] 

Matthieu Brouillard edited comment on SCM-885 at 5/23/18 1:11 PM:
--

Hi Mickael, 
 * regarding the `.gitattributes`, if I added both the binary and EOL for the 
repositories files that I added it is because:
 ** it happened that some files were recognized as text instead of binary
 ** some text files, extracted with CR+LF on my windows machine, were causing 
troubles and lead to unrecognized git repo. Forcing LF resolved the pb.
 * looks like the hooks were not that important ;)

Go ahead otherwise.


was (Author: mcfoggy):
Hi Mickael, 
 * regarding the `.gitattributes`, if I defined both the binary and EOL for the 
repositories I added it is because:
 ** it happened that some files were recognized as text instead of binary
 ** some text files, extracted with CR+LF on my windows machine, were causing 
troubles and lead to unrecognized git repo. Forcing LF resolved the pb.
 * looks like the hooks were not that important ;)

Go ahead otherwise.

> GitChangeLogCommand is wrong when only endVersion is set
> 
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Bug
>  Components: maven-scm-provider-gitexe
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (MASSEMBLY-888) jar-with-dependencies performance can be greatly improved by using the cache

2018-05-23 Thread JIRA
Robin Björklin created MASSEMBLY-888:


 Summary: jar-with-dependencies performance can be greatly improved 
by using the cache
 Key: MASSEMBLY-888
 URL: https://issues.apache.org/jira/browse/MASSEMBLY-888
 Project: Maven Assembly Plugin
  Issue Type: Improvement
Affects Versions: 3.1.0
Reporter: Robin Björklin


Plexus-io disabled use of URLConnection cache back in 2016 (see external issue 
link) which has a very noticeable performance impact when building a 
jar-with-dependencies and one or more of the dependencies are fairly large such 
as eclipse-collections. If this could be made configurable it would be great as 
we're seeing build times drop from ~2 minutes to ~20 seconds on single module 
builds.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (MNG-6311) Maven intolerably slow when import scope used heavily in large project

2018-05-23 Thread Thomas Nikolay (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487007#comment-16487007
 ] 

Thomas Nikolay edited comment on MNG-6311 at 5/23/18 10:07 AM:
---

Our Company runs in the same problem with very large POM structures and 
imports. This is currently a blocker to migrate from 3.3.9 to 3.5.X.

The same POM with JDK 1.8.0_112

* with MVN 3.3.9 duration = 6 seconds

* with MVN 3.5.2 duration = 107 seconds

I analysed with Yourkit  [^Call-tree-–-All-threads-together.html]


was (Author: tnikolay):
Our Company runs in the same problem with very large POM structures and 
imports. This is currently a blocker to migrate from 3.3.9 to 3.5.X.

I analysed with Yourkit  [^Call-tree-–-All-threads-together.html]

> Maven intolerably slow when import scope used heavily in large project
> --
>
> Key: MNG-6311
> URL: https://issues.apache.org/jira/browse/MNG-6311
> Project: Maven
>  Issue Type: Bug
>  Components: core, Performance
>Affects Versions: 3.5.0, 3.5.2
>Reporter: David Churcher
>Priority: Major
>  Labels: performance
> Attachments: Call-tree-–-All-threads-together.html, 
> anon-hierarchy-maven-output.zip, modelcachefix.diff
>
>
> I have a build performance problem that is identical to MNG-5312, and has 
> appeared since MNG-6030 in Maven v3.5.0 reversed the patch for MNG-5312, 
> removing the ModelCache from some of the overloads for 
> DefaultProjectBuilder.build. 
> As in MNG-5312 the problem is in a large proprietary project. It uses up to 8 
> levels of parent POMs, many of which use the import scope and have large 
> dependency-management sections, and has hundreds of dependencies that also 
> use the same parent POM hierarchy. Adding some logging shows that Maven does 
> over 800,000 uncached reads of parent POM files, which takes about half an 
> hour. With model caching this goes down to a few seconds.
> I've attached a patch that fixes this by using a class-level ModelCache in 
> DefaultProjectBuilder. This does not suffer from the memory usage problems 
> reported in MNG-6030.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MNG-6311) Maven intolerably slow when import scope used heavily in large project

2018-05-23 Thread Thomas Nikolay (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16487007#comment-16487007
 ] 

Thomas Nikolay commented on MNG-6311:
-

Our Company runs in the same problem with very large POM structures and 
imports. This is currently a blocker to migrate from 3.3.9 to 3.5.X.

I analysed with Yourkit  [^Call-tree-–-All-threads-together.html]

> Maven intolerably slow when import scope used heavily in large project
> --
>
> Key: MNG-6311
> URL: https://issues.apache.org/jira/browse/MNG-6311
> Project: Maven
>  Issue Type: Bug
>  Components: core, Performance
>Affects Versions: 3.5.0, 3.5.2
>Reporter: David Churcher
>Priority: Major
>  Labels: performance
> Attachments: Call-tree-–-All-threads-together.html, 
> anon-hierarchy-maven-output.zip, modelcachefix.diff
>
>
> I have a build performance problem that is identical to MNG-5312, and has 
> appeared since MNG-6030 in Maven v3.5.0 reversed the patch for MNG-5312, 
> removing the ModelCache from some of the overloads for 
> DefaultProjectBuilder.build. 
> As in MNG-5312 the problem is in a large proprietary project. It uses up to 8 
> levels of parent POMs, many of which use the import scope and have large 
> dependency-management sections, and has hundreds of dependencies that also 
> use the same parent POM hierarchy. Adding some logging shows that Maven does 
> over 800,000 uncached reads of parent POM files, which takes about half an 
> hour. With model caching this goes down to a few seconds.
> I've attached a patch that fixes this by using a class-level ModelCache in 
> DefaultProjectBuilder. This does not suffer from the memory usage problems 
> reported in MNG-6030.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (MNG-6311) Maven intolerably slow when import scope used heavily in large project

2018-05-23 Thread Thomas Nikolay (JIRA)

 [ 
https://issues.apache.org/jira/browse/MNG-6311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Nikolay updated MNG-6311:

Attachment: Call-tree-–-All-threads-together.html

> Maven intolerably slow when import scope used heavily in large project
> --
>
> Key: MNG-6311
> URL: https://issues.apache.org/jira/browse/MNG-6311
> Project: Maven
>  Issue Type: Bug
>  Components: core, Performance
>Affects Versions: 3.5.0, 3.5.2
>Reporter: David Churcher
>Priority: Major
>  Labels: performance
> Attachments: Call-tree-–-All-threads-together.html, 
> anon-hierarchy-maven-output.zip, modelcachefix.diff
>
>
> I have a build performance problem that is identical to MNG-5312, and has 
> appeared since MNG-6030 in Maven v3.5.0 reversed the patch for MNG-5312, 
> removing the ModelCache from some of the overloads for 
> DefaultProjectBuilder.build. 
> As in MNG-5312 the problem is in a large proprietary project. It uses up to 8 
> levels of parent POMs, many of which use the import scope and have large 
> dependency-management sections, and has hundreds of dependencies that also 
> use the same parent POM hierarchy. Adding some logging shows that Maven does 
> over 800,000 uncached reads of parent POM files, which takes about half an 
> hour. With model caching this goes down to a few seconds.
> I've attached a patch that fixes this by using a class-level ModelCache in 
> DefaultProjectBuilder. This does not suffer from the memory usage problems 
> reported in MNG-6030.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (MNG-6415) Project Artifacts Cache does not retain the order of classpath entries.

2018-05-23 Thread Rene Vrijsen (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16486809#comment-16486809
 ] 

Rene Vrijsen edited comment on MNG-6415 at 5/23/18 8:48 AM:


{quote}Can you provide a minimal project depicting your issue?
{quote}
See: MDEP-609

(Seckin Onur, Ahmed and myself work on this same problem for our company :))


was (Author: devrem):
{quote}Can you provide a minimal project depicting your issue?
{quote}
See: MDEP-609

> Project Artifacts Cache does not retain the order of classpath entries.
> ---
>
> Key: MNG-6415
> URL: https://issues.apache.org/jira/browse/MNG-6415
> Project: Maven
>  Issue Type: Bug
>  Components: core
>Affects Versions: 3.5.2
> Environment: Windows 7, JDK8u144
>Reporter: Seckin Onur SELAMET
>Priority: Major
>  Labels: CLASSPATH
> Attachments: 
> [MNG-6415]_Fixes_Project_Artifact_Cache_classpath_order_retaining_issue_.patch
>
>
> Project artifacts cache does not retain the order of classpath entries.
> Wrong Object type used in implementation. HashSet can not guarantee the order 
> of elements.
> In runtime ProjectArtifacts passed as LinkedHashSet already which is safe.
>  
> Possible fix is provided in comments section.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (MRRESOURCES-106) ProcessRemoteResourcesMojo#getProjects() can end up consuming a lot of memory for big projects

2018-05-23 Thread Thomas Mortagne (JIRA)
Thomas Mortagne created MRRESOURCES-106:
---

 Summary: ProcessRemoteResourcesMojo#getProjects() can end up 
consuming a lot of memory for big projects
 Key: MRRESOURCES-106
 URL: https://issues.apache.org/jira/browse/MRRESOURCES-106
 Project: Maven Remote Resources Plugin
  Issue Type: Bug
Affects Versions: 1.5
Reporter: Thomas Mortagne


At XWiki we are using the remote resource plugin to generate a NOTICE files we 
put in the META-INF of all jars. The file can be found on 
https://github.com/xwiki/xwiki-commons/blob/master/xwiki-commons-tools/xwiki-commons-tool-license-resources/src/main/resources/META-INF/NOTICE.vm.

We have a lot of memory issues and we kept increasing the max memory but it was 
starting to be a bit insane (we now get a OOM with -Xmx2500m) so I finally took 
a profiler to try to figure out where all this memory goes.

We did noticed for a while that remote resource plugin is taking longer and 
longer to execute during the build so I had my doubts already.
What Yourkit is telling me is that almost half of the memory (400MB here 
because I reduced the max memory for it to fail earlier) is retained by an 
ArrayList of MavenProject instances located in 
ProcessRemoteResourcesMojo#getProjects().

It can be reproduced by building https://github.com/xwiki/xwiki-platform (you 
will need to add some repositories in your settings.xml, you can find them on 
http://dev.xwiki.org/xwiki/bin/view/Community/Building/#HInstallingMaven).

Also I can probably put the memory dump I have somewhere if someone wants to 
download it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (SCM-885) GitChangeLogCommand is wrong when only endVersion is set

2018-05-23 Thread Matthieu Brouillard (JIRA)

[ 
https://issues.apache.org/jira/browse/SCM-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16486818#comment-16486818
 ] 

Matthieu Brouillard commented on SCM-885:
-

Hi Mickael, 
 * regarding the `.gitattributes`, if I defined both the binary and EOL for the 
repositories I added it is because:
 ** it happened that some files were recognized as text instead of binary
 ** some text files, extracted with CR+LF on my windows machine, were causing 
troubles and lead to unrecognized git repo. Forcing LF resolved the pb.
 * looks like the hooks were not that important ;)

Go ahead otherwise.

> GitChangeLogCommand is wrong when only endVersion is set
> 
>
> Key: SCM-885
> URL: https://issues.apache.org/jira/browse/SCM-885
> Project: Maven SCM
>  Issue Type: Bug
>  Components: maven-scm-provider-gitexe
>Affects Versions: 1.9.5
>Reporter: Matthieu Brouillard
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 1.9.6
>
> Attachments: scm-885-different-behavior-exe-jgit-patch.diff
>
>
> Invoking execution of a GitChangeLogCommand where only the end revision has 
> been set produces a wrong out.
> +Actual result:+
> {{git whatchanged --date=iso  ..END_REVISION_SHA1 -- PROJECT_PATH}}
> +Expected result:+ only the end revison SHA1 is used without the two dots
> {{git whatchanged --date=iso  END_REVISION_SHA1 -- PROJECT_PATH}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MNG-6415) Project Artifacts Cache does not retain the order of classpath entries.

2018-05-23 Thread Rene Vrijsen (JIRA)

[ 
https://issues.apache.org/jira/browse/MNG-6415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16486809#comment-16486809
 ] 

Rene Vrijsen commented on MNG-6415:
---

{quote}Can you provide a minimal project depicting your issue?
{quote}
See: MDEP-609

> Project Artifacts Cache does not retain the order of classpath entries.
> ---
>
> Key: MNG-6415
> URL: https://issues.apache.org/jira/browse/MNG-6415
> Project: Maven
>  Issue Type: Bug
>  Components: core
>Affects Versions: 3.5.2
> Environment: Windows 7, JDK8u144
>Reporter: Seckin Onur SELAMET
>Priority: Major
>  Labels: CLASSPATH
> Attachments: 
> [MNG-6415]_Fixes_Project_Artifact_Cache_classpath_order_retaining_issue_.patch
>
>
> Project artifacts cache does not retain the order of classpath entries.
> Wrong Object type used in implementation. HashSet can not guarantee the order 
> of elements.
> In runtime ProjectArtifacts passed as LinkedHashSet already which is safe.
>  
> Possible fix is provided in comments section.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)