@@ -3,87 +3,71 @@ import 'dart:io';
3
3
import 'package:package_config/package_config.dart' ;
4
4
import 'package:path/path.dart' as path;
5
5
import 'package:serverpod_cli/src/config/config.dart' ;
6
- import 'package:serverpod_cli/src/util/serverpod_cli_logger.dart' ;
7
6
import 'package:serverpod_shared/serverpod_shared.dart' ;
8
7
import 'package:yaml/yaml.dart' ;
9
8
10
9
const _serverSuffix = '_server' ;
11
10
12
- Future <List <ModuleConfig >?> locateModules ({
13
- required Directory directory,
14
- List <String > excludePackages = const [],
15
- Map <String , String ?> manualModules = const {},
16
- }) async {
11
+ List <ModuleConfig > loadModuleConfigs ({
12
+ required PackageConfig packageConfig,
13
+ Map <String , String ?> nickNameOverrides = const {},
14
+ }) {
17
15
var modules = < ModuleConfig > [];
18
16
19
- var packageConfig = await findPackageConfig (directory);
20
- if (packageConfig != null ) {
21
- for (var packageInfo in packageConfig.packages) {
22
- try {
23
- var packageName = packageInfo.name;
24
- if (excludePackages.contains (packageName)) {
25
- continue ;
26
- }
27
-
28
- if (! packageName.endsWith (_serverSuffix) &&
29
- packageName != 'serverpod' ) {
30
- continue ;
31
- }
32
- var moduleName = moduleNameFromServerPackageName (packageName);
33
-
34
- var packageSrcRoot = packageInfo.packageUriRoot;
35
- var moduleProjectRoot = List <String >.from (packageSrcRoot.pathSegments)
36
- ..removeLast ()
37
- ..removeLast ();
38
- var generatorConfigSegments = path
39
- .joinAll ([...moduleProjectRoot, 'config' , 'generator.yaml' ]).split (
40
- path.separator);
41
-
42
- var generatorConfigUri = packageSrcRoot.replace (
43
- pathSegments: generatorConfigSegments,
44
- );
45
-
46
- var generatorConfigFile = File .fromUri (generatorConfigUri);
47
- if (! await generatorConfigFile.exists ()) {
48
- continue ;
49
- }
50
-
51
- var moduleProjectUri = packageSrcRoot.replace (
52
- pathSegments: moduleProjectRoot,
53
- );
54
-
55
- var migrationVersions = findAllMigrationVersionsSync (
56
- directory: Directory .fromUri (moduleProjectUri),
57
- moduleName: moduleName,
58
- );
59
-
60
- var moduleInfo = loadConfigFile (generatorConfigFile);
61
-
62
- var manualNickname = manualModules[moduleName];
63
- var nickname = manualNickname ?? moduleInfo['nickname' ] ?? moduleName;
64
-
65
- modules.add (
66
- ModuleConfig (
67
- type: GeneratorConfig .getPackageType (moduleInfo),
68
- name: moduleName,
69
- nickname: nickname,
70
- migrationVersions: migrationVersions,
71
- serverPackageDirectoryPathParts: moduleProjectRoot,
72
- ),
73
- );
74
- } catch (e) {
17
+ for (var packageInfo in packageConfig.packages) {
18
+ try {
19
+ var packageName = packageInfo.name;
20
+
21
+ if (! packageName.endsWith (_serverSuffix) && packageName != 'serverpod' ) {
75
22
continue ;
76
23
}
77
- }
78
24
79
- return modules;
80
- } else {
81
- log.error (
82
- 'Failed to read your server\' s package configuration. Have you run '
83
- '`dart pub get` in your server directory?' ,
84
- );
85
- return null ;
25
+ var packageSrcRoot = packageInfo.packageUriRoot;
26
+ var moduleProjectRoot = List <String >.from (packageSrcRoot.pathSegments)
27
+ ..removeLast ()
28
+ ..removeLast ();
29
+ var generatorConfigSegments = path
30
+ .joinAll ([...moduleProjectRoot, 'config' , 'generator.yaml' ]).split (
31
+ path.separator);
32
+
33
+ var generatorConfigUri = packageSrcRoot.replace (
34
+ pathSegments: generatorConfigSegments,
35
+ );
36
+
37
+ var generatorConfigFile = File .fromUri (generatorConfigUri);
38
+ if (! generatorConfigFile.existsSync ()) {
39
+ continue ;
40
+ }
41
+
42
+ var moduleProjectUri = packageSrcRoot.replace (
43
+ pathSegments: moduleProjectRoot,
44
+ );
45
+
46
+ var migrationVersions = findAllMigrationVersionsSync (
47
+ directory: Directory .fromUri (moduleProjectUri),
48
+ );
49
+
50
+ var moduleInfo = loadConfigFile (generatorConfigFile);
51
+
52
+ var moduleName = moduleNameFromServerPackageName (packageName);
53
+ var manualNickname = nickNameOverrides[moduleName];
54
+ var nickname = manualNickname ?? moduleInfo['nickname' ] ?? moduleName;
55
+
56
+ modules.add (
57
+ ModuleConfig (
58
+ type: GeneratorConfig .getPackageType (moduleInfo),
59
+ name: moduleName,
60
+ nickname: nickname,
61
+ migrationVersions: migrationVersions,
62
+ serverPackageDirectoryPathParts: moduleProjectRoot,
63
+ ),
64
+ );
65
+ } catch (e) {
66
+ continue ;
67
+ }
86
68
}
69
+
70
+ return modules;
87
71
}
88
72
89
73
Map <dynamic , dynamic > loadConfigFile (File file) {
@@ -93,7 +77,6 @@ Map<dynamic, dynamic> loadConfigFile(File file) {
93
77
94
78
List <String > findAllMigrationVersionsSync ({
95
79
required Directory directory,
96
- required String moduleName,
97
80
}) {
98
81
try {
99
82
var migrationRoot = MigrationConstants .migrationsBaseDirectory (directory);
0 commit comments