Create build_jael

This commit is contained in:
Tobe O 2018-04-03 11:14:11 -04:00
parent 1ebef65a60
commit b8f2888c7d
4 changed files with 94 additions and 0 deletions

15
build_jael/.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
# Created by .ignore support plugin (hsz.mobi)
### Dart template
# See https://www.dartlang.org/tools/private-files.html
# Files and directories created by pub
.packages
.pub/
build/
# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock
# Directory created by dartdoc
# If you don't generate documentation locally you can remove this line.
doc/api/
.dart_tool

23
build_jael/build.yaml Normal file
View file

@ -0,0 +1,23 @@
builders:
jael:
target: "build_jael"
import: "package:build_jael/build_jael.dart"
builder_factories:
- jaelBuilder
auto_apply: root_package
build_extensions:
.jl:
- ".html"
required_inputs:
- .jl
defaults:
generate_for:
- "**/*.html"
- "*.html"
- "**.html"
targets:
$default:
sources:
- "**/*.html"
- "*.html"
- "**.html"

View file

@ -0,0 +1,41 @@
import 'dart:async';
import 'package:build/build.dart';
import 'package:code_buffer/code_buffer.dart';
import 'package:file/file.dart';
import 'package:jael/jael.dart' as jael;
import 'package:jael_preprocessor/jael_preprocessor.dart';
class JaelBuilder implements Builder {
final BuilderOptions options;
const JaelBuilder(this.options);
@override
Map<String, List<String>> get buildExtensions {
return {
'.jl': ['.html'],
};
}
@override
Future build(BuildStep buildStep) async {
CodeBuffer buf;
if (options.config['minify'] == true)
buf = new CodeBuffer(space: '', newline: '', trailingNewline: false);
else
buf = new CodeBuffer();
Directory dir;
var errors = <jael.JaelError>[];
var doc = await jael.parseDocument(
await buildStep.readAsString(buildStep.inputId),
sourceUrl: buildStep.inputId.uri,
onError: errors.add,
);
if (errors.isNotEmpty) {}
}
}

15
build_jael/pubspec.yaml Normal file
View file

@ -0,0 +1,15 @@
name: build_jael
version: 1.0.0
description: Compile Jael files to HTML using the power of `package:build`.
author: Tobe O <thosakwe@gmail.com>
homepage: https://github.com/angel-dart/jael/tree/master/build_jael
environment:
sdk: ">=1.19.0 <=2.0.0"
dependencies:
build: ^0.12.0
build_config: ^0.2.0
code_buffer: ^1.0.0
file: ^2.0.0
jael: ^1.0.0-alpha
jael_preprocessor: ^1.0.0-alpha
symbol_table: ^1.0.0