start generator
This commit is contained in:
parent
e0ef73d862
commit
5f8f8a1738
6 changed files with 430 additions and 0 deletions
47
graphql_generator/.packages
Normal file
47
graphql_generator/.packages
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# Generated by pub on 2019-02-03 15:26:58.676936.
|
||||||
|
analyzer:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/analyzer-0.35.0/lib/
|
||||||
|
angel_model:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/angel_model-1.0.1/lib/
|
||||||
|
angel_serialize:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/angel_serialize-2.2.2+1/lib/
|
||||||
|
angel_serialize_generator:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/angel_serialize_generator-2.4.1+1/lib/
|
||||||
|
args:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/args-1.5.1/lib/
|
||||||
|
async:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/async-2.0.8/lib/
|
||||||
|
build:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/build-1.1.1/lib/
|
||||||
|
build_config:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/build_config-0.3.1+4/lib/
|
||||||
|
built_collection:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/built_collection-4.1.0/lib/
|
||||||
|
built_value:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/built_value-6.3.0/lib/
|
||||||
|
charcode:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.2/lib/
|
||||||
|
code_buffer:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/code_buffer-1.0.1/lib/
|
||||||
|
code_builder:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/code_builder-3.2.0/lib/
|
||||||
|
collection:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/collection-1.14.11/lib/
|
||||||
|
convert:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/convert-2.1.1/lib/
|
||||||
|
crypto:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/crypto-2.0.6/lib/
|
||||||
|
csslib:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/csslib-0.14.6/lib/
|
||||||
|
dart_style:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/dart_style-1.2.3/lib/
|
||||||
|
fixnum:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/fixnum-0.10.9/lib/
|
||||||
|
front_end:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/front_end-0.1.10/lib/
|
||||||
|
glob:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/glob-1.1.7/lib/
|
||||||
|
graphql_schema:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/graphql_schema-1.0.2+1/lib/
|
||||||
|
html:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/html-0.13.3+3/lib/
|
||||||
|
json_annotation:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/json_annotation-2.0.0/lib/
|
||||||
|
kernel:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/kernel-0.3.10/lib/
|
||||||
|
logging:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/logging-0.11.3+2/lib/
|
||||||
|
matcher:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.4/lib/
|
||||||
|
meta:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/meta-1.1.7/lib/
|
||||||
|
package_config:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/package_config-1.0.5/lib/
|
||||||
|
path:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/path-1.6.2/lib/
|
||||||
|
plugin:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/plugin-0.2.0+3/lib/
|
||||||
|
pub_semver:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/pub_semver-1.4.2/lib/
|
||||||
|
pubspec_parse:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/pubspec_parse-0.1.4/lib/
|
||||||
|
quiver:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/quiver-2.0.1/lib/
|
||||||
|
quiver_hashcode:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/quiver_hashcode-2.0.0/lib/
|
||||||
|
recase:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/recase-2.0.1/lib/
|
||||||
|
source_gen:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/source_gen-0.9.4+1/lib/
|
||||||
|
source_span:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/source_span-1.5.4/lib/
|
||||||
|
stack_trace:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.3/lib/
|
||||||
|
string_scanner:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.0.4/lib/
|
||||||
|
term_glyph:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/
|
||||||
|
typed_data:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/typed_data-1.1.6/lib/
|
||||||
|
utf:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/utf-0.9.0+5/lib/
|
||||||
|
watcher:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/watcher-0.9.7+10/lib/
|
||||||
|
yaml:file:///Users/thosakwe/.pub-cache/hosted/pub.dartlang.org/yaml-2.1.15/lib/
|
||||||
|
graphql_generator:lib/
|
14
graphql_generator/build.yaml
Normal file
14
graphql_generator/build.yaml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
builders:
|
||||||
|
graphql:
|
||||||
|
import: "package:graphql_generator/graphql_generator.dart"
|
||||||
|
builder_factories:
|
||||||
|
- graphQLBuilder
|
||||||
|
auto_apply: root_package
|
||||||
|
build_to: cache
|
||||||
|
build_extensions:
|
||||||
|
.dart:
|
||||||
|
- graphql_generator.g.part
|
||||||
|
required_inputs:
|
||||||
|
- angel_serialize.g.part
|
||||||
|
applies_builders:
|
||||||
|
- source_gen|combining_builder
|
34
graphql_generator/lib/graphql_generator.dart
Normal file
34
graphql_generator/lib/graphql_generator.dart
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import 'dart:async';
|
||||||
|
import 'package:analyzer/dart/element/element.dart';
|
||||||
|
import 'package:angel_serialize_generator/build_context.dart';
|
||||||
|
import 'package:angel_serialize_generator/context.dart';
|
||||||
|
import 'package:build/build.dart';
|
||||||
|
import 'package:code_builder/code_builder.dart';
|
||||||
|
import 'package:graphql_schema/graphql_schema.dart';
|
||||||
|
import 'package:source_gen/source_gen.dart';
|
||||||
|
|
||||||
|
/// Generates GraphQL schemas, statically.
|
||||||
|
Builder graphQLBuilder(_) {
|
||||||
|
return SharedPartBuilder([_GraphQLGenerator()], 'graphql_generator');
|
||||||
|
}
|
||||||
|
|
||||||
|
class _GraphQLGenerator extends GeneratorForAnnotation<GraphQLClass> {
|
||||||
|
@override
|
||||||
|
Future<String> generateForAnnotatedElement(
|
||||||
|
Element element, ConstantReader annotation, BuildStep buildStep) async {
|
||||||
|
if (element is ClassElement) {
|
||||||
|
var ctx = await buildContext(
|
||||||
|
element, annotation, buildStep, buildStep.resolver, false);
|
||||||
|
var lib = buildSchemaLibrary(ctx);
|
||||||
|
return lib.accept(DartEmitter()).toString();
|
||||||
|
} else {
|
||||||
|
throw UnsupportedError('@GraphQLClass() is only supported on classes.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Library buildSchemaLibrary(BuildContext ctx) {
|
||||||
|
return Library((b) {
|
||||||
|
var clazz = ctx.clazz;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
0
graphql_generator/mono_pkg.yaml
Normal file
0
graphql_generator/mono_pkg.yaml
Normal file
320
graphql_generator/pubspec.lock
Normal file
320
graphql_generator/pubspec.lock
Normal file
|
@ -0,0 +1,320 @@
|
||||||
|
# Generated by pub
|
||||||
|
# See https://www.dartlang.org/tools/pub/glossary#lockfile
|
||||||
|
packages:
|
||||||
|
analyzer:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: analyzer
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.35.0"
|
||||||
|
angel_model:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: angel_model
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.1"
|
||||||
|
angel_serialize:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: angel_serialize
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.2.2+1"
|
||||||
|
angel_serialize_generator:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: angel_serialize_generator
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.4.1+1"
|
||||||
|
args:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: args
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.5.1"
|
||||||
|
async:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: async
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.8"
|
||||||
|
build:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: build
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.1"
|
||||||
|
build_config:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: build_config
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.1+4"
|
||||||
|
built_collection:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: built_collection
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "4.1.0"
|
||||||
|
built_value:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: built_value
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "6.3.0"
|
||||||
|
charcode:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: charcode
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.2"
|
||||||
|
code_buffer:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: code_buffer
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.1"
|
||||||
|
code_builder:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: code_builder
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "3.2.0"
|
||||||
|
collection:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: collection
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.14.11"
|
||||||
|
convert:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: convert
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
|
crypto:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: crypto
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.6"
|
||||||
|
csslib:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: csslib
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.14.6"
|
||||||
|
dart_style:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: dart_style
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.3"
|
||||||
|
fixnum:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: fixnum
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.10.9"
|
||||||
|
front_end:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: front_end
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.10"
|
||||||
|
glob:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: glob
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.7"
|
||||||
|
graphql_schema:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: graphql_schema
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.2+1"
|
||||||
|
html:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: html
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.13.3+3"
|
||||||
|
json_annotation:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: json_annotation
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
kernel:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: kernel
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.10"
|
||||||
|
logging:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: logging
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.11.3+2"
|
||||||
|
matcher:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: matcher
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.12.4"
|
||||||
|
meta:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: meta
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.7"
|
||||||
|
package_config:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: package_config
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.5"
|
||||||
|
path:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.6.2"
|
||||||
|
plugin:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: plugin
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.2.0+3"
|
||||||
|
pub_semver:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pub_semver
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.4.2"
|
||||||
|
pubspec_parse:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pubspec_parse
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.4"
|
||||||
|
quiver:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: quiver
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
|
quiver_hashcode:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: quiver_hashcode
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
|
recase:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: recase
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
|
source_gen:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: source_gen
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.4+1"
|
||||||
|
source_span:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: source_span
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.5.4"
|
||||||
|
stack_trace:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: stack_trace
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.9.3"
|
||||||
|
string_scanner:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: string_scanner
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.4"
|
||||||
|
term_glyph:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: term_glyph
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
|
typed_data:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: typed_data
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.6"
|
||||||
|
utf:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: utf
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.0+5"
|
||||||
|
watcher:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: watcher
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.7+10"
|
||||||
|
yaml:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: yaml
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.15"
|
||||||
|
sdks:
|
||||||
|
dart: ">=2.1.0-dev.5.0 <3.0.0"
|
15
graphql_generator/pubspec.yaml
Normal file
15
graphql_generator/pubspec.yaml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
name: graphql_generator
|
||||||
|
version: 1.0.0-alpha
|
||||||
|
description: Generates GraphQL schemas from Dart classes, for use with pkg:graphql_server.
|
||||||
|
author: Tobe O <thosakwe@gmail.com>
|
||||||
|
homepage: https://github.com/angel-dart/graphql
|
||||||
|
environment:
|
||||||
|
sdk: ">=2.0.0 <3.0.0"
|
||||||
|
dependencies:
|
||||||
|
angel_serialize_generator: ^2.0.0
|
||||||
|
build: ^1.0.0
|
||||||
|
build_config: ^0.3.0
|
||||||
|
code_builder: ^3.0.0
|
||||||
|
graphql_schema: ^1.0.2
|
||||||
|
recase: ^2.0.0
|
||||||
|
source_gen: ^0.9.4
|
Loading…
Reference in a new issue