diff --git a/assets/pipeline-test2.yaml b/assets/pipeline-test2.yaml index 0afa70f..16bd843 100644 --- a/assets/pipeline-test2.yaml +++ b/assets/pipeline-test2.yaml @@ -41,7 +41,7 @@ commands: id: branch param: path: /Users/toki/works/lgup-mcs-aos - startDay: 20 + startDay: 60 setBranches: <@property.value> ### Modify param diff --git a/lib/oto/commands/git/git.dart b/lib/oto/commands/git/git.dart index 0930fa8..ada0311 100644 --- a/lib/oto/commands/git/git.dart +++ b/lib/oto/commands/git/git.dart @@ -241,21 +241,34 @@ class GitBranch extends Command { var content = file.readAsStringSync(); final List decoded = jsonDecode(content); final branches = decoded.map((e) => BranchInfo.fromJson(e)).toList(); - var list = []; + var features = []; + var releases = []; var fixedBranch = ['main', 'master', 'develop']; - var startDate = - DateTime.now().subtract(Duration(days: data.startDay!)).millisecond; + var existBranch = []; + var excludeBranch = ['origin']; + var startDate = DateTime.now().subtract(Duration(days: data.startDay!)); for (var branch in branches) { var branchName = branch.ref!.replaceFirst('origin/', ''); - if (DateTime.parse(branch.date!).millisecond > startDate) { - list.add(branchName); - } else { + if (!excludeBranch.contains(branchName)) { if (fixedBranch.contains(branchName)) { - list.add(branchName); + existBranch.add(branchName); + } else if (DateTime.parse(branch.date!) + .toUtc() + .difference(startDate) + .inSeconds > + 0) { + if (branchName.startsWith('release')) { + releases.add(branchName); + } else { + features.add(branchName); + } } } } - setProperty(data.setBranches!, list, showPrint: true); + existBranch.sort(); + existBranch.addAll(releases); + existBranch.addAll(features); + setProperty(data.setBranches!, existBranch, showPrint: true); return await completeProcess(process, command); } diff --git a/pubspec.yaml b/pubspec.yaml index 082232b..40f8e3d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -23,7 +23,7 @@ dependencies: xml: ^6.6.1 dev_dependencies: - lints: ^5.0.0 + lints: ^6.0.0 test: ^1.24.9 build_runner: ^2.1.4 json_serializable: ^6.0.1