getDartTool method
retrieves the .dart_tool directory, the directory may NOT exist
Implementation
Future<Directory> getDartTool() async {
final root = await getRoot();
if (root == null) {
throw Exception('Failed to find project root');
}
return root.childDirectory('.dart_tool');
}