Skip to content

Commit f9e32ad

Browse files
committed
created dartstruct generator
1 parent c1c64df commit f9e32ad

File tree

8 files changed

+77
-0
lines changed

8 files changed

+77
-0
lines changed

generator/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## 0.0.0
2+
3+
- Initial version

generator/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
A library for Dart developers.
2+
# dartstruct_generator
3+
4+
See [dartstruct.dart](https://github.com/KernelPanic92/dartstruct)
5+

generator/analysis_options.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Defines a default set of lint rules enforced for
2+
# projects at Google. For details and rationale,
3+
# see https://github.com/dart-lang/pedantic#enabled-lints.
4+
include: package:pedantic/analysis_options.yaml
5+
6+
# For lint rules and documentation, see http://dart-lang.github.io/linter/lints.
7+
# Uncomment to specify additional rules.
8+
# linter:
9+
# rules:
10+
# - camel_case_types
11+
12+
analyzer:
13+
# exclude:
14+
# - path/to/excluded/files/**

generator/build.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
builders:
2+
dartstruct:
3+
target: ":dartstruct_generator"
4+
import: "package:dartstruct_generator/generator.dart"
5+
builder_factories: ["dartstructBuilder"]
6+
build_extensions: {".dart": [".mapper.g.part"]}
7+
auto_apply: dependents
8+
build_to: cache
9+
applies_builders: ["source_gen|combining_builder"]

generator/lib/generator.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import 'package:build/build.dart';
2+
import 'package:source_gen/source_gen.dart';
3+
import 'src/dartstruct_generator.dart';
4+
5+
Builder dartstructBuilder(BuilderOptions options) {
6+
return SharedPartBuilder([DartStructGenerator()], 'dartstructBuilder');
7+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import 'package:analyzer/dart/element/element.dart';
2+
import 'package:build/src/builder/build_step.dart';
3+
import 'package:source_gen/source_gen.dart';
4+
import 'package:dartstruct/dartstruct.dart';
5+
6+
class DartStructGenerator extends GeneratorForAnnotation<Mapper> {
7+
@override
8+
generateForAnnotatedElement(
9+
Element element, ConstantReader annotation, BuildStep buildStep) {
10+
return null;
11+
}
12+
}

generator/pubspec.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: dartstruct_generator
2+
description: dartstruct generator is an annotation processor generator using source_gen and inspired by Java MapStruct.
3+
version: 0.0.0
4+
5+
environment:
6+
sdk: '>=2.7.0 <3.0.0'
7+
8+
dependencies:
9+
build: ^1.2.2
10+
source_gen: ^0.9.5
11+
dartstruct:
12+
path: ../core
13+
14+
dev_dependencies:
15+
pedantic: ^1.8.0
16+
test: ^1.6.0

generator/test/generator_test.dart

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import 'package:test/test.dart';
2+
3+
void main() {
4+
group('A group of tests', () {
5+
setUp(() {});
6+
7+
test('First Test', () {
8+
expect(true, isTrue);
9+
});
10+
});
11+
}

0 commit comments

Comments
 (0)