New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate create command to null safety #104484
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
final bool metadataExists = projectDir.absolute.childFile('.metadata').existsSync(); | ||
if (argResults['template'] != null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this wasn't safe... #101595
final String organization = templateContext['organization'] as String; | ||
final String androidPluginIdentifier = templateContext['androidIdentifier'] as String; | ||
final String? projectName = templateContext['projectName'] as String?; | ||
final String organization = templateContext['organization']! as String; // Required to make the context. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is icky but that's what we get serializing and deserializing into maps.
final String organization = templateContext['organization'] as String; | ||
final String androidPluginIdentifier = templateContext['androidIdentifier'] as String; | ||
final String? projectName = templateContext['projectName'] as String?; | ||
final String organization = templateContext['organization']! as String; // Required to make the context. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same.
@@ -255,6 +248,9 @@ abstract class CreateBase extends FlutterCommand { | |||
'The --org command line argument must be specified to recreate project.'); | |||
} | |||
} | |||
if (organization == null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't really happen, the org
option has a default.
test-exempt: null safety migration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Part of #71511
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.