You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2025/07/16 17:32:30 UTC

(grails-core) branch neo4jUpdates created (now c44b3c89f4)

This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a change to branch neo4jUpdates
in repository https://gitbox.apache.org/repos/asf/grails-core.git


      at c44b3c89f4 WIP: neo4j initial updates

This branch includes the following new commits:

     new c44b3c89f4 WIP: neo4j initial updates

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(grails-core) 01/01: WIP: neo4j initial updates

Posted by jd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch neo4jUpdates
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit c44b3c89f478e5405950a213470b21cc2492c033
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Wed Jul 16 11:32:15 2025 -0600

    WIP: neo4j initial updates
---
 grails-data-neo4j/core/build.gradle                |  66 +++++++++++++
 .../src/main/groovy/grails/neo4j/Direction.groovy  |   0
 .../main/groovy/grails/neo4j/Neo4jEntity.groovy    |   0
 .../src/main/groovy/grails/neo4j/Node.groovy       |   0
 .../src/main/groovy/grails/neo4j/Path.groovy       |   0
 .../main/groovy/grails/neo4j/Relationship.groovy   |   0
 .../grails/neo4j/mapping/MappingBuilder.groovy     |   0
 .../groovy/grails/neo4j/services/Cypher.groovy     |   0
 .../grails/datastore/gorm/neo4j/CypherBuilder.java |   0
 .../datastore/gorm/neo4j/GraphClassMapping.groovy  |   0
 .../gorm/neo4j/GraphGormMappingFactory.groovy      |   0
 .../gorm/neo4j/GraphPersistentEntity.groovy        |   0
 .../grails/datastore/gorm/neo4j/IdGenerator.java   |   0
 .../datastore/gorm/neo4j/Neo4jDatastore.java       |   4 +-
 .../neo4j/Neo4jDatastoreTransactionManager.java    |   2 +-
 .../gorm/neo4j/Neo4jEntityTraitProvider.groovy     |   0
 .../datastore/gorm/neo4j/Neo4jMappingContext.java  |   0
 .../grails/datastore/gorm/neo4j/Neo4jSession.java  |   2 +-
 .../datastore/gorm/neo4j/Neo4jTransaction.groovy   |   0
 .../gorm/neo4j/RelationshipPersistentEntity.groovy |   0
 .../datastore/gorm/neo4j/RelationshipUtils.groovy  |   0
 .../datastore/gorm/neo4j/SessionFlushedEvent.java  |   0
 .../datastore/gorm/neo4j/TypeDirectionPair.java    |   0
 .../gorm/neo4j/api/Neo4jGormStaticApi.groovy       |   0
 .../gorm/neo4j/collection/GraphAdapter.groovy      |   0
 .../collection/Neo4jAssociationResultList.groovy   |   0
 .../gorm/neo4j/collection/Neo4jList.groovy         |   0
 .../gorm/neo4j/collection/Neo4jPath.groovy         |   0
 .../neo4j/collection/Neo4jPersistentList.groovy    |   0
 .../neo4j/collection/Neo4jPersistentSet.groovy     |   0
 .../collection/Neo4jPersistentSortedSet.groovy     |   0
 .../gorm/neo4j/collection/Neo4jRelationship.groovy |   0
 .../gorm/neo4j/collection/Neo4jResultList.groovy   |   2 +-
 .../gorm/neo4j/collection/Neo4jSet.groovy          |   0
 .../gorm/neo4j/collection/Neo4jSortedSet.groovy    |   0
 .../neo4j/config/Neo4jDriverConfigBuilder.groovy   |   0
 .../datastore/gorm/neo4j/config/Settings.java      |   0
 .../connections/Neo4jConnectionSourceFactory.java  |   0
 .../Neo4jConnectionSourceSettings.groovy           |   0
 .../Neo4jConnectionSourceSettingsBuilder.groovy    |   0
 .../connections/Neo4jEmbeddedConnectionSource.java |   0
 .../neo4j/engine/DynamicAssociationSupport.java    |   0
 .../engine/Neo4jAssociationQueryExecutor.groovy    |   2 +-
 .../gorm/neo4j/engine/Neo4jEntityPersister.java    |   4 +-
 .../Neo4jModificationTrackingEntityAccess.groovy   |   0
 .../datastore/gorm/neo4j/engine/Neo4jQuery.groovy  |   2 +-
 .../neo4j/engine/RelationshipPendingDelete.java    |   0
 .../neo4j/engine/RelationshipPendingInsert.java    |   0
 .../gorm/neo4j/extensions/Neo4jExtensions.groovy   |   0
 .../gorm/neo4j/identity/SnowflakeIdGenerator.java  |   0
 .../gorm/neo4j/mapping/config/Attribute.groovy     |   0
 .../neo4j/mapping/config/DynamicAssociation.java   |   0
 .../mapping/config/DynamicToManyAssociation.java   |   0
 .../mapping/config/DynamicToOneAssociation.java    |   0
 .../gorm/neo4j/mapping/config/NodeConfig.groovy    |   0
 .../neo4j/mapping/config/RelationshipConfig.groovy |   0
 .../neo4j/mapping/reflect/Neo4jNameUtils.groovy    |   0
 .../datastore/gorm/neo4j/parsers/PlingStemmer.java |   0
 .../proxy/HashcodeEqualsAwareProxyFactory.java     |   0
 .../proxy/Neo4jAssociationQueryProxyHandler.java   |   0
 .../gorm/neo4j/proxy/Neo4jProxyFactory.java        |   0
 .../FindAllCypherQueryImplementer.groovy           |   0
 .../FindOneCypherQueryImplementer.groovy           |   0
 .../FindPathCypherQueryImplementer.groovy          |   0
 .../FindShortestPathImplementer.groovy             |   0
 .../StatementResultCypherQueryImplementer.groovy   |   0
 .../UpdateCypherQueryImplementer.groovy            |   0
 .../transform/CypherQueryStringTransformer.groovy  |   0
 .../gorm/neo4j/util/EmbeddedNeo4jServer.java       |   0
 .../datastore/gorm/neo4j/util/IteratorUtil.java    |   0
 .../org.codehaus.groovy.runtime.ExtensionModule    |   0
 ...rg.grails.compiler.gorm.GormEntityTraitProvider |   0
 ...ails.datastore.gorm.services.ServiceImplementer |   0
 .../groovy/grails/gorm/tests/AssignedIdSpec.groovy |   0
 .../grails/gorm/tests/CascadingDeleteSpec.groovy   |   0
 .../CustomLabelWithDynamicAssociationSpec.groovy   |   0
 .../grails/gorm/tests/CypherQueryStringSpec.groovy |   0
 .../grails/gorm/tests/EagerFetchingSpec.groovy     |   0
 .../grails/gorm/tests/EntityParseSpec.groovy       |   0
 .../grails/gorm/tests/FindByIsNullSpec.groovy      |   0
 .../grails/gorm/tests/GormDatastoreSpec.groovy     |   0
 .../grails/gorm/tests/GroovyProxySpec.groovy       |   0
 .../gorm/tests/HasManyInheritanceSpec.groovy       |   0
 .../grails/gorm/tests/InheritanceProxySpec.groovy  |   0
 .../grails/gorm/tests/JavaxValidationSpec.groovy   |   4 +-
 .../grails/gorm/tests/JoinCriteriaSpec.groovy      |   0
 .../grails/gorm/tests/LabelStrategySpec.groovy     |   0
 .../groovy/grails/gorm/tests/LikeQuerySpec.groovy  |   0
 .../grails/gorm/tests/ManyToManyQuerySpec.groovy   |   0
 .../groovy/grails/gorm/tests/ManyToManySpec.groovy |   0
 .../grails/gorm/tests/MapPropertySpec.groovy       |   0
 .../grails/gorm/tests/MarkDirtyFalseSpec.groovy    |   0
 .../test/groovy/grails/gorm/tests/MiscSpec.groovy  |   0
 .../gorm/tests/MultipleConnectionsSpec.groovy      |   0
 .../gorm/tests/NativeIdentityGeneratorSpec.groovy  |   0
 .../grails/gorm/tests/Neo4jNameUtilsSpec.groovy    |   0
 .../grails/gorm/tests/Neo4jResultListSpec.groovy   |   0
 .../grails/gorm/tests/NullValueEqualSpec.groovy    |   0
 .../grails/gorm/tests/OneToManyUpdateSpec.groovy   |   0
 .../groovy/grails/gorm/tests/OneToOneSpec.groovy   |   0
 .../grails/gorm/tests/OptimisticLockingSpec.groovy |   0
 .../grails/gorm/tests/OrphanDeleteSpec.groovy      |   0
 .../grails/gorm/tests/PagedResultSpec.groovy       |   0
 .../gorm/tests/PersistenceEventListenerSpec.groovy |   0
 .../src/test/groovy/grails/gorm/tests/Pet.groovy   |   0
 .../grails/gorm/tests/ProjectionsSpec.groovy       |   0
 .../test/groovy/grails/gorm/tests/ProxySpec.groovy |   0
 .../grails/gorm/tests/ReadManyObjectsSpec.groovy   |   2 +-
 .../gorm/tests/RelationshipMappingSpec.groovy      |   2 +-
 .../grails/gorm/tests/RelationshipUtilsSpec.groovy |   0
 .../groovy/grails/gorm/tests/SchemalessSpec.groovy |   0
 .../groovy/grails/gorm/tests/TransientsSpec.groovy |   0
 .../grails/gorm/tests/UniqueConstraintSpec.groovy  |   2 +-
 .../gorm/tests/UpdateWithProxyPresentSpec.groovy   |   0
 .../groovy/grails/gorm/tests/ValidationSpec.groovy |   0
 .../grails/gorm/tests/WithTransactionSpec.groovy   |   0
 .../tests/assignedid/OneToManyCreateSpec.groovy    |   0
 .../gorm/tests/assignedid/domain/Owner.groovy      |   0
 .../grails/gorm/tests/assignedid/domain/Pet.groovy |   0
 .../gorm/tests/cypher/OneToManyCreateSpec.groovy   |   0
 .../grails/gorm/tests/cypher/domain/Owner.groovy   |   0
 .../grails/gorm/tests/cypher/domain/Pet.groovy     |   0
 .../idgeneration/CustomIdGeneratorSpec.groovy      |   0
 .../idgeneration/SnowflakeIdGeneratorSpec.groovy   |   0
 .../tests/multitenancy/MultiTenancySpec.groovy     |   0
 .../tests/multitenancy/SingleTenancySpec.groovy    |   0
 .../groovy/grails/gorm/tests/path/PathSpec.groovy  |   0
 .../grails/gorm/tests/path/RelationshipSpec.groovy |   0
 .../grails/gorm/tests/path/domain/Person.groovy    |   0
 .../grails/gorm/tests/services/Author.groovy       |   0
 .../grails/gorm/tests/services/AuthorBooks.groovy  |   0
 .../groovy/grails/gorm/tests/services/Book.groovy  |   0
 .../services/CypherQueryTransformerSpec.groovy     |   0
 .../groovy/grails/neo4j/Neo4jEntitySpec.groovy     |   0
 .../datastore/gorm/neo4j/ApiExtensionsSpec.groovy  |   0
 .../grails/datastore/gorm/neo4j/Neo4jSuite.groovy  |   0
 .../gorm/neo4j/RelationshipUtilsSpec.groovy        |   0
 .../gorm/neo4j/TransactionPropagationSpec.groovy   |   0
 .../Neo4jConnectionSourceSettingsSpec.groovy       |   0
 .../config/Neo4jDriverConfigBuilderSpec.groovy     |   0
 .../src/test/resources/logback.xml                 |   0
 .../src/test/resources/neo4j-server.properties     |   0
 .../src/test/resources/spy.properties              |   0
 .../grails-datastore-gorm-neo4j/build.gradle       | 109 ---------------------
 grails-data-neo4j/grails-plugin/.gitignore         |   7 --
 grails-data-neo4j/grails-plugin/build.gradle       |  21 +---
 grails-data-neo4j/settings.gradle                  |  76 --------------
 .../neo4j/base}/build.gradle                       |   0
 .../neo4j/base}/gradle.properties                  |   0
 .../assets/images/apple-touch-icon-retina.png      | Bin
 .../grails-app/assets/images/apple-touch-icon.png  | Bin
 .../base}/grails-app/assets/images/favicon.ico     | Bin
 .../base}/grails-app/assets/images/grails_logo.png | Bin
 .../grails-app/assets/images/skin/database_add.png | Bin
 .../assets/images/skin/database_delete.png         | Bin
 .../assets/images/skin/database_edit.png           | Bin
 .../assets/images/skin/database_save.png           | Bin
 .../assets/images/skin/database_table.png          | Bin
 .../grails-app/assets/images/skin/exclamation.png  | Bin
 .../base}/grails-app/assets/images/skin/house.png  | Bin
 .../grails-app/assets/images/skin/information.png  | Bin
 .../base}/grails-app/assets/images/skin/shadow.jpg | Bin
 .../grails-app/assets/images/skin/sorted_asc.gif   | Bin
 .../grails-app/assets/images/skin/sorted_desc.gif  | Bin
 .../base}/grails-app/assets/images/spinner.gif     | Bin
 .../grails-app/assets/javascripts/application.js   |   0
 .../grails-app/assets/stylesheets/application.css  |   0
 .../base}/grails-app/assets/stylesheets/errors.css |   0
 .../base}/grails-app/assets/stylesheets/main.css   |   0
 .../base}/grails-app/assets/stylesheets/mobile.css |   0
 .../neo4j/base}/grails-app/conf/application.yml    |   0
 .../neo4j/base}/grails-app/conf/logback.xml        |   0
 .../base}/grails-app/conf/spring/resources.groovy  |   0
 .../grails-app/controllers/UrlMappings.groovy      |   0
 .../functional/tests/BookController.groovy         |   0
 .../grails-app/domain/functional/tests/Book.groovy |   0
 .../domain/functional/tests/Person.groovy          |   0
 .../base}/grails-app/i18n/messages.properties      |   0
 .../grails-app/i18n/messages_cs_CZ.properties      |   0
 .../base}/grails-app/i18n/messages_da.properties   |   0
 .../base}/grails-app/i18n/messages_de.properties   |   0
 .../base}/grails-app/i18n/messages_es.properties   |   0
 .../base}/grails-app/i18n/messages_fr.properties   |   0
 .../base}/grails-app/i18n/messages_it.properties   |   0
 .../base}/grails-app/i18n/messages_ja.properties   |   0
 .../base}/grails-app/i18n/messages_nb.properties   |   0
 .../base}/grails-app/i18n/messages_nl.properties   |   0
 .../base}/grails-app/i18n/messages_pl.properties   |   0
 .../grails-app/i18n/messages_pt_BR.properties      |   0
 .../grails-app/i18n/messages_pt_PT.properties      |   0
 .../base}/grails-app/i18n/messages_ru.properties   |   0
 .../base}/grails-app/i18n/messages_sv.properties   |   0
 .../base}/grails-app/i18n/messages_th.properties   |   0
 .../grails-app/i18n/messages_zh_CN.properties      |   0
 .../neo4j/base}/grails-app/init/BootStrap.groovy   |   0
 .../init/functional/tests/Application.groovy       |   0
 .../services/functional/tests/PersonService.groovy |   0
 .../neo4j/base}/grails-app/views/book/create.gsp   |   0
 .../neo4j/base}/grails-app/views/book/edit.gsp     |   0
 .../neo4j/base}/grails-app/views/book/index.gsp    |   0
 .../neo4j/base}/grails-app/views/book/show.gsp     |   0
 .../neo4j/base}/grails-app/views/error.gsp         |   0
 .../neo4j/base}/grails-app/views/index.gsp         |   0
 .../neo4j/base}/grails-app/views/layouts/main.gsp  |   0
 .../neo4j/base}/grails-app/views/notFound.gsp      |   0
 .../functional/tests/BookControllerSpec.groovy     |   0
 .../test/groovy/functional/tests/BookSpec.groovy   |   0
 .../test/groovy/functional/tests/PersonSpec.groovy |   0
 .../functional/tests/StandaloneNeo4jSpec.groovy    |   0
 .../neo4j/hibernate5}/build.gradle                 |   0
 .../neo4j/hibernate5}/gradle.properties            |   0
 .../assets/images/apple-touch-icon-retina.png      | Bin
 .../grails-app/assets/images/apple-touch-icon.png  | Bin
 .../grails-app/assets/images/favicon.ico           | Bin
 .../grails-app/assets/images/grails_logo.png       | Bin
 .../grails-app/assets/images/skin/database_add.png | Bin
 .../assets/images/skin/database_delete.png         | Bin
 .../assets/images/skin/database_edit.png           | Bin
 .../assets/images/skin/database_save.png           | Bin
 .../assets/images/skin/database_table.png          | Bin
 .../grails-app/assets/images/skin/exclamation.png  | Bin
 .../grails-app/assets/images/skin/house.png        | Bin
 .../grails-app/assets/images/skin/information.png  | Bin
 .../grails-app/assets/images/skin/shadow.jpg       | Bin
 .../grails-app/assets/images/skin/sorted_asc.gif   | Bin
 .../grails-app/assets/images/skin/sorted_desc.gif  | Bin
 .../grails-app/assets/images/spinner.gif           | Bin
 .../grails-app/assets/javascripts/application.js   |   0
 .../grails-app/assets/stylesheets/application.css  |   0
 .../grails-app/assets/stylesheets/errors.css       |   0
 .../grails-app/assets/stylesheets/main.css         |   0
 .../grails-app/assets/stylesheets/mobile.css       |   0
 .../hibernate5}/grails-app/conf/application.yml    |   0
 .../neo4j/hibernate5}/grails-app/conf/logback.xml  |   0
 .../grails-app/conf/spring/resources.groovy        |   0
 .../grails-app/controllers/UrlMappings.groovy      |   0
 .../functional/tests/AuthorController.groovy       |   0
 .../functional/tests/BookController.groovy         |   0
 .../domain/functional/tests/Author.groovy          |   0
 .../grails-app/domain/functional/tests/Book.groovy |   0
 .../grails-app/i18n/messages.properties            |   0
 .../grails-app/i18n/messages_cs_CZ.properties      |   0
 .../grails-app/i18n/messages_da.properties         |   0
 .../grails-app/i18n/messages_de.properties         |   0
 .../grails-app/i18n/messages_es.properties         |   0
 .../grails-app/i18n/messages_fr.properties         |   0
 .../grails-app/i18n/messages_it.properties         |   0
 .../grails-app/i18n/messages_ja.properties         |   0
 .../grails-app/i18n/messages_nb.properties         |   0
 .../grails-app/i18n/messages_nl.properties         |   0
 .../grails-app/i18n/messages_pl.properties         |   0
 .../grails-app/i18n/messages_pt_BR.properties      |   0
 .../grails-app/i18n/messages_pt_PT.properties      |   0
 .../grails-app/i18n/messages_ru.properties         |   0
 .../grails-app/i18n/messages_sv.properties         |   0
 .../grails-app/i18n/messages_th.properties         |   0
 .../grails-app/i18n/messages_zh_CN.properties      |   0
 .../hibernate5}/grails-app/init/BootStrap.groovy   |   0
 .../init/functional/tests/Application.groovy       |   0
 .../hibernate5}/grails-app/views/author/create.gsp |   0
 .../hibernate5}/grails-app/views/author/edit.gsp   |   0
 .../hibernate5}/grails-app/views/author/index.gsp  |   0
 .../hibernate5}/grails-app/views/author/show.gsp   |   0
 .../hibernate5}/grails-app/views/book/create.gsp   |   0
 .../hibernate5}/grails-app/views/book/edit.gsp     |   0
 .../hibernate5}/grails-app/views/book/index.gsp    |   0
 .../hibernate5}/grails-app/views/book/show.gsp     |   0
 .../neo4j/hibernate5}/grails-app/views/error.gsp   |   0
 .../neo4j/hibernate5}/grails-app/views/index.gsp   |   0
 .../hibernate5}/grails-app/views/layouts/main.gsp  |   0
 .../hibernate5}/grails-app/views/notFound.gsp      |   0
 .../functional/tests/AuthorControllerSpec.groovy   |   0
 .../functional/tests/BookControllerSpec.groovy     |   0
 .../functional/tests/Neo4jWithHibernateSpec.groovy |   0
 .../neo4j}/neo4j-standalone/build.gradle           |   0
 .../neo4j/neo4j-standalone}/gradle.properties      |   0
 .../src/main/groovy/example/Person.groovy          |   0
 .../src/main/groovy/example/PersonService.groovy   |   0
 .../test/groovy/example/PersonServiceSpec.groovy   |   0
 .../neo4j/spring-boot}/build.gradle                |   0
 .../neo4j/spring-boot}/gradle.properties           |   0
 .../src/main/groovy/example/Application.groovy     |   0
 .../src/main/groovy/example/Book.groovy            |   0
 .../src/main/groovy/example/BookController.groovy  |   0
 .../src/main/groovy/example/BookService.groovy     |   0
 .../src/main/resources/application.yml             |   0
 .../test/groovy/example/BookControllerSpec.groovy  |   0
 .../neo4j}/test-data-service/build.gradle          |   0
 .../neo4j}/test-data-service/gradle.properties     |   0
 .../grails-app/conf/application.groovy             |   0
 .../grails-app/conf/application.yml                |   0
 .../test-data-service/grails-app/conf/logback.xml  |   0
 .../grails-app/conf/spring/resources.groovy        |   0
 .../example/ApplicationController.groovy           |   0
 .../controllers/example/UrlMappings.groovy         |   0
 .../grails-app/domain/example/Book.groovy          |   0
 .../grails-app/domain/example/Person.groovy        |   0
 .../grails-app/domain/example/Student.groovy       |   0
 .../grails-app/i18n/messages.properties            |   0
 .../grails-app/init/example/Application.groovy     |   0
 .../grails-app/init/example/BootStrap.groovy       |   0
 .../grails-app/services/example/BookService.groovy |   0
 .../services/example/LibraryService.groovy         |   0
 .../services/example/PersonService.groovy          |   0
 .../services/example/StudentService.groovy         |   0
 .../grails-app/services/example/TestService.groovy |   0
 .../grails-app/views/application/index.gson        |   0
 .../test-data-service/grails-app/views/error.gson  |   0
 .../grails-app/views/errors/_errors.gson           |   0
 .../grails-app/views/notFound.gson                 |   0
 .../grails-app/views/object/_object.gson           |   0
 .../groovy/example/StudentServiceSpec.groovy       |   0
 .../groovy/example/TestServiceSpec.groovy          |   0
 .../LoginAuthenticationSucessHandler.groovy        |   0
 .../src/main/groovy/example/TestBean.groovy        |   0
 settings.gradle                                    |  26 +++++
 316 files changed, 107 insertions(+), 226 deletions(-)

