From fb4baec57f30c6ce8bbfe4d4f5dd231172719f22 Mon Sep 17 00:00:00 2001 From: John Ahlroos Date: Fri, 4 May 2018 17:23:08 +0300 Subject: [PATCH] Split project into sub-projects --- build.gradle | 47 +++++++------------ dbt-core/build.gradle | 6 +++ .../groovy/com/devsoap/dbt/DBTModule.groovy | 0 .../dbt/actions/ExecutorChainAction.groovy | 0 .../dbt/actions/LedgerChainAction.groovy | 0 .../com/devsoap/dbt/config/DBTConfig.groovy | 0 .../devsoap/dbt/config/ExecutorConfig.groovy | 0 .../devsoap/dbt/config/LedgerConfig.groovy | 0 .../devsoap/dbt/data/BlockTransaction.groovy | 0 .../com/devsoap/dbt/data/LedgerData.groovy | 0 .../dbt/handlers/ExecutorHandler.groovy | 0 .../LedgerGetTransactionHandler.groovy | 0 .../LedgerListTransactionsHandler.groovy | 0 .../LedgerUpdateTransactionHandler.groovy | 0 .../devsoap/dbt/services/LedgerService.groovy | 0 .../services/TransactionManagerService.groovy | 0 dbt-demo/build.gradle | 18 +++++++ .../devsoap/dbt/demo}/DatabaseService.groovy | 2 +- .../db/migration/V1__create_tbl_logs.sql | 0 {src => dbt-demo/src}/ratpack/Ratpack.groovy | 6 +-- dbt-test/build.gradle | 25 ++++++++++ dbt-test/src/ratpack/Ratpack.groovy | 40 ++++++++++++++++ .../CustomPortMainApplicationUnderTest.groovy | 2 +- .../com/devsoap/dbt}/ExecutorSpec.groovy | 2 +- .../groovy/com/devsoap/dbt}/LedgerSpec.groovy | 2 +- .../TransactionManagementServiceSpec.groovy | 3 +- .../db/migration/V1__create_tbl_logs.sql | 4 ++ settings.gradle | 4 ++ 28 files changed, 119 insertions(+), 42 deletions(-) create mode 100644 dbt-core/build.gradle rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/DBTModule.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/actions/ExecutorChainAction.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/actions/LedgerChainAction.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/config/DBTConfig.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/config/ExecutorConfig.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/config/LedgerConfig.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/data/BlockTransaction.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/data/LedgerData.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/handlers/ExecutorHandler.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/handlers/LedgerGetTransactionHandler.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/handlers/LedgerListTransactionsHandler.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/handlers/LedgerUpdateTransactionHandler.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/services/LedgerService.groovy (100%) rename {src => dbt-core/src}/main/groovy/com/devsoap/dbt/services/TransactionManagerService.groovy (100%) create mode 100644 dbt-demo/build.gradle rename {src/main/groovy/com/devsoap/dbt/app => dbt-demo/src/main/groovy/com/devsoap/dbt/demo}/DatabaseService.groovy (91%) rename {src => dbt-demo/src}/main/resources/db/migration/V1__create_tbl_logs.sql (100%) rename {src => dbt-demo/src}/ratpack/Ratpack.groovy (90%) create mode 100644 dbt-test/build.gradle create mode 100644 dbt-test/src/ratpack/Ratpack.groovy rename {src/test/groovy/com/devsoap/dbt/framework => dbt-test/src/test/groovy/com/devsoap/dbt}/CustomPortMainApplicationUnderTest.groovy (96%) rename {src/test/groovy/com/devsoap/dbt/framework => dbt-test/src/test/groovy/com/devsoap/dbt}/ExecutorSpec.groovy (96%) rename {src/test/groovy/com/devsoap/dbt/framework => dbt-test/src/test/groovy/com/devsoap/dbt}/LedgerSpec.groovy (98%) rename {src/test/groovy/com/devsoap/dbt/framework => dbt-test/src/test/groovy/com/devsoap/dbt}/TransactionManagementServiceSpec.groovy (96%) create mode 100644 dbt-test/src/test/resources/db/migration/V1__create_tbl_logs.sql create mode 100644 settings.gradle diff --git a/build.gradle b/build.gradle index 2ccf620..28e9640 100644 --- a/build.gradle +++ b/build.gradle @@ -1,38 +1,23 @@ buildscript { - repositories { - jcenter() - } - dependencies { - classpath "io.ratpack:ratpack-gradle:1.5.1" - classpath 'com.h2database:h2:1.4.191' - } + repositories { + jcenter() + } + dependencies { + classpath "io.ratpack:ratpack-gradle:1.5.1" + } } plugins { - id "org.flywaydb.flyway" version "5.0.7" - id "io.ratpack.ratpack-groovy" version "1.5.1" - id 'idea' + id 'idea' + id 'groovy' + id "io.ratpack.ratpack-groovy" version "1.5.1" + id "org.flywaydb.flyway" version "5.0.7" } -repositories { - jcenter() +allprojects { + apply plugin: 'io.ratpack.ratpack-groovy' + apply plugin: 'idea' + repositories { + jcenter() + } } - -dependencies { - compile ratpack.dependency('h2') - compile ratpack.dependency('jdbc-tx') - compile ratpack.dependency('session') - compile 'org.flywaydb:flyway-core:5.0.7' - runtime 'org.slf4j:slf4j-simple:1.7.25' - - testCompile ratpack.dependency('test') - testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' - testCompile 'cglib:cglib:2.2.2' - testCompile 'org.objenesis:objenesis:2.1' -} - -flyway { - url = 'jdbc:h2:mem:dbtdb' - user = 'SA' -} -run.dependsOn(flywayMigrate) \ No newline at end of file diff --git a/dbt-core/build.gradle b/dbt-core/build.gradle new file mode 100644 index 0000000..97dc151 --- /dev/null +++ b/dbt-core/build.gradle @@ -0,0 +1,6 @@ + + +dependencies { + compile ratpack.dependency('jdbc-tx') + compile ratpack.dependency('session') +} \ No newline at end of file diff --git a/src/main/groovy/com/devsoap/dbt/DBTModule.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/DBTModule.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/DBTModule.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/DBTModule.groovy diff --git a/src/main/groovy/com/devsoap/dbt/actions/ExecutorChainAction.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/actions/ExecutorChainAction.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/actions/ExecutorChainAction.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/actions/ExecutorChainAction.groovy diff --git a/src/main/groovy/com/devsoap/dbt/actions/LedgerChainAction.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/actions/LedgerChainAction.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/actions/LedgerChainAction.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/actions/LedgerChainAction.groovy diff --git a/src/main/groovy/com/devsoap/dbt/config/DBTConfig.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/config/DBTConfig.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/config/DBTConfig.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/config/DBTConfig.groovy diff --git a/src/main/groovy/com/devsoap/dbt/config/ExecutorConfig.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/config/ExecutorConfig.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/config/ExecutorConfig.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/config/ExecutorConfig.groovy diff --git a/src/main/groovy/com/devsoap/dbt/config/LedgerConfig.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/config/LedgerConfig.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/config/LedgerConfig.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/config/LedgerConfig.groovy diff --git a/src/main/groovy/com/devsoap/dbt/data/BlockTransaction.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/data/BlockTransaction.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/data/BlockTransaction.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/data/BlockTransaction.groovy diff --git a/src/main/groovy/com/devsoap/dbt/data/LedgerData.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/data/LedgerData.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/data/LedgerData.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/data/LedgerData.groovy diff --git a/src/main/groovy/com/devsoap/dbt/handlers/ExecutorHandler.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/handlers/ExecutorHandler.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/handlers/ExecutorHandler.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/handlers/ExecutorHandler.groovy diff --git a/src/main/groovy/com/devsoap/dbt/handlers/LedgerGetTransactionHandler.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerGetTransactionHandler.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/handlers/LedgerGetTransactionHandler.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerGetTransactionHandler.groovy diff --git a/src/main/groovy/com/devsoap/dbt/handlers/LedgerListTransactionsHandler.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerListTransactionsHandler.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/handlers/LedgerListTransactionsHandler.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerListTransactionsHandler.groovy diff --git a/src/main/groovy/com/devsoap/dbt/handlers/LedgerUpdateTransactionHandler.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerUpdateTransactionHandler.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/handlers/LedgerUpdateTransactionHandler.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/handlers/LedgerUpdateTransactionHandler.groovy diff --git a/src/main/groovy/com/devsoap/dbt/services/LedgerService.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/services/LedgerService.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/services/LedgerService.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/services/LedgerService.groovy diff --git a/src/main/groovy/com/devsoap/dbt/services/TransactionManagerService.groovy b/dbt-core/src/main/groovy/com/devsoap/dbt/services/TransactionManagerService.groovy similarity index 100% rename from src/main/groovy/com/devsoap/dbt/services/TransactionManagerService.groovy rename to dbt-core/src/main/groovy/com/devsoap/dbt/services/TransactionManagerService.groovy diff --git a/dbt-demo/build.gradle b/dbt-demo/build.gradle new file mode 100644 index 0000000..b2bfbfa --- /dev/null +++ b/dbt-demo/build.gradle @@ -0,0 +1,18 @@ +apply plugin: "org.flywaydb.flyway" + +dependencies { + compile project(':dbt-core') + + runtime ratpack.dependency('h2') + runtime ratpack.dependency('jdbc-tx') + runtime ratpack.dependency('session') + + compile 'org.flywaydb:flyway-core:5.0.7' + runtime 'org.slf4j:slf4j-simple:1.7.25' +} + +flyway { + url = 'jdbc:h2:mem:dbtdb' + user = 'SA' +} +run.dependsOn(flywayMigrate) \ No newline at end of file diff --git a/src/main/groovy/com/devsoap/dbt/app/DatabaseService.groovy b/dbt-demo/src/main/groovy/com/devsoap/dbt/demo/DatabaseService.groovy similarity index 91% rename from src/main/groovy/com/devsoap/dbt/app/DatabaseService.groovy rename to dbt-demo/src/main/groovy/com/devsoap/dbt/demo/DatabaseService.groovy index 5b39db6..97b7cf9 100644 --- a/src/main/groovy/com/devsoap/dbt/app/DatabaseService.groovy +++ b/dbt-demo/src/main/groovy/com/devsoap/dbt/demo/DatabaseService.groovy @@ -1,4 +1,4 @@ -package com.devsoap.dbt.app +package com.devsoap.dbt.demo import org.flywaydb.core.Flyway import ratpack.service.Service diff --git a/src/main/resources/db/migration/V1__create_tbl_logs.sql b/dbt-demo/src/main/resources/db/migration/V1__create_tbl_logs.sql similarity index 100% rename from src/main/resources/db/migration/V1__create_tbl_logs.sql rename to dbt-demo/src/main/resources/db/migration/V1__create_tbl_logs.sql diff --git a/src/ratpack/Ratpack.groovy b/dbt-demo/src/ratpack/Ratpack.groovy similarity index 90% rename from src/ratpack/Ratpack.groovy rename to dbt-demo/src/ratpack/Ratpack.groovy index 3510eef..99c41b3 100644 --- a/src/ratpack/Ratpack.groovy +++ b/dbt-demo/src/ratpack/Ratpack.groovy @@ -1,12 +1,8 @@ import com.devsoap.dbt.DBTModule -import com.devsoap.dbt.app.DatabaseService +import com.devsoap.dbt.demo.DatabaseService import com.devsoap.dbt.config.DBTConfig -import com.devsoap.dbt.handlers.ExecutorHandler - import com.devsoap.dbt.services.TransactionManagerService -import com.fasterxml.jackson.databind.ObjectMapper import org.h2.jdbcx.JdbcDataSource -import ratpack.config.ConfigData import ratpack.session.SessionModule import javax.sql.DataSource diff --git a/dbt-test/build.gradle b/dbt-test/build.gradle new file mode 100644 index 0000000..056c09c --- /dev/null +++ b/dbt-test/build.gradle @@ -0,0 +1,25 @@ +apply plugin: 'org.flywaydb.flyway' + +dependencies { + testCompile project(':dbt-core') + testRuntime project(':dbt-core') + + testCompile ratpack.dependency('h2') + + testRuntime ratpack.dependency('jdbc-tx') + testRuntime ratpack.dependency('session') + + testRuntime 'org.flywaydb:flyway-core:5.0.7' + testRuntime 'org.slf4j:slf4j-simple:1.7.25' + + testCompile ratpack.dependency('test') + testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' + testCompile 'cglib:cglib:2.2.2' + testCompile 'org.objenesis:objenesis:2.1' +} + +flyway { + url = 'jdbc:h2:mem:dbtdb' + user = 'SA' +} +run.dependsOn(flywayMigrate) \ No newline at end of file diff --git a/dbt-test/src/ratpack/Ratpack.groovy b/dbt-test/src/ratpack/Ratpack.groovy new file mode 100644 index 0000000..4697bbc --- /dev/null +++ b/dbt-test/src/ratpack/Ratpack.groovy @@ -0,0 +1,40 @@ +import com.devsoap.dbt.DBTModule +import com.devsoap.dbt.config.DBTConfig +import org.flywaydb.core.Flyway +import org.h2.jdbcx.JdbcDataSource +import ratpack.service.Service +import ratpack.service.StartEvent +import ratpack.session.SessionModule + +import javax.sql.DataSource + +import static ratpack.groovy.Groovy.ratpack + +ratpack { + + serverConfig { + sysProps() + require('/dbt', DBTConfig) + } + + bindings { + + module SessionModule + + module (DBTModule) { + it.ledger.remoteUrl = 'http://localhost:8888/ledger' + it.executor.remoteUrl = 'http://localhost:8888/executor' + } + + bindInstance(DataSource, new JdbcDataSource(url: 'jdbc:h2:mem:dbtdb;DB_CLOSE_DELAY=-1', user: '')) + bind DatabaseService + } +} + +class DatabaseService implements Service { + + @Override + void onStart(StartEvent event){ + new Flyway(dataSource: event.registry.get(DataSource)).migrate() + } +} diff --git a/src/test/groovy/com/devsoap/dbt/framework/CustomPortMainApplicationUnderTest.groovy b/dbt-test/src/test/groovy/com/devsoap/dbt/CustomPortMainApplicationUnderTest.groovy similarity index 96% rename from src/test/groovy/com/devsoap/dbt/framework/CustomPortMainApplicationUnderTest.groovy rename to dbt-test/src/test/groovy/com/devsoap/dbt/CustomPortMainApplicationUnderTest.groovy index e3e4009..403fc2b 100644 --- a/src/test/groovy/com/devsoap/dbt/framework/CustomPortMainApplicationUnderTest.groovy +++ b/dbt-test/src/test/groovy/com/devsoap/dbt/CustomPortMainApplicationUnderTest.groovy @@ -1,4 +1,4 @@ -package com.devsoap.dbt.framework +package com.devsoap.dbt import ratpack.groovy.test.GroovyRatpackMainApplicationUnderTest import ratpack.impose.Impositions diff --git a/src/test/groovy/com/devsoap/dbt/framework/ExecutorSpec.groovy b/dbt-test/src/test/groovy/com/devsoap/dbt/ExecutorSpec.groovy similarity index 96% rename from src/test/groovy/com/devsoap/dbt/framework/ExecutorSpec.groovy rename to dbt-test/src/test/groovy/com/devsoap/dbt/ExecutorSpec.groovy index 5c6d807..8ddcb30 100644 --- a/src/test/groovy/com/devsoap/dbt/framework/ExecutorSpec.groovy +++ b/dbt-test/src/test/groovy/com/devsoap/dbt/ExecutorSpec.groovy @@ -1,4 +1,4 @@ -package com.devsoap.dbt.framework +package com.devsoap.dbt import com.devsoap.dbt.data.BlockTransaction import com.fasterxml.jackson.databind.ObjectMapper diff --git a/src/test/groovy/com/devsoap/dbt/framework/LedgerSpec.groovy b/dbt-test/src/test/groovy/com/devsoap/dbt/LedgerSpec.groovy similarity index 98% rename from src/test/groovy/com/devsoap/dbt/framework/LedgerSpec.groovy rename to dbt-test/src/test/groovy/com/devsoap/dbt/LedgerSpec.groovy index 4e7f095..5380034 100644 --- a/src/test/groovy/com/devsoap/dbt/framework/LedgerSpec.groovy +++ b/dbt-test/src/test/groovy/com/devsoap/dbt/LedgerSpec.groovy @@ -1,4 +1,4 @@ -package com.devsoap.dbt.framework +package com.devsoap.dbt import com.devsoap.dbt.data.BlockTransaction diff --git a/src/test/groovy/com/devsoap/dbt/framework/TransactionManagementServiceSpec.groovy b/dbt-test/src/test/groovy/com/devsoap/dbt/TransactionManagementServiceSpec.groovy similarity index 96% rename from src/test/groovy/com/devsoap/dbt/framework/TransactionManagementServiceSpec.groovy rename to dbt-test/src/test/groovy/com/devsoap/dbt/TransactionManagementServiceSpec.groovy index 14ef24c..4c352b7 100644 --- a/src/test/groovy/com/devsoap/dbt/framework/TransactionManagementServiceSpec.groovy +++ b/dbt-test/src/test/groovy/com/devsoap/dbt/TransactionManagementServiceSpec.groovy @@ -1,4 +1,4 @@ -package com.devsoap.dbt.framework +package com.devsoap.dbt import com.devsoap.dbt.data.BlockTransaction import com.fasterxml.jackson.databind.ObjectMapper @@ -8,7 +8,6 @@ import spock.lang.Specification class TransactionManagementServiceSpec extends Specification { - def mapper = new ObjectMapper() def PATH = 'ledger' diff --git a/dbt-test/src/test/resources/db/migration/V1__create_tbl_logs.sql b/dbt-test/src/test/resources/db/migration/V1__create_tbl_logs.sql new file mode 100644 index 0000000..464e247 --- /dev/null +++ b/dbt-test/src/test/resources/db/migration/V1__create_tbl_logs.sql @@ -0,0 +1,4 @@ +create table LOGS ( + LOG_ID int not null, + LOG_VALUE varchar(100) not null +); diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..99a4aad --- /dev/null +++ b/settings.gradle @@ -0,0 +1,4 @@ +include 'dbt-core' +include 'dbt-test' +include 'dbt-demo' +