cuba-platform / cuba-gradle-plugin

Gradle plugin for building CUBA platform and applications
https://www.cuba-platform.com
Apache License 2.0
15 stars 18 forks source link

Ability to setup library dependencies for single WAR task #103

Closed andreysubbotin closed 5 years ago

andreysubbotin commented 5 years ago

Environment

There is only one way: optaPlanner library should be loaded using core class loader.

We'll introduce properties coreAdditionalJarNames and webAdditionalJarNames on CubaWarBuilding. You can define jar names that loaded by core or web class loader.

Example:

task buildWar(type: CubaWarBuilding) {
    appProperties = ['cuba.automaticDatabaseUpdate': true]
    webXmlPath = 'modules/web/web/WEB-INF/single-war-web.xml'
    appHome = '../app_home'
    logbackConfigurationFile = 'etc/war-logback.xml'
    includeJdbcDriver = true
    includeContextXml = true
    coreContextXmlPath = 'modules/core/web/META-INF/war-context.xml'
    coreAdditionalJarNames = ['optaplanner-core-7.19.0.Final.jar', 'kie-soup-project-datamodel-commons-7.19.0.Final.jar', 'kie-soup-project-datamodel-api-7.19.0.Final.jar', 'kie-soup-maven-support-7.19.0.Final.jar', 'kie-soup-commons-7.19.0.Final.jar', 'kie-internal-7.19.0.Final.jar', 'kie-api-7.19.0.Final.jar', 'drools-core-7.19.0.Final.jar', 'drools-compiler-7.19.0.Final.jar']
}