From cdb75cb7b3259aadc961415ca85ec4f0db0a4ad7 Mon Sep 17 00:00:00 2001 From: xuchang Date: Fri, 1 Dec 2023 02:18:44 -0800 Subject: [PATCH] =?UTF-8?q?IssueNo:=20#I8L5A8=201=E3=80=81=E8=A7=A3?= =?UTF-8?q?=E5=86=B3module=E6=A8=A1=E6=9D=BF=E5=BC=95=E5=85=A5plugin?= =?UTF-8?q?=E5=90=8E=EF=BC=8Cbuild=20har=E6=B2=A1=E6=9C=89=E4=BE=9D?= =?UTF-8?q?=E8=B5=96plugin;=202=E3=80=81flutter=20clean=E6=B8=85=E6=A5=9A.?= =?UTF-8?q?ohos=E7=9B=AE=E5=BD=95=20Sig:=20OpenHarmony-SIG/flutter-flutter?= =?UTF-8?q?=20Feature=20or=20Bugfix:=20Bugfix=20Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuchang --- packages/flutter_tools/lib/src/commands/clean.dart | 1 + packages/flutter_tools/lib/src/ohos/hvigor.dart | 4 ++++ .../lib/src/ohos/ohos_dependencies_manager.dart | 10 +++++----- .../lib/src/ohos/ohos_plugins_manager.dart | 2 +- packages/flutter_tools/lib/src/project.dart | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/clean.dart b/packages/flutter_tools/lib/src/commands/clean.dart index fbcae995c3..14f3be9032 100644 --- a/packages/flutter_tools/lib/src/commands/clean.dart +++ b/packages/flutter_tools/lib/src/commands/clean.dart @@ -68,6 +68,7 @@ class CleanCommand extends FlutterCommand { deleteFile(flutterProject.flutterPluginsFile); flutterProject.ohos.deleteOhModulesCache(); + deleteFile(flutterProject.ohos.ephemeralDirectory); return const FlutterCommandResult(ExitStatus.success); } diff --git a/packages/flutter_tools/lib/src/ohos/hvigor.dart b/packages/flutter_tools/lib/src/ohos/hvigor.dart index cb07a97e40..b4517053e8 100644 --- a/packages/flutter_tools/lib/src/ohos/hvigor.dart +++ b/packages/flutter_tools/lib/src/ohos/hvigor.dart @@ -727,6 +727,10 @@ class OhosHvigorBuilder implements OhosBuilder { throwToolExit('current project is not module or has not pub get'); } parseData(flutterProject, logger); + + /// 检查plugin的har构建 + await checkPluginsHarUpdate(flutterProject, buildInfo, ohosBuildData); + await flutterBuildPre(flutterProject, buildInfo, targetPlatform: targetPlatform, logger: logger); diff --git a/packages/flutter_tools/lib/src/ohos/ohos_dependencies_manager.dart b/packages/flutter_tools/lib/src/ohos/ohos_dependencies_manager.dart index 18e2ab25e4..c2f611d7a4 100644 --- a/packages/flutter_tools/lib/src/ohos/ohos_dependencies_manager.dart +++ b/packages/flutter_tools/lib/src/ohos/ohos_dependencies_manager.dart @@ -66,7 +66,7 @@ Future checkOhosPluginsDependencies(FlutterProject flutterProject) async { /// 查询所有的normal依赖 final List list = getOhosDependenciesListFromPackageFile( - flutterProject.ohos.mainModulePackageFile, + flutterProject.ohos.flutterModulePackageFile, dependenceType: DependenceType.normal); final List hasInstallPlugin = list.map((OhosDependence e) => e.baseModuleName).toList(); @@ -86,7 +86,7 @@ Future checkOhosPluginsDependencies(FlutterProject flutterProject) async { OhosDependence transform(OhosPlugin ohosPlugin, DependenceType dependenceType) { return OhosDependence('@ohos/${ohosPlugin.name}', ohosPlugin.name, - '../har/${ohosPlugin.name}.har', dependenceType); + './har/${ohosPlugin.name}.har', dependenceType); } /// 解析dependence列表,dependenceType为空时,返回normal和dev的合集。 @@ -126,16 +126,16 @@ List parseDependenciesFromType( Future addDependencies( FlutterProject flutterProject, List list) async { final dynamic config = - parsePakcageConfig(flutterProject.ohos.mainModulePackageFile); + parsePakcageConfig(flutterProject.ohos.flutterModulePackageFile); final Map dependencies = config['dependencies'] as Map; for (final OhosDependence dependence in list) { dependencies[dependence.moduleName] = - 'file:../har/${dependence.baseModuleName}.har'; + 'file:./har/${dependence.baseModuleName}.har'; } final String configNew = JSON5.stringify(config, space: 2); - flutterProject.ohos.mainModulePackageFile + flutterProject.ohos.flutterModulePackageFile .writeAsStringSync(configNew, flush: true); } diff --git a/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart b/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart index 486e010524..5006744f61 100644 --- a/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart +++ b/packages/flutter_tools/lib/src/ohos/ohos_plugins_manager.dart @@ -74,7 +74,7 @@ Future checkPluginsHarUpdate(FlutterProject flutterProject, for (final String path in harPaths) { final File originFile = globals.fs.file(path); final String descPath = globals.fs.path.join( - flutterProject.ohos.ohosRoot.childDirectory('har').path, + flutterProject.ohos.flutterModuleDirectory.childDirectory('har').path, originFile.basename); originFile.copySync(descPath); } diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart index 6f622c872a..7365689b58 100644 --- a/packages/flutter_tools/lib/src/project.dart +++ b/packages/flutter_tools/lib/src/project.dart @@ -954,8 +954,8 @@ class OhosProject extends FlutterProjectPlatform { .childDirectory('default') .childFile('entry-default-signed.hap'); - File get mainModulePackageFile => - mainModuleDirectory.childFile('oh-package.json5'); + File get flutterModulePackageFile => + flutterModuleDirectory.childFile('oh-package.json5'); File get localPropertiesFile => ohosRoot.childFile('local.properties'); -- Gitee