executePreCommitChecks method
Execute before commit checks.
Implementation
@mustCallSuper
Future<void> executePreCommitChecks() async {
final String branchNamingViolation = await executeBranchNamingCheck();
if (branchNamingViolation.isNotEmpty == true) {
throw UnrecoverableException(
branchNamingViolation,
ExitCode.software.code,
);
}
if (config.preCommitConfig.codeStyleCheckEnabled) {
final String codeStyleViolations = await executeCodeStyleCheck();
if (codeStyleViolations.isNotEmpty == true) {
throw UnrecoverableException(
codeStyleViolations,
ExitCode.software.code,
);
}
}
if (config.preCommitConfig.unitTestsEnabled) {
final String unitTestsResult = await executeUnitTests();
if (unitTestsResult.isNotEmpty == true) {
throw UnrecoverableException(unitTestsResult, ExitCode.software.code);
}
}
if (config.preCommitConfig.integrationTestsEnabled) {
final String integrationTests = await executeIntegrationTests();
if (integrationTests.isNotEmpty == true) {
throw UnrecoverableException(integrationTests, ExitCode.software.code);
}
}
if (config.preCommitConfig.uiTestsEnabled) {
final String uiTests = await executeUiTests();
if (uiTests.isNotEmpty == true) {
throw UnrecoverableException(uiTests, ExitCode.software.code);
}
}
}