diff --git a/src/com/cloudogu/ces/cesbuildlib/Maven.groovy b/src/com/cloudogu/ces/cesbuildlib/Maven.groovy index 3286ad90..85df6d8a 100644 --- a/src/com/cloudogu/ces/cesbuildlib/Maven.groovy +++ b/src/com/cloudogu/ces/cesbuildlib/Maven.groovy @@ -22,12 +22,12 @@ abstract class Maven implements Serializable { this.script = script } - def call(String args) { + def call(String args, boolean printStdOut = true) { if (repositories.isEmpty()) { - mvn(args) + mvn(args, printStdOut) } else { script.withCredentials(createRepositoryCredentials(repositories)) { - mvn(args) + mvn(args, printStdOut) } } } @@ -93,7 +93,7 @@ abstract class Maven implements Serializable { String evaluateExpression(String expression) { // See also: https://blog.soebes.de/blog/2018/06/09/help-plugin/ - def evaluatedString = mvn("org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=${expression} -q -DforceStdout", false) + def evaluatedString = call("org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=${expression} -q -DforceStdout", false) // we take only the last line of the evaluated expression, // because in the case of maven wrapper the home and sometimes the download is printed before return evaluatedString.trim().readLines().last() @@ -173,14 +173,14 @@ abstract class Maven implements Serializable { * @param newVersion new project version */ void setVersion(String newVersion) { - mvn "versions:set -DgenerateBackupPoms=false -DnewVersion=${newVersion}" + call "versions:set -DgenerateBackupPoms=false -DnewVersion=${newVersion}" } /** * Set version to next minor snapshot e.g.: 2.0.1 becomes 2.1.0-SNAPSHOT */ void setVersionToNextMinorSnapshot() { - mvn "build-helper:parse-version versions:set -DgenerateBackupPoms=false -DnewVersion='\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT'" + call "build-helper:parse-version versions:set -DgenerateBackupPoms=false -DnewVersion='\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT'" } /** diff --git a/test/com/cloudogu/ces/cesbuildlib/MavenTest.groovy b/test/com/cloudogu/ces/cesbuildlib/MavenTest.groovy index 23808283..e377e7b1 100644 --- a/test/com/cloudogu/ces/cesbuildlib/MavenTest.groovy +++ b/test/com/cloudogu/ces/cesbuildlib/MavenTest.groovy @@ -74,6 +74,17 @@ class MavenTest { assertEquals("Unexpected version returned", "org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout", mvn.getVersion()) } + + @Test + void testGetVersionWithCredentials() { + mvn.useRepositoryCredentials([id: 'number0', credentialsId: 'creds0']) + assertEquals("Unexpected version returned", + "org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout", mvn.getVersion()) + + assert 'creds0' == scriptMock.actualUsernamePasswordArgs[0]['credentialsId'] + assert "NEXUS_REPO_CREDENTIALS_PASSWORD_0" == scriptMock.actualUsernamePasswordArgs[0]['passwordVariable'] + assert "NEXUS_REPO_CREDENTIALS_USERNAME_0" == scriptMock.actualUsernamePasswordArgs[0]['usernameVariable'] + } @Test void testGetArtifactId() {