update app_data_manager and add claude config

This commit is contained in:
toki 2026-04-19 14:24:24 +09:00
parent be1b139c25
commit 33bd6ee57f
2 changed files with 53 additions and 65 deletions

9
.claude/settings.json Normal file
View file

@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"Read(//config/workspace/agentic-framework/**)",
"Bash(bash agent-ops/bin/sync.sh agentic-framework)",
"Bash(git commit -m ' *)"
]
}
}

View file

@ -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<AppData>();
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<int> 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<String> getVersion() async {
var c = Completer<String>();
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<String> 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<void> 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 = <int>[];
final versionList = <int>[];
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 = <String>['0', '0', '0'];
for (int i = 0; i < length; ++i) {
var versionValue = versionList.length <= i ? 0 : versionList[i];
var versionStr = i == 2
final list = <String>['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<String> 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('.', ''));
}
}