use of io.micronaut.starter.application.Project in project micronaut-starter by micronaut-projects.
the class CreateKafkaListener method call.
@Override
public Integer call() throws Exception {
Project project = getProject(listenerName);
TemplateRenderer templateRenderer = getTemplateRenderer(project);
RenderResult renderResult = null;
String path = "/{packagePath}/{className}";
path = config.getSourceLanguage().getSourcePath(path);
RockerModel rockerModel = null;
if (config.getSourceLanguage() == Language.JAVA) {
rockerModel = javaListener.template(project);
} else if (config.getSourceLanguage() == Language.GROOVY) {
rockerModel = groovyListener.template(project);
} else if (config.getSourceLanguage() == Language.KOTLIN) {
rockerModel = kotlinListener.template(project);
}
renderResult = templateRenderer.render(new RockerTemplate(path, rockerModel), overwrite);
if (renderResult != null) {
if (renderResult.isSuccess()) {
out("@|blue ||@ Rendered Kafka listener to " + renderResult.getPath());
} else if (renderResult.isSkipped()) {
warning("Rendering skipped for " + renderResult.getPath() + " because it already exists. Run again with -f to overwrite.");
} else if (renderResult.getError() != null) {
throw renderResult.getError();
}
}
return 0;
}
use of io.micronaut.starter.application.Project in project micronaut-starter by micronaut-projects.
the class CreateControllerCommand method call.
@Override
public Integer call() throws Exception {
Project project = getProject(controllerName);
TemplateRenderer templateRenderer = getTemplateRenderer(project);
RenderResult renderResult = null;
if (config.getSourceLanguage() == Language.JAVA) {
renderResult = templateRenderer.render(new RockerTemplate(Language.JAVA.getSrcDir() + "/{packagePath}/{className}Controller." + Language.JAVA.getExtension(), javaController.template(project)), overwrite);
} else if (config.getSourceLanguage() == Language.GROOVY) {
renderResult = templateRenderer.render(new RockerTemplate(Language.GROOVY.getSrcDir() + "/{packagePath}/{className}Controller." + Language.GROOVY.getExtension(), groovyController.template(project)), overwrite);
} else if (config.getSourceLanguage() == Language.KOTLIN) {
renderResult = templateRenderer.render(new RockerTemplate(Language.KOTLIN.getSrcDir() + "/{packagePath}/{className}Controller." + Language.KOTLIN.getExtension(), kotlinController.template(project)), overwrite);
}
if (renderResult != null) {
if (renderResult.isSuccess()) {
out("@|blue ||@ Rendered controller to " + renderResult.getPath());
} else if (renderResult.isSkipped()) {
warning("Rendering skipped for " + renderResult.getPath() + " because it already exists. Run again with -f to overwrite.");
} else if (renderResult.getError() != null) {
throw renderResult.getError();
}
}
renderResult = null;
String path = "/{packagePath}/{className}Controller";
path = config.getTestFramework().getSourcePath(path, config.getSourceLanguage());
TestRockerModelProvider provider = new DefaultTestRockerModelProvider(spock.template(project), javaJunit.template(project), groovyJunit.template(project), kotlinJunit.template(project), koTest.template(project));
RockerModel rockerModel = provider.findModel(config.getSourceLanguage(), config.getTestFramework());
renderResult = templateRenderer.render(new RockerTemplate(path, rockerModel), overwrite);
if (renderResult != null) {
if (renderResult.isSuccess()) {
out("@|blue ||@ Rendered test to " + renderResult.getPath());
} else if (renderResult.isSkipped()) {
warning("Rendering skipped for " + renderResult.getPath() + " because it already exists. Run again with -f to overwrite.");
} else if (renderResult.getError() != null) {
throw renderResult.getError();
}
}
return 0;
}
use of io.micronaut.starter.application.Project in project micronaut-starter by micronaut-projects.
the class CreateRepositoryCommand method call.
@Override
public Integer call() throws Exception {
Project project = getProject(repositoryName);
boolean jdbcRepository = config.getFeatures().contains("data-jdbc");
String idTypeImport = null;
if (idType.contains(".")) {
idTypeImport = idType;
} else if (!VALID_NO_PKG_ID_TYPES.contains(idType)) {
throw new IllegalArgumentException("Code generation not supported for the specified id type: " + idType + ". Please specify the fully qualified class name.");
}
TemplateRenderer templateRenderer = getTemplateRenderer(project);
String dialect = jdbcRepository ? config.getFeatures().stream().map(name -> {
for (DatabaseDriverFeature feature : driverFeatures) {
if (feature.getName().equals(name)) {
return feature;
}
}
return null;
}).filter(Objects::nonNull).findFirst().map(DatabaseDriverFeature::getDataDialect).orElse(null) : null;
RenderResult renderResult = null;
if (config.getSourceLanguage() == Language.JAVA) {
renderResult = templateRenderer.render(new RockerTemplate("src/main/java/{packagePath}/{className}Repository.java", javaRepository.template(project, idTypeImport, idType, jdbcRepository, dialect)), overwrite);
} else if (config.getSourceLanguage() == Language.GROOVY) {
renderResult = templateRenderer.render(new RockerTemplate("src/main/groovy/{packagePath}/{className}Repository.groovy", groovyRepository.template(project, idTypeImport, idType, jdbcRepository, dialect)), overwrite);
} else if (config.getSourceLanguage() == Language.KOTLIN) {
renderResult = templateRenderer.render(new RockerTemplate("src/main/kotlin/{packagePath}/{className}Repository.kt", kotlinRepository.template(project, idTypeImport, idType, jdbcRepository, dialect)), overwrite);
}
if (renderResult != null) {
if (renderResult.isSuccess()) {
out("@|blue ||@ Rendered repository to " + renderResult.getPath());
} else if (renderResult.isSkipped()) {
warning("Rendering skipped for " + renderResult.getPath() + " because it already exists. Run again with -f to overwrite.");
} else if (renderResult.getError() != null) {
throw renderResult.getError();
}
}
return 0;
}
use of io.micronaut.starter.application.Project in project micronaut-starter by micronaut-projects.
the class AwsAlexa method apply.
@Override
public void apply(GeneratorContext generatorContext) {
Project project = generatorContext.getProject();
cancelIntentHandler(generatorContext, project);
cancelIntentHandlerTest(generatorContext, project);
fallbackIntentHandler(generatorContext, project);
fallbackIntentHandlerTest(generatorContext, project);
helpIntentHandler(generatorContext, project);
helpIntentHandlerTest(generatorContext, project);
launchRequestIntentHandler(generatorContext, project);
launchRequestIntentHandlerTest(generatorContext, project);
sessionEndedRequestIntentHandler(generatorContext, project);
sessionEndedIntentHandlerTest(generatorContext, project);
stopIntentHandler(generatorContext, project);
stopIntentHandlerTest(generatorContext, project);
}
use of io.micronaut.starter.application.Project in project micronaut-starter by micronaut-projects.
the class FeatureDiffer method produceDiff.
/**
* Produces a Diff for the given arguments.
* @param projectGenerator The project generator
* @param generatorContext The generator context
* @param consoleOutput The console output
* @throws Exception If something does wrong
*/
public void produceDiff(ProjectGenerator projectGenerator, GeneratorContext generatorContext, ConsoleOutput consoleOutput) throws Exception {
MapOutputHandler outputHandler = new MapOutputHandler();
Project project = generatorContext.getProject();
ApplicationType applicationType = generatorContext.getApplicationType();
projectGenerator.generate(applicationType, project, new Options(generatorContext.getLanguage(), generatorContext.getTestFramework(), generatorContext.getBuildTool(), generatorContext.getJdkVersion()), generatorContext.getOperatingSystem(), Collections.emptyList(), outputHandler, ConsoleOutput.NOOP);
Map<String, String> oldProject = outputHandler.getProject();
outputHandler = new MapOutputHandler();
projectGenerator.generate(applicationType, project, outputHandler, generatorContext);
Map<String, String> newProject = outputHandler.getProject();
for (Map.Entry<String, String> entry : newProject.entrySet()) {
String oldFile = oldProject.remove(entry.getKey());
if (entry.getValue() == null) {
continue;
}
List<String> oldFileLines = oldFile == null ? Collections.emptyList() : toLines(oldFile);
String newFile = entry.getValue();
List<String> newFileLines = toLines(newFile);
Patch<String> diff = DiffUtils.diff(oldFileLines, newFileLines);
List<String> unifiedDiff = UnifiedDiffUtils.generateUnifiedDiff(entry.getKey(), entry.getKey(), oldFileLines, diff, 3);
if (!unifiedDiff.isEmpty()) {
for (String delta : unifiedDiff) {
if (delta.startsWith("+")) {
consoleOutput.green(delta);
} else if (delta.startsWith("-")) {
consoleOutput.red(delta);
} else {
consoleOutput.out(delta);
}
}
consoleOutput.out("\n");
}
}
for (Map.Entry<String, String> entry : oldProject.entrySet()) {
if (entry.getValue() == null) {
continue;
}
List<String> oldFileLines = toLines(entry.getValue());
Patch<String> diff = DiffUtils.diff(oldFileLines, Collections.emptyList());
List<String> unifiedDiff = UnifiedDiffUtils.generateUnifiedDiff(entry.getKey(), entry.getKey(), oldFileLines, diff, 3);
if (!unifiedDiff.isEmpty()) {
for (String delta : unifiedDiff) {
if (delta.startsWith("+")) {
consoleOutput.green(delta);
} else if (delta.startsWith("-")) {
consoleOutput.red(delta);
} else {
consoleOutput.out(delta);
}
}
consoleOutput.out("\n");
}
}
}
Aggregations