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

[Feature] Ability to parse build.cake files to auto create task definitions #11565

Closed
gep13 opened this issue Sep 6, 2016 · 28 comments
Closed
Labels
feature-request Request for new features or functionality tasks Task system issues

Comments

@gep13
Copy link
Contributor

gep13 commented Sep 6, 2016

I asked the question on Twitter:

https://twitter.com/gep13/status/772878923243876352

And @egamma replied to say that there wasn't currently any extension points to allow extensions to provide additional automatic task definitions. Instead, that the only point where this was possible was contained within this file:

https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/tasks/common/taskTemplates.ts

So, my question is, would a PR to extend this file to recognise build.cake files be accepted if I were to create one? Also, I am assuming that I would need to extend the codebase with the ability to parse the build.cake file, but after a quick glance at the code, I couldn't see where that happened, could someone point me in the right direction? Thanks!

@dbaeumer dbaeumer added tasks Task system issues feature-request Request for new features or functionality labels Sep 6, 2016
@dbaeumer
Copy link
Member

dbaeumer commented Sep 6, 2016

@gep13 Instead of providing a PR to add this to taskTemplates.ts I would suggest to work on a PR to make this an extension point. Simply adding this to the core will not scale.

@gep13
Copy link
Contributor Author

gep13 commented Sep 6, 2016

@dbaeumer agreed. My familiarity with the score base isn't that extensive though. Could you provide some pointers on where that work would be required, and suggestions on how to achieve it? Thanks!

@egamma
Copy link
Member

egamma commented Sep 6, 2016

Fully agree with @dbaeumer.

Actually there are several feature similar feature requests for this: #966, #9309.

@gep13
Copy link
Contributor Author

gep13 commented Sep 6, 2016

@egamma is this feature on the roadmap to be implemented by the team, or are you looking for an external contribution? If an external contribution, would it be possible to get a "starter for 10" in terms of what is required in order to implement the feature?

@egamma
Copy link
Member

egamma commented Sep 6, 2016

@gep13 we are just planning the next 2 months, let me get back to you.

@gep13
Copy link
Contributor Author

gep13 commented Sep 9, 2016

@egamma just wanted to follow up with this to see if there was an update. Thanks!

@egamma
Copy link
Member

egamma commented Sep 12, 2016

@gep13 the feature didn't make the cut for the September iteration, sorry.

@gep13
Copy link
Contributor Author

gep13 commented Sep 12, 2016

@egamma said...
@gep13 the feature didn't make the cut for the September iteration, sorry.

Thanks for getting back to me!

How close did it get? 😄

Is this feature something that the Core VsCode Team will be looking to implement at "some" point though, or is it something that would be left for a community contribution?

@egamma
Copy link
Member

egamma commented Sep 13, 2016

@gep13 it is currently a candidate for October.

@gep13
Copy link
Contributor Author

gep13 commented Sep 13, 2016

Perfect! Let us know if you want an extension to try out the new extensibility points in VsCode. Would be happy to help out.

@gep13
Copy link
Contributor Author

gep13 commented Oct 10, 2016

@egamma how are you? Just wanted to touch base on this one to see if it is still on the radar for October. Thanks!

@dbaeumer
Copy link
Member

@gep13 As it stands today this will not make it for October.

@gep13
Copy link
Contributor Author

gep13 commented Oct 11, 2016

@dbaeumer said...
As it stands today this will not make it for October.

That's a real shame 😭 I will check back next month.

Thanks for getting back to me though.

@gep13
Copy link
Contributor Author

gep13 commented Nov 4, 2016

@dbaeumer @egamma following the 1.7.1, I thought I would follow up with this again. Do you know if it is going to make the cut for the next release? Thanks!

@gep13
Copy link
Contributor Author

gep13 commented Nov 19, 2016

@dbaeumer @egamma just wanted to follow up again. Thanks!

@dbaeumer
Copy link
Member

@gep13: yes and no :-) I started #15179 to discuss how to continue with the task framework, especially around build. The current proposal is that we decouple build from tasks so that extensions can participate in building without providing a task. So for you that would mean that your extensions registers a build provider and can the execute build.cake files without hooking into the task framework. Would that help?

@gep13
Copy link
Contributor Author

gep13 commented Nov 23, 2016

@dbaeumer thanks for getting back to me...

I am not sure if I follow the intention of that issue. The feature request that I was looking for here was the ability for our Cake extension to "parse" the build.cake file within the currently open folder, and then allow the user to select one of the tasks that are located, by shelling out to the cake.exe. Is what you are suggesting in #15179 the first step to implementing that, or how does that issue fit into this request.

Thanks!

@dbaeumer
Copy link
Member

@gep13: the idea is that you don't need to provide a task to run a build.cake file. You will be able to participate in building (the Ctrl+Shift+B) command and your extension will shell out to cake.exe and do the correct thing.

We also want to move away from one central task file. If you want to provide users access to targets in cake file we are more imagining something like the https://marketplace.visualstudio.com/items?itemName=eg2.vscode-npm-script instead of mangling everything into tasks.

So the idea is also to move the built-in support for gulp into an extension.

@gep13
Copy link
Contributor Author

gep13 commented Nov 25, 2016

@dbaeumer said...
So the idea is also to move the built-in support for gulp into an extension.

Gotcha! So, if/when gulp becomes an extension, we should be in a position to do this for Cake as well? Do you have an eta on when that will be happening?

Thanks again!

@dbaeumer
Copy link
Member

The work is planned for January next year. Ideas are collected in here #15179

@gep13
Copy link
Contributor Author

gep13 commented Nov 28, 2016

@dbaeumer perfect, I will follow along there. Should this issue now be closed then?

@dbaeumer
Copy link
Member

I will clean up the issues as soon as the new implementation is ready.

@gep13
Copy link
Contributor Author

gep13 commented Feb 9, 2017

@dbaeumer @egamma I just wanted to follow up with this issue. Given the recent changes to VsCode, are we now in a position to do what this issue was asking for? i.e. the ability for an extension author to provide the ability to parse a file (in our case a .cake file) and then allow the execution of the tasks that are located within that file. If so, could you point me at the documentation for this.

Thanks in advance.

@dbaeumer
Copy link
Member

dbaeumer commented Feb 9, 2017

@gep13: unfortunately not. It is on the February iteration plan as a stretch goal. See #20021

@gep13
Copy link
Contributor Author

gep13 commented Feb 9, 2017

@dbaeumer thank you for the update. If it is a stretch task for February, does that mean if it doesn't appear then, that is will be available in the March update?

@dbaeumer
Copy link
Member

dbaeumer commented Feb 9, 2017

@gep13. Yes, that is usually or goal.

@egamma
Copy link
Member

egamma commented Feb 12, 2017

@gep13 a fallback option for you is to implement a command that creates a 'task.json' from a cake file.

@gep13
Copy link
Contributor Author

gep13 commented Jul 17, 2017

@dbaeumer @egamma just wanted to follow up with this issue to say that we now have something working:

image

Which we will hopefully be shipping soon 😄

@gep13 gep13 closed this as completed Jul 17, 2017
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality tasks Task system issues
Projects
None yet
Development

No branches or pull requests

3 participants