OmniSharp / csharp-language-server-protocol

Language Server Protocol in C#
MIT License
514 stars 103 forks source link

Build process fails in linux due to incorrect filename #469

Open eruizc-dev opened 3 years ago

eruizc-dev commented 3 years ago

Issue

Build fails due to a file not being found

╬══════════════════
║ Update Readme
╬═════════

FileNotFoundException: Could not find file '/home/eruizc/Repos/csharp-language-server-protocol/Readme.md'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at System.IO.File.ReadAllText(String path)
   at Rocket.Surgery.Nuke.EnsureReadmeIsUpdatedAttribute.OnAfterLogo(NukeBuild build, IReadOnlyCollection`1 executableTargets, IReadOnlyCollection`1 executionPlan) in /_/src/Nuke/EnsureReadmeIsUpdatedAttribute.cs:line 34
   at Nuke.Common.Utilities.Collections.EnumerableExtensions.ForEach[T](IEnumerable`1 enumerable, Action`1 action)
   at Nuke.Common.Execution.BuildManager.<>c__DisplayClass5_0`1.<Execute>g__ExecuteExtension|1[TExtension](Expression`1 action)
   at Nuke.Common.Execution.BuildManager.Execute[T](Expression`1[] defaultTargetExpressions)

Repeating warnings and errors:
FileNotFoundException: Could not find file '/home/eruizc/Repos/csharp-language-server-protocol/Readme.md'.

Repro steps

  1. Clone the repo git clone git@github.com:OmniSharp/csharp-language-server-protocol.git
  2. Set current dir cd csharp-language-server-protocol
  3. Make build script executable sudo chmod +x ./build.sh
  4. Attempt to run with sh sh -c ./build.sh
  5. Fails

Workaround

It tries to update the readme but doesn't found it (it searches for Readme.md and the file is called README.md, so we rename it) mv README.md Readme.md

Additional info:

I guess this has something to do with #226 but the error is different so I decided to create a new issue.

david-driscoll commented 3 years ago

Thanks @eruizc-dev can you check and verify the change works with this update? https://github.com/OmniSharp/csharp-language-server-protocol/pull/474

eruizc-dev commented 3 years ago

@david-driscoll I checked and it still fails

david-driscoll commented 3 years ago

I will investigate a little more.