diff --git a/binders/pom.xml b/binders/pom.xml
new file mode 100644
index 000000000..8bab927ff
--- /dev/null
+++ b/binders/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+ org.springframework.cloud
+ binders
+ 4.0.0-SNAPSHOT
+ binders
+ Framework provided binders
+ pom
+
+
+ kafka-binder
+ rabbit-binder
+
+
+
diff --git a/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/pom.xml b/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/pom.xml
index 1de3f1084..2598cc52a 100644
--- a/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/pom.xml
+++ b/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/pom.xml
@@ -101,15 +101,15 @@
httpclient
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
- exec
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/deployer/RabbitDeployer.java b/binders/rabbit-binder/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/deployer/RabbitDeployer.java.todo
similarity index 100%
rename from binders/rabbit-binder/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/deployer/RabbitDeployer.java
rename to binders/rabbit-binder/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/deployer/RabbitDeployer.java.todo
diff --git a/docs/.jdk8 b/core/docs/.jdk8
similarity index 100%
rename from docs/.jdk8
rename to core/docs/.jdk8
diff --git a/docs/pom.xml b/core/docs/pom.xml
similarity index 100%
rename from docs/pom.xml
rename to core/docs/pom.xml
diff --git a/docs/src/main/asciidoc/README.adoc b/core/docs/src/main/asciidoc/README.adoc
similarity index 100%
rename from docs/src/main/asciidoc/README.adoc
rename to core/docs/src/main/asciidoc/README.adoc
diff --git a/docs/src/main/asciidoc/_configprops.adoc b/core/docs/src/main/asciidoc/_configprops.adoc
similarity index 100%
rename from docs/src/main/asciidoc/_configprops.adoc
rename to core/docs/src/main/asciidoc/_configprops.adoc
diff --git a/docs/src/main/asciidoc/binders.adoc b/core/docs/src/main/asciidoc/binders.adoc
similarity index 100%
rename from docs/src/main/asciidoc/binders.adoc
rename to core/docs/src/main/asciidoc/binders.adoc
diff --git a/docs/src/main/asciidoc/ghpages.sh b/core/docs/src/main/asciidoc/ghpages.sh
similarity index 100%
rename from docs/src/main/asciidoc/ghpages.sh
rename to core/docs/src/main/asciidoc/ghpages.sh
diff --git a/docs/src/main/asciidoc/images/SCSt-groups.png b/core/docs/src/main/asciidoc/images/SCSt-groups.png
similarity index 100%
rename from docs/src/main/asciidoc/images/SCSt-groups.png
rename to core/docs/src/main/asciidoc/images/SCSt-groups.png
diff --git a/docs/src/main/asciidoc/images/SCSt-overview.png b/core/docs/src/main/asciidoc/images/SCSt-overview.png
similarity index 100%
rename from docs/src/main/asciidoc/images/SCSt-overview.png
rename to core/docs/src/main/asciidoc/images/SCSt-overview.png
diff --git a/docs/src/main/asciidoc/images/SCSt-partitioning.png b/core/docs/src/main/asciidoc/images/SCSt-partitioning.png
similarity index 100%
rename from docs/src/main/asciidoc/images/SCSt-partitioning.png
rename to core/docs/src/main/asciidoc/images/SCSt-partitioning.png
diff --git a/docs/src/main/asciidoc/images/SCSt-sensors.png b/core/docs/src/main/asciidoc/images/SCSt-sensors.png
similarity index 100%
rename from docs/src/main/asciidoc/images/SCSt-sensors.png
rename to core/docs/src/main/asciidoc/images/SCSt-sensors.png
diff --git a/docs/src/main/asciidoc/images/SCSt-with-binder.png b/core/docs/src/main/asciidoc/images/SCSt-with-binder.png
similarity index 100%
rename from docs/src/main/asciidoc/images/SCSt-with-binder.png
rename to core/docs/src/main/asciidoc/images/SCSt-with-binder.png
diff --git a/docs/src/main/asciidoc/images/custom_vs_global_error_channels.png b/core/docs/src/main/asciidoc/images/custom_vs_global_error_channels.png
similarity index 100%
rename from docs/src/main/asciidoc/images/custom_vs_global_error_channels.png
rename to core/docs/src/main/asciidoc/images/custom_vs_global_error_channels.png
diff --git a/docs/src/main/asciidoc/images/producers-consumers.png b/core/docs/src/main/asciidoc/images/producers-consumers.png
similarity index 100%
rename from docs/src/main/asciidoc/images/producers-consumers.png
rename to core/docs/src/main/asciidoc/images/producers-consumers.png
diff --git a/docs/src/main/asciidoc/images/redis-binder.png b/core/docs/src/main/asciidoc/images/redis-binder.png
similarity index 100%
rename from docs/src/main/asciidoc/images/redis-binder.png
rename to core/docs/src/main/asciidoc/images/redis-binder.png
diff --git a/docs/src/main/asciidoc/images/registration.png b/core/docs/src/main/asciidoc/images/registration.png
similarity index 100%
rename from docs/src/main/asciidoc/images/registration.png
rename to core/docs/src/main/asciidoc/images/registration.png
diff --git a/docs/src/main/asciidoc/images/schema_reading.png b/core/docs/src/main/asciidoc/images/schema_reading.png
similarity index 100%
rename from docs/src/main/asciidoc/images/schema_reading.png
rename to core/docs/src/main/asciidoc/images/schema_reading.png
diff --git a/docs/src/main/asciidoc/images/schema_resolution.png b/core/docs/src/main/asciidoc/images/schema_resolution.png
similarity index 100%
rename from docs/src/main/asciidoc/images/schema_resolution.png
rename to core/docs/src/main/asciidoc/images/schema_resolution.png
diff --git a/docs/src/main/asciidoc/images/spring-initializr.png b/core/docs/src/main/asciidoc/images/spring-initializr.png
similarity index 100%
rename from docs/src/main/asciidoc/images/spring-initializr.png
rename to core/docs/src/main/asciidoc/images/spring-initializr.png
diff --git a/docs/src/main/asciidoc/index.adoc b/core/docs/src/main/asciidoc/index.adoc
similarity index 100%
rename from docs/src/main/asciidoc/index.adoc
rename to core/docs/src/main/asciidoc/index.adoc
diff --git a/docs/src/main/asciidoc/preface.adoc b/core/docs/src/main/asciidoc/preface.adoc
similarity index 100%
rename from docs/src/main/asciidoc/preface.adoc
rename to core/docs/src/main/asciidoc/preface.adoc
diff --git a/docs/src/main/asciidoc/sagan-index.adoc b/core/docs/src/main/asciidoc/sagan-index.adoc
similarity index 100%
rename from docs/src/main/asciidoc/sagan-index.adoc
rename to core/docs/src/main/asciidoc/sagan-index.adoc
diff --git a/docs/src/main/asciidoc/spring-cloud-stream.adoc b/core/docs/src/main/asciidoc/spring-cloud-stream.adoc
similarity index 100%
rename from docs/src/main/asciidoc/spring-cloud-stream.adoc
rename to core/docs/src/main/asciidoc/spring-cloud-stream.adoc
diff --git a/docs/src/main/ruby/generate_readme.sh b/core/docs/src/main/ruby/generate_readme.sh
similarity index 100%
rename from docs/src/main/ruby/generate_readme.sh
rename to core/docs/src/main/ruby/generate_readme.sh
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 000000000..f90075db9
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,21 @@
+
+
+ 4.0.0
+ org.springframework.cloud
+ core
+ 4.0.0-SNAPSHOT
+ core
+ Core Spring Cloud Stream
+ pom
+
+
+ spring-cloud-stream
+ spring-cloud-stream-binder-test
+
+ spring-cloud-stream-test-support
+ spring-cloud-stream-test-support-internal
+ spring-cloud-stream-integration-tests
+ docs
+
+
+
diff --git a/spring-cloud-stream-binder-test/.jdk8 b/core/spring-cloud-stream-binder-test/.jdk8
similarity index 100%
rename from spring-cloud-stream-binder-test/.jdk8
rename to core/spring-cloud-stream-binder-test/.jdk8
diff --git a/spring-cloud-stream-binder-test/pom.xml b/core/spring-cloud-stream-binder-test/pom.xml
similarity index 100%
rename from spring-cloud-stream-binder-test/pom.xml
rename to core/spring-cloud-stream-binder-test/pom.xml
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractPollableConsumerTestBinder.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractPollableConsumerTestBinder.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractPollableConsumerTestBinder.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractPollableConsumerTestBinder.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestEnvironmentPostProcessor.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestEnvironmentPostProcessor.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestEnvironmentPostProcessor.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestEnvironmentPostProcessor.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionTestSupport.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionTestSupport.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionTestSupport.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionTestSupport.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/SerializableFoo.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/SerializableFoo.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/SerializableFoo.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/SerializableFoo.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/Spy.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/Spy.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/Spy.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/Spy.java
diff --git a/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/TestUtils.java b/core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/TestUtils.java
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/TestUtils.java
rename to core/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/TestUtils.java
diff --git a/spring-cloud-stream-binder-test/src/main/resources/META-INF/spring.factories b/core/spring-cloud-stream-binder-test/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from spring-cloud-stream-binder-test/src/main/resources/META-INF/spring.factories
rename to core/spring-cloud-stream-binder-test/src/main/resources/META-INF/spring.factories
diff --git a/spring-cloud-stream-integration-tests/.jdk8 b/core/spring-cloud-stream-integration-tests/.jdk8
similarity index 100%
rename from spring-cloud-stream-integration-tests/.jdk8
rename to core/spring-cloud-stream-integration-tests/.jdk8
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/ContentTypeOutboundSourceTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/ContentTypeOutboundSourceTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/ContentTypeOutboundSourceTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/ContentTypeOutboundSourceTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/CustomHeaderPropagationTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/CustomHeaderPropagationTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/CustomHeaderPropagationTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/CustomHeaderPropagationTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/CustomMessageConverterTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/CustomMessageConverterTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/CustomMessageConverterTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/CustomMessageConverterTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/DefaultHeaderPropagationWithApplicationProvidedHeaderTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/DeserializeJSONToJavaTypeTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/DeserializeJSONToJavaTypeTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/DeserializeJSONToJavaTypeTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/DeserializeJSONToJavaTypeTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelConfigurerTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelConfigurerTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/MessageChannelConfigurerTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelConfigurerTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeDecodingTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeDecodingTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeDecodingTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeDecodingTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeEncodingTests.java b/core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeEncodingTests.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeEncodingTests.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/MessageChannelWithNativeEncodingTests.java
diff --git a/spring-cloud-stream-integration-tests/deleted-tests/TextPlainConversionTest.java b/core/spring-cloud-stream-integration-tests/deleted-tests/TextPlainConversionTest.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/deleted-tests/TextPlainConversionTest.java
rename to core/spring-cloud-stream-integration-tests/deleted-tests/TextPlainConversionTest.java
diff --git a/spring-cloud-stream-integration-tests/pom.xml b/core/spring-cloud-stream-integration-tests/pom.xml
similarity index 100%
rename from spring-cloud-stream-integration-tests/pom.xml
rename to core/spring-cloud-stream-integration-tests/pom.xml
diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java.todo b/core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java.todo
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java.todo
rename to core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/TextPlainToJsonConversionTest.java.todo
diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java.todo b/core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java.todo
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java.todo
rename to core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/ContentTypeTests.java.todo
diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/User.java b/core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/User.java
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/User.java
rename to core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/contentType/User.java
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-decoding-sink.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-decoding-sink.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-decoding-sink.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-decoding-sink.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-encoding-source.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-encoding-source.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-encoding-source.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/native-encoding-source.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/partitioned-configurers.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/partitioned-configurers.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/partitioned-configurers.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/partitioned-configurers.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/sink-channel-configurers.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/sink-channel-configurers.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/sink-channel-configurers.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/sink-channel-configurers.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/source-channel-configurers.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/source-channel-configurers.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/source-channel-configurers.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/channel/source-channel-configurers.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/custom/source-channel-configurers.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/custom/source-channel-configurers.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/custom/source-channel-configurers.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/custom/source-channel-configurers.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/fooprocesor/foo-sink.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/fooprocesor/foo-sink.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/fooprocesor/foo-sink.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/fooprocesor/foo-sink.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/inboundjsontuple/inbound-json-tuple.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/inboundjsontuple/inbound-json-tuple.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/inboundjsontuple/inbound-json-tuple.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/inboundjsontuple/inbound-json-tuple.properties
diff --git a/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/textplain/text-plain.properties b/core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/textplain/text-plain.properties
similarity index 100%
rename from spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/textplain/text-plain.properties
rename to core/spring-cloud-stream-integration-tests/src/test/resources/org/springframework/cloud/stream/config/textplain/text-plain.properties
diff --git a/spring-cloud-stream-test-support-internal/.jdk8 b/core/spring-cloud-stream-test-support-internal/.jdk8
similarity index 100%
rename from spring-cloud-stream-test-support-internal/.jdk8
rename to core/spring-cloud-stream-test-support-internal/.jdk8
diff --git a/spring-cloud-stream-test-support-internal/pom.xml b/core/spring-cloud-stream-test-support-internal/pom.xml
similarity index 100%
rename from spring-cloud-stream-test-support-internal/pom.xml
rename to core/spring-cloud-stream-test-support-internal/pom.xml
diff --git a/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/AbstractExternalResourceTestSupport.java b/core/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/AbstractExternalResourceTestSupport.java
similarity index 100%
rename from spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/AbstractExternalResourceTestSupport.java
rename to core/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/AbstractExternalResourceTestSupport.java
diff --git a/spring-cloud-stream-test-support/.jdk8 b/core/spring-cloud-stream-test-support/.jdk8
similarity index 100%
rename from spring-cloud-stream-test-support/.jdk8
rename to core/spring-cloud-stream-test-support/.jdk8
diff --git a/spring-cloud-stream-test-support/pom.xml b/core/spring-cloud-stream-test-support/pom.xml
similarity index 100%
rename from spring-cloud-stream-test-support/pom.xml
rename to core/spring-cloud-stream-test-support/pom.xml
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollector.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollector.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollector.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollector.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollectorAutoConfiguration.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollectorAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollectorAutoConfiguration.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/MessageCollectorAutoConfiguration.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestBinderEnvironmentPostProcessor.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestBinderEnvironmentPostProcessor.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestBinderEnvironmentPostProcessor.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestBinderEnvironmentPostProcessor.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderAutoConfiguration.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderAutoConfiguration.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderAutoConfiguration.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderConfiguration.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderConfiguration.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderConfiguration.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinderConfiguration.java
diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcher.java b/core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcher.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcher.java
rename to core/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcher.java
diff --git a/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.binders b/core/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.binders
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/resources/META-INF/spring.binders
rename to core/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.binders
diff --git a/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.factories b/core/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from spring-cloud-stream-test-support/src/main/resources/META-INF/spring.factories
rename to core/spring-cloud-stream-test-support/src/main/resources/META-INF/spring.factories
diff --git a/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcherTest.java b/core/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcherTest.java
similarity index 100%
rename from spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcherTest.java
rename to core/spring-cloud-stream-test-support/src/test/java/org/springframework/cloud/stream/test/matcher/MessageQueueMatcherTest.java
diff --git a/spring-cloud-stream/.jdk8 b/core/spring-cloud-stream/.jdk8
similarity index 100%
rename from spring-cloud-stream/.jdk8
rename to core/spring-cloud-stream/.jdk8
diff --git a/spring-cloud-stream/pom.xml b/core/spring-cloud-stream/pom.xml
similarity index 100%
rename from spring-cloud-stream/pom.xml
rename to core/spring-cloud-stream/pom.xml
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/annotation/StreamRetryTemplate.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/annotation/StreamRetryTemplate.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/annotation/StreamRetryTemplate.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/annotation/StreamRetryTemplate.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderCustomizer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderCustomizer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderCustomizer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderCustomizer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderErrorChannel.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderErrorChannel.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderErrorChannel.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderErrorChannel.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderException.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderException.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderException.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderException.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderSpecificPropertiesProvider.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderSpecificPropertiesProvider.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderSpecificPropertiesProvider.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderSpecificPropertiesProvider.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderType.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderType.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderType.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderType.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binding.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binding.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binding.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/Binding.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCleaner.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCleaner.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCleaner.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCleaner.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCreatedEvent.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCreatedEvent.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCreatedEvent.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BindingCreatedEvent.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinding.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinding.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinding.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinding.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultPollableMessageSource.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DirectHandler.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DirectHandler.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DirectHandler.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DirectHandler.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeaderUtils.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeaderUtils.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeaderUtils.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeaderUtils.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedBindingProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedBindingProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedBindingProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedBindingProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedConsumerProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedConsumerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedConsumerProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedConsumerProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedProducerProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedProducerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedProducerProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedProducerProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/FinalRethrowingErrorMessageHandler.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/FinalRethrowingErrorMessageHandler.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/FinalRethrowingErrorMessageHandler.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/FinalRethrowingErrorMessageHandler.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/JavaClassMimeTypeUtils.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/JavaClassMimeTypeUtils.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/JavaClassMimeTypeUtils.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/JavaClassMimeTypeUtils.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberAwareChannel.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberAwareChannel.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberAwareChannel.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberAwareChannel.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberMessageHandler.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberMessageHandler.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberMessageHandler.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/LastSubscriberMessageHandler.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageValues.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageValues.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageValues.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/MessageValues.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionSelectorStrategy.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionSelectorStrategy.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionSelectorStrategy.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionSelectorStrategy.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableConsumerBinder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableConsumerBinder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableConsumerBinder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableConsumerBinder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableMessageSource.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableMessageSource.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableMessageSource.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableMessageSource.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableSource.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableSource.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableSource.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PollableSource.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/RequeueCurrentMessageException.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/RequeueCurrentMessageException.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/RequeueCurrentMessageException.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/RequeueCurrentMessageException.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindableProxyFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindableProxyFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindableProxyFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindableProxyFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingLifecycle.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingLifecycle.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingLifecycle.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingLifecycle.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingTargetFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingTargetFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingTargetFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/AbstractBindingTargetFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/Bindable.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/Bindable.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/Bindable.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/Bindable.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingService.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingService.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingService.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingService.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingTargetFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingTargetFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingTargetFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingTargetFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingsLifecycleController.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingsLifecycleController.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingsLifecycleController.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindingsLifecycleController.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BoundTargetHolder.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BoundTargetHolder.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BoundTargetHolder.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BoundTargetHolder.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/CompositeMessageChannelConfigurer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/CompositeMessageChannelConfigurer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/CompositeMessageChannelConfigurer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/CompositeMessageChannelConfigurer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/ContextStartAfterRefreshListener.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/ContextStartAfterRefreshListener.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/ContextStartAfterRefreshListener.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/ContextStartAfterRefreshListener.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DefaultPartitioningInterceptor.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DefaultPartitioningInterceptor.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DefaultPartitioningInterceptor.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DefaultPartitioningInterceptor.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DynamicDestinationsBindable.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DynamicDestinationsBindable.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DynamicDestinationsBindable.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DynamicDestinationsBindable.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTargetFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTargetFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTargetFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTargetFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/InputBindingLifecycle.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/InputBindingLifecycle.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/InputBindingLifecycle.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/InputBindingLifecycle.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelAndSourceConfigurer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelAndSourceConfigurer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelAndSourceConfigurer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelAndSourceConfigurer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelConfigurer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelConfigurer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelConfigurer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageChannelConfigurer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageSourceBindingTargetFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageSourceBindingTargetFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageSourceBindingTargetFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageSourceBindingTargetFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/NewDestinationBindingCallback.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/NewDestinationBindingCallback.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/NewDestinationBindingCallback.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/NewDestinationBindingCallback.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/StreamAnnotationErrorMessages.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/StreamAnnotationErrorMessages.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/StreamAnnotationErrorMessages.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/StreamAnnotationErrorMessages.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SubscribableChannelBindingTargetFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SubscribableChannelBindingTargetFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SubscribableChannelBindingTargetFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SubscribableChannelBindingTargetFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SupportedBindableFeatures.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SupportedBindableFeatures.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SupportedBindableFeatures.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/SupportedBindableFeatures.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderFactoryAutoConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderFactoryAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderFactoryAutoConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderFactoryAutoConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BinderProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindersHealthIndicatorAutoConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindersHealthIndicatorAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindersHealthIndicatorAutoConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindersHealthIndicatorAutoConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingHandlerAdvise.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingHandlerAdvise.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingHandlerAdvise.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingHandlerAdvise.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingsEndpointAutoConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingsEndpointAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingsEndpointAutoConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingsEndpointAutoConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelsEndpointAutoConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelsEndpointAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelsEndpointAutoConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelsEndpointAutoConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ConsumerEndpointCustomizer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ConsumerEndpointCustomizer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ConsumerEndpointCustomizer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ConsumerEndpointCustomizer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ContentTypeConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ContentTypeConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ContentTypeConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ContentTypeConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ListenerContainerCustomizer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ListenerContainerCustomizer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ListenerContainerCustomizer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ListenerContainerCustomizer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/MessageSourceCustomizer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/MessageSourceCustomizer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/MessageSourceCustomizer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/MessageSourceCustomizer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/PollerConfigEnvironmentPostProcessor.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/PollerConfigEnvironmentPostProcessor.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/PollerConfigEnvironmentPostProcessor.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/PollerConfigEnvironmentPostProcessor.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ProducerMessageHandlerCustomizer.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ProducerMessageHandlerCustomizer.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ProducerMessageHandlerCustomizer.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ProducerMessageHandlerCustomizer.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartMessageMethodArgumentResolver.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartMessageMethodArgumentResolver.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartMessageMethodArgumentResolver.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartMessageMethodArgumentResolver.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartPayloadArgumentResolver.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartPayloadArgumentResolver.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartPayloadArgumentResolver.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SmartPayloadArgumentResolver.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpringIntegrationProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpringIntegrationProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpringIntegrationProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpringIntegrationProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverter.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverter.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverter.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverter.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CompositeMessageConverterFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CompositeMessageConverterFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CompositeMessageConverterFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CompositeMessageConverterFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ObjectStringMessageConverter.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ObjectStringMessageConverter.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ObjectStringMessageConverter.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ObjectStringMessageConverter.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/BindingsEndpoint.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/BindingsEndpoint.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/BindingsEndpoint.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/BindingsEndpoint.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/BindableFunctionProxyFactory.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/BindableFunctionProxyFactory.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/BindableFunctionProxyFactory.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/BindableFunctionProxyFactory.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConstants.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConstants.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConstants.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConstants.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/PartitionAwareFunctionWrapper.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/PartitionAwareFunctionWrapper.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/PartitionAwareFunctionWrapper.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/PartitionAwareFunctionWrapper.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamFunctionProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamFunctionProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamFunctionProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamFunctionProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/DirectWithAttributesChannel.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/DirectWithAttributesChannel.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/DirectWithAttributesChannel.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/DirectWithAttributesChannel.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetrics.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetrics.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetrics.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetrics.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetricsProperties.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetricsProperties.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetricsProperties.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/ApplicationMetricsProperties.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DefaultDestinationPublishingMeterRegistry.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DestinationPublishingMetricsAutoConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DestinationPublishingMetricsAutoConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DestinationPublishingMetricsAutoConfiguration.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/DestinationPublishingMetricsAutoConfiguration.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetersPublisherBinding.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetersPublisherBinding.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetersPublisherBinding.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetersPublisherBinding.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/Metric.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/Metric.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/Metric.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/Metric.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetricsPublisherConfig.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetricsPublisherConfig.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetricsPublisherConfig.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/micrometer/MetricsPublisherConfig.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ConsumerDestination.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ConsumerDestination.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ConsumerDestination.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ConsumerDestination.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProducerDestination.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProducerDestination.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProducerDestination.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProducerDestination.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningException.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningException.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningException.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningException.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningProvider.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningProvider.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningProvider.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/provisioning/ProvisioningProvider.java
diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/reflection/GenericsUtils.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/reflection/GenericsUtils.java
similarity index 100%
rename from spring-cloud-stream/src/main/java/org/springframework/cloud/stream/reflection/GenericsUtils.java
rename to core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/reflection/GenericsUtils.java
diff --git a/spring-cloud-stream/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/core/spring-cloud-stream/src/main/resources/META-INF/additional-spring-configuration-metadata.json
similarity index 100%
rename from spring-cloud-stream/src/main/resources/META-INF/additional-spring-configuration-metadata.json
rename to core/spring-cloud-stream/src/main/resources/META-INF/additional-spring-configuration-metadata.json
diff --git a/spring-cloud-stream/src/main/resources/META-INF/spring.factories b/core/spring-cloud-stream/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from spring-cloud-stream/src/main/resources/META-INF/spring.factories
rename to core/spring-cloud-stream/src/main/resources/META-INF/spring.factories
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinderTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinderTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinderTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinderTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderErrorChannelTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderErrorChannelTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderErrorChannelTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderErrorChannelTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BindingTargetTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BindingTargetTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BindingTargetTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BindingTargetTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/DefaultBinderTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/DefaultBinderTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/DefaultBinderTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/DefaultBinderTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ErrorBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ErrorBindingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ErrorBindingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ErrorBindingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesDefaultTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesDefaultTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesDefaultTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesDefaultTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/PollableConsumerTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/PollableConsumerTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/PollableConsumerTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/PollableConsumerTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingWithDefaultsTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingWithDefaultsTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingWithDefaultsTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingWithDefaultsTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ErrorHandlingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ErrorHandlingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ErrorHandlingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ErrorHandlingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/AbstractDestination.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/AbstractDestination.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/AbstractDestination.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/AbstractDestination.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/FunctionBindingTestUtils.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/FunctionBindingTestUtils.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/FunctionBindingTestUtils.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/FunctionBindingTestUtils.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/InputDestination.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/InputDestination.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/InputDestination.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/InputDestination.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/OutputDestination.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/OutputDestination.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/OutputDestination.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/OutputDestination.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinder.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinder.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinder.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinder.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderConfiguration.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderConfiguration.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderConfiguration.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderProvisioner.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderProvisioner.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderProvisioner.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderProvisioner.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/TestChannelBinderTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/package-info.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/package-info.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/package-info.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/test/package-info.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingLifecycleTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingLifecycleTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingLifecycleTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingLifecycleTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingServiceTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingServiceTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingServiceTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/BindingServiceTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/CustomPartitionedProducerTest.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/CustomPartitionedProducerTest.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/CustomPartitionedProducerTest.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/CustomPartitionedProducerTest.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/ExplicitBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/ExplicitBindingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/ExplicitBindingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/ExplicitBindingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/FluxMessageChannelBindingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/MessageConverterConfigurerTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/MessageConverterConfigurerTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/MessageConverterConfigurerTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binding/MessageConverterConfigurerTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ArgumentResolversTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ArgumentResolversTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ArgumentResolversTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ArgumentResolversTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderPropertiesTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderPropertiesTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderPropertiesTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderPropertiesTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingHandlerAdviseTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingHandlerAdviseTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingHandlerAdviseTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingHandlerAdviseTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingServiceConfigurationTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingServiceConfigurationTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingServiceConfigurationTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BindingServiceConfigurationTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/RetryTemplateTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/RetryTemplateTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/RetryTemplateTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/RetryTemplateTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfigurationTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfigurationTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfigurationTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfigurationTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverterTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverterTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverterTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/converter/ApplicationJsonMessageMarshallingConverterTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/endpoint/ActuatorBindingsTest.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/endpoint/ActuatorBindingsTest.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/endpoint/ActuatorBindingsTest.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/endpoint/ActuatorBindingsTest.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/DynamicDestinationFunctionTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/DynamicDestinationFunctionTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/DynamicDestinationFunctionTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/DynamicDestinationFunctionTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/FunctionBatchingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/FunctionBatchingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/FunctionBatchingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/FunctionBatchingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/GreenfieldFunctionEnableBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/GreenfieldFunctionEnableBindingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/GreenfieldFunctionEnableBindingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/GreenfieldFunctionEnableBindingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/MultipleInputOutputFunctionTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/MultipleInputOutputFunctionTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/MultipleInputOutputFunctionTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/MultipleInputOutputFunctionTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/PollableSourceTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/PollableSourceTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/PollableSourceTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/PollableSourceTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/RoutingFunctionTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/RoutingFunctionTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/RoutingFunctionTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/RoutingFunctionTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ScenarioTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ScenarioTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ScenarioTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ScenarioTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/StreamBridgeTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/StreamBridgeTests.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/StreamBridgeTests.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/StreamBridgeTests.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/edgecases/GH1801Test.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/edgecases/GH1801Test.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/edgecases/GH1801Test.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/edgecases/GH1801Test.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionKeyExtractorClass.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionKeyExtractorClass.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionKeyExtractorClass.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionKeyExtractorClass.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionSelectorClass.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionSelectorClass.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionSelectorClass.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/CustomPartitionSelectorClass.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooBindingProperties.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooBindingProperties.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooBindingProperties.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooBindingProperties.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooConsumerProperties.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooConsumerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooConsumerProperties.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooConsumerProperties.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooProducerProperties.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooProducerProperties.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooProducerProperties.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooProducerProperties.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java
diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockExtendedBinderConfiguration.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockExtendedBinderConfiguration.java
similarity index 100%
rename from spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockExtendedBinderConfiguration.java
rename to core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockExtendedBinderConfiguration.java
diff --git a/spring-cloud-stream/src/test/resources/META-INF/spring.binders b/core/spring-cloud-stream/src/test/resources/META-INF/spring.binders
similarity index 100%
rename from spring-cloud-stream/src/test/resources/META-INF/spring.binders
rename to core/spring-cloud-stream/src/test/resources/META-INF/spring.binders
diff --git a/spring-cloud-stream/src/test/resources/binder1/META-INF/spring.binders b/core/spring-cloud-stream/src/test/resources/binder1/META-INF/spring.binders
similarity index 100%
rename from spring-cloud-stream/src/test/resources/binder1/META-INF/spring.binders
rename to core/spring-cloud-stream/src/test/resources/binder1/META-INF/spring.binders
diff --git a/spring-cloud-stream/src/test/resources/binder2/META-INF/spring.binders b/core/spring-cloud-stream/src/test/resources/binder2/META-INF/spring.binders
similarity index 100%
rename from spring-cloud-stream/src/test/resources/binder2/META-INF/spring.binders
rename to core/spring-cloud-stream/src/test/resources/binder2/META-INF/spring.binders
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/arbitrary-binding-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/arbitrary-binding-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/arbitrary-binding-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/arbitrary-binding-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/cloud-function-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/cloud-function-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/cloud-function-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/cloud-function-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/custom-partitioned-producer-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/custom-partitioned-producer-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/custom-partitioned-producer-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/custom-partitioned-producer-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-consumer-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-consumer-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-consumer-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-consumer-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-producer-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-producer-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-producer-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/partitioned-producer-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/processor-binding-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/processor-binding-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/processor-binding-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/processor-binding-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/sink-binding-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/sink-binding-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/sink-binding-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/sink-binding-test.properties
diff --git a/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/source-binding-test.properties b/core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/source-binding-test.properties
similarity index 100%
rename from spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/source-binding-test.properties
rename to core/spring-cloud-stream/src/test/resources/org/springframework/cloud/stream/binder/source-binding-test.properties
diff --git a/spring-cloud-stream/work.txt b/core/spring-cloud-stream/work.txt
similarity index 100%
rename from spring-cloud-stream/work.txt
rename to core/spring-cloud-stream/work.txt
diff --git a/pom.xml b/pom.xml
index 9a36015c3..3f301fbf8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,15 +30,7 @@
true
true
-
- spring-cloud-stream
- spring-cloud-stream-binder-test
- spring-cloud-stream-test-support
- spring-cloud-stream-test-support-internal
- spring-cloud-stream-integration-tests
- docs
-
@@ -175,10 +167,43 @@
+
+ full
+
+ true
+
+
+ core
+ binders
+ bom
+
+
+
+ kafka
+
+ binders/kafka-binder
+
+
+
+ rabbit
+
+ binders/rabbit-binder
+
+
+
+ bom
+
+ bom
+
+
+
+ core
+
+ core
+
+
spring
-
-
coverage