├── settings.gradle ├── img ├── setup-top.bmp ├── logo-title.png ├── setup-left.bmp └── cuba-cli-shell.gif ├── .gitattributes ├── src ├── main │ ├── resources │ │ └── com │ │ │ └── haulmont │ │ │ └── cuba │ │ │ └── cli │ │ │ ├── cubaplugin │ │ │ ├── snippets │ │ │ │ ├── appcomponentxml │ │ │ │ │ ├── searchString │ │ │ │ │ ├── attributePattern │ │ │ │ │ └── replaceString │ │ │ │ ├── polymer │ │ │ │ │ ├── moduleVarSearch │ │ │ │ │ ├── undeploySearch │ │ │ │ │ ├── moduleConfigureSearch │ │ │ │ │ ├── moduleRegistration │ │ │ │ │ ├── moduleVarReplace │ │ │ │ │ ├── undeployReplace │ │ │ │ │ └── moduleConfigureReplace │ │ │ │ ├── react │ │ │ │ │ ├── moduleVarSearch │ │ │ │ │ ├── undeploySearch │ │ │ │ │ ├── moduleConfigureSearch │ │ │ │ │ ├── moduleRegistration │ │ │ │ │ ├── moduleVarReplace │ │ │ │ │ ├── undeployReplace │ │ │ │ │ └── moduleConfigureReplace │ │ │ │ ├── theme │ │ │ │ │ ├── webModuleSearch │ │ │ │ │ ├── moduleRegistration │ │ │ │ │ ├── webModuleReplace │ │ │ │ │ ├── configureWebModuleSearch │ │ │ │ │ └── configureWebModuleReplace │ │ │ │ ├── premiumrepo │ │ │ │ │ ├── freeRepo │ │ │ │ │ ├── premiumRepo │ │ │ │ │ └── bothRepos │ │ │ │ └── entity │ │ │ │ │ ├── hsqlCreateTable │ │ │ │ │ ├── mysqlCreateTable │ │ │ │ │ ├── oracleCreateTable │ │ │ │ │ ├── postgresCreateTable │ │ │ │ │ └── mssqlCreateTable │ │ │ ├── templates │ │ │ │ ├── react │ │ │ │ │ ├── src │ │ │ │ │ │ ├── app │ │ │ │ │ │ │ ├── App.css │ │ │ │ │ │ │ ├── login │ │ │ │ │ │ │ │ ├── logo.png │ │ │ │ │ │ │ │ └── Login.css │ │ │ │ │ │ │ ├── header │ │ │ │ │ │ │ │ ├── logo.png │ │ │ │ │ │ │ │ ├── AppHeader.css │ │ │ │ │ │ │ │ └── AppHeader.tsx │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ │ ├── Centered.tsx │ │ │ │ │ │ │ │ ├── Msg.tsx │ │ │ │ │ │ │ │ ├── EntityProperty.tsx │ │ │ │ │ │ │ │ └── FormField.tsx │ │ │ │ │ │ │ ├── App.test.tsx │ │ │ │ │ │ │ └── home │ │ │ │ │ │ │ │ └── HomePage.tsx │ │ │ │ │ │ ├── react-app-env.d.ts │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── routing.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── tsconfig.prod.json │ │ │ │ │ ├── .env.development.local │ │ │ │ │ ├── .env.production.local │ │ │ │ │ ├── images.d.ts │ │ │ │ │ ├── tsconfig.test.json │ │ │ │ │ ├── tips.txt │ │ │ │ │ ├── generation │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── gitignore │ │ │ │ │ ├── public │ │ │ │ │ │ └── manifest.json │ │ │ │ │ ├── tslint.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── polymer │ │ │ │ │ ├── ${gitignore} │ │ │ │ │ ├── service-worker.js │ │ │ │ │ ├── tips.txt │ │ │ │ │ ├── images │ │ │ │ │ │ ├── favicon.ico │ │ │ │ │ │ └── app-icon │ │ │ │ │ │ │ ├── icon-32x32.png │ │ │ │ │ │ │ ├── icon-48x48.png │ │ │ │ │ │ │ ├── icon-64x64.png │ │ │ │ │ │ │ ├── icon-72x72.png │ │ │ │ │ │ │ ├── icon-96x96.png │ │ │ │ │ │ │ ├── icon-144x144.png │ │ │ │ │ │ │ ├── icon-192x192.png │ │ │ │ │ │ │ └── icon-512x512.png │ │ │ │ │ ├── package.json │ │ │ │ │ ├── sw-precache-config.js │ │ │ │ │ ├── manifest.json │ │ │ │ │ ├── polymer.json │ │ │ │ │ └── src │ │ │ │ │ │ ├── shared-styles.html │ │ │ │ │ │ ├── ${project.namespace}-locale-select.html │ │ │ │ │ │ └── home │ │ │ │ │ │ └── ${project.namespace}-home.html │ │ │ │ ├── project │ │ │ │ │ ├── 6.11 │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ ├── db │ │ │ │ │ │ │ │ │ └── init │ │ │ │ │ │ │ │ │ │ └── ${project.database.driverDependencyName} │ │ │ │ │ │ │ │ │ │ ├── 10.create-db.sql │ │ │ │ │ │ │ │ │ │ ├── 20.create-db.sql │ │ │ │ │ │ │ │ │ │ └── 30.create-db.sql │ │ │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ │ ├── spring.xml │ │ │ │ │ │ │ │ │ │ └── app.properties │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ ├── META-INF │ │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ │ │ └── WEB-INF │ │ │ │ │ │ │ │ │ │ └── web.xml │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ └── core │ │ │ │ │ │ │ │ │ └── SampleIntegrationTest.java │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ └── META-INF │ │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ ├── web-screens.xml │ │ │ │ │ │ │ │ │ ├── web-permissions.xml │ │ │ │ │ │ │ │ │ ├── web-menu.xml │ │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ └── messages.properties │ │ │ │ │ │ │ │ │ ├── web-dispatcher-spring.xml │ │ │ │ │ │ │ │ │ ├── web-spring.xml │ │ │ │ │ │ │ │ │ └── web-app.properties │ │ │ │ │ │ │ └── global │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ ├── views.xml │ │ │ │ │ │ │ │ ├── metadata.xml │ │ │ │ │ │ │ │ └── persistence.xml │ │ │ │ │ │ ├── ${gitignore} │ │ │ │ │ │ ├── gradle │ │ │ │ │ │ │ └── wrapper │ │ │ │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ │ │ ├── tips.txt │ │ │ │ │ │ ├── settings.gradle │ │ │ │ │ │ └── template.xml │ │ │ │ │ ├── 7.0 │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ ├── db │ │ │ │ │ │ │ │ │ └── init │ │ │ │ │ │ │ │ │ │ └── ${project.database.driverDependencyName} │ │ │ │ │ │ │ │ │ │ ├── 10.create-db.sql │ │ │ │ │ │ │ │ │ │ ├── 20.create-db.sql │ │ │ │ │ │ │ │ │ │ └── 30.create-db.sql │ │ │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ │ ├── spring.xml │ │ │ │ │ │ │ │ │ │ └── app.properties │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ ├── META-INF │ │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ │ │ └── WEB-INF │ │ │ │ │ │ │ │ │ │ └── web.xml │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ └── core │ │ │ │ │ │ │ │ │ └── SampleIntegrationTest.java │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ └── META-INF │ │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ ├── web-screens.xml │ │ │ │ │ │ │ │ │ ├── web-permissions.xml │ │ │ │ │ │ │ │ │ ├── web-menu.xml │ │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ └── messages.properties │ │ │ │ │ │ │ │ │ ├── web-dispatcher-spring.xml │ │ │ │ │ │ │ │ │ ├── web-spring.xml │ │ │ │ │ │ │ │ │ └── web-app.properties │ │ │ │ │ │ │ └── global │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ ├── views.xml │ │ │ │ │ │ │ │ ├── metadata.xml │ │ │ │ │ │ │ │ └── persistence.xml │ │ │ │ │ │ ├── ${gitignore} │ │ │ │ │ │ ├── gradle │ │ │ │ │ │ │ └── wrapper │ │ │ │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ │ │ ├── tips.txt │ │ │ │ │ │ ├── settings.gradle │ │ │ │ │ │ └── template.xml │ │ │ │ │ └── 7.2 │ │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ ├── db │ │ │ │ │ │ │ │ └── init │ │ │ │ │ │ │ │ │ └── ${project.database.driverDependencyName} │ │ │ │ │ │ │ │ │ ├── 10.create-db.sql │ │ │ │ │ │ │ │ │ ├── 20.create-db.sql │ │ │ │ │ │ │ │ │ └── 30.create-db.sql │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ ├── META-INF │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ │ └── WEB-INF │ │ │ │ │ │ │ │ │ └── web.xml │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ ├── test-spring.xml │ │ │ │ │ │ │ │ │ ├── test-app.properties │ │ │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ │ └── SampleIntegrationTest.java │ │ │ │ │ │ │ │ │ └── ${project.testContainerPrefix}TestContainer.kt │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ ├── spring.xml │ │ │ │ │ │ │ │ └── app.properties │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ └── META-INF │ │ │ │ │ │ │ │ │ └── context.xml │ │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ │ ├── web-screens.xml │ │ │ │ │ │ │ │ │ ├── web-permissions.xml │ │ │ │ │ │ │ │ │ ├── web-menu.xml │ │ │ │ │ │ │ │ │ ├── web │ │ │ │ │ │ │ │ │ └── messages.properties │ │ │ │ │ │ │ │ │ ├── web-dispatcher-spring.xml │ │ │ │ │ │ │ │ │ ├── web-spring.xml │ │ │ │ │ │ │ │ │ └── web-app.properties │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ │ └── ${project.testContainerPrefix}WebTestContainer.kt │ │ │ │ │ │ └── global │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[project.rootPackage] │ │ │ │ │ │ │ ├── views.xml │ │ │ │ │ │ │ ├── metadata.xml │ │ │ │ │ │ │ └── persistence.xml │ │ │ │ │ │ ├── ${gitignore} │ │ │ │ │ │ ├── gradle │ │ │ │ │ │ └── wrapper │ │ │ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ │ │ ├── tips.txt │ │ │ │ │ │ ├── settings.gradle │ │ │ │ │ │ └── template.xml │ │ │ │ ├── themes │ │ │ │ │ ├── halo │ │ │ │ │ │ ├── ${project.rootPackage} │ │ │ │ │ │ │ ├── halo-ext-defaults.scss │ │ │ │ │ │ │ ├── halo-ext.scss │ │ │ │ │ │ │ └── app-component.scss │ │ │ │ │ │ ├── favicon.ico │ │ │ │ │ │ ├── branding │ │ │ │ │ │ │ ├── app-icon-menu.png │ │ │ │ │ │ │ └── app-icon-login.png │ │ │ │ │ │ └── styles.scss │ │ │ │ │ └── hover │ │ │ │ │ │ ├── ${project.rootPackage} │ │ │ │ │ │ ├── hover-ext-defaults.scss │ │ │ │ │ │ ├── hover-ext.scss │ │ │ │ │ │ └── app-component.scss │ │ │ │ │ │ ├── favicon.ico │ │ │ │ │ │ ├── branding │ │ │ │ │ │ ├── app-icon-login.png │ │ │ │ │ │ └── app-icon-menu.png │ │ │ │ │ │ └── styles.scss │ │ │ │ ├── service │ │ │ │ │ └── modules │ │ │ │ │ │ ├── global │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[service.packageName] │ │ │ │ │ │ │ └── ${service.interfaceName}.java │ │ │ │ │ │ └── core │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[service.packageName] │ │ │ │ │ │ └── ${service.beanName}.java │ │ │ │ ├── screen │ │ │ │ │ ├── 6.999 │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ │ └── 7.0 │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ ├── ${screen.descriptorName}.xml │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ ├── browseScreen │ │ │ │ │ ├── 6.999 │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ │ └── latest │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ ├── screenExtension │ │ │ │ │ ├── mainTop │ │ │ │ │ │ ├── 6.11 │ │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ │ │ └── 7.1 │ │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ │ ├── login │ │ │ │ │ │ ├── 6.11 │ │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ │ │ └── 7.1 │ │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ ├── ${screen.descriptorName}.xml │ │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ │ └── mainSide │ │ │ │ │ │ └── 7.1 │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ ├── componentBean │ │ │ │ │ └── modules │ │ │ │ │ │ └── ${component.module} │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[component.packageName] │ │ │ │ │ │ └── ${component.name}.java │ │ │ │ ├── editScreen │ │ │ │ │ ├── 6.999 │ │ │ │ │ │ └── modules │ │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ │ └── 7.0 │ │ │ │ │ │ └── modules │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ ├── ${screen.controllerName}.java │ │ │ │ │ │ └── ${screen.descriptorName}.xml │ │ │ │ ├── config │ │ │ │ │ └── modules │ │ │ │ │ │ └── ${config.module} │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[config.packageName] │ │ │ │ │ │ └── ${config.name}.java │ │ │ │ ├── war │ │ │ │ │ ├── war-context.xml │ │ │ │ │ └── warTask │ │ │ │ ├── uberjar │ │ │ │ │ ├── jetty-env.xml │ │ │ │ │ └── uberJarTask │ │ │ │ ├── masterDetailScreen │ │ │ │ │ └── modules │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[screen.packageName] │ │ │ │ │ │ └── ${screen.controllerName}.java │ │ │ │ ├── enumeration │ │ │ │ │ └── modules │ │ │ │ │ │ └── global │ │ │ │ │ │ └── src │ │ │ │ │ │ └── $[enumeration.packageName] │ │ │ │ │ │ └── ${enumeration.className}.java │ │ │ │ └── entity │ │ │ │ │ └── modules │ │ │ │ │ └── global │ │ │ │ │ └── src │ │ │ │ │ └── $[entity.packageName] │ │ │ │ │ └── ${entity.name}.java │ │ │ ├── model │ │ │ │ └── messages.properties │ │ │ ├── premiumrepo │ │ │ │ └── messages.properties │ │ │ ├── messages.properties │ │ │ ├── theme │ │ │ │ └── messages.properties │ │ │ ├── project │ │ │ │ └── messages.properties │ │ │ ├── installcomponent │ │ │ │ └── messages.properties │ │ │ ├── appcomponentxml │ │ │ │ └── messages.properties │ │ │ └── front │ │ │ │ └── messages.properties │ │ │ └── application.properties │ └── kotlin │ │ └── com │ │ └── haulmont │ │ └── cuba │ │ └── cli │ │ ├── cubaplugin │ │ ├── model │ │ │ ├── PlatformVersionsManager.kt │ │ │ └── Entity.kt │ │ ├── ProjectService.kt │ │ ├── theme │ │ │ └── ThemeExtensionModel.kt │ │ ├── installcomponent │ │ │ └── ComponentModel.kt │ │ ├── appcomponentxml │ │ │ └── AppComponentModel.kt │ │ ├── front │ │ │ ├── react │ │ │ │ └── ReactModuleModel.kt │ │ │ └── polymer │ │ │ │ └── PolymerModel.kt │ │ ├── entity │ │ │ └── EntityModel.kt │ │ ├── VersionUtils.kt │ │ ├── config │ │ │ └── ConfigModel.kt │ │ ├── service │ │ │ └── ServiceModel.kt │ │ ├── componentbean │ │ │ └── ComponentBeanModel.kt │ │ ├── screen │ │ │ ├── blankscreen │ │ │ │ └── ScreenModel.kt │ │ │ ├── entityscreen │ │ │ │ └── EntityScreenModel.kt │ │ │ └── screenextension │ │ │ │ └── ScreenExtensionModel.kt │ │ ├── deploy │ │ │ ├── CreateTaskCommandGroup.kt │ │ │ ├── uberjar │ │ │ │ └── UberJarModel.kt │ │ │ └── war │ │ │ │ └── WarModel.kt │ │ ├── NamesUtils.kt │ │ ├── enumeration │ │ │ └── EnumerationModel.kt │ │ ├── gradle │ │ │ ├── BuildCommand.kt │ │ │ └── GradleCommand.kt │ │ └── entitylistener │ │ │ └── EntityListenerModel.kt │ │ ├── Cli.kt │ │ ├── commands │ │ ├── UsageProvider.kt │ │ ├── NonInteractiveInfo.kt │ │ ├── PlaceholderCommand.kt │ │ ├── CommandExecutionException.kt │ │ ├── CommonParameters.kt │ │ ├── LaunchOptions.kt │ │ ├── ShellCommands.kt │ │ └── CliCommand.kt │ │ ├── GenerationProgressPrinter.kt │ │ ├── WorkingDirectoryManager.kt │ │ ├── CliMode.kt │ │ ├── LoggerUtils.kt │ │ ├── ColoredWriter.kt │ │ ├── TextColorUtils.kt │ │ ├── PathUtils.kt │ │ ├── event │ │ └── CliEvent.kt │ │ ├── generation │ │ └── Snippets.kt │ │ └── registration │ │ └── EntityRegistrationHelper.kt └── test │ └── kotlin │ └── com │ └── haulmont │ └── cuba │ └── cli │ └── cubaplugin │ └── installcomponent │ └── AddComponentCommandTest.kt ├── bundles ├── j2objc.annotations │ └── module-info.java ├── animal.sniffer.annotations │ └── module-info.java ├── commons.logging │ └── module-info.java ├── jansi │ └── module-info.java ├── kotlin.stdlib.jdk7 │ └── module-info.java ├── commons.configuration │ └── module-info.java ├── kodein.di.generic.jvm │ └── module-info.java ├── kodein.di.core.jvm │ └── module-info.java ├── error.prone.annotations │ └── module-info.java ├── jcommander │ └── module-info.java ├── kotlin.stdlib.jdk8 │ └── module-info.java ├── practicalxml │ └── module-info.java ├── gson │ └── module-info.java ├── checker.qual │ └── module-info.java ├── commons.lang │ └── module-info.java ├── jline │ └── module-info.java ├── kotlin.reflect │ └── module-info.java ├── velocity │ └── module-info.java ├── commons.collections │ └── module-info.java ├── kotlin.stdlib │ └── module-info.java └── com.google.common │ └── module-info.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── .travis.yml ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── etc ├── cuba-cli-windows.bat └── cuba-cli-unix /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'cuba-cli' -------------------------------------------------------------------------------- /img/setup-top.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/img/setup-top.bmp -------------------------------------------------------------------------------- /img/logo-title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/img/logo-title.png -------------------------------------------------------------------------------- /img/setup-left.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/img/setup-left.bmp -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=auto 2 | 3 | *.png binary 4 | *.ico binary 5 | *.gif binary 6 | *.jar binary -------------------------------------------------------------------------------- /img/cuba-cli-shell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/img/cuba-cli-shell.gif -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/appcomponentxml/searchString: -------------------------------------------------------------------------------- 1 | configure(globalModule) { -------------------------------------------------------------------------------- /bundles/j2objc.annotations/module-info.java: -------------------------------------------------------------------------------- 1 | module j2objc.annotations { 2 | exports com.google.j2objc.annotations; 3 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/App.css: -------------------------------------------------------------------------------- 1 | .main-layout { 2 | height: 100%; 3 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/${gitignore}: -------------------------------------------------------------------------------- 1 | node_modules 2 | bower_components 3 | build -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/tsconfig.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json" 3 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/moduleVarSearch: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/moduleVarSearch: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/theme/webModuleSearch: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/undeploySearch: -------------------------------------------------------------------------------- 1 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/undeploySearch: -------------------------------------------------------------------------------- 1 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /bundles/animal.sniffer.annotations/module-info.java: -------------------------------------------------------------------------------- 1 | module animal.sniffer.annotations { 2 | exports org.codehaus.mojo.animal_sniffer; 3 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/.env.development.local: -------------------------------------------------------------------------------- 1 | REACT_APP_CUBA_URL=http://localhost:8080/app/rest/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.gradle/ 2 | /build/ 3 | /deploy/ 4 | /.shelf/ 5 | /.idea/ 6 | /test-home/ 7 | out 8 | *.iml 9 | *.ipr 10 | *.iws 11 | *.ids -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/appcomponentxml/attributePattern: -------------------------------------------------------------------------------- 1 | attributes('App-Component-Id': cuba.artifact.group) -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/.env.production.local: -------------------------------------------------------------------------------- 1 | PUBLIC_URL=/app-front/ 2 | REACT_APP_CUBA_URL=/app/rest/ -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/core/db/init/${project.database.driverDependencyName}/10.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/core/db/init/${project.database.driverDependencyName}/20.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/core/db/init/${project.database.driverDependencyName}/30.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/core/db/init/${project.database.driverDependencyName}/10.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/core/db/init/${project.database.driverDependencyName}/20.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/core/db/init/${project.database.driverDependencyName}/30.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/db/init/${project.database.driverDependencyName}/10.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/db/init/${project.database.driverDependencyName}/20.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/db/init/${project.database.driverDependencyName}/30.create-db.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bundles/commons.logging/module-info.java: -------------------------------------------------------------------------------- 1 | module commons.logging { 2 | exports org.apache.commons.logging; 3 | exports org.apache.commons.logging.impl; 4 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/moduleConfigureSearch: -------------------------------------------------------------------------------- 1 | task undeploy(type: Delete, dependsOn: ":${modulePrefix}-web:cleanConf") { -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/images.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' 2 | declare module '*.png' 3 | declare module '*.jpg' 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/moduleConfigureSearch: -------------------------------------------------------------------------------- 1 | task undeploy(type: Delete, dependsOn: ":${modulePrefix}-web:cleanConf") { -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/moduleRegistration: -------------------------------------------------------------------------------- 1 | project(":${modulePrefix}-front").projectDir = new File(settingsDir, 'modules/front') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/moduleRegistration: -------------------------------------------------------------------------------- 1 | project(":${modulePrefix}-front").projectDir = new File(settingsDir, 'modules/front') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/service-worker.js: -------------------------------------------------------------------------------- 1 | console.info('Service worker disabled for development, will be generated at build time.'); -------------------------------------------------------------------------------- /bundles/jansi/module-info.java: -------------------------------------------------------------------------------- 1 | module jansi { 2 | exports org.fusesource.hawtjni.runtime; 3 | exports org.fusesource.jansi; 4 | exports org.fusesource.jansi.internal; 5 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/theme/moduleRegistration: -------------------------------------------------------------------------------- 1 | project(":${modulePrefix}-web-themes").projectDir = new File(settingsDir, 'modules/web/themes') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/${project.rootPackage}/halo-ext-defaults.scss: -------------------------------------------------------------------------------- 1 | /* Override global theme constants or define new ones here */ -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/${project.rootPackage}/hover-ext-defaults.scss: -------------------------------------------------------------------------------- 1 | /* Override global theme constants or define new ones here */ -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/moduleVarReplace: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") 2 | def frontModule = project(":${modulePrefix}-front") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/moduleVarReplace: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") 2 | def frontModule = project(":${modulePrefix}-front") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /bundles/kotlin.stdlib.jdk7/module-info.java: -------------------------------------------------------------------------------- 1 | open module kotlin.stdlib.jdk7 { 2 | exports kotlin.internal.jdk7; 3 | exports kotlin.jdk7; 4 | 5 | requires transitive kotlin.stdlib; 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/theme/webModuleReplace: -------------------------------------------------------------------------------- 1 | def webModule = project(":${modulePrefix}-web") 2 | def webThemesModule = project(":${modulePrefix}-web-themes") -------------------------------------------------------------------------------- /bundles/commons.configuration/module-info.java: -------------------------------------------------------------------------------- 1 | module commons.configuration { 2 | requires commons.lang; 3 | requires commons.logging; 4 | 5 | exports org.apache.commons.configuration; 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/polymer/undeployReplace: -------------------------------------------------------------------------------- 1 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}") 2 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}-front") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/undeployReplace: -------------------------------------------------------------------------------- 1 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}") 2 | delete("$cuba.tomcat.dir/webapps/${modulePrefix}-front") -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/${gitignore}: -------------------------------------------------------------------------------- 1 | .gradle 2 | .studio 3 | *.ipr 4 | *.iml 5 | *.iws 6 | build/* 7 | deploy/* 8 | modules/*/build/* 9 | out 10 | test-run -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/${gitignore}: -------------------------------------------------------------------------------- 1 | .gradle 2 | .studio 3 | *.ipr 4 | *.iml 5 | *.iws 6 | build/* 7 | deploy/* 8 | modules/*/build/* 9 | out 10 | test-run -------------------------------------------------------------------------------- /bundles/kodein.di.generic.jvm/module-info.java: -------------------------------------------------------------------------------- 1 | module kodein.di.generic.jvm { 2 | requires transitive kodein.di.core.jvm; 3 | requires transitive kotlin.stdlib; 4 | 5 | exports org.kodein.di.generic; 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/${gitignore}: -------------------------------------------------------------------------------- 1 | .gradle 2 | .studio 3 | *.ipr 4 | *.iml 5 | *.iws 6 | build/* 7 | deploy/* 8 | modules/*/build/* 9 | out 10 | test-run -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/tips.txt: -------------------------------------------------------------------------------- 1 | 2 | You can read about React User Interface on official CUBA Platform documentation https://doc.cuba-platform.com/manual-7.0/react_ui.html. -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/tips.txt: -------------------------------------------------------------------------------- 1 | 2 | You can read about Polymer User Interface on official CUBA Platform documentation https://doc.cuba-platform.com/manual-6.8/polymer_ui.html. -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/generation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${project.name}-generation", 3 | "devDependencies": { 4 | "@cuba-platform/front-generator": "^1.1.2" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/favicon.ico -------------------------------------------------------------------------------- /bundles/kodein.di.core.jvm/module-info.java: -------------------------------------------------------------------------------- 1 | module kodein.di.core.jvm { 2 | requires transitive kotlin.stdlib; 3 | 4 | exports org.kodein.di; 5 | exports org.kodein.di.bindings; 6 | exports org.kodein.di.internal; 7 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/login/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/login/logo.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/header/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/header/logo.png -------------------------------------------------------------------------------- /bundles/error.prone.annotations/module-info.java: -------------------------------------------------------------------------------- 1 | module error.prone.annotations { 2 | requires transitive java.compiler; 3 | 4 | exports com.google.errorprone.annotations; 5 | exports com.google.errorprone.annotations.concurrent; 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/index.css: -------------------------------------------------------------------------------- 1 | html, body, #root { 2 | height: 100%; 3 | } 4 | 5 | body { 6 | margin: 0; 7 | padding: 0; 8 | font-family: sans-serif; 9 | background: #fafafa; 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/${project.rootPackage}/halo-ext.scss: -------------------------------------------------------------------------------- 1 | /* Define your theme modifications inside next mixin */ 2 | @mixin ${names.packageToUnderscore($project.rootPackage)}-halo-ext { 3 | 4 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/${project.rootPackage}/hover-ext.scss: -------------------------------------------------------------------------------- 1 | /* Define your theme modifications inside next mixin */ 2 | @mixin ${names.packageToUnderscore($project.rootPackage)}-hover-ext { 3 | 4 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-32x32.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-48x48.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-64x64.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-72x72.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-96x96.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/header/AppHeader.css: -------------------------------------------------------------------------------- 1 | .AppHeader { 2 | display: flex; 3 | justify-content: space-between; 4 | color: #CCCCCC; 5 | } 6 | 7 | .AppHeader .user-info > * { 8 | margin: 6px; 9 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/branding/app-icon-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/branding/app-icon-menu.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-144x144.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-192x192.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/images/app-icon/icon-512x512.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/global/src/$[project.rootPackage]/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/global/src/$[project.rootPackage]/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/global/src/$[project.rootPackage]/views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/config.ts: -------------------------------------------------------------------------------- 1 | export const CUBA_APP_URL = process.env.REACT_APP_CUBA_URL || '/app/rest/'; 2 | 3 | export const DEFAULT_COUNT = 10; // Typical amount of entities zto be loaded on browse screens -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/branding/app-icon-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/branding/app-icon-login.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/branding/app-icon-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/branding/app-icon-login.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/branding/app-icon-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/branding/app-icon-menu.png -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/routing.ts: -------------------------------------------------------------------------------- 1 | export interface RouteInfo { 2 | pathPattern: string; 3 | menuLink: string; 4 | component: any; 5 | caption: string; 6 | } 7 | 8 | export const mainRoutes: RouteInfo[] = []; -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cuba-platform/cuba-cli/HEAD/src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/theme/configureWebModuleSearch: -------------------------------------------------------------------------------- 1 | task deploy(dependsOn: [assemble, cleanConf], type: CubaDeployment) { 2 | appName = "${modulePrefix}" 3 | appJars(modulePrefix + '-global', modulePrefix + '-web') 4 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web-screens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web-screens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web-screens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/service/modules/global/src/$[service.packageName]/${service.interfaceName}.java: -------------------------------------------------------------------------------- 1 | package ${service.packageName}; 2 | 3 | 4 | public interface ${service.interfaceName} { 5 | String NAME = "${service.serviceName}"; 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/${project.rootPackage}/app-component.scss: -------------------------------------------------------------------------------- 1 | @import "halo-ext"; 2 | 3 | @mixin ${names.packageToUnderscore($project.rootPackage)} { 4 | @include ${names.packageToUnderscore($project.rootPackage)}-halo-ext; 5 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/${project.rootPackage}/app-component.scss: -------------------------------------------------------------------------------- 1 | @import "hover-ext"; 2 | 3 | @mixin ${names.packageToUnderscore($project.rootPackage)} { 4 | @include ${names.packageToUnderscore($project.rootPackage)}-hover-ext; 5 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/model/PlatformVersionsManager.kt: -------------------------------------------------------------------------------- 1 | package com.haulmont.cuba.cli.cubaplugin.model 2 | 3 | interface PlatformVersionsManager { 4 | val supportedVersionsRange: VersionRange 5 | 6 | val versions: List 7 | 8 | fun load() 9 | } -------------------------------------------------------------------------------- /bundles/jcommander/module-info.java: -------------------------------------------------------------------------------- 1 | module jcommander { 2 | exports com.beust.jcommander; 3 | exports com.beust.jcommander.converters; 4 | exports com.beust.jcommander.defaultprovider; 5 | exports com.beust.jcommander.internal; 6 | exports com.beust.jcommander.validators; 7 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web-permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web-permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web-permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screen/6.999/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.components.AbstractWindow; 4 | 5 | public class ${screen.controllerName} extends AbstractWindow { 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/browseScreen/6.999/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.components.AbstractLookup; 4 | 5 | public class ${screen.controllerName} extends AbstractLookup { 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/mainTop/6.11/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package $screen.packageName; 2 | 3 | import com.haulmont.cuba.web.app.mainwindow.AppMainWindow; 4 | 5 | public class ExtAppMainWindow extends AppMainWindow { 6 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | jdk: openjdk11 3 | 4 | install: 5 | - ./gradlew --no-daemon assemble 6 | 7 | script: 8 | - ./gradlew --no-daemon test 9 | 10 | cache: 11 | directories: 12 | - $HOME/.gradle/caches/ 13 | - $HOME/.gradle/wrapper/ 14 | 15 | matrix: 16 | include: 17 | - jdk: openjdk11 -------------------------------------------------------------------------------- /bundles/kotlin.stdlib.jdk8/module-info.java: -------------------------------------------------------------------------------- 1 | open module kotlin.stdlib.jdk8 { 2 | exports kotlin.collections.jdk8; 3 | exports kotlin.internal.jdk8; 4 | exports kotlin.streams.jdk8; 5 | exports kotlin.text.jdk8; 6 | 7 | requires transitive kotlin.stdlib; 8 | requires transitive kotlin.stdlib.jdk7; 9 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/login/6.11/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package $screen.packageName; 2 | 3 | import com.haulmont.cuba.web.app.loginwindow.AppLoginWindow; 4 | 5 | public class ${screen.controllerName} extends AppLoginWindow { 6 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "$project.name", 3 | "version": "0.0.1", 4 | "scripts": { 5 | "build": "polymer build" 6 | }, 7 | "devDependencies": { 8 | "bower": "^1.8.2", 9 | "polymer-cli": "^1.5.7" 10 | }, 11 | "private": true 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/componentBean/modules/${component.module}/src/$[component.packageName]/${component.name}.java: -------------------------------------------------------------------------------- 1 | package ${component.packageName}; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | @Component("${component.beanName}") 6 | public class ${component.name} { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web-menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web-menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web-menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/service/modules/core/src/$[service.packageName]/${service.beanName}.java: -------------------------------------------------------------------------------- 1 | package ${service.packageName}; 2 | 3 | import org.springframework.stereotype.Service; 4 | 5 | @Service(${service.interfaceName}.NAME) 6 | public class ${service.beanName} implements ${service.interfaceName} { 7 | 8 | } -------------------------------------------------------------------------------- /bundles/practicalxml/module-info.java: -------------------------------------------------------------------------------- 1 | module practicalxml { 2 | requires java.xml; 3 | 4 | exports net.sf.practicalxml; 5 | exports net.sf.practicalxml.builder; 6 | exports net.sf.practicalxml.converter; 7 | exports net.sf.practicalxml.junit; 8 | exports net.sf.practicalxml.util; 9 | exports net.sf.practicalxml.xpath; 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/appcomponentxml/replaceString: -------------------------------------------------------------------------------- 1 | configure(globalModule) { 2 | jar { 3 | manifest { 4 | attributes('App-Component-Id': cuba.artifact.group) 5 | attributes('App-Component-Version': cuba.artifact.version + (cuba.artifact.isSnapshot ? '-SNAPSHOT' : '')) 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/tips.txt: -------------------------------------------------------------------------------- 1 | 2 | @|white Project has been generated in %s directory. 3 | The project's CUBA Platform version requires Java 8. 4 | To build project, go to the project directory and execute `gradlew assemble`. 5 | To import project into IDE, execute `gradlew ide` and open generated *.ipr file. 6 | |@ -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/tips.txt: -------------------------------------------------------------------------------- 1 | 2 | @|white Project has been generated in %s directory. 3 | The project's CUBA Platform version requires Java 8. 4 | To build project, go to the project directory and execute `gradlew assemble`. 5 | To import project into IDE, execute `gradlew ide` and open generated *.ipr file. 6 | |@ -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/tips.txt: -------------------------------------------------------------------------------- 1 | 2 | @|white Project has been generated in %s directory. 3 | The project's CUBA Platform version requires Java 8. 4 | To build project, go to the project directory and execute `gradlew assemble`. 5 | To import project into IDE, execute `gradlew ide` and open generated *.ipr file. 6 | |@ -------------------------------------------------------------------------------- /bundles/gson/module-info.java: -------------------------------------------------------------------------------- 1 | open module gson { 2 | requires java.sql; 3 | requires jdk.unsupported; 4 | 5 | exports com.google.gson; 6 | exports com.google.gson.annotations; 7 | exports com.google.gson.internal; 8 | exports com.google.gson.internal.bind; 9 | exports com.google.gson.reflect; 10 | exports com.google.gson.stream; 11 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/global/src/$[project.rootPackage]/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/global/src/$[project.rootPackage]/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/global/src/$[project.rootPackage]/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/editScreen/6.999/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.components.AbstractEditor; 4 | import ${screen.entity.fqn}; 5 | 6 | public class ${screen.controllerName} extends AbstractEditor<${screen.entity.className}> { 7 | } -------------------------------------------------------------------------------- /bundles/checker.qual/module-info.java: -------------------------------------------------------------------------------- 1 | module checker.qual { 2 | exports org.checkerframework.checker.formatter; 3 | exports org.checkerframework.checker.regex; 4 | exports org.checkerframework.checker.units; 5 | exports org.checkerframework.checker.nullness; 6 | 7 | exports org.checkerframework.framework.qual; 8 | exports org.checkerframework.framework.util; 9 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/global/src/$[project.rootPackage]/persistence.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/global/src/$[project.rootPackage]/persistence.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/global/src/$[project.rootPackage]/persistence.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/premiumrepo/freeRepo: -------------------------------------------------------------------------------- 1 | maven { 2 | url 'https://repo.cuba-platform.com/content/groups/work' 3 | credentials { 4 | username(rootProject.hasProperty('repoUser') ? rootProject['repoUser'] : 'cuba') 5 | password(rootProject.hasProperty('repoPass') ? rootProject['repoPass'] : 'cuba123') 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | /node_modules 3 | 4 | # testing 5 | /coverage 6 | 7 | # production 8 | /build 9 | /build-gradle 10 | 11 | # misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | 22 | .idea 23 | .vscode 24 | .gradle -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/config/modules/${config.module}/src/$[config.packageName]/${config.name}.java: -------------------------------------------------------------------------------- 1 | package ${config.packageName}; 2 | 3 | import com.haulmont.cuba.core.config.Config; 4 | import com.haulmont.cuba.core.config.Source; 5 | import com.haulmont.cuba.core.config.SourceType; 6 | 7 | @Source(type = SourceType.${config.sourceType}) 8 | public interface ${config.name} extends Config { 9 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/sw-precache-config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | replacePrefix: '/app-front/', 3 | staticFileGlobs: [ 4 | 'index.html', 5 | 'src/**.html', 6 | 'images/*', 7 | 'manifest.json', 8 | 'bower_components/webcomponentsjs/webcomponents-loader.js', 9 | 'bower_components/fetch/fetch.js' 10 | ], 11 | navigateFallback: 'index.html' 12 | }; 13 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/common/Centered.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import {ReactNode} from "react"; 3 | 4 | export default function Centered({children}: {children?: ReactNode}) { 5 | return ( 6 |
7 | {children} 8 |
9 | ) 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/halo/styles.scss: -------------------------------------------------------------------------------- 1 | @import "halo-defaults"; 2 | @import "${project.rootPackage}/halo-ext-defaults"; 3 | @import "app-components"; 4 | @import "${project.rootPackage}/halo-ext"; 5 | 6 | .halo { 7 | // include auto-generated app components SCSS 8 | @include app_components; 9 | 10 | @include ${names.packageToUnderscore($project.rootPackage)}-halo-ext; 11 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/entity/hsqlCreateTable: -------------------------------------------------------------------------------- 1 | create table %s ( 2 | ID varchar(36) not null, 3 | CREATE_TS timestamp, 4 | CREATED_BY varchar(50), 5 | VERSION integer, 6 | UPDATE_TS timestamp, 7 | UPDATED_BY varchar(50), 8 | DELETE_TS timestamp, 9 | DELETED_BY varchar(50), 10 | 11 | -- TODO add your columns here 12 | 13 | primary key (ID) 14 | )^ 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/entity/mysqlCreateTable: -------------------------------------------------------------------------------- 1 | create table %s ( 2 | ID varchar(32), 3 | CREATE_TS datetime(3), 4 | CREATED_BY varchar(50), 5 | VERSION integer, 6 | UPDATE_TS datetime(3), 7 | UPDATED_BY varchar(50), 8 | DELETE_TS datetime(3), 9 | DELETED_BY varchar(50), 10 | 11 | -- TODO add your columns here 12 | 13 | primary key (ID) 14 | )^ 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/entity/oracleCreateTable: -------------------------------------------------------------------------------- 1 | create table %s ( 2 | ID varchar2(32), 3 | CREATE_TS timestamp, 4 | CREATED_BY varchar2(50), 5 | VERSION integer, 6 | UPDATE_TS timestamp, 7 | UPDATED_BY varchar2(50), 8 | DELETE_TS timestamp, 9 | DELETED_BY varchar2(50), 10 | 11 | -- TODO add your columns here 12 | 13 | primary key (ID) 14 | )^ 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web/messages.properties: -------------------------------------------------------------------------------- 1 | 2 | application.caption = CUBA Application 3 | application.logoImage = branding/app-icon-menu.png 4 | 5 | loginWindow.caption = CUBA Login 6 | loginWindow.welcomeLabel = Welcome to CUBA! 7 | loginWindow.logoImage = branding/app-icon-login.png 8 | 9 | menu-config.application-app = Application 10 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web/messages.properties: -------------------------------------------------------------------------------- 1 | 2 | application.caption = CUBA Application 3 | application.logoImage = branding/app-icon-menu.png 4 | 5 | loginWindow.caption = CUBA Login 6 | loginWindow.welcomeLabel = Welcome to CUBA! 7 | loginWindow.logoImage = branding/app-icon-login.png 8 | 9 | menu-config.application-app = Application 10 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/test/$[project.rootPackage]/test-spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web/messages.properties: -------------------------------------------------------------------------------- 1 | 2 | application.caption = CUBA Application 3 | application.logoImage = branding/app-icon-menu.png 4 | 5 | loginWindow.caption = CUBA Login 6 | loginWindow.welcomeLabel = Welcome to CUBA! 7 | loginWindow.logoImage = branding/app-icon-login.png 8 | 9 | menu-config.application-app = Application 10 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/themes/hover/styles.scss: -------------------------------------------------------------------------------- 1 | @import "hover-defaults"; 2 | @import "${project.rootPackage}/hover-ext-defaults"; 3 | @import "app-components"; 4 | @import "${project.rootPackage}/hover-ext"; 5 | 6 | .hover { 7 | // include auto-generated app components SCSS 8 | @include app_components; 9 | 10 | @include ${names.packageToUnderscore($project.rootPackage)}-hover-ext; 11 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/entity/postgresCreateTable: -------------------------------------------------------------------------------- 1 | create table %s ( 2 | ID uuid not null, 3 | VERSION integer not null, 4 | CREATE_TS timestamp, 5 | CREATED_BY varchar(50), 6 | UPDATE_TS timestamp, 7 | UPDATED_BY varchar(50), 8 | DELETE_TS timestamp, 9 | DELETED_BY varchar(50), 10 | 11 | -- TODO add your columns here 12 | 13 | primary key (ID) 14 | )^ 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/login/Login.css: -------------------------------------------------------------------------------- 1 | .Login { 2 | border-radius: 4px; 3 | background: #fff; 4 | padding: 32px 32px 0; 5 | min-width: 300px; 6 | box-shadow: 0 0 50px 0 rgba(0,0,0,0.2); 7 | } 8 | 9 | .logo { 10 | display: block; 11 | margin: 0 auto 12px; 12 | } 13 | 14 | .login-title { 15 | text-align: center; 16 | margin-bottom: 24px; 17 | font-size: 20px; 18 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screen/7.0/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/entity/mssqlCreateTable: -------------------------------------------------------------------------------- 1 | create table %s ( 2 | ID uniqueidentifier not null, 3 | CREATE_TS datetime, 4 | CREATED_BY varchar(50), 5 | VERSION integer, 6 | UPDATE_TS datetime, 7 | UPDATED_BY varchar(50), 8 | DELETE_TS datetime, 9 | DELETED_BY varchar(50), 10 | 11 | -- TODO add your columns here 12 | 13 | primary key nonclustered (ID) 14 | )^ 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/App.test.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | import {AppState} from "./AppState"; 5 | 6 | it('renders without crashing', () => { 7 | const div = document.createElement('div'); 8 | ReactDOM.render(, div); 9 | ReactDOM.unmountComponentAtNode(div); 10 | }); 11 | -------------------------------------------------------------------------------- /bundles/commons.lang/module-info.java: -------------------------------------------------------------------------------- 1 | module commons.lang { 2 | requires java.sql; 3 | 4 | exports org.apache.commons.lang; 5 | exports org.apache.commons.lang.builder; 6 | exports org.apache.commons.lang.enums; 7 | exports org.apache.commons.lang.exception; 8 | exports org.apache.commons.lang.math; 9 | exports org.apache.commons.lang.mutable; 10 | exports org.apache.commons.lang.text; 11 | exports org.apache.commons.lang.time; 12 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "${project.name}", 3 | "name": "${project.name}", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screen/7.0/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.screen.Screen; 4 | import com.haulmont.cuba.gui.screen.UiController; 5 | import com.haulmont.cuba.gui.screen.UiDescriptor; 6 | 7 | @UiController("${screen.screenId}") 8 | @UiDescriptor("${screen.descriptorName}.xml") 9 | public class ${screen.controllerName} extends Screen { 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/login/7.1/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = '${project.projectName}' 2 | def modulePrefix = 'app' 3 | include(":${modulePrefix}-global", ":${modulePrefix}-core", ":${modulePrefix}-web") 4 | project(":${modulePrefix}-global").projectDir = new File(settingsDir, 'modules/global') 5 | project(":${modulePrefix}-core").projectDir = new File(settingsDir, 'modules/core') 6 | project(":${modulePrefix}-web").projectDir = new File(settingsDir, 'modules/web') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = '${project.projectName}' 2 | def modulePrefix = 'app' 3 | include(":${modulePrefix}-global", ":${modulePrefix}-core", ":${modulePrefix}-web") 4 | project(":${modulePrefix}-global").projectDir = new File(settingsDir, 'modules/global') 5 | project(":${modulePrefix}-core").projectDir = new File(settingsDir, 'modules/core') 6 | project(":${modulePrefix}-web").projectDir = new File(settingsDir, 'modules/web') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = '${project.projectName}' 2 | def modulePrefix = 'app' 3 | include(":${modulePrefix}-global", ":${modulePrefix}-core", ":${modulePrefix}-web") 4 | project(":${modulePrefix}-global").projectDir = new File(settingsDir, 'modules/global') 5 | project(":${modulePrefix}-core").projectDir = new File(settingsDir, 'modules/core') 6 | project(":${modulePrefix}-web").projectDir = new File(settingsDir, 'modules/web') -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/login/7.1/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package $screen.packageName; 2 | 3 | import com.haulmont.cuba.gui.screen.UiController; 4 | import com.haulmont.cuba.gui.screen.UiDescriptor; 5 | import com.haulmont.cuba.web.app.login.LoginScreen; 6 | 7 | @UiController("login") 8 | @UiDescriptor("${screen.descriptorName}.xml") 9 | public class ${screen.controllerName} extends LoginScreen { 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/premiumrepo/premiumRepo: -------------------------------------------------------------------------------- 1 | maven { 2 | url 'https://repo.cuba-platform.com/content/groups/premium' 3 | credentials { 4 | username(rootProject.hasProperty('premiumRepoUser') ? rootProject['premiumRepoUser'] : System.getenv('CUBA_PREMIUM_USER')) 5 | password(rootProject.hasProperty('premiumRepoPass') ? rootProject['premiumRepoPass'] : System.getenv('CUBA_PREMIUM_PASSWORD')) 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/mainTop/7.1/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package $screen.packageName; 2 | 3 | import com.haulmont.cuba.gui.screen.UiController; 4 | import com.haulmont.cuba.gui.screen.UiDescriptor; 5 | import com.haulmont.cuba.web.app.main.MainScreen; 6 | 7 | @UiController("topMenuMainScreen") 8 | @UiDescriptor("${screen.descriptorName}.xml") 9 | public class ${screen.controllerName} extends MainScreen { 10 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screen/6.999/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "$names.capitalize($project.name)", 3 | "short_name": "$project.name", 4 | "start_url": "/app-front/", 5 | "display": "standalone", 6 | "background_color": "#2196F3", 7 | "icons": [ 8 | { 9 | "src": "images/app-icon/icon-192x192.png", 10 | "sizes": "192x192", 11 | "type": "image/png" 12 | }, 13 | { 14 | "src": "images/app-icon/icon-512x512.png", 15 | "sizes": "512x512", 16 | "type": "image/png" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/test/$[project.rootPackage]/test-app.properties: -------------------------------------------------------------------------------- 1 | cuba.springContextConfig = +${project.rootPackageDirectory}/spring.xml \\ 2 | com/haulmont/cuba/testsupport/test-spring.xml \\ 3 | ${project.rootPackageDirectory}/test-spring.xml 4 | 5 | ${ 'cuba.confDir=${user.dir}/build/test-home/${cuba.webContextName}/conf' } 6 | ${ 'cuba.logDir=${user.dir}/build/test-home/${cuba.webContextName}/logs' } 7 | ${ 'cuba.tempDir=${user.dir}/build/test-home/${cuba.webContextName}/temp' } 8 | ${ 'cuba.dataDir=${user.dir}/build/test-home/${cuba.webContextName}/work' } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/login/6.11/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web-dispatcher-spring.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web-dispatcher-spring.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web-dispatcher-spring.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /bundles/jline/module-info.java: -------------------------------------------------------------------------------- 1 | module jline { 2 | requires transitive jansi; 3 | requires transitive java.logging; 4 | 5 | exports org.jline.builtins; 6 | exports org.jline.keymap; 7 | exports org.jline.style; 8 | exports org.jline.terminal; 9 | exports org.jline.utils; 10 | exports org.jline.reader; 11 | exports org.jline.reader.impl; 12 | exports org.jline.reader.impl.history; 13 | exports org.jline.reader.impl.completer; 14 | exports org.jline.terminal.impl; 15 | 16 | exports org.jline.terminal.spi; 17 | exports org.jline.terminal.impl.jansi.win; 18 | 19 | uses org.jline.terminal.spi.JansiSupport; 20 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/polymer.json: -------------------------------------------------------------------------------- 1 | { 2 | "entrypoint": "index.html", 3 | "shell": "src/${project.namespace}-shell.html", 4 | "sources": [ 5 | "src/**/*", 6 | "images/**/*", 7 | "bower.json" 8 | ], 9 | "extraDependencies": [ 10 | "manifest.json", 11 | "service-worker.js", 12 | "bower_components/webcomponentsjs/*.js", 13 | "bower_components/fetch/fetch.js" 14 | ], 15 | "lint": { 16 | "rules": ["polymer-2"] 17 | }, 18 | "builds": [ 19 | { 20 | "preset": "es6-unbundled", 21 | "basePath": "/app-front/", 22 | "addServiceWorker": false 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/polymer/src/shared-styles.html: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | -------------------------------------------------------------------------------- /bundles/kotlin.reflect/module-info.java: -------------------------------------------------------------------------------- 1 | import kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader; 2 | import kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl; 3 | import kotlin.reflect.jvm.internal.impl.util.ModuleVisibilityHelper; 4 | import kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition; 5 | 6 | open module kotlin.reflect { 7 | exports kotlin.reflect.full; 8 | exports kotlin.reflect.jvm; 9 | 10 | uses BuiltInsLoader; 11 | provides BuiltInsLoader with BuiltInsLoaderImpl; 12 | 13 | uses ModuleVisibilityHelper; 14 | uses ExternalOverridabilityCondition; 15 | 16 | requires transitive kotlin.stdlib; 17 | } -------------------------------------------------------------------------------- /bundles/velocity/module-info.java: -------------------------------------------------------------------------------- 1 | module velocity { 2 | requires transitive commons.collections; 3 | requires transitive commons.lang; 4 | requires transitive java.logging; 5 | 6 | requires commons.logging; 7 | 8 | exports org.apache.velocity; 9 | exports org.apache.velocity.anakia; 10 | exports org.apache.velocity.app; 11 | exports org.apache.velocity.context; 12 | exports org.apache.velocity.convert; 13 | exports org.apache.velocity.exception; 14 | exports org.apache.velocity.io; 15 | exports org.apache.velocity.runtime; 16 | exports org.apache.velocity.servlet; 17 | exports org.apache.velocity.texen; 18 | exports org.apache.velocity.util; 19 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/war/war-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "tslint:recommended", 4 | "tslint-react", 5 | "tslint-config-prettier" 6 | ], 7 | "linterOptions": { 8 | "exclude": [ 9 | "config/**/*.js", 10 | "node_modules/**/*.ts", 11 | "coverage/lcov-report/*.js" 12 | ] 13 | }, 14 | "rules": { 15 | "ordered-imports": false, 16 | "interface-name": false, 17 | "member-access": false, 18 | "object-literal-sort-keys": false, 19 | "jsx-no-lambda": false, 20 | "max-classes-per-file": false, 21 | "member-ordering": false, 22 | "variable-name": false, 23 | "interface-over-type-literal": false 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /bundles/commons.collections/module-info.java: -------------------------------------------------------------------------------- 1 | module commons.collections { 2 | exports org.apache.commons.collections; 3 | exports org.apache.commons.collections.bag; 4 | exports org.apache.commons.collections.bidimap; 5 | exports org.apache.commons.collections.buffer; 6 | exports org.apache.commons.collections.collection; 7 | exports org.apache.commons.collections.comparators; 8 | exports org.apache.commons.collections.functors; 9 | exports org.apache.commons.collections.iterators; 10 | exports org.apache.commons.collections.keyvalue; 11 | exports org.apache.commons.collections.list; 12 | exports org.apache.commons.collections.map; 13 | exports org.apache.commons.collections.set; 14 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/common/Msg.tsx: -------------------------------------------------------------------------------- 1 | import {AppStateObserver, injectAppState} from "../AppState"; 2 | import {observer} from "mobx-react"; 3 | import * as React from "react"; 4 | 5 | type Props = AppStateObserver & { 6 | entityName: string; 7 | propertyName: string; 8 | } 9 | 10 | export const Msg = injectAppState(observer(({entityName, propertyName, appState}: Props) => { 11 | if (appState == null || appState.messages == null) { 12 | return <>propertyName; 13 | } 14 | const {messages} = appState; 15 | const message:string = messages[entityName + '.' + propertyName]; 16 | return message != null 17 | ? <>{message} 18 | : <>{propertyName} 19 | })); -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/uberjar/jetty-env.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/model/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | platformVersions=6.9.2, 6.8.9 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | 13 | 14 | ### Environment 15 | 16 | - CLI version: X.Y.Z 17 | 18 | - Operating system: 19 | 20 | ### Description of the bug or enhancement 21 | 22 | - Minimal reproducible example 23 | - Expected behavior 24 | - Actual behavior 25 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/masterDetailScreen/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.screen.LookupComponent; 4 | import com.haulmont.cuba.gui.screen.MasterDetailScreen; 5 | import com.haulmont.cuba.gui.screen.UiController; 6 | import com.haulmont.cuba.gui.screen.UiDescriptor; 7 | import com.haulmont.cuba.gui.screen.LoadDataBeforeShow; 8 | import ${screen.entity.fqn}; 9 | 10 | @UiController("${screen.screenId}") 11 | @UiDescriptor("${screen.descriptorName}.xml") 12 | @LookupComponent("table") 13 | @LoadDataBeforeShow 14 | public class ${screen.controllerName} extends MasterDetailScreen<${screen.entity.className}> { 15 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/web/src/$[project.rootPackage]/web-spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/core/src/$[project.rootPackage]/spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/core/src/$[project.rootPackage]/spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/core/src/$[project.rootPackage]/spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/editScreen/7.0/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | package ${screen.packageName}; 2 | 3 | import com.haulmont.cuba.gui.screen.EditedEntityContainer; 4 | import com.haulmont.cuba.gui.screen.StandardEditor; 5 | import com.haulmont.cuba.gui.screen.UiController; 6 | import com.haulmont.cuba.gui.screen.UiDescriptor; 7 | import com.haulmont.cuba.gui.screen.LoadDataBeforeShow; 8 | import ${screen.entity.fqn}; 9 | 10 | @UiController("${screen.screenId}") 11 | @UiDescriptor("${screen.descriptorName}.xml") 12 | @EditedEntityContainer("${screen.entity.className.toLowerCase()}Dc") 13 | @LoadDataBeforeShow 14 | public class ${screen.controllerName} extends StandardEditor<${screen.entity.className}> { 15 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/Cli.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | interface Cli { 20 | fun run() 21 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/application.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # CUBA CLI build attributes 18 | 19 | version = DEVELOPMENT 20 | apiVersion = 5 -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/premiumrepo/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | repoAlreadyAdded = Project already contains premium repository -------------------------------------------------------------------------------- /bundles/kotlin.stdlib/module-info.java: -------------------------------------------------------------------------------- 1 | open module kotlin.stdlib { 2 | exports kotlin; 3 | exports kotlin.annotation; 4 | exports kotlin.collections; 5 | exports kotlin.comparisons; 6 | exports kotlin.concurrent; 7 | exports kotlin.internal; 8 | exports kotlin.coroutines.experimental; 9 | exports kotlin.experimental; 10 | exports kotlin.io; 11 | exports kotlin.jvm; 12 | exports kotlin.jvm.internal; 13 | exports kotlin.jvm.internal.markers; 14 | exports kotlin.jvm.internal.unsafe; 15 | exports kotlin.jvm.functions; 16 | exports kotlin.math; 17 | exports kotlin.properties; 18 | exports kotlin.ranges; 19 | exports kotlin.reflect; 20 | exports kotlin.sequences; 21 | exports kotlin.system; 22 | exports kotlin.text; 23 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/browseScreen/latest/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | #set( $entities = "${screen.entity.className.toLowerCase()}s") 2 | package ${screen.packageName}; 3 | 4 | import ${screen.entity.fqn}; 5 | import com.haulmont.cuba.gui.screen.StandardLookup; 6 | import com.haulmont.cuba.gui.screen.UiController; 7 | import com.haulmont.cuba.gui.screen.LookupComponent; 8 | import com.haulmont.cuba.gui.screen.UiDescriptor; 9 | import com.haulmont.cuba.gui.screen.LoadDataBeforeShow; 10 | 11 | @UiController("${screen.screenId}") 12 | @UiDescriptor("${screen.descriptorName}.xml") 13 | @LookupComponent("${entities}Table") 14 | @LoadDataBeforeShow 15 | public class ${screen.controllerName} extends StandardLookup<${screen.entity.className}> { 16 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | projectParsingError=It looks like there is an existing project in current directory, but it is unable to parse its info. -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/theme/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | confirmationMessage=Theme extension directory structure will be created and build.gradle will be modified. Continue? -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/commands/UsageProvider.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.commands 18 | 19 | interface UsageProvider { 20 | fun printUsage() : String 21 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/ProjectService.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin 18 | 19 | interface ProjectService { 20 | fun registerAppComponent(coordinates: String) 21 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/premiumrepo/bothRepos: -------------------------------------------------------------------------------- 1 | maven { 2 | url 'https://repo.cuba-platform.com/content/groups/work' 3 | credentials { 4 | username(rootProject.hasProperty('repoUser') ? rootProject['repoUser'] : 'cuba') 5 | password(rootProject.hasProperty('repoPass') ? rootProject['repoPass'] : 'cuba123') 6 | } 7 | } 8 | maven { 9 | url 'https://repo.cuba-platform.com/content/groups/premium' 10 | credentials { 11 | username(rootProject.hasProperty('premiumRepoUser') ? rootProject['premiumRepoUser'] : System.getenv('CUBA_PREMIUM_USER')) 12 | password(rootProject.hasProperty('premiumRepoPass') ? rootProject['premiumRepoPass'] : System.getenv('CUBA_PREMIUM_PASSWORD')) 13 | } 14 | } -------------------------------------------------------------------------------- /etc/cuba-cli-windows.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | @REM Copyright (c) 2008-2018 Haulmont. 4 | @REM 5 | @REM Licensed under the Apache License, Version 2.0 (the "License"); 6 | @REM you may not use this file except in compliance with the License. 7 | @REM You may obtain a copy of the License at 8 | @REM 9 | @REM http://www.apache.org/licenses/LICENSE-2.0 10 | @REM 11 | @REM Unless required by applicable law or agreed to in writing, software 12 | @REM distributed under the License is distributed on an "AS IS" BASIS, 13 | @REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | @REM See the License for the specific language governing permissions and 15 | @REM limitations under the License. 16 | 17 | set JLINK_VM_OPTIONS= 18 | set DIR=%~dp0 19 | "%DIR%\..\native-windows\bin\java" %JLINK_VM_OPTIONS% -m com.haulmont.cuba.cli/com.haulmont.cuba.cli.EntryPointKt %* 20 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/mainTop/6.11/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/web/src/$[project.rootPackage]/web-spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/modules/web/src/$[project.rootPackage]/web-spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/project/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | databases=HSQLDB,PostgreSQL,Microsoft SQL Server,Microsoft SQL Server 2005,Microsoft SQL Server 2012+,Oracle Database,MySQL 18 | databaseAliases=hsql,postgresql,msql,msql2005,msql2012,oracle,mysql -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/theme/configureWebModuleReplace: -------------------------------------------------------------------------------- 1 | task deploy(dependsOn: [assemble, cleanConf], type: CubaDeployment) { 2 | appName = "${modulePrefix}" 3 | appJars(modulePrefix + '-global', modulePrefix + '-web') 4 | } 5 | task buildScssThemes(type: CubaWebScssThemeCreation) 6 | task deployThemes(type: CubaDeployThemeTask, dependsOn: buildScssThemes) 7 | assemble.dependsOn buildScssThemes 8 | } 9 | 10 | configure(webThemesModule) { 11 | apply(plugin: 'java') 12 | apply(plugin: 'maven') 13 | apply(plugin: 'cuba') 14 | 15 | appModuleType = 'web-themes' 16 | 17 | buildDir = file('../build/scss-themes') 18 | 19 | sourceSets { 20 | main { 21 | java { 22 | srcDir '.' 23 | } 24 | resources { 25 | srcDir '.' 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/uberjar/uberJarTask: -------------------------------------------------------------------------------- 1 | 2 | task buildUberJar(type: CubaUberJarBuilding) { 3 | #if( ${uberJar.generateLogback} ) 4 | logbackConfigurationFile = 'etc/uber-jar-logback.xml' 5 | #elseif( ${uberJar.customLogback} ) 6 | logbackConfigurationFile = '${uberJar.customLogback}' 7 | #end 8 | #if ( ${uberJar.corePort} != 8079) 9 | corePort = ${uberJar.corePort} 10 | #end 11 | #if ( ${uberJar.webPort} != 8080) 12 | webPort = ${uberJar.webPort} 13 | #end 14 | #if ( ${uberJar.portalPort} != 8081) 15 | portalPort = ${uberJar.portalPort} 16 | #end 17 | #if ( ${uberJar.generateCustomJetty} ) 18 | coreJettyEnvPath = 'modules/core/web/META-INF/jetty-env.xml' 19 | #else 20 | coreJettyEnvPath = ${uberJar.customJettyPath} 21 | #end 22 | appProperties = ['cuba.automaticDatabaseUpdate' : true] 23 | #if( ${uberJar.singleUberJar} ) 24 | singleJar = true 25 | #end 26 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/theme/ThemeExtensionModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.theme 18 | 19 | class ThemeExtensionModel(val themeName: String) { 20 | companion object { 21 | const val MODEL_NAME = "theme" 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/installcomponent/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | artifactCoordinatesQuestionCaption=Enter component's group:name:version coordinates. E.g. com.company.sample:sample-global:1.0.0 18 | 19 | invalidArtifactCoordinates=Incorrect 'group:artifact:version' value 20 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/commands/NonInteractiveInfo.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.commands 18 | 19 | interface NonInteractiveInfo { 20 | fun getNonInteractiveParameters() : Map 21 | 22 | fun List.printOptions() = joinToString(prefix = "[", postfix = "]") 23 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/installcomponent/ComponentModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.installcomponent 18 | 19 | data class ComponentModel(val artifactCoordinates: String) { 20 | 21 | companion object { 22 | const val MODEL_NAME = "component" 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/appcomponentxml/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | changePrefix=\ 18 | Your project modules have the default prefix: app.\n\ 19 | In order to use a project as an application component, it should have a unique module prefix. For example, the prefix can reflect the application name.\ 20 | Change the prefix? -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/appcomponentxml/AppComponentModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.appcomponentxml 18 | 19 | data class AppComponentModel(val changePrefix: Boolean, val modulePrefix: String) { 20 | companion object { 21 | const val MODEL_NAME = "component" 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/front/react/ReactModuleModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.front.react 18 | 19 | import com.haulmont.cuba.cli.cubaplugin.model.ProjectModel 20 | 21 | class ReactModuleModel(projectModel: ProjectModel) { 22 | val restName = projectModel.name.replace("-", "") 23 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/snippets/react/moduleConfigureReplace: -------------------------------------------------------------------------------- 1 | configure(frontModule) { 2 | apply(plugin: 'cuba') 3 | apply(plugin: 'idea') 4 | apply(plugin: 'war') 5 | apply(plugin: 'maven') 6 | 7 | buildDir = 'build-gradle' 8 | 9 | def frontAppDir = "${modulePrefix}-front" 10 | 11 | 12 | def mainBuildDir = 'build' 13 | 14 | task buildFrontend(type: NpmTask, dependsOn: npmInstall) { 15 | args = ['run', 'build'] 16 | inputs.files fileTree('./') { 17 | exclude 'build' 18 | } 19 | outputs.dir "build" 20 | } 21 | 22 | assemble.dependsOn buildFrontend 23 | 24 | task deploy(type: Copy, dependsOn: [assemble]) { 25 | from file(mainBuildDir) 26 | into "$cuba.tomcat.dir/webapps/$frontAppDir" 27 | } 28 | 29 | war { 30 | from file(mainBuildDir) 31 | } 32 | 33 | } 34 | 35 | task undeploy(type: Delete, dependsOn: ":${modulePrefix}-web:cleanConf") { -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/template.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/template.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.2/template.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/entity/EntityModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.entity 18 | 19 | data class EntityModel(val name: String, val packageName: String, val type: String, val tableName: String, val sep:String = "$") { 20 | companion object { 21 | const val MODEL_NAME = "entity" 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/GenerationProgressPrinter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | import java.nio.file.Path 20 | 21 | /** 22 | * Prints default messages about files creation or modification. 23 | */ 24 | interface GenerationProgressPrinter { 25 | fun fileCreated(path: Path) 26 | 27 | fun fileModified(path: Path) 28 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/src/app/home/HomePage.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import * as React from "react"; 18 | 19 | class HomePage extends React.Component { 20 | 21 | render() { 22 | return( 23 |
24 | Welcome to ${project.name}! 25 |
26 | ) 27 | } 28 | } 29 | 30 | export default HomePage; -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/VersionUtils.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin 18 | 19 | import com.haulmont.cuba.cli.cubaplugin.model.PlatformVersion 20 | 21 | class VersionUtils { 22 | fun compareVersions(one: String, two: String): Int { 23 | return PlatformVersion(one).compareTo(PlatformVersion(two)) 24 | } 25 | } -------------------------------------------------------------------------------- /bundles/com.google.common/module-info.java: -------------------------------------------------------------------------------- 1 | module com.google.common { 2 | requires transitive java.logging; 3 | requires transitive java.xml; 4 | 5 | requires transitive checker.qual; 6 | requires transitive error.prone.annotations; 7 | requires transitive j2objc.annotations; 8 | requires transitive animal.sniffer.annotations; 9 | 10 | exports com.google.common.annotations; 11 | exports com.google.common.base; 12 | exports com.google.common.cache; 13 | exports com.google.common.collect; 14 | exports com.google.common.escape; 15 | exports com.google.common.eventbus; 16 | exports com.google.common.graph; 17 | exports com.google.common.hash; 18 | exports com.google.common.html; 19 | exports com.google.common.io; 20 | exports com.google.common.math; 21 | exports com.google.common.net; 22 | exports com.google.common.primitives; 23 | exports com.google.common.reflect; 24 | exports com.google.common.util.concurrent; 25 | exports com.google.common.xml; 26 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/WorkingDirectoryManager.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | import java.nio.file.Path 20 | import java.nio.file.Paths 21 | 22 | class WorkingDirectoryManager { 23 | var workingDirectory: Path = Paths.get(System.getProperty("user.dir")) 24 | 25 | val absolutePath: Path 26 | get() = workingDirectory.toAbsolutePath() 27 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/6.11/modules/core/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/project/7.0/modules/core/web/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/war/warTask: -------------------------------------------------------------------------------- 1 | 2 | 3 | task buildWar(type: CubaWarBuilding) { 4 | #if( !${war.singleWar} ) 5 | singleWar = false 6 | #end 7 | #if( ${war.generateLogback} ) 8 | logbackConfigurationFile = 'etc/war-logback.xml' 9 | #elseif( ${war.customLogback} ) 10 | logbackConfigurationFile = '${war.customLogback}' 11 | #end 12 | #if( ${war.generateWebXml} ) 13 | webXmlPath = 'modules/web/web/WEB-INF/single-war-web.xml' 14 | #elseif ( ${war.customWebXmlPath} ) 15 | webXmlPath = '${war.customWebXmlPath}' 16 | #end 17 | #if( ${war.generateContextXml} ) 18 | coreContextXmlPath = 'modules/core/web/META-INF/war-context.xml' 19 | #elseif ( ${war.customContextXmlPath} ) 20 | coreContextXmlPath = '${war.customContextXmlPath}' 21 | #end 22 | #if( $war.includeTomcatContextXml ) 23 | includeContextXml = true 24 | #end 25 | appProperties = ['cuba.automaticDatabaseUpdate' : true] 26 | appHome = '${war.appHome}' 27 | #if( ${war.includeJdbcDriver} ) 28 | includeJdbcDriver = true 29 | #end 30 | } 31 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/commands/PlaceholderCommand.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.commands 18 | 19 | import com.beust.jcommander.Parameters 20 | 21 | @Parameters(commandDescription = "") 22 | open class PlaceholderCommand : AbstractCommand() { 23 | final override fun run() { 24 | fail("Command usage without arguments does not permit. Read help for more information.") 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/CliMode.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | /** 20 | * Cli may be started in two modes. 21 | * 22 | * [SHELL] is an interactive mode, when cli takes user command, evaluate it and waiting for next command. 23 | * 24 | * [SINGLE_COMMAND] is mode, that runs only one command, that user specified in command line parameters. 25 | */ 26 | enum class CliMode { 27 | SHELL, 28 | SINGLE_COMMAND 29 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/LoggerUtils.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | import java.util.logging.Logger 20 | import kotlin.properties.ReadOnlyProperty 21 | import kotlin.reflect.KProperty 22 | 23 | fun thisClassLogger(): ReadOnlyProperty = object : ReadOnlyProperty { 24 | override fun getValue(thisRef: Any, property: KProperty<*>) = 25 | Logger.getLogger(thisRef.javaClass.name) 26 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/front/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2008-2018 Haulmont. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | moduleExistsError = Module already exists 18 | 19 | polymerConfirmationCaption = Do you really want to create Polymer frontend module?\n\ 20 | \n\ 21 | If you continue, build.gradle and settings.gradle will be modified. 22 | 23 | reactConfirmationCaption = Do you really want to create React frontend module?\n\ 24 | \n\ 25 | If you continue, build.gradle and settings.gradle will be modified. -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/config/ConfigModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.config 18 | 19 | import com.haulmont.cuba.cli.prompting.Answers 20 | 21 | class ConfigModel(answers: Answers) { 22 | 23 | val name: String by answers 24 | val packageName: String by answers 25 | val module: String by answers 26 | val sourceType: String by answers 27 | 28 | companion object { 29 | const val NAME = "config" 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${project.name}", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@cuba-platform/rest": "^0.4.3", 7 | "antd": "^3.12.3", 8 | "mobx": "^4.8.0", 9 | "mobx-react": "^5.4.3", 10 | "moment": "^2.23.0", 11 | "react": "^16.7.0", 12 | "react-dom": "^16.7.0", 13 | "react-router-dom": "^4.3.1", 14 | "react-scripts": "2.1.3" 15 | }, 16 | "scripts": { 17 | "start": "react-scripts start", 18 | "build": "react-scripts build", 19 | "test": "react-scripts test", 20 | "eject": "react-scripts eject" 21 | }, 22 | "devDependencies": { 23 | "@types/jest": "^23.3.12", 24 | "@types/node": "^10.12.18", 25 | "@types/react": "^16.7.18", 26 | "@types/react-dom": "^16.0.11", 27 | "@types/react-router-dom": "^4.3.1", 28 | "typescript": "3.0.3" 29 | }, 30 | "cubaPlatform": { 31 | "generator": "react-typescript" 32 | }, 33 | "browserslist": [ 34 | ">0.2%", 35 | "not dead", 36 | "not ie <= 11", 37 | "not op_mini all" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/ColoredWriter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli 18 | 19 | import org.fusesource.jansi.Ansi 20 | import java.io.PrintWriter 21 | 22 | class ColoredWriter(writer: PrintWriter) : PrintWriter(writer) { 23 | override fun print(s: String) { 24 | super.print(Ansi.ansi().render(s)) 25 | flush() 26 | } 27 | 28 | override fun println(x: String) { 29 | super.println(Ansi.ansi().render(x)) 30 | flush() 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/service/ServiceModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.service 18 | 19 | import com.haulmont.cuba.cli.prompting.Answers 20 | 21 | class ServiceModel(answers: Answers) { 22 | val interfaceName: String by answers 23 | val beanName: String by answers 24 | val packageName: String by answers 25 | val serviceName: String by answers 26 | 27 | companion object { 28 | const val MODEL_NAME = "service" 29 | } 30 | } -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/componentbean/ComponentBeanModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.componentbean 18 | 19 | import com.haulmont.cuba.cli.prompting.Answers 20 | 21 | class ComponentBeanModel(answers: Answers) { 22 | val name: String by answers 23 | val module: String by answers 24 | val packageName: String by answers 25 | val beanName: String by answers 26 | 27 | companion object { 28 | const val MODEL_NAME = "component" 29 | } 30 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/screenExtension/mainSide/7.1/modules/web/src/$[screen.packageName]/${screen.controllerName}.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package $screen.packageName; 18 | 19 | import com.haulmont.cuba.gui.screen.UiController; 20 | import com.haulmont.cuba.gui.screen.UiDescriptor; 21 | import com.haulmont.cuba.web.app.main.MainScreen; 22 | 23 | @UiController("main") 24 | @UiDescriptor("${screen.descriptorName}.xml") 25 | public class ${screen.controllerName} extends MainScreen { 26 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/react/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "build/dist", 4 | "module": "esnext", 5 | "target": "es5", 6 | "lib": [ 7 | "es6", 8 | "dom" 9 | ], 10 | "sourceMap": true, 11 | "allowJs": true, 12 | "jsx": "preserve", 13 | "moduleResolution": "node", 14 | "rootDir": "src", 15 | "forceConsistentCasingInFileNames": true, 16 | "noImplicitReturns": true, 17 | "noImplicitThis": true, 18 | "noImplicitAny": true, 19 | "strictNullChecks": true, 20 | "suppressImplicitAnyIndexErrors": true, 21 | "noUnusedLocals": true, 22 | "experimentalDecorators": true, 23 | "skipLibCheck": true, 24 | "esModuleInterop": true, 25 | "allowSyntheticDefaultImports": true, 26 | "resolveJsonModule": true, 27 | "isolatedModules": true, 28 | "noEmit": true, 29 | "strict": false 30 | }, 31 | "exclude": [ 32 | "node_modules", 33 | "build", 34 | "scripts", 35 | "acceptance-tests", 36 | "webpack", 37 | "jest", 38 | "src/setupTests.ts" 39 | ], 40 | "include": [ 41 | "src" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /src/main/kotlin/com/haulmont/cuba/cli/cubaplugin/screen/blankscreen/ScreenModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008-2018 Haulmont. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.haulmont.cuba.cli.cubaplugin.screen.blankscreen 18 | 19 | import com.haulmont.cuba.cli.prompting.Answers 20 | 21 | class ScreenModel(answers: Answers) { 22 | val screenId: String by answers 23 | val descriptorName: String by answers 24 | val controllerName: String by answers 25 | val packageName: String by answers 26 | val addToMenu: Boolean by answers 27 | 28 | companion object { 29 | const val MODEL_NAME = "screen" 30 | } 31 | } -------------------------------------------------------------------------------- /src/main/resources/com/haulmont/cuba/cli/cubaplugin/templates/editScreen/7.0/modules/web/src/$[screen.packageName]/${screen.descriptorName}.xml: -------------------------------------------------------------------------------- 1 | #set( $entity = "${screen.entity.className.toLowerCase()}") 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 16 | 18 |
19 | 20 | 21 | 22 |
23 | 24 |