UNPKG

generator-begcode

Version:

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

93 lines (92 loc) 3.87 kB
import BaseApplicationGenerator from '../base-application/index.js'; import writeTask from './files.js'; import cleanupTask from './cleanup.js'; export default class CucumberGenerator extends BaseApplicationGenerator { async beforeQueue() { if (!this.fromBlueprint) { await this.composeWithBlueprints(); } if (!this.delegateToBlueprint) { await this.dependsOnJHipster('begcode:java:build-tool'); } } get writing() { return this.asWritingTaskGroup({ cleanupTask, writeTask, }); } get [BaseApplicationGenerator.WRITING]() { return this.delegateTasksToBlueprint(() => this.writing); } get postWriting() { return this.asPostWritingTaskGroup({ addDependencies({ application, source }) { const { javaDependencies, gradleBuildSrc } = application; source.addJavaDefinitions?.({ gradleFile: `${gradleBuildSrc}src/main/groovy/jhipster.cucumber-conventions.gradle` }, { dependencies: [ { groupId: 'io.cucumber', artifactId: 'cucumber-bom', version: javaDependencies['cucumber-bom'], type: 'pom', scope: 'import', }, { groupId: 'io.cucumber', artifactId: 'cucumber-junit-platform-engine', scope: 'test' }, { groupId: 'io.cucumber', artifactId: 'cucumber-java', scope: 'test' }, { groupId: 'io.cucumber', artifactId: 'cucumber-spring', scope: 'test' }, { groupId: 'org.junit.platform', artifactId: 'junit-platform-console', scope: 'test' }, { groupId: 'org.testng', artifactId: 'testng', scope: 'test', version: javaDependencies.testng }, ], mavenDefinition: { plugins: [{ groupId: 'org.apache.maven.plugins', artifactId: 'maven-antrun-plugin' }], pluginManagement: [ { groupId: 'org.apache.maven.plugins', artifactId: 'maven-antrun-plugin', additionalContent: ` <executions> <execution> <!--Work around. Surefire does not use JUnit's Test Engine discovery functionality --> <id>prepare cucumber feature files</id> <phase>integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <echo message="Running JUnit Platform CLI"/> <java classname="org.junit.platform.console.ConsoleLauncher" fork="true" failonerror="true" newenvironment="true" maxmemory="512m" classpathref="maven.test.classpath"> <jvmarg value="-Dspring.profiles.active=testprod"/>${application.reactive ? ` <jvmarg value="-XX:+AllowRedefinitionToAddDeleteMethods"/>` : ''} <arg value="--include-engine"/> <arg value="cucumber"/> <arg value="--scan-classpath"/> <arg value="\${project.build.testOutputDirectory}"/> </java> </target> </configuration> </execution> </executions> `, }, ], }, }); if (application.buildToolGradle) { source.addGradlePlugin?.({ id: 'jhipster.cucumber-conventions' }); } }, }); } get [BaseApplicationGenerator.POST_WRITING]() { return this.delegateTasksToBlueprint(() => this.postWriting); } }