Make template paths static & fix Dart Analysis config (#680)
diff --git a/.gitpod.yml b/.gitpod.yml
index d2bf753..905472b 100644
--- a/.gitpod.yml
+++ b/.gitpod.yml
@@ -16,3 +16,7 @@
- port: 9504
onOpen: "ignore"
+
+vscode:
+ extensions:
+ - dart-code.dart-code@3.20.1:gKwMOzlkrgxrb7aPrMdQ8w==
\ No newline at end of file
diff --git a/lib/src/analysis_server.dart b/lib/src/analysis_server.dart
index 1c20ed5..dc76714 100644
--- a/lib/src/analysis_server.dart
+++ b/lib/src/analysis_server.dart
@@ -35,61 +35,17 @@
const Duration _ANALYSIS_SERVER_TIMEOUT = Duration(seconds: 35);
class DartAnalysisServerWrapper extends AnalysisServerWrapper {
- Directory _tempProject;
-
DartAnalysisServerWrapper() : super(SdkManager.sdk.sdkPath);
@override
- Future<AnalysisServer> init() async {
- _logger.info('DartAnalysisServerWrapper init');
- _tempProject = await Directory.systemTemp.createTemp('DartAnalysisWrapper');
- return super.init();
- }
-
- @override
- String get _sourceDirPath => _tempProject.path;
-
- @override
- Future<proto.AnalysisResults> analyze(String source) {
- _logger.info('DartAnalysisServerWrapper analyze');
- return super.analyze(source);
- }
-
- @override
- Future<dynamic> shutdown() {
- _logger.info('DartAnalysisServerWrapper shutdown');
- return _tempProject
- .delete(recursive: true)
- .then((value) => super.shutdown());
- }
+ String get _sourceDirPath => FlutterWebManager.dartTemplateProject.path;
}
class FlutterAnalysisServerWrapper extends AnalysisServerWrapper {
- final FlutterWebManager flutterWebManager;
-
- FlutterAnalysisServerWrapper(this.flutterWebManager)
- : super(SdkManager.sdk.sdkPath);
+ FlutterAnalysisServerWrapper() : super(SdkManager.sdk.sdkPath);
@override
- Future<AnalysisServer> init() async {
- _logger.info('FlutterAnalysisServerWrapper init');
- return super.init();
- }
-
- @override
- String get _sourceDirPath => flutterWebManager.flutterTemplateProject.path;
-
- @override
- Future<proto.AnalysisResults> analyze(String source) {
- _logger.info('FlutterAnalysisServerWrapper analyze');
- return super.analyze(source);
- }
-
- @override
- Future<dynamic> shutdown() {
- _logger.info('FlutterAnalysisServerWrapper shutdown');
- return super.shutdown();
- }
+ String get _sourceDirPath => FlutterWebManager.flutterTemplateProject.path;
}
abstract class AnalysisServerWrapper {
diff --git a/lib/src/analysis_servers.dart b/lib/src/analysis_servers.dart
index d534714..0c8d063 100644
--- a/lib/src/analysis_servers.dart
+++ b/lib/src/analysis_servers.dart
@@ -46,7 +46,7 @@
_logger.info('Beginning AnalysisServersWrapper init().');
_dartAnalysisServer = DartAnalysisServerWrapper();
_flutterWebManager = FlutterWebManager();
- _flutterAnalysisServer = FlutterAnalysisServerWrapper(_flutterWebManager);
+ _flutterAnalysisServer = FlutterAnalysisServerWrapper();
await _dartAnalysisServer.init();
_logger.info('Dart analysis server initialized.');
diff --git a/lib/src/compiler.dart b/lib/src/compiler.dart
index 72e784a..97d0578 100644
--- a/lib/src/compiler.dart
+++ b/lib/src/compiler.dart
@@ -63,7 +63,7 @@
_logger.info('Temp directory created: ${temp.path}');
try {
- await copyPath(_flutterWebManager.dartTemplateProject.path, temp.path);
+ await copyPath(FlutterWebManager.dartTemplateProject.path, temp.path);
await Directory(path.join(temp.path, 'lib')).create(recursive: true);
final arguments = <String>[
@@ -131,9 +131,9 @@
final usingFlutter = _flutterWebManager.usesFlutterWeb(imports);
if (usingFlutter) {
await copyPath(
- _flutterWebManager.flutterTemplateProject.path, temp.path);
+ FlutterWebManager.flutterTemplateProject.path, temp.path);
} else {
- await copyPath(_flutterWebManager.dartTemplateProject.path, temp.path);
+ await copyPath(FlutterWebManager.dartTemplateProject.path, temp.path);
}
await Directory(path.join(temp.path, 'lib')).create(recursive: true);
diff --git a/lib/src/flutter_web.dart b/lib/src/flutter_web.dart
index eeb4001..0f0bf2c 100644
--- a/lib/src/flutter_web.dart
+++ b/lib/src/flutter_web.dart
@@ -8,10 +8,10 @@
/// Support for handling Flutter web snippets.
class FlutterWebManager {
- final Directory flutterTemplateProject = Directory(path.join(
+ static final Directory flutterTemplateProject = Directory(path.join(
Directory.current.path, 'project_templates', 'flutter_project'));
- final Directory dartTemplateProject = Directory(
+ static final Directory dartTemplateProject = Directory(
path.join(Directory.current.path, 'project_templates', 'dart_project'));
FlutterWebManager();
diff --git a/test/analysis_server_test.dart b/test/analysis_server_test.dart
index ec0f314..a2021cb 100644
--- a/test/analysis_server_test.dart
+++ b/test/analysis_server_test.dart
@@ -6,7 +6,6 @@
import 'package:dart_services/src/analysis_server.dart';
import 'package:dart_services/src/common.dart';
-import 'package:dart_services/src/flutter_web.dart';
import 'package:dart_services/src/protos/dart_services.pb.dart' as proto;
import 'package:test/test.dart';
@@ -206,7 +205,7 @@
group('Flutter cached SDK analysis_server', () {
setUp(() async {
- analysisServer = FlutterAnalysisServerWrapper(FlutterWebManager());
+ analysisServer = FlutterAnalysisServerWrapper();
await analysisServer.init();
});
diff --git a/test/flutter_analysis_server_test.dart b/test/flutter_analysis_server_test.dart
index 6d35d53..45fa67e 100644
--- a/test/flutter_analysis_server_test.dart
+++ b/test/flutter_analysis_server_test.dart
@@ -9,7 +9,6 @@
import 'package:dart_services/src/analysis_servers.dart';
import 'package:dart_services/src/common_server_impl.dart';
import 'package:dart_services/src/common_server_api.dart';
-import 'package:dart_services/src/flutter_web.dart';
import 'package:dart_services/src/protos/dart_services.pbserver.dart';
import 'package:dart_services/src/server_cache.dart';
import 'package:dart_services/src/sdk_manager.dart';
@@ -208,7 +207,7 @@
setUp(() async {
await SdkManager.sdk.init();
- analysisServer = FlutterAnalysisServerWrapper(FlutterWebManager());
+ analysisServer = FlutterAnalysisServerWrapper();
await analysisServer.init();
await analysisServer.warmup();
});
diff --git a/test/flutter_web_test.dart b/test/flutter_web_test.dart
index df77679..4fdf678 100644
--- a/test/flutter_web_test.dart
+++ b/test/flutter_web_test.dart
@@ -22,8 +22,8 @@
});
test('inited', () async {
- expect(await flutterWebManager.flutterTemplateProject.exists(), isTrue);
- final file = File(path.join(flutterWebManager.flutterTemplateProject.path,
+ expect(await FlutterWebManager.flutterTemplateProject.exists(), isTrue);
+ final file = File(path.join(FlutterWebManager.flutterTemplateProject.path,
'.dart_tool', 'package_config.json'));
expect(await file.exists(), isTrue);
});
@@ -61,7 +61,7 @@
test('packagesFilePath', () async {
final packageConfig = File(path.join(
- flutterWebManager.flutterTemplateProject.path,
+ FlutterWebManager.flutterTemplateProject.path,
'.dart_tool',
'package_config.json'));
expect(await packageConfig.exists(), true);