use of org.gradle.api.internal.project.DefaultProject in project curiostack by curioswitch.
the class GrpcApiPluginTest method normal.
@Test
public void normal() throws Exception {
Project project = ProjectBuilder.builder().withName("api").build();
project.setGroup("org.curioswitch.test");
project.getPluginManager().apply(DependencyManagementPlugin.class);
DependencyManagementExtension dependencyManagement = project.getExtensions().getByType(DependencyManagementExtension.class);
dependencyManagement.dependencies(handler -> {
handler.dependency("io.grpc:grpc-core:5.0.0");
handler.dependency("io.grpc:grpc-protobuf:5.0.0");
handler.dependency("io.grpc:grpc-stub:5.0.0");
handler.dependency("com.google.protobuf:protoc:6.0.0");
});
project.getPluginManager().apply("org.curioswitch.gradle-grpc-api-plugin");
project.setProperty("archivesBaseName", "curio-test-api");
((DefaultProject) project).evaluate();
Task task = project.getTasks().findByName("generateProto");
assertThat(task).isInstanceOf(GenerateProtoTask.class).isNotNull();
GenerateProtoTask generateProtoTask = (GenerateProtoTask) task;
assertThat(generateProtoTask.getGenerateDescriptorSet()).isTrue();
assertThat(generateProtoTask.getDescriptorSetOptions().getIncludeSourceInfo()).isTrue();
assertThat(generateProtoTask.getDescriptorSetOptions().getIncludeImports()).isTrue();
assertThat(generateProtoTask.getDescriptorSetOptions().getPath().toString()).isEqualTo(project.getBuildDir() + "/resources/main/META-INF/armeria/grpc/org.curioswitch.test.curio-test-api.dsc");
ProtobufConfigurator protobuf = project.getConvention().getPlugin(ProtobufConvention.class).getProtobuf();
protobuf.protoc(LambdaClosure.of((ExecutableLocator locator) -> assertThat(locator.getArtifact()).isEqualTo("com.google.protobuf:protoc:6.0.0")));
protobuf.plugins(LambdaClosure.of((NamedDomainObjectContainer<ExecutableLocator> locators) -> assertThat(locators.getByName("grpc").getArtifact()).isEqualTo("io.grpc:protoc-gen-grpc-java:5.0.0")));
}
Aggregations