diff --git a/grails-data-neo4j/core/build.gradle b/grails-data-neo4j/core/build.gradle
new file mode 100644
index 0000000000..4868c2cbbc
--- /dev/null
+++ b/grails-data-neo4j/core/build.gradle
@@ -0,0 +1,66 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+plugins {
+    id 'groovy'
+    id 'java-library'
+}
+
+version = projectVersion
+group = 'org.apache.grails.data'
+
+ext {
+    gormApiDocs = true
+    pomTitle = 'GORM for Neo4j'
+    pomDescription = 'Provides a GORM Object Mapping implementations for the Neo4j Graph Database'
+}
+
+dependencies {
+    implementation platform(project(':grails-bom'))
+    api 'org.neo4j.driver:neo4j-java-driver'
+    api project(':grails-datamapping-validation')
+    api project(':grails-datamapping-core')
+
+    // only needed for web dependencies
+    compileOnly project(':grails-datastore-web')
+//    compileOnly "org.neo4j.test:neo4j-harness:$neo4jVersion"
+
+    implementation "org.javassist:javassist:$javassistVersion"
+    testImplementation 'org.neo4j.test:neo4j-harness:2025.06.2'
+    testImplementation project(':grails-testing-support-datamapping')
+
+    testImplementation 'jakarta.validation:jakarta.validation-api'
+    testImplementation 'junit:junit' // JUnit 4
+    testImplementation 'org.apache.grails.testing:grails-testing-support-core'
+    testImplementation 'org.spockframework:spock-core'
+
+    testImplementation 'org.hibernate.validator:hibernate-validator', {
+        exclude group:'commons-logging', module:'commons-logging'
+        exclude group:'commons-collections', module:'commons-collections'
+        exclude group:'org.slf4j', module:'slf4j-api'
+    }
+
+    testImplementation "org.codehaus.gpars:gpars:$gparsVersion", {
+        exclude group: 'org.multiverse', module: 'multiverse-core' // Multiverse Software Transactional Memory (STM) Engine not used
+        exclude group: 'org.codehaus.groovy', module: 'groovy-all' // Gpars 1.2.1 pulls in groovy-all:2.1.9
+    }
+    testImplementation  'net.bytebuddy:byte-buddy' // TODO: used to be cglib which is no longer maintained
+    testImplementation 'org.objenesis:objenesis'
+
+}
\ No newline at end of file
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Direction.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/Direction.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Direction.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/Direction.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Neo4jEntity.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/Neo4jEntity.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Neo4jEntity.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/Neo4jEntity.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Node.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/Node.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Node.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/Node.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Path.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/Path.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Path.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/Path.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Relationship.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/Relationship.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Relationship.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/Relationship.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/mapping/MappingBuilder.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/mapping/MappingBuilder.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/mapping/MappingBuilder.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/mapping/MappingBuilder.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/services/Cypher.groovy b/grails-data-neo4j/core/src/main/groovy/grails/neo4j/services/Cypher.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/services/Cypher.groovy
rename to grails-data-neo4j/core/src/main/groovy/grails/neo4j/services/Cypher.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/CypherBuilder.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/CypherBuilder.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/CypherBuilder.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/CypherBuilder.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphClassMapping.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphClassMapping.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphClassMapping.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphClassMapping.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphGormMappingFactory.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphGormMappingFactory.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphGormMappingFactory.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphGormMappingFactory.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphPersistentEntity.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphPersistentEntity.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphPersistentEntity.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphPersistentEntity.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/IdGenerator.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/IdGenerator.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/IdGenerator.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/IdGenerator.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java
index 2d023db616..7c3a654620 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java
@@ -68,8 +68,8 @@ import org.springframework.context.MessageSourceAware;
 import org.springframework.context.support.StaticMessageSource;
 import org.springframework.core.env.PropertyResolver;
 
