cuba-platform / cuba-cli

CUBA Platform Development Command-Line Interface
https://www.cuba-platform.com/marketplace/cuba-cli/
Apache License 2.0
47 stars 8 forks source link

Main db driver dependency with double quotes #84

Closed IskandarovRost closed 6 years ago

IskandarovRost commented 6 years ago

1) launch create-app 2) create a project on mssql (the same - on all DBMS types) 3) check build.gradle

def mssql = "com.microsoft.sqlserver:mssql-jdbc:6.4.0.jre8"
....
    dependencies {
        compile(globalModule)
        provided(servletApi)
        jdbc(mssql) { exclude(group: 'com.microsoft.azure', module: 'azure-keyvault') }
        testRuntime(mssql) { exclude(group: 'com.microsoft.azure', module: 'azure-keyvault') }

    }
...
    task createDb(dependsOn: assembleDbScripts, description: 'Creates local database', type: CubaDbCreation) {
        dbms = 'mssql'
        host = '192.168.44.90'
        dbName = 'cuba_test_iskandarov2'
        dbUser = 'sa'
        dbPassword = 'saPass1'
    }

    task updateDb(dependsOn: assembleDbScripts, description: 'Updates local database', type: CubaDbUpdate) {
        dbms = 'mssql'
        host = '192.168.44.90'
        dbName = 'cuba_test_iskandarov2'
        dbUser = 'sa'
        dbPassword = 'saPass1'
    }
}

4) Open(import) the project in Studio 5) Change DBMS type of the main datastore to HSQLDB 6) Check build.gradle

AR: due to double quites Studio does not regognise the target def string. nothing works

def mssql = "com.microsoft.sqlserver:mssql-jdbc:6.4.0.jre8"

...
    dependencies {
        compile(globalModule)
        provided(servletApi)
        jdbc(hsql)
        testRuntime(hsql)

    }
...
    task createDb(dependsOn: assembleDbScripts, description: 'Creates local database', type: CubaDbCreation) {
        dbms = 'hsql'
        host = 'localhost'
        dbName = 'MixCaseProjname'
        dbUser = 'sa'
        dbPassword = ''
    }

    task updateDb(dependsOn: assembleDbScripts, description: 'Updates local database', type: CubaDbUpdate) {
        dbms = 'hsql'
        host = 'localhost'
        dbName = 'MixCaseProjname'
        dbUser = 'sa'
        dbPassword = ''
    }
}
IskandarovRost commented 6 years ago

It seems for Oracle Db double quotes should be used as "$cuba.tomcat.dir" should be recognized

CLI generates:

def oracle = files('$cuba.tomcat.dir/lib/ojdbc6.jar')

But Studio:

def oracle = files("$cuba.tomcat.dir/lib/ojdbc6.jar")