From dd6dc5291ca3e8a43abaefe57ebe4a1c74293d15 Mon Sep 17 00:00:00 2001 From: Toki Date: Mon, 23 Sep 2024 21:25:38 +0900 Subject: [PATCH] remote security --- lib/oto/commands/build/build_flutter.dart | 3 +++ lib/oto/commands/build/build_ios.dart | 3 +++ lib/oto/commands/build/build_security.dart | 15 -------------- lib/oto/commands/command.dart | 2 -- lib/oto/data/command_data.dart | 15 +++----------- lib/oto/data/command_data.g.dart | 24 ++++------------------ 6 files changed, 13 insertions(+), 49 deletions(-) delete mode 100644 lib/oto/commands/build/build_security.dart diff --git a/lib/oto/commands/build/build_flutter.dart b/lib/oto/commands/build/build_flutter.dart index d94c816..3a6bdce 100644 --- a/lib/oto/commands/build/build_flutter.dart +++ b/lib/oto/commands/build/build_flutter.dart @@ -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); } diff --git a/lib/oto/commands/build/build_ios.dart b/lib/oto/commands/build/build_ios.dart index 9fe6cce..8fd0972 100644 --- a/lib/oto/commands/build/build_ios.dart +++ b/lib/oto/commands/build/build_ios.dart @@ -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()) { diff --git a/lib/oto/commands/build/build_security.dart b/lib/oto/commands/build/build_security.dart deleted file mode 100644 index d7fb616..0000000 --- a/lib/oto/commands/build/build_security.dart +++ /dev/null @@ -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); - } -} diff --git a/lib/oto/commands/command.dart b/lib/oto/commands/command.dart index c1aa9af..ed51be3 100644 --- a/lib/oto/commands/command.dart +++ b/lib/oto/commands/command.dart @@ -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(), diff --git a/lib/oto/data/command_data.dart b/lib/oto/data/command_data.dart index cdd69f4..b52ca07 100644 --- a/lib/oto/data/command_data.dart +++ b/lib/oto/data/command_data.dart @@ -116,7 +116,7 @@ class DataAppDataCreator extends DataParam { Map 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 toJson() => _$DataBuildDotNetToJson(this); } -@JsonSerializable() -class DataBuildSecurity extends DataParam { - DataBuildSecurity(); - - late String macPassword; - - factory DataBuildSecurity.fromJson(Map json) => - _$DataBuildSecurityFromJson(json); - Map 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; diff --git a/lib/oto/data/command_data.g.dart b/lib/oto/data/command_data.g.dart index 2382678..5e3a792 100644 --- a/lib/oto/data/command_data.g.dart +++ b/lib/oto/data/command_data.g.dart @@ -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 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 _$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 _$DataBuildDotNetToJson(DataBuildDotNet instance) => 'projectFile': instance.projectFile, }; -DataBuildSecurity _$DataBuildSecurityFromJson(Map json) => - DataBuildSecurity() - ..workspace = json['workspace'] as String? - ..passExitCodes = (json['passExitCodes'] as List?) - ?.map((e) => (e as num).toInt()) - .toList() - ..setResult = json['setResult'] as String? - ..setExitCode = json['setExitCode'] as String? - ..macPassword = json['macPassword'] as String; - -Map _$DataBuildSecurityToJson(DataBuildSecurity instance) => - { - 'workspace': instance.workspace, - 'passExitCodes': instance.passExitCodes, - 'setResult': instance.setResult, - 'setExitCode': instance.setExitCode, - 'macPassword': instance.macPassword, - }; - DataBuildiOS _$DataBuildiOSFromJson(Map json) => DataBuildiOS() ..workspace = json['workspace'] as String? ..passExitCodes = (json['passExitCodes'] as List?) @@ -349,6 +331,7 @@ DataBuildiOS _$DataBuildiOSFromJson(Map 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 _$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,