diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..2d3f05e --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Read(//config/workspace/agentic-framework/**)", + "Bash(bash agent-ops/bin/sync.sh agentic-framework)", + "Bash(git commit -m ' *)" + ] + } +} diff --git a/lib/framework/core/app_data_manager.dart b/lib/framework/core/app_data_manager.dart index 8ab9b98..1b3e32c 100644 --- a/lib/framework/core/app_data_manager.dart +++ b/lib/framework/core/app_data_manager.dart @@ -1,10 +1,9 @@ -import 'dart:async'; import 'dart:convert'; import 'dart:io'; +import 'package:oto_cli/framework/log/log.dart'; import 'package:oto_cli/framework/platform/process.dart'; import 'package:oto_cli/framework/model/app_data.dart'; -import 'package:oto_cli/framework/utils/system_util.dart'; enum SCMType { Svn, Git } @@ -22,8 +21,7 @@ class AppDataManager { _scm = scm; _workspace = workspace; _relativeAssetPath = relativeAssetPath; - var c = Completer(); - var appData = AppData(); + final appData = AppData(); appData.name = name; appData.gitCount = await gitCount(); appData.version = await getVersion(); @@ -32,95 +30,76 @@ class AppDataManager { appData.gitHash = await getHash(); } await createFile(jsonEncode(appData.toJson())); - c.complete(appData); - return c.future; + return appData; } Future gitCount() async { - var shell = StringBuffer(); - shell.writeln('git rev-list --all HEAD --all --count'); - var process = await ProcessExecutor.start(shell, workspace: _workspace); + final shell = StringBuffer()..writeln('git rev-list --all HEAD --all --count'); + final process = await ProcessExecutor.start(shell, workspace: _workspace); await process.waitForExit(); - return dataFutrue(int.parse(process.stdoutArr.last)); + return int.parse(process.stdoutArr.last); } Future getVersion() async { - var c = Completer(); var number = 0; - var shell = StringBuffer(); - switch (_scm) { - case SCMType.Svn: - break; - case SCMType.Git: - shell.writeln('git rev-list --all HEAD --all --count'); - var process = await ProcessExecutor.start(shell, workspace: _workspace); - await process.waitForExit(); - number = int.parse(process.stdoutArr.last); - break; + if (_scm == SCMType.Git) { + final shell = StringBuffer()..writeln('git rev-list --all HEAD --all --count'); + final process = await ProcessExecutor.start(shell, workspace: _workspace); + await process.waitForExit(); + number = int.parse(process.stdoutArr.last); } + final version = numberToVersion(number); + log('#### Version: $version'); + return version; + } - var version = numberToVersion(number); - print('#### Version: $version'); - c.complete(version); - return c.future; + Future getHash() async { + final shell = StringBuffer()..writeln('git rev-parse HEAD'); + final process = await ProcessExecutor.start(shell, workspace: _workspace); + await process.waitForExit(); + final hash = process.stdoutArr.last; + log('#### Git Hash: $hash'); + return hash; + } + + String getBuildTime() { + final date = DateTime.now().toString(); + final result = date.substring(0, date.lastIndexOf('.')); + log('#### Build Date: $result'); + return result; + } + + Future createFile(String json) async { + final dir = Directory('$_workspace/$_relativeAssetPath'); + if (!dir.existsSync()) dir.createSync(recursive: true); + await File('$_workspace/$_relativeAssetPath/app_data.json').writeAsString(json); } String numberToVersion(int number, {int masterVersion = 0}) { - var arr = number.toString().split(''); - var length = arr.length; + final arr = number.toString().split(''); + final length = arr.length; var ver = ''; - var versionList = []; + final versionList = []; for (int i = 0; i < length; ++i) { if (i != 0 && i % 3 == 0) { versionList.add(int.parse(ver)); ver = ''; } - ver = arr[length - (i + 1)].toString() + ver; + ver = arr[length - (i + 1)] + ver; } if (ver != '') versionList.add(int.parse(ver)); - ver = ''; - length = 3; - var list = ['0', '0', '0']; - for (int i = 0; i < length; ++i) { - var versionValue = versionList.length <= i ? 0 : versionList[i]; - var versionStr = i == 2 + final list = ['0', '0', '0']; + for (int i = 0; i < 3; ++i) { + final versionValue = versionList.length <= i ? 0 : versionList[i]; + list[2 - i] = i == 2 ? (versionValue + masterVersion).toString() : versionValue.toString(); - list[length - (i + 1)] = versionStr; } return list.join('.'); } double versionToNumber(String version) { - var value = version.replaceAll('.', ''); - return double.parse(value); - } - - Future getHash() async { - var shell = StringBuffer(); - shell.writeln('git rev-parse HEAD'); - var process = await ProcessExecutor.start(shell, workspace: _workspace); - await process.waitForExit(); - var hash = process.stdoutArr.last; - print('#### Git Hash: $hash'); - return dataFutrue(hash); - } - - String getBuildTime() { - var date = DateTime.now().toString(); - date = date.substring(0, date.lastIndexOf('.')); - print('#### Build Date: $date'); - return date; - } - - Future createFile(String json) async { - var c = Completer(); - var dir = Directory('$_workspace/$_relativeAssetPath'); - if (!dir.existsSync()) dir.createSync(recursive: true); - var file = File('$_workspace/$_relativeAssetPath/app_data.json'); - await file.writeAsString(json); - c.complete(); - return c.future; + return double.parse(version.replaceAll('.', '')); } }