Skip to content

Safer check for source code options in Project Cracker#758

Merged
dsyme merged 3 commits intofsharp:masterfrom
cgravill:master
Apr 19, 2017
Merged

Safer check for source code options in Project Cracker#758
dsyme merged 3 commits intofsharp:masterfrom
cgravill:master

Conversation

@cgravill
Copy link
Copy Markdown
Contributor

The partitioning is looking for ".fs" as an extension but this can throw exceptions. This can happen on settings that aren't paths and therefore may contain invalid path characters e.g. --ws:"Bundle" (a WebSharper 4.x setting).

Current test fails on for example, --ws:"Bundle" (a WebSharper 4.x
setting)

let sourceFiles, otherOptions =
opts.Options |> Array.partition (fun x -> Path.GetExtension(x).ToLower() = ".fs")
opts.Options |> Array.partition (fun x -> x.IndexOfAny(Path.GetInvalidPathChars()) = -1 && Path.GetExtension(x).ToLower() = ".fs")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed this with a direct edit to the PR

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually what you had was right - this code is not part of the compiler DLL itself

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that looks cleaner but that part of the code base seems quite independent. Thanks for the fast review.

@dsyme dsyme merged commit aba316b into fsharp:master Apr 19, 2017
cgravill added a commit to cgravill/TypesTSFS that referenced this pull request May 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants