From f6d5ee1baa8e8f0aadd2cec5842f3604edb5f563 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 5 Jul 2017 12:47:51 +0200 Subject: [PATCH] Not using File.separator in ant path pattern should fix issues for Windows fixes #349 --- .../cloud/contract/stubrunner/ContractDownloader.java | 10 +++++----- .../contract/stubrunner/ContractDownloaderSpec.groovy | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/ContractDownloader.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/ContractDownloader.java index 9d261d8474..58ab469c77 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/ContractDownloader.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/ContractDownloader.java @@ -1,14 +1,14 @@ package org.springframework.cloud.contract.stubrunner; -import java.io.File; -import java.lang.invoke.MethodHandles; -import java.util.Map; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties; import org.springframework.util.StringUtils; +import java.io.File; +import java.lang.invoke.MethodHandles; +import java.util.Map; + /** * Downloads a JAR with contracts and sets up the plugin configuration with proper * inclusion patterns @@ -88,7 +88,7 @@ public class ContractDownloader { private String wrapWithAntPattern(String path) { String changedPath = path.replace(File.separator, "/"); - return "**" + surroundWithSeparator(changedPath) + "**/"; + return "**" + surroundWithSeparator(changedPath).replace(File.separator, "/") + "**/"; } private File unpackAndDownloadContracts() { diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/ContractDownloaderSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/ContractDownloaderSpec.groovy index b673564072..cfe5ef5cb4 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/ContractDownloaderSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/ContractDownloaderSpec.groovy @@ -26,6 +26,7 @@ class ContractDownloaderSpec extends Specification { properties.includedContracts.startsWith('^') properties.includedContracts.endsWith('$') properties.includedContracts.contains(fileSeparated('/some/path/to/somewhere(/)?.*/a/b/c/d/.*')) + properties.includedRootFolderAntPattern == "**/a/b/c/d/**/" } def 'should set inclusion pattern on config when path pattern was explicitly provided without a separator at the beginning'() { @@ -42,6 +43,7 @@ class ContractDownloaderSpec extends Specification { properties.includedContracts.startsWith('^') properties.includedContracts.endsWith('$') properties.includedContracts.contains(fileSeparated('/some/path/to/somewhere(/)?.*/a/b/c/d/.*')) + properties.includedRootFolderAntPattern == "**/a/b/c/d/**/" } private static String fileSeparated(String string) {