@@ -98,8 +98,7 @@ Iterable<Map<String, String>> makePackageConfigs(
98
98
.toUri (p.relative (packageDir, from: p.dirname (configFilePath)))
99
99
.toString (),
100
100
if (hasLibDirectory) 'packageUri' : 'lib/' ,
101
- if (version != null )
102
- 'languageVersion' : '${version .major }.${version .minor }'
101
+ 'languageVersion' : '${version .major }.${version .minor }'
103
102
};
104
103
}
105
104
}
@@ -153,18 +152,29 @@ Iterable<String> listSubdirectories(String packagesDir) sync* {
153
152
/// Returns `null` if there is no pubspec or no SDK constraint.
154
153
Version pubspecLanguageVersion (String packageDir) {
155
154
var pubspecFile = File (p.join (packageDir, 'pubspec.yaml' ));
155
+ var relative = p.relative (packageDir, from: repoRoot);
156
156
157
- if (! pubspecFile.existsSync ()) return null ;
157
+ if (! pubspecFile.existsSync ()) {
158
+ print ("Error: Missing pubspec for $relative ." );
159
+ exit (1 );
160
+ }
158
161
159
162
var pubspec =
160
163
loadYaml (pubspecFile.readAsStringSync ()) as Map <dynamic , dynamic >;
161
- if (! pubspec.containsKey ('environment' )) return null ;
164
+ if (! pubspec.containsKey ('environment' )) {
165
+ print ("Error: Pubspec for $relative has no SDK constraint." );
166
+ exit (1 );
167
+ }
162
168
163
169
var environment = pubspec['environment' ] as Map <dynamic , dynamic >;
164
- if (! environment.containsKey ('sdk' )) return null ;
170
+ if (! environment.containsKey ('sdk' )) {
171
+ print ("Error: Pubspec for $relative has no SDK constraint." );
172
+ exit (1 );
173
+ }
165
174
166
175
var sdkConstraint = VersionConstraint .parse (environment['sdk' ] as String );
167
176
if (sdkConstraint is VersionRange ) return sdkConstraint.min;
168
177
169
- return null ;
178
+ print ("Error: SDK constraint $relative is not a version range." );
179
+ exit (1 );
170
180
}
0 commit comments