private int countTypes(Schema prunedSchema) { int result = 0; for (ProtoFile protoFile : prunedSchema.protoFiles()) { result += protoFile.types().size(); } return result; }
private void markRoots() { for (ProtoFile protoFile : schema.protoFiles()) { markRoots(protoFile); } }
private int countTypes(Schema prunedSchema) { int result = 0; for (ProtoFile protoFile : prunedSchema.protoFiles()) { result += protoFile.types().size(); } return result; }
public Schema prune() { markRoots(); markReachable(); ImmutableList.Builder<ProtoFile> retained = ImmutableList.builder(); for (ProtoFile protoFile : schema.protoFiles()) { retained.add(protoFile.retainAll(schema, marks)); } return new Schema(retained.build()); }
private Schema loadSchema(List<String> directories, List<String> protos) throws IOException { Stopwatch stopwatch = Stopwatch.createStarted(); SchemaLoader schemaLoader = new SchemaLoader(); for (String directory : directories) { schemaLoader.addSource(new File(directory)); } for (String proto : protos) { schemaLoader.addProto(proto); } Schema schema = schemaLoader.load(); getLog().info(String.format("Loaded %s proto files in %s", schema.protoFiles().size(), stopwatch)); return schema; }
private Schema loadSchema() throws IOException { Stopwatch stopwatch = Stopwatch.createStarted(); SchemaLoader loader = new SchemaLoader(); for (String source : sources) { loader.addSource(new File(source)); } for (String proto : protos) { loader.addProto(proto); } Schema schema = loader.load(); log.info("Loaded %s proto files in %s", schema.protoFiles().size(), stopwatch); return schema; }
public Profile load() throws IOException { Set<Location> protoLocations = new LinkedHashSet<>(); for (ProtoFile protoFile : schema.protoFiles()) { protoLocations.add(protoFile.location()); } Multimap<Path, String> pathsToAttempt = pathsToAttempt(protoLocations); ImmutableList<ProfileFileElement> profileFiles = loadProfileFiles(pathsToAttempt); Profile profile = new Profile(profileFiles); validate(schema, profileFiles); return profile; }
public static JavaGenerator get(Schema schema) { Map<ProtoType, ClassName> nameToJavaName = new LinkedHashMap<>(BUILT_IN_TYPES_MAP); for (ProtoFile protoFile : schema.protoFiles()) { String javaPackage = javaPackage(protoFile); putAll(nameToJavaName, javaPackage, null, protoFile.types()); for (Service service : protoFile.services()) { ClassName className = ClassName.get(javaPackage, service.type().simpleName()); nameToJavaName.put(service.type(), className); } } return new JavaGenerator(schema, nameToJavaName, new Profile(), false, false, false); }
.withProfile(profile); for (ProtoFile protoFile : schema.protoFiles()) { if (!protoFilesList.isEmpty() && !protoFilesList.contains(protoFile.location().path())) { continue; // Don't emit anything for files not explicitly compiled.
@Test public void extendTypeImported() throws Exception { Schema schema = new RepoBuilder() .add("a.proto", "" + "package pa;\n" + "import \"b.proto\";\n" + "extend pb.B {\n" + " optional string a = 1;\n" + "}\n") .add("b.proto", "" + "package pb;\n" + "message B {\n" + " extensions 1;\n" + "}\n") .schema(); Extend extendB = schema.protoFiles().get(0).extendList().get(0); MessageType b = (MessageType) schema.getType("pb.B"); assertThat(extendB.type()).isEqualTo(b.type()); }
public void execute() throws IOException { Schema schema = loadSchema(); if (!identifierSet.isEmpty()) { schema = retainRoots(schema); } JavaGenerator javaGenerator = JavaGenerator.get(schema); ServiceGenerator serviceGenerator = new ServiceGenerator(javaGenerator); for (ProtoFile protoFile : schema.protoFiles()) { for (Type type : protoFile.types()) { Stopwatch stopwatch = Stopwatch.createStarted(); TypeSpec typeSpec = javaGenerator.generateType(type); ClassName javaTypeName = (ClassName) javaGenerator.typeName(type.type()); writeJavaFile(javaTypeName, typeSpec, type.location(), stopwatch); } for (Service service : protoFile.services()) { Stopwatch stopwatch = Stopwatch.createStarted(); ClassName javaTypeName = (ClassName) javaGenerator.typeName(service.type()); TypeSpec typeSpec = serviceGenerator.api(service); writeJavaFile(javaTypeName, typeSpec, service.location(), stopwatch); } } }
private void markRoots() { for (ProtoFile protoFile : schema.protoFiles()) { markRoots(protoFile); } }
private void markRoots() { for (ProtoFile protoFile : schema.protoFiles()) { markRoots(protoFile); } }
public List<OpenAPI> convert() { ArrayList<OpenAPI> openApis = Lists.newArrayList(); try { ImmutableList<ProtoFile> protoFiles = schmea.protoFiles(); for (ProtoFile protoFile : protoFiles) { // TODO: 2018/4/20 使用service 进行遍历 for (Service service : protoFile.services()) { OpenAPI openAPI = getOpenApi(service, protoFile); openApis.add(openAPI); } } return openApis; } finally { refHelper.remove(); } }
public Schema prune() { markRoots(); markReachable(); ImmutableList.Builder<ProtoFile> retained = ImmutableList.builder(); for (ProtoFile protoFile : schema.protoFiles()) { retained.add(protoFile.retainAll(schema, marks)); } return new Schema(retained.build()); }
public Schema prune() { markRoots(); markReachable(); ImmutableList.Builder<ProtoFile> retained = ImmutableList.builder(); for (ProtoFile protoFile : schema.protoFiles()) { retained.add(protoFile.retainAll(schema, marks)); } return new Schema(retained.build()); }
public Profile load() throws IOException { Set<Location> protoLocations = new LinkedHashSet<>(); for (ProtoFile protoFile : schema.protoFiles()) { protoLocations.add(protoFile.location()); } Multimap<Path, String> pathsToAttempt = pathsToAttempt(protoLocations); ImmutableList<AbstractProfileFileElement> profileFiles = loadProfileFiles(pathsToAttempt); Profile profile = new Profile(profileFiles); validate(schema, profileFiles); return profile; }
public static JavaGenerator get(Schema schema) { Map<ProtoType, TypeName> nameToJavaName = new LinkedHashMap<>(); nameToJavaName.putAll(BUILT_IN_TYPES_MAP); for (ProtoFile protoFile : schema.protoFiles()) { String javaPackage = javaPackage(protoFile); putAll(nameToJavaName, javaPackage, null, protoFile.types()); for (Service service : protoFile.services()) { ClassName className = ClassName.get(javaPackage, service.type().simpleName()); nameToJavaName.put(service.type(), className); } } return new JavaGenerator(schema, ImmutableMap.copyOf(nameToJavaName), false, false); }
public static JavaGenerator get(Schema schema) { Map<ProtoType, ClassName> nameToJavaName = new LinkedHashMap<>(); nameToJavaName.putAll(BUILT_IN_TYPES_MAP); for (ProtoFile protoFile : schema.protoFiles()) { String javaPackage = javaPackage(protoFile); putAll(nameToJavaName, javaPackage, null, protoFile.types()); for (Service service : protoFile.services()) { ClassName className = ClassName.get(javaPackage, service.type().simpleName()); nameToJavaName.put(service.type(), className); } } return new JavaGenerator(schema, nameToJavaName, new Profile(), false, false); }
for (ProtoFile protoFile : schema.protoFiles()) { if(codegenFilter.filterByProtoFile(protoFile)){ for (Type type : protoFile.types()) {