File tree 3 files changed +30
-3
lines changed
3 files changed +30
-3
lines changed Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ abstract class Task<T> {
50
50
/// Execute the task and return instance of [T] or throw
51
51
/// [KlutterException] if unsuccessful.
52
52
Future <T > executeOrThrow (Context context) async {
53
- return await toBeExecuted (context, _getOptions (context));
53
+ return toBeExecuted (context, _getOptions (context));
54
54
}
55
55
56
56
/// The validated options.
Original file line number Diff line number Diff line change @@ -69,7 +69,11 @@ class CreateProject extends Task {
69
69
final dist = toFlutterDistributionOrThrow (
70
70
version: flutterVersion, pathToRoot: pathToRoot);
71
71
72
- final result = await _getFlutterSDK.executeOrThrow (context);
72
+ final result =
73
+ await _getFlutterSDK.executeOrThrow (context.copyWith (taskOptions: {
74
+ TaskOption .flutter: dist.folderNameString.toString (),
75
+ }));
76
+
73
77
final flutter =
74
78
result.resolveFile ("flutter/bin/flutter" .normalize).absolutePath;
75
79
final root = await createFlutterProjectOrThrow (
@@ -136,6 +140,12 @@ class CreateProject extends Task {
136
140
TaskOption .lib: name,
137
141
}));
138
142
143
+ _executor
144
+ ..workingDirectory = root
145
+ ..arguments = ["klutterGetKradle" , "-p" , "platform" ]
146
+ ..executable = root.resolveFile ("gradlew" ).absolutePath
147
+ ..run ();
148
+
139
149
exampleFolder
140
150
..deleteTestFolder
141
151
..deleteIntegrationTestFolder;
Original file line number Diff line number Diff line change @@ -61,11 +61,28 @@ void main() {
61
61
expect (result.isOk, false );
62
62
expect (result.message, "BOOM!" );
63
63
});
64
+
65
+ test ("Verify flutter option is used correctly" , () async {
66
+ const version = "3.0.5.macos.arm64" ;
67
+ final getFlutterTask = FlutterFixedVersion ();
68
+ final task = CreateProject (getFlutterSDK: getFlutterTask);
69
+ final result = await task
70
+ .execute (Context (Directory .systemTemp, {TaskOption .flutter: version}));
71
+ expect (result.isOk, false );
72
+ expect (result.message, version);
73
+ });
64
74
}
65
75
66
76
class NoFlutterSDK extends GetFlutterSDK {
67
77
@override
68
78
Future <Directory > executeOrThrow (Context context) async {
69
- throw KlutterException ("BOOM!" );
79
+ throw const KlutterException ("BOOM!" );
80
+ }
81
+ }
82
+
83
+ class FlutterFixedVersion extends GetFlutterSDK {
84
+ @override
85
+ Future <Directory > executeOrThrow (Context context) async {
86
+ throw KlutterException (context.taskOptions[TaskOption .flutter] ?? "--" );
70
87
}
71
88
}
You can’t perform that action at this time.
0 commit comments