mirror of https://github.com/AMT-Cheif/drift.git
Automatically include latest version in docs
This commit is contained in:
parent
2945381213
commit
008c348aba
|
@ -8,6 +8,8 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: dart-lang/setup-dart@v1
|
||||
with:
|
||||
sdk: beta
|
||||
|
||||
- name: Get dependencies
|
||||
run: dart pub get
|
||||
|
|
|
@ -1,5 +1,22 @@
|
|||
builders:
|
||||
versions:
|
||||
import: 'tool/write_versions.dart'
|
||||
build_to: cache
|
||||
builder_factories: ["writeVersions"]
|
||||
build_extensions: {"$package$": ["lib/versions.json"]}
|
||||
|
||||
targets:
|
||||
prepare:
|
||||
builders:
|
||||
"|versions":
|
||||
enabled: true
|
||||
auto_apply_builders: false
|
||||
sources:
|
||||
- "$package$"
|
||||
- "lib/versions.json"
|
||||
|
||||
$default:
|
||||
dependencies: [":prepare"]
|
||||
builders:
|
||||
build_web_compilers|entrypoint:
|
||||
release_options:
|
||||
|
|
|
@ -1,5 +1,23 @@
|
|||
builders:
|
||||
versions:
|
||||
import: 'tool/write_versions.dart'
|
||||
build_to: cache
|
||||
builder_factories: ["writeVersions"]
|
||||
build_extensions: {"$package$": ["lib/versions.json"]}
|
||||
|
||||
targets:
|
||||
prepare:
|
||||
builders:
|
||||
"|versions":
|
||||
enabled: true
|
||||
auto_apply_builders: false
|
||||
sources:
|
||||
- "$package$"
|
||||
- "lib/versions.json"
|
||||
- "tool/write_versions.dart"
|
||||
|
||||
$default:
|
||||
dependencies: [":prepare"]
|
||||
builders:
|
||||
built_site:
|
||||
release_options:
|
||||
|
|
|
@ -16,22 +16,25 @@ First, lets add moor to your project's `pubspec.yaml`.
|
|||
At the moment, the current version of `moor` is [![Moor version](https://img.shields.io/pub/v/moor.svg)](https://pub.dev/packages/moor)
|
||||
and the latest version of `moor_generator` is [![Generator version](https://img.shields.io/pub/v/moor_generator.svg)](https://pub.dev/packages/moor_generator)
|
||||
|
||||
{% assign versions = 'package:moor_documentation/versions.json' | readString | json_decode %}
|
||||
|
||||
```yaml
|
||||
dependencies:
|
||||
moor: # use the latest version
|
||||
sqlite3_flutter_libs: # Also use the latest version.
|
||||
path_provider:
|
||||
path:
|
||||
moor: ^{{ versions.moor }}
|
||||
sqlite3_flutter_libs: ^0.5.0
|
||||
path_provider: ^2.0.0
|
||||
path: ^{{ versions.path }}
|
||||
|
||||
dev_dependencies:
|
||||
moor_generator: # use the latest version
|
||||
build_runner:
|
||||
moor_generator: ^{{ versions.moor_generator }}
|
||||
build_runner: ^{{ versions.build_runner }}
|
||||
```
|
||||
|
||||
If you're wondering why so many packages are necessary, here's a quick overview over what each package does:
|
||||
|
||||
- `moor`: This is the core package defining most apis
|
||||
- `sqlite3_flutter_libs`: Ships the latest `sqlite3` version with your Android or iOS app.
|
||||
- `sqlite3_flutter_libs`: Ships the latest `sqlite3` version with your Android or iOS app. This is not required when you're _not_ using Flutter,
|
||||
but then you need to take care of including `sqlite3` yourself.
|
||||
- `path_provider` and `path`: Used to find a suitable location to store the database. Maintained by the Flutter and Dart team
|
||||
- `moor_generator`: Generates query code based on your tables
|
||||
- `build_runner`: Common tool for code-generation, maintained by the Dart team
|
||||
|
|
|
@ -14,24 +14,27 @@ First, lets add moor to your project's `pubspec.yaml`.
|
|||
At the moment, the current version of `moor` is [![Moor version](https://img.shields.io/pub/v/moor.svg)](https://pub.dev/packages/moor)
|
||||
and the latest version of `moor_generator` is [![Generator version](https://img.shields.io/pub/v/moor_generator.svg)](https://pub.dev/packages/moor_generator)
|
||||
|
||||
{% assign versions = 'package:moor_documentation/versions.json' | readString | json_decode %}
|
||||
|
||||
```yaml
|
||||
dependencies:
|
||||
moor: # use the latest version
|
||||
sqlite3_flutter_libs: # Also use the latest version.
|
||||
path_provider:
|
||||
path:
|
||||
moor: ^{{ versions.moor }}
|
||||
sqlite3_flutter_libs: ^0.5.0
|
||||
path_provider: ^2.0.0
|
||||
path: ^{{ versions.path }}
|
||||
|
||||
dev_dependencies:
|
||||
moor_generator: # use the latest version
|
||||
build_runner:
|
||||
moor_generator: ^{{ versions.moor_generator }}
|
||||
build_runner: ^{{ versions.build_runner }}
|
||||
```
|
||||
|
||||
If you're wondering why so many packages are necessary, here's a quick overview over what each package does:
|
||||
|
||||
- `moor`: This is the core package defining most apis
|
||||
- `sqlite3_flutter_libs`: Ships the latest `sqlite3` version with your Android or iOS app.
|
||||
- `sqlite3_flutter_libs`: Ships the latest `sqlite3` version with your Android or iOS app. This is not required when you're _not_ using Flutter,
|
||||
but then you need to take care of including `sqlite3` yourself.
|
||||
- `path_provider` and `path`: Used to find a suitable location to store the database. Maintained by the Flutter and Dart team
|
||||
- `moor_generator`: Generates Dart apis for the sql queries and tables you wrote
|
||||
- `moor_generator`: Generates query code based on your tables
|
||||
- `build_runner`: Common tool for code-generation, maintained by the Dart team
|
||||
|
||||
{% include "partials/changed_to_ffi" %}
|
||||
|
|
|
@ -13,17 +13,32 @@ dependencies:
|
|||
version: ^0.2.0
|
||||
|
||||
dev_dependencies:
|
||||
build: ^2.1.0
|
||||
build_runner: ^2.0.5
|
||||
build_web_compilers: ^3.0.0
|
||||
build_web_compilers: ^3.2.0
|
||||
built_site:
|
||||
hosted:
|
||||
url: https://simonbinder.eu
|
||||
name: built_site
|
||||
version: ^0.2.0
|
||||
|
||||
moor:
|
||||
moor_generator:
|
||||
sqlparser:
|
||||
|
||||
|
||||
dependency_overrides:
|
||||
moor:
|
||||
path: ../moor
|
||||
moor_generator:
|
||||
path: ../moor_generator
|
||||
sqlparser:
|
||||
path: ../sqlparser
|
||||
|
||||
# todo: Remove after https://github.com/dart-lang/mime/pull/43
|
||||
mime:
|
||||
git:
|
||||
url: https://github.com/simolus3/mime.git
|
||||
ref: woff2
|
||||
built_site:
|
||||
path: /home/simon/programming/built_site/built_site
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:build/build.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
Builder writeVersions(BuilderOptions options) {
|
||||
return _VersionsBuilder();
|
||||
}
|
||||
|
||||
class _VersionsBuilder extends Builder {
|
||||
@override
|
||||
Future<void> build(BuildStep buildStep) async {
|
||||
const packages = [
|
||||
'moor',
|
||||
'moor_generator',
|
||||
'sqlparser',
|
||||
'path',
|
||||
'build_runner',
|
||||
];
|
||||
|
||||
final versions = <String, String>{};
|
||||
for (final package in packages) {
|
||||
final pubspec =
|
||||
await buildStep.readAsString(AssetId(package, 'pubspec.yaml'));
|
||||
final parsedPubspec = loadYaml(pubspec);
|
||||
|
||||
versions[package] = (parsedPubspec as Map)['version'].toString();
|
||||
}
|
||||
|
||||
await buildStep.writeAsString(
|
||||
buildStep.allowedOutputs.single, json.encode(versions));
|
||||
}
|
||||
|
||||
@override
|
||||
Map<String, List<String>> get buildExtensions => const {
|
||||
r'$package$': ['lib/versions.json']
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue