Comments (10)
How would one achieve this easily?
I think we just delete lines 426-433. projectFiles
is used to generate projectInfos
, and projectInfos
is already filtering out test files using this property
We'd need to test but scanning the code, just delete 426-433.
from fsharp.formatting.
Hi there, thanks for bringing this up.
What would you suggest here? Something more along the lines of EndsWith
?
from fsharp.formatting.
Another option is don't filter out test projects if they're specified by the --projects
option. That would allow fsdocs build --projects "fsdocstester/src/Project1.fsproj"
I believe we'd get that functionality if we moved the "test" project filtering so that it only applies inside match case on line 392.
from fsharp.formatting.
Good suggestion!
from fsharp.formatting.
Hi there, thanks for bringing this up. What would you suggest here? Something more along the lines of
EndsWith
?
I'm guessing this code is trying to avoid cracking as we could look post crack at either IsTestProject
or if Microsoft.NET.Test.Sdk
is referenced.
from fsharp.formatting.
Honestly, just lean into cracking :) If you use something like buildalyzer to 'drive' the build out of proc it should be relatively stable across MSBuild versions, and this property only relies on evaluation not execution so changes in target ordering across SDK versions shouldn't impact you.
From a performance perspective, you can toggle MSBuild Server on (or wait for it to be toggled on by default) and a lot of the process-spawning overhead should just disappear.
from fsharp.formatting.
This code might actually pre-date Microsoft.NET.Test.Sdk
😅.
So if there is a better way to detect this I'm all ears.
from fsharp.formatting.
<IsTestProject>true</IsTestProject>
is the canonical way to detect this. IMO we should use it. The Microsoft.NET.Test.Sdk contributes setting this property by default, but it's also possible for projects to add it manually.
from fsharp.formatting.
That sounds good to me. How would one achieve this easily? Loading the fsproj
file, running some target and reading the property? Something along those lines?
from fsharp.formatting.
You shouldn't need to run any targets - the act of loading the project file is evaluation, and after evaluation you have access to all properties that are statically-known (including those delivered by SDKs). Evaluation is generally quite fast, it's running design-time-builds (like editors need to to get compiler options) that takes some time.
from fsharp.formatting.
Related Issues (20)
- Get CommonMark 0.30 tests to pass for "Tabs" section
- Get CommonMark 0.30 tests to pass for "Fenced code blocks" section
- Dockerfile fails to build with "failed to solve: process /bin/bash ..." HOT 2
- discussion: multi target F# libraries (IL, WebSharper, Fable, etc.)
- discussion: offering back links form API pages to the other documentation pages?
- Need to update repo's nuget API key HOT 2
- Package references cannot be resolved when trying to build API documentation programmatically HOT 4
- Modernize the default theme HOT 37
- Some displayed examples may have broken indendation HOT 11
- Add how-to for the most typical scenario HOT 2
- List users of this tool HOT 1
- CSharp library not used for generating API docs HOT 7
- Function signature tooltips include attributes for arguments that make the tooltip unreadable HOT 5
- Directory.Build.props is ignored if there are no projects or solutions HOT 3
- SEO-optimization for new theme HOT 4
- Suggestion: init command
- Dark mode borders: too much contrast?
- Namespace description overflows content box
- Output font size on mobile safari is too big HOT 6
- Using testcontainers in a fsx script gives wrong output HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fsharp.formatting.