diff --git a/script/tool/lib/src/common/package_looping_command.dart b/script/tool/lib/src/common/package_looping_command.dart index d8b1cf001d..ccfeea0e47 100644 --- a/script/tool/lib/src/common/package_looping_command.dart +++ b/script/tool/lib/src/common/package_looping_command.dart @@ -369,7 +369,7 @@ abstract class PackageLoopingCommand extends PackageCommand { } } - return await runForPackage(package); + return runForPackage(package); } void _printSuccess(String message) { diff --git a/script/tool/lib/src/common/package_state_utils.dart b/script/tool/lib/src/common/package_state_utils.dart index 65f311974f..5aabd75a4d 100644 --- a/script/tool/lib/src/common/package_state_utils.dart +++ b/script/tool/lib/src/common/package_state_utils.dart @@ -107,6 +107,7 @@ Future checkPackageChangeState( bool _isTestChange(List pathComponents) { return pathComponents.contains('test') || + pathComponents.contains('integration_test') || pathComponents.contains('androidTest') || pathComponents.contains('RunnerTests') || pathComponents.contains('RunnerUITests'); diff --git a/script/tool/lib/src/update_release_info_command.dart b/script/tool/lib/src/update_release_info_command.dart index 67aa994d96..8d7ceb84d3 100644 --- a/script/tool/lib/src/update_release_info_command.dart +++ b/script/tool/lib/src/update_release_info_command.dart @@ -140,6 +140,9 @@ class UpdateReleaseInfoCommand extends PackageLoopingCommand { if (!state.hasChanges) { return PackageResult.skip('No changes to package'); } + if (!state.needsVersionChange && !state.needsChangelogChange) { + return PackageResult.skip('No non-exempt changes to package'); + } if (state.needsVersionChange) { versionChange = _VersionIncrementType.bugfix; } diff --git a/script/tool/lib/src/version_check_command.dart b/script/tool/lib/src/version_check_command.dart index b3be672066..bb53620f06 100644 --- a/script/tool/lib/src/version_check_command.dart +++ b/script/tool/lib/src/version_check_command.dart @@ -285,8 +285,7 @@ ${indentation}HTTP response: ${pubVersionFinderResponse.httpResponse.body} final String gitPath = path.style == p.Style.windows ? p.posix.joinAll(path.split(relativePath)) : relativePath; - return await _gitVersionFinder.getPackageVersion(gitPath, - gitRef: _mergeBase); + return _gitVersionFinder.getPackageVersion(gitPath, gitRef: _mergeBase); } /// Returns the state of the verison of [package] relative to the comparison diff --git a/script/tool/test/common/package_looping_command_test.dart b/script/tool/test/common/package_looping_command_test.dart index c858df0022..f90d58e122 100644 --- a/script/tool/test/common/package_looping_command_test.dart +++ b/script/tool/test/common/package_looping_command_test.dart @@ -143,7 +143,7 @@ void main() { runner = CommandRunner('test_package_looping_command', 'Test for base package looping functionality'); runner.addCommand(command); - return await runCapturingPrint( + return runCapturingPrint( runner, [command.name, ...arguments], errorHandler: errorHandler, diff --git a/script/tool/test/update_release_info_command_test.dart b/script/tool/test/update_release_info_command_test.dart index 8cd2e9591e..cfec93823f 100644 --- a/script/tool/test/update_release_info_command_test.dart +++ b/script/tool/test/update_release_info_command_test.dart @@ -388,7 +388,7 @@ $originalChangelog'''; createFakePackage('a_package', packagesDir, version: '1.0.1'); processRunner.mockProcessesForExecutable['git-diff'] = [ MockProcess(stdout: ''' -packages/different_package/test/plugin_test.dart +packages/different_package/lib/foo.dart '''), ]; final String originalChangelog = package.changelogFile.readAsStringSync(); @@ -411,6 +411,35 @@ packages/different_package/test/plugin_test.dart ])); }); + test('skips for "minimal" when there are only test changes', () async { + final RepositoryPackage package = + createFakePackage('a_package', packagesDir, version: '1.0.1'); + processRunner.mockProcessesForExecutable['git-diff'] = [ + MockProcess(stdout: ''' +packages/a_package/test/a_test.dart +packages/a_package/example/integration_test/another_test.dart +'''), + ]; + final String originalChangelog = package.changelogFile.readAsStringSync(); + + final List output = await runCapturingPrint(runner, [ + 'update-release-info', + '--version=minimal', + '--changelog', + 'A change.', + ]); + + final String version = package.parsePubspec().version?.toString() ?? ''; + expect(version, '1.0.1'); + expect(package.changelogFile.readAsStringSync(), originalChangelog); + expect( + output, + containsAllInOrder([ + contains('No non-exempt changes to package'), + contains('Skipped 1 package') + ])); + }); + test('fails if CHANGELOG.md is missing', () async { createFakePackage('a_package', packagesDir, includeCommonFiles: false);