Search Issue Tracker

Won't Fix

Won't Fix in 5.5.X, 5.6.X, 2017.1.X

Votes

0

Found in

2017.1.0p2

Issue ID

941999

Regression

No

[Perforce] Using Perforce with iOS plugins and BuildOptions.AcceptExternalModifications fails to build due to read-only files

Build Pipeline

-

Reproduction Steps:
1. Setup Perforce server
2. Commit User's project to a Perforce server
3. Check the project out of Perforce, so that everything is read-only on disk.
4. Check that the project files are read-only on disk (use HFS+ not FAT).
5. Select Tools | MyTest to build the project.
6. Select Tools | MyTest to build the project again.
7. Error is thrown to the console

Error:
UnauthorizedAccessException: Access to the path "/Users/iphonedev/Downloads/Fogbugz Cases/case_941999-p4test 2/Export/iOS/Libraries/Plugins/iOS/Fabric/Crashlytics-Wrapper/libCrashlyticsiOSWrapper.a" is denied.
System.IO.File.Delete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:179)
System.IO.Directory.RecursiveDelete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Directory.cs:195)
System.IO.Directory.RecursiveDelete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Directory.cs:190)
System.IO.Directory.RecursiveDelete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Directory.cs:190)
System.IO.Directory.RecursiveDelete (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Directory.cs:190)
System.IO.Directory.Delete (System.String path, Boolean recursive) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Directory.cs:205)
UnityEditorInternal.FileMirroring.DeleteFileOrDirectory (System.String path) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/FileMirroring.cs:94)
UnityEditorInternal.FileMirroring.MirrorFolder (System.String from, System.String to, System.Func`3 comparer) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/FileMirroring.cs:57)
UnityEditor.iOS.PostProcessiPhonePlayer.UpdateInstallLocation (UnityEditor.iOS.ProjectPaths paths, BuildSettings bs, UnityEditor.iOS.IncludedFileList includedFiles) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:1319)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.RuntimeClassRegistry usedClassRegistry) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:634)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:489)
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:34)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:186)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, BuildTarget, BuildOptions)

Expected behaviour: Successful build both times.
Actual result: Build fails and error is thrown.

Reproduced on versions: Unity 5.5.4p3, 5.6.3p1, 2017.1.0p5, 2017.2.0b8, 2017.3.0a5

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.