remote security

This commit is contained in:
Toki 2024-09-23 21:25:38 +09:00
parent 70ef783018
commit dd6dc5291c
6 changed files with 13 additions and 49 deletions

View file

@ -15,6 +15,9 @@ class BuildFlutter extends BuildDart {
var platform =
data.platform.toString().replaceAll('BuildPlatform.', '').toLowerCase();
var additional = data.additional == null ? '' : ' ${data.additional!}';
if (data.macPassword != null) {
shell.write(' && security unlock-keychain -p${data.macPassword}');
}
shell.write(' && flutter build $platform$additional');
return dataFutrue(shell);
}

View file

@ -56,6 +56,9 @@ class BuildiOS extends Command {
}
var shell = StringBuffer();
if (data.macPassword != null) {
shell.write(' && security unlock-keychain -p${data.macPassword}');
}
shell.write(' && cd $xcodeProjectParentPath');
shell.write(' && export LANG=en_US.UTF-8');
if (podFile.existsSync()) {

View file

@ -1,15 +0,0 @@
import 'dart:async';
import 'package:dart_framework/utils/system_util.dart';
import 'package:oto_cli/oto/commands/command.dart';
import 'package:oto_cli/oto/data/command_data.dart';
class BuildSecurity extends Command {
@override
Future execute(DataCommand command) async {
var data = DataBuildSecurity.fromJson(command.param);
var shell = StringBuffer();
shell.write('security unlock-keychain -p${data.macPassword}');
return dataFutrue(shell);
}
}

View file

@ -53,7 +53,6 @@ enum CommandType {
BuildDotNet,
BuildiOS,
BuildMSBuild,
BuildSecurity,
CodeSign,
CodeSignVerify,
ProductBuild,
@ -111,7 +110,6 @@ abstract class Command {
CommandType.BuildDotNet: () => BuildDotNet(),
CommandType.BuildiOS: () => BuildiOS(),
CommandType.BuildMSBuild: () => BuildMSBuild(),
CommandType.BuildSecurity: () => BuildSecurity(),
CommandType.CodeSign: () => CodeSign(),
CommandType.CodeSignVerify: () => CodeSignVerify(),
CommandType.ProductBuild: () => ProductBuild(),

View file

@ -116,7 +116,7 @@ class DataAppDataCreator extends DataParam {
Map<String, dynamic> toJson() => _$DataAppDataCreatorToJson(this);
}
//BuildDart
//BuildMSBuild
@JsonSerializable()
class DataBuildMSBuild extends DataParam {
DataBuildMSBuild();
@ -147,6 +147,7 @@ class DataBuildDart extends DataParam {
class DataBuildFlutter extends DataBuildDart {
DataBuildFlutter();
late String? macPassword;
late String platform;
late String? additional;
@ -182,17 +183,6 @@ class DataBuildDotNet extends DataParam {
Map<String, dynamic> toJson() => _$DataBuildDotNetToJson(this);
}
@JsonSerializable()
class DataBuildSecurity extends DataParam {
DataBuildSecurity();
late String macPassword;
factory DataBuildSecurity.fromJson(Map<String, dynamic> json) =>
_$DataBuildSecurityFromJson(json);
Map<String, dynamic> toJson() => _$DataBuildSecurityToJson(this);
}
//BuildiOS
@JsonSerializable()
class DataBuildiOS extends DataParam {
@ -200,6 +190,7 @@ class DataBuildiOS extends DataParam {
late String scheme;
late BuildPlatform? os;
late String? macPassword;
late String? xcodeProjectFilePath;
late String? xcworkspaceFilePath;
late String? derivedDataPath;

View file

@ -44,7 +44,6 @@ const _$CommandTypeEnumMap = {
CommandType.BuildDotNet: 'BuildDotNet',
CommandType.BuildiOS: 'BuildiOS',
CommandType.BuildMSBuild: 'BuildMSBuild',
CommandType.BuildSecurity: 'BuildSecurity',
CommandType.CodeSign: 'CodeSign',
CommandType.CodeSignVerify: 'CodeSignVerify',
CommandType.ProductBuild: 'ProductBuild',
@ -263,6 +262,7 @@ DataBuildFlutter _$DataBuildFlutterFromJson(Map<String, dynamic> json) =>
..setResult = json['setResult'] as String?
..setExitCode = json['setExitCode'] as String?
..executeBuildRunner = json['executeBuildRunner'] as bool?
..macPassword = json['macPassword'] as String?
..platform = json['platform'] as String
..additional = json['additional'] as String?;
@ -273,6 +273,7 @@ Map<String, dynamic> _$DataBuildFlutterToJson(DataBuildFlutter instance) =>
'setResult': instance.setResult,
'setExitCode': instance.setExitCode,
'executeBuildRunner': instance.executeBuildRunner,
'macPassword': instance.macPassword,
'platform': instance.platform,
'additional': instance.additional,
};
@ -321,25 +322,6 @@ Map<String, dynamic> _$DataBuildDotNetToJson(DataBuildDotNet instance) =>
'projectFile': instance.projectFile,
};
DataBuildSecurity _$DataBuildSecurityFromJson(Map<String, dynamic> json) =>
DataBuildSecurity()
..workspace = json['workspace'] as String?
..passExitCodes = (json['passExitCodes'] as List<dynamic>?)
?.map((e) => (e as num).toInt())
.toList()
..setResult = json['setResult'] as String?
..setExitCode = json['setExitCode'] as String?
..macPassword = json['macPassword'] as String;
Map<String, dynamic> _$DataBuildSecurityToJson(DataBuildSecurity instance) =>
<String, dynamic>{
'workspace': instance.workspace,
'passExitCodes': instance.passExitCodes,
'setResult': instance.setResult,
'setExitCode': instance.setExitCode,
'macPassword': instance.macPassword,
};
DataBuildiOS _$DataBuildiOSFromJson(Map<String, dynamic> json) => DataBuildiOS()
..workspace = json['workspace'] as String?
..passExitCodes = (json['passExitCodes'] as List<dynamic>?)
@ -349,6 +331,7 @@ DataBuildiOS _$DataBuildiOSFromJson(Map<String, dynamic> json) => DataBuildiOS()
..setExitCode = json['setExitCode'] as String?
..scheme = json['scheme'] as String
..os = $enumDecodeNullable(_$BuildPlatformEnumMap, json['os'])
..macPassword = json['macPassword'] as String?
..xcodeProjectFilePath = json['xcodeProjectFilePath'] as String?
..xcworkspaceFilePath = json['xcworkspaceFilePath'] as String?
..derivedDataPath = json['derivedDataPath'] as String?
@ -366,6 +349,7 @@ Map<String, dynamic> _$DataBuildiOSToJson(DataBuildiOS instance) =>
'setExitCode': instance.setExitCode,
'scheme': instance.scheme,
'os': _$BuildPlatformEnumMap[instance.os],
'macPassword': instance.macPassword,
'xcodeProjectFilePath': instance.xcodeProjectFilePath,
'xcworkspaceFilePath': instance.xcworkspaceFilePath,
'derivedDataPath': instance.derivedDataPath,