-import javax.annotation.PreDestroy;
-import javax.persistence.FlushModeType;
+import jakarta.annotation.PreDestroy;
+import jakarta.persistence.FlushModeType;
 import java.io.Closeable;
 import java.io.IOException;
 import java.io.Serializable;
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java
index a008354ec0..db6bcf1581 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java
@@ -28,7 +28,7 @@ import org.springframework.transaction.TransactionException;
 import org.springframework.transaction.support.DefaultTransactionStatus;
 import org.springframework.transaction.support.TransactionSynchronizationManager;
 
-import javax.persistence.FlushModeType;
+import jakarta.persistence.FlushModeType;
 import java.io.IOException;
 
 /**
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContext.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContext.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContext.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContext.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java
index c1b75e94a6..0cf8e4d5df 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java
@@ -56,7 +56,7 @@ import org.springframework.transaction.TransactionDefinition;
 import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.springframework.transaction.support.TransactionSynchronizationManager;
 
-import javax.persistence.CascadeType;
+import jakarta.persistence.CascadeType;
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.*;
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jTransaction.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jTransaction.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jTransaction.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jTransaction.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipPersistentEntity.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipPersistentEntity.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipPersistentEntity.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipPersistentEntity.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtils.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtils.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtils.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtils.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/SessionFlushedEvent.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/SessionFlushedEvent.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/SessionFlushedEvent.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/SessionFlushedEvent.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/TypeDirectionPair.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/TypeDirectionPair.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/TypeDirectionPair.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/TypeDirectionPair.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/api/Neo4jGormStaticApi.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/api/Neo4jGormStaticApi.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/api/Neo4jGormStaticApi.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/api/Neo4jGormStaticApi.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/GraphAdapter.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/GraphAdapter.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/GraphAdapter.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/GraphAdapter.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jAssociationResultList.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jAssociationResultList.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jAssociationResultList.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jAssociationResultList.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jList.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jList.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jList.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jList.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPath.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPath.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPath.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPath.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentList.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentList.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentList.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentList.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSet.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSet.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSortedSet.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSortedSet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSortedSet.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSortedSet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jRelationship.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jRelationship.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jRelationship.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jRelationship.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy
index 950c17e5be..a34b81a811 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy
@@ -34,7 +34,7 @@ import org.neo4j.driver.types.Entity
 import org.neo4j.driver.types.Node
 import org.neo4j.driver.types.Relationship
 
-import javax.persistence.LockModeType
+import jakarta.persistence.LockModeType
 
 
 /**
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSet.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSet.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSortedSet.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSortedSet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSortedSet.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSortedSet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilder.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilder.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilder.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilder.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Settings.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Settings.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Settings.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Settings.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceFactory.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceFactory.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceFactory.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceFactory.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettings.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettings.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettings.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettings.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettingsBuilder.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettingsBuilder.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettingsBuilder.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettingsBuilder.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jEmbeddedConnectionSource.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jEmbeddedConnectionSource.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jEmbeddedConnectionSource.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jEmbeddedConnectionSource.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/DynamicAssociationSupport.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/DynamicAssociationSupport.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/DynamicAssociationSupport.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/DynamicAssociationSupport.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy
index 90adb8e96b..575e50a0df 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy
@@ -39,7 +39,7 @@ import org.neo4j.driver.Session
 import org.neo4j.driver.Result
 import org.neo4j.driver.QueryRunner
 
-import javax.persistence.FetchType
+import jakarta.persistence.FetchType
 
 
 /**
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java
index 0f9f4f156b..1b30bd0938 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java
@@ -56,8 +56,8 @@ import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.util.Assert;
 
-import javax.persistence.FetchType;
-import javax.persistence.LockModeType;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.LockModeType;
 import java.io.Serializable;
 import java.util.*;
 
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jModificationTrackingEntityAccess.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jModificationTrackingEntityAccess.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jModificationTrackingEntityAccess.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jModificationTrackingEntityAccess.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
index a51c7e1693..6c38e96d6a 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
+++ b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
@@ -42,7 +42,7 @@ import org.neo4j.driver.QueryRunner
 import org.neo4j.driver.Value
 import org.neo4j.driver.types.Node
 
-import javax.persistence.FetchType
+import jakarta.persistence.FetchType
 
 /**
  * perform criteria queries on a Neo4j backend
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingDelete.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingDelete.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingDelete.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingDelete.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingInsert.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingInsert.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingInsert.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingInsert.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/extensions/Neo4jExtensions.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/extensions/Neo4jExtensions.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/extensions/Neo4jExtensions.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/extensions/Neo4jExtensions.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/identity/SnowflakeIdGenerator.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/identity/SnowflakeIdGenerator.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/identity/SnowflakeIdGenerator.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/identity/SnowflakeIdGenerator.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/Attribute.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/Attribute.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/Attribute.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/Attribute.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToManyAssociation.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToManyAssociation.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToManyAssociation.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToManyAssociation.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToOneAssociation.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToOneAssociation.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToOneAssociation.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToOneAssociation.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/NodeConfig.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/NodeConfig.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/NodeConfig.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/NodeConfig.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/RelationshipConfig.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/RelationshipConfig.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/RelationshipConfig.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/RelationshipConfig.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/reflect/Neo4jNameUtils.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/reflect/Neo4jNameUtils.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/reflect/Neo4jNameUtils.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/reflect/Neo4jNameUtils.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jAssociationQueryProxyHandler.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jAssociationQueryProxyHandler.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jAssociationQueryProxyHandler.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jAssociationQueryProxyHandler.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jProxyFactory.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jProxyFactory.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jProxyFactory.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jProxyFactory.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindAllCypherQueryImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindAllCypherQueryImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindAllCypherQueryImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindAllCypherQueryImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindOneCypherQueryImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindOneCypherQueryImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindOneCypherQueryImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindOneCypherQueryImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindPathCypherQueryImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindPathCypherQueryImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindPathCypherQueryImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindPathCypherQueryImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindShortestPathImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindShortestPathImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindShortestPathImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindShortestPathImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/StatementResultCypherQueryImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/StatementResultCypherQueryImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/StatementResultCypherQueryImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/StatementResultCypherQueryImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/UpdateCypherQueryImplementer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/UpdateCypherQueryImplementer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/UpdateCypherQueryImplementer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/UpdateCypherQueryImplementer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/transform/CypherQueryStringTransformer.groovy b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/transform/CypherQueryStringTransformer.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/services/transform/CypherQueryStringTransformer.groovy
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/services/transform/CypherQueryStringTransformer.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/util/EmbeddedNeo4jServer.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/util/EmbeddedNeo4jServer.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/util/EmbeddedNeo4jServer.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/util/EmbeddedNeo4jServer.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/util/IteratorUtil.java b/grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/util/IteratorUtil.java
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/util/IteratorUtil.java
rename to grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/util/IteratorUtil.java
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule b/grails-data-neo4j/core/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
rename to grails-data-neo4j/core/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.grails.compiler.gorm.GormEntityTraitProvider b/grails-data-neo4j/core/src/main/resources/META-INF/services/org.grails.compiler.gorm.GormEntityTraitProvider
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.grails.compiler.gorm.GormEntityTraitProvider
rename to grails-data-neo4j/core/src/main/resources/META-INF/services/org.grails.compiler.gorm.GormEntityTraitProvider
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.grails.datastore.gorm.services.ServiceImplementer b/grails-data-neo4j/core/src/main/resources/META-INF/services/org.grails.datastore.gorm.services.ServiceImplementer
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/resources/META-INF/services/org.grails.datastore.gorm.services.ServiceImplementer
rename to grails-data-neo4j/core/src/main/resources/META-INF/services/org.grails.datastore.gorm.services.ServiceImplementer
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/AssignedIdSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/AssignedIdSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/AssignedIdSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/AssignedIdSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CascadingDeleteSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CascadingDeleteSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CascadingDeleteSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CascadingDeleteSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CustomLabelWithDynamicAssociationSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CustomLabelWithDynamicAssociationSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CustomLabelWithDynamicAssociationSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CustomLabelWithDynamicAssociationSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CypherQueryStringSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CypherQueryStringSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/CypherQueryStringSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/CypherQueryStringSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/EagerFetchingSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/EagerFetchingSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/EagerFetchingSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/EagerFetchingSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/EntityParseSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/EntityParseSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/EntityParseSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/EntityParseSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/FindByIsNullSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/FindByIsNullSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/FindByIsNullSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/FindByIsNullSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/GormDatastoreSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/GormDatastoreSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/GormDatastoreSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/GormDatastoreSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/GroovyProxySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/GroovyProxySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/GroovyProxySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/GroovyProxySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/HasManyInheritanceSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/HasManyInheritanceSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/HasManyInheritanceSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/HasManyInheritanceSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/InheritanceProxySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/InheritanceProxySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/InheritanceProxySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/InheritanceProxySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy
similarity index 93%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy
index ff9c5de508..9705a32836 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy
+++ b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy
@@ -21,14 +21,14 @@ package grails.gorm.tests
 
 import grails.gorm.annotation.Entity
 
-import javax.validation.constraints.Digits
+import jakarta.validation.constraints.Digits
 
 /**
  * Created by graemerocher on 30/12/2016.
  */
 class JavaxValidationSpec extends GormDatastoreSpec {
 
-    void "test javax.validator validation"() {
+    void "test jakarta.validator validation"() {
         when:"An invalid entity is created"
         JavaxProduct p = new JavaxProduct(name:"MacBook", price: "bad")
         p.save()
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JoinCriteriaSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/JoinCriteriaSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JoinCriteriaSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/JoinCriteriaSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/LabelStrategySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/LabelStrategySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/LabelStrategySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/LabelStrategySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/LikeQuerySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/LikeQuerySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/LikeQuerySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/LikeQuerySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ManyToManyQuerySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ManyToManyQuerySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ManyToManyQuerySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ManyToManyQuerySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ManyToManySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ManyToManySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ManyToManySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ManyToManySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MapPropertySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MapPropertySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MapPropertySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MapPropertySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MarkDirtyFalseSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MarkDirtyFalseSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MarkDirtyFalseSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MarkDirtyFalseSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MiscSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MiscSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MiscSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MiscSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MultipleConnectionsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MultipleConnectionsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/MultipleConnectionsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/MultipleConnectionsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/NativeIdentityGeneratorSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/NativeIdentityGeneratorSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/NativeIdentityGeneratorSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/NativeIdentityGeneratorSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Neo4jResultListSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Neo4jResultListSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Neo4jResultListSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Neo4jResultListSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/NullValueEqualSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/NullValueEqualSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/NullValueEqualSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/NullValueEqualSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OneToManyUpdateSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OneToManyUpdateSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OneToManyUpdateSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OneToManyUpdateSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OneToOneSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OneToOneSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OneToOneSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OneToOneSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OptimisticLockingSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OptimisticLockingSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OptimisticLockingSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OptimisticLockingSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OrphanDeleteSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OrphanDeleteSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/OrphanDeleteSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/OrphanDeleteSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/PagedResultSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/PagedResultSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/PagedResultSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/PagedResultSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/PersistenceEventListenerSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/PersistenceEventListenerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/PersistenceEventListenerSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/PersistenceEventListenerSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Pet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/Pet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ProjectionsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ProjectionsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ProjectionsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ProjectionsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ProxySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ProxySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ProxySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ProxySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy
similarity index 98%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy
index 91036741b6..bfa8236ce5 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy
+++ b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy
@@ -24,7 +24,7 @@ import grails.neo4j.Neo4jEntity
 import org.neo4j.driver.types.Node
 import spock.lang.Ignore
 
-import javax.persistence.FlushModeType
+import jakarta.persistence.FlushModeType
 
 /**
  * @author Graeme Rocher
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy
index 10b82e2113..104ba5ca65 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy
+++ b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy
@@ -26,7 +26,7 @@ import groovy.transform.CompileStatic
 import org.grails.datastore.mapping.proxy.EntityProxy
 import spock.lang.Ignore
 
-import javax.persistence.FetchType
+import jakarta.persistence.FetchType
 import static grails.neo4j.mapping.MappingBuilder.*
 /**
  * Created by graemerocher on 08/12/16.
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/RelationshipUtilsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/RelationshipUtilsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/RelationshipUtilsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/RelationshipUtilsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/SchemalessSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/SchemalessSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/SchemalessSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/SchemalessSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/TransientsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/TransientsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/TransientsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/TransientsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy
similarity index 99%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy
index 26cf2c0fba..bf8a7e5bc7 100644
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy
+++ b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy
@@ -35,7 +35,7 @@ import org.springframework.validation.Errors
 import org.springframework.validation.Validator
 import spock.lang.Issue
 
-import javax.persistence.FlushModeType
+import jakarta.persistence.FlushModeType
 
 /**
  * Tests the unique constraint
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/UpdateWithProxyPresentSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/UpdateWithProxyPresentSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/UpdateWithProxyPresentSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/UpdateWithProxyPresentSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ValidationSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ValidationSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/ValidationSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/ValidationSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/WithTransactionSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/WithTransactionSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/WithTransactionSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/WithTransactionSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/OneToManyCreateSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/OneToManyCreateSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/OneToManyCreateSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/OneToManyCreateSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/domain/Owner.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/domain/Owner.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/domain/Owner.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/domain/Owner.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/domain/Pet.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/domain/Pet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/assignedid/domain/Pet.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/assignedid/domain/Pet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/OneToManyCreateSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/OneToManyCreateSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/OneToManyCreateSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/OneToManyCreateSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/domain/Owner.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/domain/Owner.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/domain/Owner.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/domain/Owner.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/domain/Pet.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/domain/Pet.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/cypher/domain/Pet.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/cypher/domain/Pet.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/idgeneration/CustomIdGeneratorSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/idgeneration/CustomIdGeneratorSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/idgeneration/CustomIdGeneratorSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/idgeneration/CustomIdGeneratorSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/idgeneration/SnowflakeIdGeneratorSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/idgeneration/SnowflakeIdGeneratorSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/idgeneration/SnowflakeIdGeneratorSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/idgeneration/SnowflakeIdGeneratorSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/multitenancy/MultiTenancySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/multitenancy/MultiTenancySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/multitenancy/MultiTenancySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/multitenancy/MultiTenancySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/multitenancy/SingleTenancySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/multitenancy/SingleTenancySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/multitenancy/SingleTenancySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/multitenancy/SingleTenancySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/PathSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/PathSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/PathSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/PathSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/RelationshipSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/RelationshipSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/RelationshipSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/RelationshipSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/domain/Person.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/domain/Person.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/path/domain/Person.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/path/domain/Person.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Author.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/Author.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Author.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/Author.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/AuthorBooks.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/AuthorBooks.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/AuthorBooks.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/AuthorBooks.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Book.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/Book.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Book.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/Book.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/CypherQueryTransformerSpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/CypherQueryTransformerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/CypherQueryTransformerSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/services/CypherQueryTransformerSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy b/grails-data-neo4j/core/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/ApiExtensionsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/ApiExtensionsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/ApiExtensionsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/ApiExtensionsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jSuite.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jSuite.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jSuite.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jSuite.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtilsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtilsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtilsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtilsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/TransactionPropagationSpec.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/TransactionPropagationSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/TransactionPropagationSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/TransactionPropagationSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jConnectionSourceSettingsSpec.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jConnectionSourceSettingsSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jConnectionSourceSettingsSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jConnectionSourceSettingsSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilderSpec.groovy b/grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilderSpec.groovy
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilderSpec.groovy
rename to grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilderSpec.groovy
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/logback.xml b/grails-data-neo4j/core/src/test/resources/logback.xml
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/logback.xml
rename to grails-data-neo4j/core/src/test/resources/logback.xml
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/neo4j-server.properties b/grails-data-neo4j/core/src/test/resources/neo4j-server.properties
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/neo4j-server.properties
rename to grails-data-neo4j/core/src/test/resources/neo4j-server.properties
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/spy.properties b/grails-data-neo4j/core/src/test/resources/spy.properties
similarity index 100%
rename from grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/resources/spy.properties
rename to grails-data-neo4j/core/src/test/resources/spy.properties
diff --git a/grails-data-neo4j/grails-datastore-gorm-neo4j/build.gradle b/grails-data-neo4j/grails-datastore-gorm-neo4j/build.gradle
deleted file mode 100644
index 8f1555f004..0000000000
--- a/grails-data-neo4j/grails-datastore-gorm-neo4j/build.gradle
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-sourceSets.main.java.srcDirs = []
-sourceSets.main.groovy.srcDirs += ["src/main/java"]
-
-dependencies {
-    api "org.neo4j.driver:neo4j-java-driver:$neo4jDriverVersion"
-    api "org.apache.grails.data:grails-datamapping-validation:$datastoreVersion"
-    api "org.apache.grails.data:grails-datamapping-core:$datastoreVersion"
-
-    // only needed for web dependencies
-    compileOnly "org.apache.grails.data:grails-datastore-web:$datastoreVersion"
-    compileOnly "org.neo4j.test:neo4j-harness:$neo4jVersion"
-
-    implementation "org.javassist:javassist:$javassistVersion"
-    testImplementation "org.neo4j.test:neo4j-harness:$neo4jVersion"
-    testImplementation "org.apache.grails.data:grails-datamapping-core-test:$datastoreVersion"
-    testImplementation "org.apache.grails.data:grails-datamapping-tck-tests:$datastoreVersion"
-    testImplementation "org.hibernate:hibernate-validator:$hibernateValidatorVersion"
-    testImplementation "org.codehaus.gpars:gpars:$gparsVersion"
-    testImplementation "cglib:cglib-nodep:$cglibNodepVersion"
-    testImplementation "org.objenesis:objenesis:${objenesisVersion}"
-    
-    testRuntimeOnly "org.springframework:spring-aop:$springVersion"
-    testRuntimeOnly "ch.qos.logback:logback-classic:1.4.14"
-    testRuntimeOnly "javax.el:javax.el-api:3.0.0"
-    testRuntimeOnly "org.glassfish.web:el-impl:2.2.1-b05"
-
-}
-
-test {
-    useJUnitPlatform()
-    maxParallelForks = configuredTestParallel
-    forkEvery = 10
-
-    jvmArgs = ['-Xmx1028M']
-    afterSuite {
-        System.out.print('.')
-        System.out.flush()
-    }
-}
-
-test.doFirst {
-    def toBaseClassRelativePathWithoutExtension = { String base, String classFile ->
-        if (classFile.startsWith(base)) {
-            def sansClass = classFile[0 .. classFile.size() - ".class".size() - 1]
-            def dollarIndex = sansClass.indexOf('$')
-            def baseClass = dollarIndex > 0 ? sansClass[0..dollarIndex - 1] : sansClass
-            def relative = baseClass - base - '/'
-            relative
-        }
-        else {
-            null
-        }
-    }    
-    def tckClassesFile = project
-                            .configurations
-                            .testCompileClasspath
-                            .resolvedConfiguration
-                            .getResolvedArtifacts()
-                            .find { resolved ->
-                                resolved.moduleVersion.id.name == 'grails-datamapping-tck-tests'
-                            }.file
-
-    def tckClassesDir = project.file("${project.buildDir}/tck")                            
-    copy {
-        from zipTree(tckClassesFile)
-        into tckClassesDir 
-    }
-    copy {
-        from tckClassesDir
-        into sourceSets.test.output.classesDirs.find { it.path.contains('classes/groovy') }
-        include "**/*.class"
-        exclude { details ->
-            // Do not copy across any TCK class (or nested classes of that class)
-            // If there is a corresponding source file in the particular modules
-            // test source tree. Allows a module to override a test/helper.
-
-            if (!details.file.isFile()) {
-                return false
-            }
-            def candidatePath = details.file.absolutePath
-            def relativePath = toBaseClassRelativePathWithoutExtension(tckClassesDir.absolutePath, candidatePath)
-
-            if (relativePath == null) {
-                throw new IllegalStateException("$candidatePath does not appear to be in the TCK")
-            }
-
-            project.file("src/test/groovy/${relativePath}.groovy").exists()
-        }
-    }
-}
diff --git a/grails-data-neo4j/grails-plugin/.gitignore b/grails-data-neo4j/grails-plugin/.gitignore
deleted file mode 100644
index 3936ca1a72..0000000000
--- a/grails-data-neo4j/grails-plugin/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-target
-*.log
-*.zip
-*.iws
-data
-plugin.xml
-*.sha1
diff --git a/grails-data-neo4j/grails-plugin/build.gradle b/grails-data-neo4j/grails-plugin/build.gradle
index e13975b674..f47e15ced0 100644
--- a/grails-data-neo4j/grails-plugin/build.gradle
+++ b/grails-data-neo4j/grails-plugin/build.gradle
@@ -17,25 +17,6 @@
  *  under the License.
  */
 
-sourceCompatibility = "1.11"
-targetCompatibility = "1.11"
-
-// TODO: Use bom
-//configurations.configureEach {
-//    exclude group: 'org.apache.grails.data', module: 'grails-data-simple'
-//    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
-//        if (details.requested.group == 'org.apache.grails.data'
-//                && details.requested.name.startsWith('grails-datastore')
-//                && !details.requested.name.contains('neo4j')) {
-//
-//            details.useVersion(datastoreVersion)
-//        } else if (details.requested.group == 'org.apache.groovy' && details.requested.name.startsWith('groovy')) {
-//            details.useVersion(groovyVersion)
-//        } else if (details.requested.group == 'org.springframework') {
-//            details.useVersion(springVersion)
-//        }
-//    }
-//}
 
 dependencies {
     compileOnly "org.apache.grails:grails-core"
@@ -56,7 +37,7 @@ dependencies {
         exclude group:'org.apache.grails.bootstrap', module:'grails-bootstrap'
         exclude group:'org.codehaus.groovy', module:'groovy-all'
         exclude group:'org.apache.grails', module:'grails-core'
-        exclude group:'javax.transaction', module:'jta'
+        exclude group:'.transaction', module:'jta'
     }
     api project(":grails-datastore-gorm-neo4j"), {
         exclude group:'org.springframework', module:'spring-context'
diff --git a/grails-data-neo4j/settings.gradle b/grails-data-neo4j/settings.gradle
deleted file mode 100644
index f573273975..0000000000
--- a/grails-data-neo4j/settings.gradle
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-plugins {
-    id "com.gradle.enterprise" version "3.16.2"
-    id 'com.gradle.common-custom-user-data-gradle-plugin' version '1.12.1'
-}
-
-gradleEnterprise {
-    server = 'https://ge.grails.org'
-    buildScan {
-        publishAlwaysIf(System.getenv('CI') == 'true')
-        publishIfAuthenticated()
-        uploadInBackground = System.getenv("CI") == null
-        capture {
-            taskInputFiles = true
-        }
-    }
-}
-
-buildCache {
-    local { enabled = System.getenv('CI') != 'true' }
-    remote(HttpBuildCache) {
-        push = System.getenv('CI') == 'true'
-        enabled = true
-        url = 'https://ge.grails.org/cache/'
-        credentials {
-            username = System.getenv('GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER')
-            password = System.getenv('GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY')
-        }
-    }}
-
-// core
-include "grails-datastore-gorm-neo4j"
-
-// plugins
-include "boot-plugin"
-include 'grails-plugin'
-
-// documentation
-include 'docs'
-
-// examples
-include 'examples-grails3-neo4j'
-project(":examples-grails3-neo4j").projectDir = new File(settingsDir, "examples/grails3-neo4j")
-
-include 'examples-grails3-neo4j-hibernate'
-project(":examples-grails3-neo4j-hibernate").projectDir = new File(settingsDir, "examples/grails3-neo4j-hibernate")
-
-include 'examples-neo4j-standalone'
-project(":examples-neo4j-standalone").projectDir = new File(settingsDir, "examples/neo4j-standalone")
-
-include 'examples-neo4j-spring-boot'
-project(":examples-neo4j-spring-boot").projectDir = new File(settingsDir, "examples/neo4j-spring-boot")
-
-include 'examples-test-data-service'
-project(":examples-test-data-service").projectDir = new File(settingsDir, "examples/test-data-service")
-
-findProject(':boot-plugin').name = 'gorm-neo4j-spring-boot'
-
diff --git a/grails-data-neo4j/examples/grails3-neo4j/build.gradle b/grails-test-examples/neo4j/base/build.gradle
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/build.gradle
rename to grails-test-examples/neo4j/base/build.gradle
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/gradle.properties b/grails-test-examples/neo4j/base/gradle.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/gradle.properties
rename to grails-test-examples/neo4j/base/gradle.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/apple-touch-icon-retina.png b/grails-test-examples/neo4j/base/grails-app/assets/images/apple-touch-icon-retina.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/apple-touch-icon-retina.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/apple-touch-icon-retina.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/apple-touch-icon.png b/grails-test-examples/neo4j/base/grails-app/assets/images/apple-touch-icon.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/apple-touch-icon.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/apple-touch-icon.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/favicon.ico b/grails-test-examples/neo4j/base/grails-app/assets/images/favicon.ico
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/favicon.ico
rename to grails-test-examples/neo4j/base/grails-app/assets/images/favicon.ico
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/grails_logo.png b/grails-test-examples/neo4j/base/grails-app/assets/images/grails_logo.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/grails_logo.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/grails_logo.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_add.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_add.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_add.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_add.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_delete.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_delete.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_delete.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_delete.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_edit.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_edit.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_edit.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_edit.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_save.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_save.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_save.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_save.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_table.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_table.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/database_table.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/database_table.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/exclamation.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/exclamation.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/exclamation.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/exclamation.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/house.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/house.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/house.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/house.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/information.png b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/information.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/information.png
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/information.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/shadow.jpg b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/shadow.jpg
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/shadow.jpg
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/shadow.jpg
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/sorted_asc.gif b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/sorted_asc.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/sorted_asc.gif
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/sorted_asc.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/sorted_desc.gif b/grails-test-examples/neo4j/base/grails-app/assets/images/skin/sorted_desc.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/skin/sorted_desc.gif
rename to grails-test-examples/neo4j/base/grails-app/assets/images/skin/sorted_desc.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/spinner.gif b/grails-test-examples/neo4j/base/grails-app/assets/images/spinner.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/images/spinner.gif
rename to grails-test-examples/neo4j/base/grails-app/assets/images/spinner.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/javascripts/application.js b/grails-test-examples/neo4j/base/grails-app/assets/javascripts/application.js
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/javascripts/application.js
rename to grails-test-examples/neo4j/base/grails-app/assets/javascripts/application.js
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/application.css b/grails-test-examples/neo4j/base/grails-app/assets/stylesheets/application.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/application.css
rename to grails-test-examples/neo4j/base/grails-app/assets/stylesheets/application.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/errors.css b/grails-test-examples/neo4j/base/grails-app/assets/stylesheets/errors.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/errors.css
rename to grails-test-examples/neo4j/base/grails-app/assets/stylesheets/errors.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/main.css b/grails-test-examples/neo4j/base/grails-app/assets/stylesheets/main.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/main.css
rename to grails-test-examples/neo4j/base/grails-app/assets/stylesheets/main.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/mobile.css b/grails-test-examples/neo4j/base/grails-app/assets/stylesheets/mobile.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/assets/stylesheets/mobile.css
rename to grails-test-examples/neo4j/base/grails-app/assets/stylesheets/mobile.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/application.yml b/grails-test-examples/neo4j/base/grails-app/conf/application.yml
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/application.yml
rename to grails-test-examples/neo4j/base/grails-app/conf/application.yml
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/logback.xml b/grails-test-examples/neo4j/base/grails-app/conf/logback.xml
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/logback.xml
rename to grails-test-examples/neo4j/base/grails-app/conf/logback.xml
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/spring/resources.groovy b/grails-test-examples/neo4j/base/grails-app/conf/spring/resources.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/spring/resources.groovy
rename to grails-test-examples/neo4j/base/grails-app/conf/spring/resources.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/UrlMappings.groovy b/grails-test-examples/neo4j/base/grails-app/controllers/UrlMappings.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/UrlMappings.groovy
rename to grails-test-examples/neo4j/base/grails-app/controllers/UrlMappings.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/controllers/functional/tests/BookController.groovy b/grails-test-examples/neo4j/base/grails-app/controllers/functional/tests/BookController.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/controllers/functional/tests/BookController.groovy
rename to grails-test-examples/neo4j/base/grails-app/controllers/functional/tests/BookController.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy b/grails-test-examples/neo4j/base/grails-app/domain/functional/tests/Book.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy
rename to grails-test-examples/neo4j/base/grails-app/domain/functional/tests/Book.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Person.groovy b/grails-test-examples/neo4j/base/grails-app/domain/functional/tests/Person.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Person.groovy
rename to grails-test-examples/neo4j/base/grails-app/domain/functional/tests/Person.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_cs_CZ.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_cs_CZ.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_cs_CZ.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_cs_CZ.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_da.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_da.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_da.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_da.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_de.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_de.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_de.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_de.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_es.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_es.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_es.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_es.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_fr.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_fr.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_fr.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_fr.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_it.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_it.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_it.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_it.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_ja.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_ja.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_ja.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_ja.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_nb.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_nb.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_nb.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_nb.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_nl.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_nl.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_nl.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_nl.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pl.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_pl.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pl.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_pl.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pt_BR.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_pt_BR.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pt_BR.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_pt_BR.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pt_PT.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_pt_PT.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_pt_PT.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_pt_PT.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_ru.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_ru.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_ru.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_ru.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_sv.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_sv.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_sv.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_sv.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_th.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_th.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_th.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_th.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_zh_CN.properties b/grails-test-examples/neo4j/base/grails-app/i18n/messages_zh_CN.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/i18n/messages_zh_CN.properties
rename to grails-test-examples/neo4j/base/grails-app/i18n/messages_zh_CN.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/init/BootStrap.groovy b/grails-test-examples/neo4j/base/grails-app/init/BootStrap.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/init/BootStrap.groovy
rename to grails-test-examples/neo4j/base/grails-app/init/BootStrap.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/init/functional/tests/Application.groovy b/grails-test-examples/neo4j/base/grails-app/init/functional/tests/Application.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/init/functional/tests/Application.groovy
rename to grails-test-examples/neo4j/base/grails-app/init/functional/tests/Application.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/services/functional/tests/PersonService.groovy b/grails-test-examples/neo4j/base/grails-app/services/functional/tests/PersonService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/services/functional/tests/PersonService.groovy
rename to grails-test-examples/neo4j/base/grails-app/services/functional/tests/PersonService.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/create.gsp b/grails-test-examples/neo4j/base/grails-app/views/book/create.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/create.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/book/create.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/edit.gsp b/grails-test-examples/neo4j/base/grails-app/views/book/edit.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/edit.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/book/edit.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/index.gsp b/grails-test-examples/neo4j/base/grails-app/views/book/index.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/index.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/book/index.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/show.gsp b/grails-test-examples/neo4j/base/grails-app/views/book/show.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/book/show.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/book/show.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/error.gsp b/grails-test-examples/neo4j/base/grails-app/views/error.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/error.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/error.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/index.gsp b/grails-test-examples/neo4j/base/grails-app/views/index.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/index.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/index.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/layouts/main.gsp b/grails-test-examples/neo4j/base/grails-app/views/layouts/main.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/layouts/main.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/layouts/main.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/notFound.gsp b/grails-test-examples/neo4j/base/grails-app/views/notFound.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/notFound.gsp
rename to grails-test-examples/neo4j/base/grails-app/views/notFound.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy b/grails-test-examples/neo4j/base/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
rename to grails-test-examples/neo4j/base/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/BookSpec.groovy b/grails-test-examples/neo4j/base/src/test/groovy/functional/tests/BookSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/BookSpec.groovy
rename to grails-test-examples/neo4j/base/src/test/groovy/functional/tests/BookSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/PersonSpec.groovy b/grails-test-examples/neo4j/base/src/test/groovy/functional/tests/PersonSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/PersonSpec.groovy
rename to grails-test-examples/neo4j/base/src/test/groovy/functional/tests/PersonSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/StandaloneNeo4jSpec.groovy b/grails-test-examples/neo4j/base/src/test/groovy/functional/tests/StandaloneNeo4jSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/StandaloneNeo4jSpec.groovy
rename to grails-test-examples/neo4j/base/src/test/groovy/functional/tests/StandaloneNeo4jSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/build.gradle b/grails-test-examples/neo4j/hibernate5/build.gradle
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/build.gradle
rename to grails-test-examples/neo4j/hibernate5/build.gradle
diff --git a/grails-data-neo4j/examples/grails3-neo4j/gradle.properties b/grails-test-examples/neo4j/hibernate5/gradle.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/gradle.properties
rename to grails-test-examples/neo4j/hibernate5/gradle.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/apple-touch-icon-retina.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/apple-touch-icon-retina.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/apple-touch-icon-retina.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/apple-touch-icon-retina.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/apple-touch-icon.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/apple-touch-icon.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/apple-touch-icon.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/apple-touch-icon.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/favicon.ico b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/favicon.ico
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/favicon.ico
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/favicon.ico
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/grails_logo.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/grails_logo.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/grails_logo.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/grails_logo.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_add.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_add.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_add.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_add.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_delete.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_delete.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_delete.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_delete.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_edit.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_edit.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_edit.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_edit.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_save.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_save.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_save.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_save.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_table.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_table.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/database_table.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/database_table.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/exclamation.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/exclamation.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/exclamation.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/exclamation.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/house.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/house.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/house.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/house.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/information.png b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/information.png
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/information.png
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/information.png
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/shadow.jpg b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/shadow.jpg
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/shadow.jpg
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/shadow.jpg
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/sorted_asc.gif b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/sorted_asc.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/sorted_asc.gif
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/sorted_asc.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/sorted_desc.gif b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/sorted_desc.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/skin/sorted_desc.gif
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/skin/sorted_desc.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/spinner.gif b/grails-test-examples/neo4j/hibernate5/grails-app/assets/images/spinner.gif
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/images/spinner.gif
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/images/spinner.gif
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/javascripts/application.js b/grails-test-examples/neo4j/hibernate5/grails-app/assets/javascripts/application.js
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/javascripts/application.js
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/javascripts/application.js
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/application.css b/grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/application.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/application.css
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/application.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/errors.css b/grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/errors.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/errors.css
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/errors.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/main.css b/grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/main.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/main.css
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/main.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/mobile.css b/grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/mobile.css
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/assets/stylesheets/mobile.css
rename to grails-test-examples/neo4j/hibernate5/grails-app/assets/stylesheets/mobile.css
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/application.yml b/grails-test-examples/neo4j/hibernate5/grails-app/conf/application.yml
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/conf/application.yml
rename to grails-test-examples/neo4j/hibernate5/grails-app/conf/application.yml
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/logback.xml b/grails-test-examples/neo4j/hibernate5/grails-app/conf/logback.xml
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/logback.xml
rename to grails-test-examples/neo4j/hibernate5/grails-app/conf/logback.xml
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/spring/resources.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/conf/spring/resources.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/conf/spring/resources.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/conf/spring/resources.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/controllers/UrlMappings.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/controllers/UrlMappings.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/controllers/UrlMappings.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/controllers/UrlMappings.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/functional/tests/AuthorController.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/controllers/functional/tests/AuthorController.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/functional/tests/AuthorController.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/controllers/functional/tests/AuthorController.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/functional/tests/BookController.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/controllers/functional/tests/BookController.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers/functional/tests/BookController.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/controllers/functional/tests/BookController.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Author.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/domain/functional/tests/Author.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Author.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/domain/functional/tests/Author.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Book.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/domain/functional/tests/Book.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Book.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/domain/functional/tests/Book.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_cs_CZ.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_cs_CZ.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_cs_CZ.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_cs_CZ.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_da.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_da.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_da.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_da.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_de.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_de.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_de.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_de.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_es.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_es.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_es.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_es.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_fr.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_fr.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_fr.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_fr.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_it.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_it.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_it.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_it.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_ja.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_ja.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_ja.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_ja.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_nb.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_nb.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_nb.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_nb.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_nl.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_nl.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_nl.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_nl.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pl.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pl.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pl.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pl.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pt_BR.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pt_BR.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pt_BR.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pt_BR.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pt_PT.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pt_PT.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_pt_PT.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_pt_PT.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_ru.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_ru.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_ru.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_ru.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_sv.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_sv.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_sv.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_sv.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_th.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_th.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_th.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_th.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_zh_CN.properties b/grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_zh_CN.properties
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/i18n/messages_zh_CN.properties
rename to grails-test-examples/neo4j/hibernate5/grails-app/i18n/messages_zh_CN.properties
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/init/BootStrap.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/init/BootStrap.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/init/BootStrap.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/init/BootStrap.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/init/functional/tests/Application.groovy b/grails-test-examples/neo4j/hibernate5/grails-app/init/functional/tests/Application.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/init/functional/tests/Application.groovy
rename to grails-test-examples/neo4j/hibernate5/grails-app/init/functional/tests/Application.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/create.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/author/create.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/create.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/author/create.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/edit.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/author/edit.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/edit.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/author/edit.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/index.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/author/index.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/index.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/author/index.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/show.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/author/show.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/author/show.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/author/show.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/create.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/book/create.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/create.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/book/create.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/edit.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/book/edit.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/edit.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/book/edit.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/index.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/book/index.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/index.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/book/index.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/show.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/book/show.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/book/show.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/book/show.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/error.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/error.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/error.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/error.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/index.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/index.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/index.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/index.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/layouts/main.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/layouts/main.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/layouts/main.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/layouts/main.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j/grails-app/views/notFound.gsp b/grails-test-examples/neo4j/hibernate5/grails-app/views/notFound.gsp
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j/grails-app/views/notFound.gsp
rename to grails-test-examples/neo4j/hibernate5/grails-app/views/notFound.gsp
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/src/integration-test/groovy/functional/tests/AuthorControllerSpec.groovy b/grails-test-examples/neo4j/hibernate5/src/integration-test/groovy/functional/tests/AuthorControllerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/src/integration-test/groovy/functional/tests/AuthorControllerSpec.groovy
rename to grails-test-examples/neo4j/hibernate5/src/integration-test/groovy/functional/tests/AuthorControllerSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy b/grails-test-examples/neo4j/hibernate5/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
rename to grails-test-examples/neo4j/hibernate5/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy
diff --git a/grails-data-neo4j/examples/grails3-neo4j-hibernate/src/test/groovy/functional/tests/Neo4jWithHibernateSpec.groovy b/grails-test-examples/neo4j/hibernate5/src/test/groovy/functional/tests/Neo4jWithHibernateSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/grails3-neo4j-hibernate/src/test/groovy/functional/tests/Neo4jWithHibernateSpec.groovy
rename to grails-test-examples/neo4j/hibernate5/src/test/groovy/functional/tests/Neo4jWithHibernateSpec.groovy
diff --git a/grails-data-neo4j/examples/neo4j-standalone/build.gradle b/grails-test-examples/neo4j/neo4j-standalone/build.gradle
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-standalone/build.gradle
rename to grails-test-examples/neo4j/neo4j-standalone/build.gradle
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/gradle.properties b/grails-test-examples/neo4j/neo4j-standalone/gradle.properties
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/gradle.properties
rename to grails-test-examples/neo4j/neo4j-standalone/gradle.properties
diff --git a/grails-data-neo4j/examples/neo4j-standalone/src/main/groovy/example/Person.groovy b/grails-test-examples/neo4j/neo4j-standalone/src/main/groovy/example/Person.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-standalone/src/main/groovy/example/Person.groovy
rename to grails-test-examples/neo4j/neo4j-standalone/src/main/groovy/example/Person.groovy
diff --git a/grails-data-neo4j/examples/neo4j-standalone/src/main/groovy/example/PersonService.groovy b/grails-test-examples/neo4j/neo4j-standalone/src/main/groovy/example/PersonService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-standalone/src/main/groovy/example/PersonService.groovy
rename to grails-test-examples/neo4j/neo4j-standalone/src/main/groovy/example/PersonService.groovy
diff --git a/grails-data-neo4j/examples/neo4j-standalone/src/test/groovy/example/PersonServiceSpec.groovy b/grails-test-examples/neo4j/neo4j-standalone/src/test/groovy/example/PersonServiceSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-standalone/src/test/groovy/example/PersonServiceSpec.groovy
rename to grails-test-examples/neo4j/neo4j-standalone/src/test/groovy/example/PersonServiceSpec.groovy
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/build.gradle b/grails-test-examples/neo4j/spring-boot/build.gradle
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/build.gradle
rename to grails-test-examples/neo4j/spring-boot/build.gradle
diff --git a/grails-data-neo4j/examples/neo4j-standalone/gradle.properties b/grails-test-examples/neo4j/spring-boot/gradle.properties
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-standalone/gradle.properties
rename to grails-test-examples/neo4j/spring-boot/gradle.properties
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/Application.groovy b/grails-test-examples/neo4j/spring-boot/src/main/groovy/example/Application.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/Application.groovy
rename to grails-test-examples/neo4j/spring-boot/src/main/groovy/example/Application.groovy
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/Book.groovy b/grails-test-examples/neo4j/spring-boot/src/main/groovy/example/Book.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/Book.groovy
rename to grails-test-examples/neo4j/spring-boot/src/main/groovy/example/Book.groovy
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/BookController.groovy b/grails-test-examples/neo4j/spring-boot/src/main/groovy/example/BookController.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/BookController.groovy
rename to grails-test-examples/neo4j/spring-boot/src/main/groovy/example/BookController.groovy
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/BookService.groovy b/grails-test-examples/neo4j/spring-boot/src/main/groovy/example/BookService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy/example/BookService.groovy
rename to grails-test-examples/neo4j/spring-boot/src/main/groovy/example/BookService.groovy
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources/application.yml b/grails-test-examples/neo4j/spring-boot/src/main/resources/application.yml
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources/application.yml
rename to grails-test-examples/neo4j/spring-boot/src/main/resources/application.yml
diff --git a/grails-data-neo4j/examples/neo4j-spring-boot/src/test/groovy/example/BookControllerSpec.groovy b/grails-test-examples/neo4j/spring-boot/src/test/groovy/example/BookControllerSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/neo4j-spring-boot/src/test/groovy/example/BookControllerSpec.groovy
rename to grails-test-examples/neo4j/spring-boot/src/test/groovy/example/BookControllerSpec.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/build.gradle b/grails-test-examples/neo4j/test-data-service/build.gradle
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/build.gradle
rename to grails-test-examples/neo4j/test-data-service/build.gradle
diff --git a/grails-data-neo4j/examples/test-data-service/gradle.properties b/grails-test-examples/neo4j/test-data-service/gradle.properties
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/gradle.properties
rename to grails-test-examples/neo4j/test-data-service/gradle.properties
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/conf/application.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/conf/application.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/conf/application.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/conf/application.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/conf/application.yml b/grails-test-examples/neo4j/test-data-service/grails-app/conf/application.yml
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/conf/application.yml
rename to grails-test-examples/neo4j/test-data-service/grails-app/conf/application.yml
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/conf/logback.xml b/grails-test-examples/neo4j/test-data-service/grails-app/conf/logback.xml
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/conf/logback.xml
rename to grails-test-examples/neo4j/test-data-service/grails-app/conf/logback.xml
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/conf/spring/resources.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/conf/spring/resources.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/conf/spring/resources.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/conf/spring/resources.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/ApplicationController.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/controllers/example/ApplicationController.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/ApplicationController.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/controllers/example/ApplicationController.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/UrlMappings.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/controllers/example/UrlMappings.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/UrlMappings.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/controllers/example/UrlMappings.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Book.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Book.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Book.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Book.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Person.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Person.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Person.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Person.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Student.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Student.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Student.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/domain/example/Student.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/i18n/messages.properties b/grails-test-examples/neo4j/test-data-service/grails-app/i18n/messages.properties
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/i18n/messages.properties
rename to grails-test-examples/neo4j/test-data-service/grails-app/i18n/messages.properties
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/init/example/Application.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/init/example/Application.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/init/example/Application.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/init/example/Application.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/init/example/BootStrap.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/init/example/BootStrap.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/init/example/BootStrap.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/init/example/BootStrap.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/services/example/BookService.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/services/example/BookService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/services/example/BookService.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/services/example/BookService.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/services/example/LibraryService.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/services/example/LibraryService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/services/example/LibraryService.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/services/example/LibraryService.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/services/example/PersonService.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/services/example/PersonService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/services/example/PersonService.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/services/example/PersonService.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/services/example/StudentService.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/services/example/StudentService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/services/example/StudentService.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/services/example/StudentService.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/services/example/TestService.groovy b/grails-test-examples/neo4j/test-data-service/grails-app/services/example/TestService.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/services/example/TestService.groovy
rename to grails-test-examples/neo4j/test-data-service/grails-app/services/example/TestService.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/views/application/index.gson b/grails-test-examples/neo4j/test-data-service/grails-app/views/application/index.gson
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/views/application/index.gson
rename to grails-test-examples/neo4j/test-data-service/grails-app/views/application/index.gson
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/views/error.gson b/grails-test-examples/neo4j/test-data-service/grails-app/views/error.gson
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/views/error.gson
rename to grails-test-examples/neo4j/test-data-service/grails-app/views/error.gson
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/views/errors/_errors.gson b/grails-test-examples/neo4j/test-data-service/grails-app/views/errors/_errors.gson
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/views/errors/_errors.gson
rename to grails-test-examples/neo4j/test-data-service/grails-app/views/errors/_errors.gson
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/views/notFound.gson b/grails-test-examples/neo4j/test-data-service/grails-app/views/notFound.gson
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/views/notFound.gson
rename to grails-test-examples/neo4j/test-data-service/grails-app/views/notFound.gson
diff --git a/grails-data-neo4j/examples/test-data-service/grails-app/views/object/_object.gson b/grails-test-examples/neo4j/test-data-service/grails-app/views/object/_object.gson
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/grails-app/views/object/_object.gson
rename to grails-test-examples/neo4j/test-data-service/grails-app/views/object/_object.gson
diff --git a/grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy b/grails-test-examples/neo4j/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy
rename to grails-test-examples/neo4j/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy b/grails-test-examples/neo4j/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy
rename to grails-test-examples/neo4j/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy b/grails-test-examples/neo4j/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy
rename to grails-test-examples/neo4j/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy
diff --git a/grails-data-neo4j/examples/test-data-service/src/main/groovy/example/TestBean.groovy b/grails-test-examples/neo4j/test-data-service/src/main/groovy/example/TestBean.groovy
similarity index 100%
rename from grails-data-neo4j/examples/test-data-service/src/main/groovy/example/TestBean.groovy
rename to grails-test-examples/neo4j/test-data-service/src/main/groovy/example/TestBean.groovy
diff --git a/settings.gradle b/settings.gradle
index fbca82c3a4..a3bf18598f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -267,6 +267,32 @@ project(':grails-test-examples-hibernate5-grails-hibernate-groovy-proxy').projec
 include 'grails-test-examples-hibernate5-issue450'
 project(':grails-test-examples-hibernate5-issue450').projectDir = new File(settingsDir, 'grails-test-examples/hibernate5/issue450')
 
+// Neo4j
+include 'grails-data-neo4j-core'
+project(':grails-data-neo4j-core').projectDir = new File(settingsDir, 'grails-data-neo4j/core')
+//
+//include 'grails-data-neo4j-docs'
+//project(':grails-data-neo4j-docs').projectDir = new File(settingsDir, 'grails-data-neo4j/docs')
+//
+//include 'grails-data-neo4j-spring-boot'
+//project(':grails-data-neo4j-spring-boot').projectDir = new File(settingsDir, 'grails-data-neo4j/boot-plugin')
+//
+//include 'grails-data-neo4j'
+//project(':grails-data-neo4j').projectDir = new File(settingsDir, 'grails-data-neo4j/grails-plugin')
+
+// functional tests - neo4j
+//include 'grails-test-examples-neo4j-base'
+//project(':grails-test-examples-neo4j-base').projectDir = new File(settingsDir, 'grails-test-examples/neo4j/base')
+//
+//include 'grails-test-examples-neo4j-hibernate5'
+//project(':grails-test-examples-neo4j-hibernate5').projectDir = new File(settingsDir, 'grails-test-examples/neo4j/hibernate5')
+//
+//include 'grails-test-examples-neo4j-spring-boot'
+//project(':grails-test-examples-neo4j-spring-boot').projectDir = new File(settingsDir, 'grails-test-examples/neo4j/spring-boot')
+//
+//include 'grails-test-examples-neo4j-test-data-service'
+//project(':grails-test-examples-neo4j-test-data-service').projectDir = new File(settingsDir, 'grails-test-examples/neo4j/test-data-service')
+
 // Mongodb
 // core
 include 'grails-data-mongodb-core'