From c3a55853108c66d6f8035478cd8a4f950a420f44 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 29 Aug 2017 11:03:01 +0200 Subject: [PATCH] WIP --- multi/migrations.html | 83 ------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 multi/migrations.html diff --git a/multi/migrations.html b/multi/migrations.html deleted file mode 100644 index 6f2c7ea591..0000000000 --- a/multi/migrations.html +++ /dev/null @@ -1,83 +0,0 @@ - - - 8. Migrations

8. Migrations

In the following document we will write about necessary migration steps between versions.

8.1 1.0.x → 1.1.x

8.1.1 New structure of generated stubs

In 1.1.x we have introduced a changed structure of generated stubs. So if you’ve -been using the following @AutoConfigureWireMock notation to use the stubs from classpath

@AutoConfigureWireMock(stubs = "classpath:/customer-stubs/mappings", port = 8084)

It will no longer work with the new stubs. You have to either change the location of stubs -to : classpath:…​/META-INF/groupId/artifactId/version/mappings as follows

@AutoConfigureWireMock(stubs = "classpath:customer-stubs/META-INF/travel.components/customer-contract/1.0.2-SNAPSHOT/mappings/", port = 8084)

Or migrate to the new classpath based @AutoConfigureStubRunner.

If however you don’t want to do that and you want to remain with the old structure -just set your plugin tasks accordingly. Example for the structure presented in the -snippet above.

Maven.  -

<!-- start of pom.xml -->
-
-<properties>
-    <!-- we don't want the verifier to do a jar for us -->
-    <spring.cloud.contract.verifier.skip>true</spring.cloud.contract.verifier.skip>
-</properties>
-
-<!-- ... -->
-
-<!-- You need to set up the assembly plugin -->
-<build>
-    <plugins>
-        <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-                <execution>
-                    <id>stub</id>
-                    <phase>prepare-package</phase>
-                    <goals>
-                        <goal>single</goal>
-                    </goals>
-                    <inherited>false</inherited>
-                    <configuration>
-                        <attach>true</attach>
-                        <descriptor>${basedir}/src/assembly/stub.xml</descriptor>
-                    </configuration>
-                </execution>
-            </executions>
-        </plugin>
-    </plugins>
-</build>
-<!-- end of pom.xml -->
-
-<!-- start of stub.xml-->
-
-<assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
-	<id>stubs</id>
-	<formats>
-		<format>jar</format>
-	</formats>
-	<includeBaseDirectory>false</includeBaseDirectory>
-	<fileSets>
-		<fileSet>
-			<directory>${project.build.directory}/snippets/stubs</directory>
-			<outputDirectory>customer-stubs/mappings</outputDirectory>
-			<includes>
-				<include>**/*</include>
-			</includes>
-		</fileSet>
-		<fileSet>
-			<directory>${basedir}/src/test/resources/contracts</directory>
-			<outputDirectory>customer-stubs/contracts</outputDirectory>
-			<includes>
-				<include>**/*.groovy</include>
-			</includes>
-		</fileSet>
-	</fileSets>
-</assembly>
-
-<!-- end of stub.xml-->

-

Gradle.  -

task copyStubs(type: Copy, dependsOn: 'generateWireMockClientStubs') {
-//    Preserve directory structure from 1.0.X of spring-cloud-contract
-    from "${project.buildDir}/resources/main/customer-stubs/META-INF/${project.group}/${project.name}/${project.version}"
-    into "${project.buildDir}/resources/main/customer-stubs"
-}

-

8.2 1.1.x → 1.2.x

8.2.1 Custom HttpServerStub

By introducing a method String registeredMappings() in the public interface -HttpServerStub, if you wrote a custom HttpServerStub implementation, you’ll -have to implement that method too. It should return a String representing -all mappings available in a single HttpServerStub. Related to -issue 355.

8.2.2 New packages for generated tests

The flow for setting the generated tests package name will look like this:

  • pick basePackageForTests
  • if basePackageForTests wasn’t set pick the package from baseClassForTests
  • if baseClassForTests wasn’t set pick packageWithBaseClasses
  • if nothing got set pick the default org.springframework.cloud.contract.verifier.tests value

Related to -issue 260.

\ No newline at end of file