Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create build task to discover .editorconfig files #18208

Closed
jasonmalinowski opened this issue Mar 27, 2017 · 4 comments
Closed

Create build task to discover .editorconfig files #18208

jasonmalinowski opened this issue Mar 27, 2017 · 4 comments

Comments

@jasonmalinowski
Copy link
Member

jasonmalinowski commented Mar 27, 2017

In order for MSBuild determinism and dependency validation to work, we need to find the .editorconfig files before we invoke the CoreCompile target (since is doing up-to-date checking) and also before the Csc/Vbc task runs, because we want that to be reasonably deterministic. Therefore, we need a build task to take the compiler inputs and walk around the file system locating the .editorconfig files that will apply so they can be passed.

Open questions

  • Which binary does this build task live in? The task itself has no dependency on Roslyn at all, so it could live anywhere. Should it live in MSBuild core build tasks or in our CodeAnalysis build tasks? I'm leaning towards the latter, as it has some affinity with our scenarios and will likely rev with it. @jaredpar, thoughts? This reminds me of the new task that you're creating for the reference assembly copying. It's another ancillary task that supports Csc/Vbc but might be consumed in other places.
  • Where does the target that invokes the task live in? @jaredpar and @agocke do you have guidance/rules for what should and shouldn't go within our .targets that we bundle in the toolset packages vs. the core projects?
  • Is there any code this can share from the core .editorconfig support? @olegtk is there any source that might be usable here from your implementation? This is just file discovery, so we don't need the full logic.

Implementation notes

The order of the output must be stable to support determinism builds. The actual sort criteria won't matter, but must be stable.

@jasonmalinowski
Copy link
Member Author

#17121 is also filed to track some other questions about whether the compiler is currently deterministic in other situations like this.

@Pilchie
Copy link
Member

Pilchie commented May 26, 2017

Sadly, this editorconfig work isn't going to fit for 15.3, but we're going to continue targeting the next foundation update.

@Pilchie Pilchie modified the milestones: 15.6, 15.3 May 26, 2017
@dpoeschl dpoeschl modified the milestones: 15.5, 15.later Sep 21, 2017
@dpoeschl
Copy link
Contributor

Moving .editorconfig work to 15.later

@jasonmalinowski jasonmalinowski removed their assignment Sep 29, 2017
@jinujoseph jinujoseph modified the milestones: 15.6, Unknown Nov 1, 2017
@agocke
Copy link
Member

agocke commented Jun 14, 2018

Done in #27398

@agocke agocke closed this as completed Jun 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants