Publish dev packages to simonbinder.eu

This commit is contained in:
Simon Binder 2020-12-10 15:19:02 +01:00
parent 1edcc634b1
commit 5401a4c80a
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
7 changed files with 82 additions and 15 deletions

View File

@ -100,7 +100,7 @@ jobs:
# - uses: cedx/setup-dart@v2
# - run: dart pub upgrade
# name: "Setup coverage processor"
# working-directory: extras/coverage_formatting
# working-directory: extras/tooling
# - uses: actions/download-artifact@v2
# with:
# name: moor-coverage-data
@ -109,7 +109,7 @@ jobs:
# with:
# name: sqlparser-coverage-data
# path: sqlparser/
# - run: dart run extras/coverage_formatting/bin/coverage.dart
# - run: dart run extras/tooling/bin/coverage.dart
# name: "Format coverage from raw data"
# - uses: codecov/codecov-action@v1
# with:

View File

@ -1,10 +0,0 @@
name: coverage_formatting
publish_to: none
description: Tool used for the CI to format VM coverage jsons to LCOV files
environment:
sdk: '>=2.6.0 <3.0.0'
dependencies:
coverage: '^0.14.0'
path: ^1.6.4

View File

@ -0,0 +1,62 @@
import 'package:file/file.dart';
import 'package:simons_pub_uploader/upload.dart';
const packageNames = [
'moor',
'moor_flutter',
'moor_generator',
'sqlparser',
];
/// Publishes moor, moor_flutter, moor_generator and sqlparser to my pub
/// server, simonbinder.eu.
Future<void> main() async {
final packages = [
for (final pkg in packageNames)
Package(
pkg,
trasformer: _transformPubspec,
listPackageFiles:
_findFiles(pkg, includeBuildConfig: pkg == 'moor_generator'),
),
];
await uploadPackages(packages);
}
Map<String, dynamic> _transformPubspec(Map<String, dynamic> original) {
const copyFields = ['name', 'version', 'environment'];
final originalDependencies = original['dependencies'] as Map;
return {
for (final keyToCopy in copyFields)
if (original.containsKey(keyToCopy)) keyToCopy: original[keyToCopy],
// Transform dependencies: Rewrite dependencies to a moor a package so that
// they point to the custom pub server.
'dependencies': {
for (final dependencyName in originalDependencies.keys)
if (packageNames.contains(dependencyName))
dependencyName: {
'hosted': {
'url': 'https://simonbinder.eu',
'name': dependencyName,
},
'version': originalDependencies[dependencyName]
}
else
dependencyName: originalDependencies[dependencyName],
},
};
}
Stream<FileSystemEntity> Function(FileSystem) _findFiles(String packageName,
{bool includeBuildConfig = false}) {
return (FileSystem fs) async* {
final pkg = fs.directory(packageName);
yield* pkg.childDirectory('lib').list(recursive: true);
if (includeBuildConfig) {
yield pkg.childFile('build.yaml');
}
};
}

View File

@ -0,0 +1,15 @@
name: tooling
publish_to: none
description: Tools used during development or in CI runs
environment:
sdk: '>=2.6.0 <3.0.0'
dependencies:
coverage: '^0.14.0'
path: ^1.6.4
simons_pub_uploader:
hosted:
url: https://simonbinder.eu
name: simons_pub_uploader
version: ^1.0.2

View File

@ -11,7 +11,7 @@ environment:
dependencies:
meta: ^1.3.0-nullsafety.6
# We'd prefer convert ^3.0.0 for nullsafety, (we have a dependency_override) for that, but large chunks of the Dart
# ecosystem don't support version 3.0.0 yet, we support older versions for compatibility.
# ecosystem don't support version 3.0.0 yet, so we support older versions for compatibility.
convert: ">=2.1.1 <4.0.0"
collection: ^1.15.0-nullsafety.5
synchronized: ^3.0.0-nullsafety

View File

@ -22,9 +22,9 @@ dependencies:
cli_util: ^0.1.0
# Moor-specific analysis and apis
moor: ^3.5.0-dev
moor: ^4.0.0-nullsafety
sqlite3: ^0.1.6
sqlparser: ^0.11.0
sqlparser: ^0.12.0-dev
# Dart analysis
analyzer: ^0.40.0