Skip to content

v4.4.29

Choose a tag to compare

@anionDev anionDev released this 18 Sep 16:51
· 47 commits to main since this release
v4.4.29
51f7c6a

Release notes

Changes

  • Fixed a remote build of a flutter-codeunit (android, ios, macos and windows) failing with Error when reading '/C:/tools/flutter/packages/flutter/lib/material.dart': No such file or directory for every import of a package when it was started on a machine whose flutter-package was already resolved. The archive which is sent to the task-runner contained the .dart_tool-folder of the package, whose package_config.json states the folder of every package of the app as an absolute path of the machine the build was started on, and the flutter-tool of the runner resolves the packages again only when that file is older than pubspec.yaml, so the runner compiled the app against folders which do not exist there. A build-step can now state folders whose content only applies to the machine the build was started on (folders_which_are_not_transferred of TFCPS_CodeUnitSpecific_Base.run_program_on_remote_runner respectively of TFCPS_RemoteBuild.run_program_on_runner), which are left out while the archive is packed; a flutter-codeunit states the .dart_tool-folder of its package this way. The folder is left out of the archive instead of being removed from the working-tree, because the working-tree belongs to the developer and a tool of theirs - for example the dart-extension of an ide, which resolves the packages whenever pubspec.yaml changes, which a build does - can generate it again at any moment, so removing it would only be a race against that tool
  • Fixed the line-separators of a codeunit-file being converted to the ones of the current operating-system when its version was updated. TFCPS_Tools_General.write_version_to_codeunit_file passed the file to the xml-serializer by its name, which opens it in text-mode, so a build on windows rewrote every line of the file with crlf while the trailing newline (which was appended in binary-mode) stayed lf, which left the file with mixed line-separators and made every build on windows produce a diff over the whole file. The file is written through a binary file-object now, so a codeunit-file is written with lf on every operating-system