@@ -17,6 +17,8 @@ import 'changelog.dart';
1717import 'coverage.dart' ;
1818import 'license.dart' ;
1919
20+ const apiToolHash = '123049d3fa3c1459a5129b2b61d852a388a8511e' ;
21+
2022enum Check {
2123 license ('License Headers' , 'license' ),
2224 changelog ('Changelog Entry' , 'changelog' ),
@@ -151,16 +153,30 @@ class Health {
151153 Future <HealthCheckResult > breakingCheck () async {
152154 final filesInPR = await listFilesInPRorAll (ignoredPackages);
153155 final changeForPackage = < Package , BreakingChange > {};
156+
154157 final flutterPackages =
155158 packagesContaining (filesInPR, only: flutterPackageGlobs);
156-
159+ log ( 'This list of Flutter packages is $ flutterPackages ' );
157160 for (var package
158161 in packagesContaining (filesInPR, ignore: ignoredPackages)) {
159162 log ('Look for changes in $package ' );
160163 var relativePath =
161164 path.relative (package.directory.path, from: directory.path);
162165 var tempDirectory = Directory .systemTemp.createTempSync ();
163166 var reportPath = path.join (tempDirectory.path, 'report.json' );
167+
168+ runDashProcess (
169+ flutterPackages,
170+ package,
171+ [
172+ 'pub' ,
173+ 'global' ,
174+ 'activate' ,
175+ ...['-sgit' , 'https://github.com/bmw-tech/dart_apitool.git' ],
176+ ...['--git-ref' , apiToolHash],
177+ ],
178+ );
179+
164180 runDashProcess (
165181 flutterPackages,
166182 package,
@@ -210,15 +226,15 @@ ${changeForPackage.entries.map((e) => '|${e.key.name}|${e.value.toMarkdownRow()}
210226
211227 ProcessResult runDashProcess (
212228 List <Package > flutterPackages, Package package, List <String > arguments) {
213- var exec = executable (flutterPackages.contains ( package));
229+ var exec = executable (flutterPackages.any ((p) => p.name == package.name ));
214230 log ('Running `$exec ${arguments .join (' ' )}` in ${directory .path }' );
215231 var runApiTool = Process .runSync (
216232 exec,
217233 arguments,
218234 workingDirectory: directory.path,
219235 );
220- log (runApiTool.stderr as String );
221- log (runApiTool.stdout as String );
236+ log ('StdOut: \n ${ runApiTool .stdout as String }' );
237+ log ('StdErr: \n ${ runApiTool .stderr as String }' );
222238 return runApiTool;
223239 }
224240
@@ -242,24 +258,39 @@ ${changeForPackage.entries.map((e) => '|${e.key.name}|${e.value.toMarkdownRow()}
242258
243259 final flutterPackages =
244260 packagesContaining (filesInPR, only: flutterPackageGlobs);
261+ log ('This list of Flutter packages is $flutterPackages ' );
245262 for (var package in packagesContaining (filesInPR)) {
246263 log ('Look for leaks in $package ' );
247264 var relativePath =
248265 path.relative (package.directory.path, from: directory.path);
249266 var tempDirectory = Directory .systemTemp.createTempSync ();
250267 var reportPath = path.join (tempDirectory.path, 'leaks.json' );
251- var runApiTool = runDashProcess (
268+
269+ runDashProcess (
252270 flutterPackages,
253271 package,
254272 [
255- ...[ 'pub' , 'global' , 'run' ] ,
256- 'dart_apitool:main ' ,
257- 'extract ' ,
258- ...['--input ' , relativePath ],
259- ...['--output ' , reportPath ],
273+ 'pub' ,
274+ 'global ' ,
275+ 'activate ' ,
276+ ...['-sgit ' , 'https://github.com/bmw-tech/dart_apitool.git' ],
277+ ...['--git-ref ' , apiToolHash ],
260278 ],
261279 );
262280
281+ var arguments = [
282+ ...['pub' , 'global' , 'run' ],
283+ 'dart_apitool:main' ,
284+ 'extract' ,
285+ ...['--input' , relativePath],
286+ ...['--output' , reportPath],
287+ ];
288+ var runApiTool = runDashProcess (
289+ flutterPackages,
290+ package,
291+ arguments,
292+ );
293+
263294 if (runApiTool.exitCode == 0 ) {
264295 var fullReportString = await File (reportPath).readAsString ();
265296 var decoded = jsonDecode (fullReportString) as Map <String , dynamic >;
@@ -271,14 +302,9 @@ ${changeForPackage.entries.map((e) => '|${e.key.name}|${e.value.toMarkdownRow()}
271302 }
272303 } else {
273304 throw ProcessException (
305+ executable (flutterPackages.contains (package)),
306+ arguments,
274307 'Api tool finished with exit code ${runApiTool .exitCode }' ,
275- [
276- ...['pub' , 'global' , 'run' ],
277- 'dart_apitool:main' ,
278- 'extract' ,
279- ...['--input' , relativePath],
280- ...['--output' , reportPath],
281- ],
282308 );
283309 }
284310 }
0 commit comments