Unverified Commit 326ed7d7 authored by Alex's avatar Alex Committed by GitHub

[conductor] add global constants and startContext checkoutpath getter (#93877)

parent 57d1d7be
...@@ -23,6 +23,8 @@ const String kReleaseDocumentationUrl = 'https://github.com/flutter/flutter/wiki ...@@ -23,6 +23,8 @@ const String kReleaseDocumentationUrl = 'https://github.com/flutter/flutter/wiki
const String kLuciPackagingConsoleLink = 'https://ci.chromium.org/p/flutter/g/packaging/console'; const String kLuciPackagingConsoleLink = 'https://ci.chromium.org/p/flutter/g/packaging/console';
const String kWebsiteReleasesUrl = 'https://docs.flutter.dev/development/tools/sdk/releases';
final RegExp releaseCandidateBranchRegex = RegExp( final RegExp releaseCandidateBranchRegex = RegExp(
r'flutter-(\d+)\.(\d+)-candidate\.(\d+)', r'flutter-(\d+)\.(\d+)-candidate\.(\d+)',
); );
......
...@@ -53,8 +53,7 @@ class StartCommand extends Command<void> { ...@@ -53,8 +53,7 @@ class StartCommand extends Command<void> {
argParser.addOption( argParser.addOption(
kFrameworkUpstreamOption, kFrameworkUpstreamOption,
defaultsTo: FrameworkRepository.defaultUpstream, defaultsTo: FrameworkRepository.defaultUpstream,
help: help: 'Configurable Framework repo upstream remote. Primarily for testing.',
'Configurable Framework repo upstream remote. Primarily for testing.',
hide: true, hide: true,
); );
argParser.addOption( argParser.addOption(
...@@ -233,12 +232,34 @@ class StartContext extends Context { ...@@ -233,12 +232,34 @@ class StartContext extends Context {
required Checkouts checkouts, required Checkouts checkouts,
required File stateFile, required File stateFile,
this.force = false, this.force = false,
}) : }) : git = Git(processManager),
git = Git(processManager), engine = EngineRepository(
super( checkouts,
checkouts: checkouts, initialRef: candidateBranch,
stateFile: stateFile, upstreamRemote: Remote(
); name: RemoteName.upstream,
url: engineUpstream,
),
mirrorRemote: Remote(
name: RemoteName.mirror,
url: engineMirror,
),
), framework = FrameworkRepository(
checkouts,
initialRef: candidateBranch,
upstreamRemote: Remote(
name: RemoteName.upstream,
url: frameworkUpstream,
),
mirrorRemote: Remote(
name: RemoteName.mirror,
url: frameworkMirror,
),
),
super(
checkouts: checkouts,
stateFile: stateFile,
);
final String candidateBranch; final String candidateBranch;
final String? dartRevision; final String? dartRevision;
...@@ -257,10 +278,12 @@ class StartContext extends Context { ...@@ -257,10 +278,12 @@ class StartContext extends Context {
/// If validations should be overridden. /// If validations should be overridden.
final bool force; final bool force;
final EngineRepository engine;
final FrameworkRepository framework;
Future<void> run() async { Future<void> run() async {
if (stateFile.existsSync()) { if (stateFile.existsSync()) {
throw ConductorException( throw ConductorException('Error! A persistent state file already found at ${stateFile.path}.\n\n'
'Error! A persistent state file already found at ${stateFile.path}.\n\n'
'Run `conductor clean` to cancel a previous release.'); 'Run `conductor clean` to cancel a previous release.');
} }
if (!releaseCandidateBranchRegex.hasMatch(candidateBranch)) { if (!releaseCandidateBranchRegex.hasMatch(candidateBranch)) {
...@@ -278,19 +301,6 @@ class StartContext extends Context { ...@@ -278,19 +301,6 @@ class StartContext extends Context {
state.lastUpdatedDate = unixDate; state.lastUpdatedDate = unixDate;
state.incrementLevel = incrementLetter; state.incrementLevel = incrementLetter;
final EngineRepository engine = EngineRepository(
checkouts,
initialRef: candidateBranch,
upstreamRemote: Remote(
name: RemoteName.upstream,
url: engineUpstream,
),
mirrorRemote: Remote(
name: RemoteName.mirror,
url: engineMirror,
),
);
// Create a new branch so that we don't accidentally push to upstream // Create a new branch so that we don't accidentally push to upstream
// candidateBranch. // candidateBranch.
final String workingBranchName = 'cherrypicks-$candidateBranch'; final String workingBranchName = 'cherrypicks-$candidateBranch';
...@@ -335,18 +345,7 @@ class StartContext extends Context { ...@@ -335,18 +345,7 @@ class StartContext extends Context {
upstream: pb.Remote(name: 'upstream', url: engine.upstreamRemote.url), upstream: pb.Remote(name: 'upstream', url: engine.upstreamRemote.url),
mirror: pb.Remote(name: 'mirror', url: engine.mirrorRemote!.url), mirror: pb.Remote(name: 'mirror', url: engine.mirrorRemote!.url),
); );
final FrameworkRepository framework = FrameworkRepository(
checkouts,
initialRef: candidateBranch,
upstreamRemote: Remote(
name: RemoteName.upstream,
url: frameworkUpstream,
),
mirrorRemote: Remote(
name: RemoteName.mirror,
url: frameworkMirror,
),
);
await framework.newBranch(workingBranchName); await framework.newBranch(workingBranchName);
final List<pb.Cherrypick> frameworkCherrypicks = (await _sortCherrypicks( final List<pb.Cherrypick> frameworkCherrypicks = (await _sortCherrypicks(
repository: framework, repository: framework,
...@@ -374,8 +373,9 @@ class StartContext extends Context { ...@@ -374,8 +373,9 @@ class StartContext extends Context {
// Get framework version // Get framework version
final Version lastVersion = Version.fromString(await framework.getFullTag( final Version lastVersion = Version.fromString(await framework.getFullTag(
framework.upstreamRemote.name, candidateBranch, framework.upstreamRemote.name,
exact: false, candidateBranch,
exact: false,
)); ));
// [force] means we know this would fail but need to publish anyway // [force] means we know this would fail but need to publish anyway
if (!force) { if (!force) {
...@@ -421,10 +421,10 @@ class StartContext extends Context { ...@@ -421,10 +421,10 @@ class StartContext extends Context {
} }
// This is the first stable release, so hardcode the z as 0 // This is the first stable release, so hardcode the z as 0
return Version( return Version(
x: lastVersion.x, x: lastVersion.x,
y: lastVersion.y, y: lastVersion.y,
z: 0, z: 0,
type: VersionType.stable, type: VersionType.stable,
); );
} }
return Version.increment(lastVersion, incrementLetter); return Version.increment(lastVersion, incrementLetter);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment