Skip to content

Commit

Permalink
feat(cli): extend cli with custom plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
vanlooverenkoen committed Nov 26, 2023
1 parent 6e85005 commit 05b623a
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Feat:
- (AppCenter): Export default distribution group.
- (cli): Added support to extend the cli with custom plugins.

# 0.2.0

Expand Down
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

**impaktfull_cli is still in unstable & untested. everything under <1.0.0 should not be used unless you want to test the cli**

### ENV Variables:
## ENV Variables:

#### impaktfull_cli ENV variabhles
### impaktfull_cli ENV variabhles

- CI_KEYCHAIN_PASSWORD
- APPCENTER_OWNER_NAME
Expand All @@ -16,3 +16,13 @@
### 3rth party ENV Variables

- OP_SERVICE_ACCOUNT_TOKEN


## Extend ImpaktfullCli

```dart
class TestCli extends ImpaktfullCli {
@override
Future<void> run(ImpaktfullCliRunner<TestCli> runner) => super.run(runner as ImpaktfullCliRunner<ImpaktfullCli>);
}
```
2 changes: 2 additions & 0 deletions lib/impaktfull_cli.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ export 'package:impaktfull_cli/src/core/model/error/impaktfull_cli_argument_erro
export 'package:impaktfull_cli/src/core/model/error/impaktfull_cli_error.dart';
export 'package:impaktfull_cli/src/core/model/data/secret.dart';
export 'package:impaktfull_cli/src/core/model/data/environment/cli_tool.dart';
export 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';
export 'package:impaktfull_cli/src/core/plugin/impaktfull_plugin.dart';
export 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment.dart';
export 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment_variables.dart';
export 'package:impaktfull_cli/src/core/util/input_reader/impaktfull_cli_input_reader.dart';
Expand Down
File renamed without changes.
6 changes: 4 additions & 2 deletions lib/src/impaktfull_cli.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import 'package:impaktfull_cli/src/integrations/one_password/plugin/one_password
import 'package:impaktfull_cli/src/integrations/playstore/plugin/playstore_plugin.dart';
import 'package:impaktfull_cli/src/integrations/testflight/plugin/testflight_plugin.dart';

typedef ImpaktfullCliRunner = Future<void> Function(ImpaktfullCli cli);
typedef ImpaktfullCliRunner<T extends ImpaktfullCli> = Future<void> Function(
T cli);

class ImpaktfullCli {
final ProcessRunner processRunner;
Expand Down Expand Up @@ -77,7 +78,8 @@ class ImpaktfullCli {
return plugin;
}

Future<void> run(ImpaktfullCliRunner runner) => runImpaktfullCli(
Future<void> run(ImpaktfullCliRunner<ImpaktfullCli> runner) =>
runImpaktfullCli(
() => runner(this),
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:io';

import 'package:impaktfull_cli/src/core/model/data/secret.dart';
import 'package:impaktfull_cli/src/core/plugin/cli_plugin.dart';
import 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';
import 'package:impaktfull_cli/src/core/util/logger/logger.dart';
import 'package:impaktfull_cli/src/core/util/process/process_runner.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:io';

import 'package:impaktfull_cli/src/core/model/error/impaktfull_cli_error.dart';
import 'package:impaktfull_cli/src/core/plugin/cli_plugin.dart';
import 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';
import 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment.dart';
import 'package:impaktfull_cli/src/core/util/process/process_runner.dart';
import 'package:impaktfull_cli/src/integrations/flutter/build/model/flutter_build_android_extension.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:io';

import 'package:impaktfull_cli/src/core/model/data/secret.dart';
import 'package:impaktfull_cli/src/core/plugin/cli_plugin.dart';
import 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';

class OnePasswordPlugin extends ImpaktfullCliPlugin {
const OnePasswordPlugin({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import 'package:googleapis/androidpublisher/v3.dart';
import "package:googleapis_auth/auth_io.dart";
import 'package:impaktfull_cli/src/core/model/data/secret.dart';
import 'package:impaktfull_cli/src/core/model/error/impaktfull_cli_error.dart';
import 'package:impaktfull_cli/src/core/plugin/cli_plugin.dart';
import 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';
import 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment_variables.dart';
import 'package:impaktfull_cli/src/core/util/logger/logger.dart';
import 'package:path/path.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:io';
import 'package:impaktfull_cli/src/core/model/data/environment/cli_tool.dart';
import 'package:impaktfull_cli/src/core/model/data/secret.dart';
import 'package:impaktfull_cli/src/core/model/error/impaktfull_cli_error.dart';
import 'package:impaktfull_cli/src/core/plugin/cli_plugin.dart';
import 'package:impaktfull_cli/src/core/plugin/impaktfull_cli_plugin.dart';
import 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment.dart';
import 'package:impaktfull_cli/src/core/util/args/env/impaktfull_cli_environment_variables.dart';
import 'package:path/path.dart';
Expand Down

0 comments on commit 05b623a

Please sign in to comment.