UNPKG

generator-begcode

Version:

Spring Boot + Angular/React/Vue in one handy generator

80 lines (79 loc) 3.68 kB
import BaseApplicationGenerator from '../base-application/index.js'; import writeTask from './files.js'; import cleanupTask from './cleanup.js'; import writeEntityTask, { cleanupEntitiesTask } from './entity-files.js'; export default class GatlingGenerator extends BaseApplicationGenerator { async beforeQueue() { if (!this.fromBlueprint) { await this.composeWithBlueprints(); } if (!this.delegateToBlueprint) { await this.dependsOnBootstrapApplication(); } } get writing() { return this.asWritingTaskGroup({ cleanupTask, writeTask, }); } get [BaseApplicationGenerator.WRITING]() { return this.delegateTasksToBlueprint(() => this.writing); } get writingEntities() { return this.asWritingEntitiesTaskGroup({ cleanupEntitiesTask, writeEntityTask, }); } get [BaseApplicationGenerator.WRITING_ENTITIES]() { return this.delegateTasksToBlueprint(() => this.writingEntities); } get postWriting() { return this.asPostWritingTaskGroup({ addDependencies({ application, source }) { const { javaDependencies } = application; if (application.buildToolMaven) { source.addMavenDefinition?.({ properties: [ { property: 'gatling.version', value: javaDependencies?.gatling }, { property: 'gatling-maven-plugin.version', value: javaDependencies?.['gatling-maven-plugin'] }, ], dependencies: [ { groupId: 'io.gatling.highcharts', artifactId: 'gatling-charts-highcharts', version: '${gatling.version}', scope: 'test' }, ], plugins: [{ groupId: 'io.gatling', artifactId: 'gatling-maven-plugin' }], pluginManagement: [ { groupId: 'io.gatling', artifactId: 'gatling-maven-plugin', version: '${gatling-maven-plugin.version}', additionalContent: ` <configuration> <runMultipleSimulations>true</runMultipleSimulations> </configuration> `, }, ], }); } if (application.buildToolGradle) { source.addGradleDependencyCatalogVersion?.({ name: 'gatling-plugin', version: javaDependencies?.['gatling-gradle'] }); source.addGradleDependencyCatalogVersion?.({ name: 'gatling-highcharts', version: javaDependencies?.gatling }); source.addGradleBuildSrcDependencyCatalogVersion?.({ name: 'gatling-plugin', version: javaDependencies?.['gatling-gradle'] }); source.addGradleBuildSrcDependencyCatalogVersion?.({ name: 'gatling-highcharts', version: javaDependencies?.gatling }); source.addGradleBuildSrcDependency?.({ groupId: 'gradle.plugin.io.gatling.gradle', artifactId: 'gatling-gradle-plugin', version: '${libs.versions.gatling.plugin.get()}', scope: 'implementation', }); source.addGradlePlugin?.({ id: 'jhipster.gatling-conventions' }); } }, }); } get [BaseApplicationGenerator.POST_WRITING]() { return this.delegateTasksToBlueprint(() => this.postWriting); } }