-
Notifications
You must be signed in to change notification settings - Fork 133
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
Add Ballerina language support #3584
Conversation
@microsoft-github-policy-service agree company="Wso2" |
@nturinski Can you take a look at this PR when you have time please? |
Where did you find the Ballerina templates? Or did you write those yourself? edit: also thanks for your contribution! |
Thankss. Yes, I wrote them myself. However, the plan is to make the templates similar(at least consistent) with ballerina docs as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again for your contribution and your patience! I left a few comments, but also had some broader questions:
- Would you be a good contact point if anything Ballerina ends up having issues? Most likely this will be users having issues debugging their project or fuddling with their configurations.
- Would you be willing to add tests? I can assist you with that, but it would be just the create project tests with this specific runtime.
src/commands/createNewProject/ProjectCreateStep/BallerinaProjectCreateSteps.ts
Outdated
Show resolved
Hide resolved
src/commands/createNewProject/ballerinaSteps/BallerinaBackendStep.ts
Outdated
Show resolved
Hide resolved
src/commands/createNewProject/ballerinaSteps/BallerinaPackageNameStep.ts
Outdated
Show resolved
Hide resolved
src/commands/createNewProject/ballerinaSteps/BallerinaPackageNameStep.ts
Outdated
Show resolved
Hide resolved
src/commands/createNewProject/ballerinaSteps/BallerinaPackageVersionStep.ts
Outdated
Show resolved
Hide resolved
src/commands/initProjectForVSCode/InitVSCodeStep/BallerinaInitVSCodeStep.ts
Outdated
Show resolved
Hide resolved
Thanks for reviewing, I'll reply and work on these suggestions.
I'll address other comments inline. |
@nturinski
I resolved the comments that have straightforward fixes. I left comments on all the other comments. please check =) |
@nturinski Hi, Sorry, was figuring out a way to add args to startup for custom handler for providing debugger capabilities. Found a workaround for this. I'll send commit along with tests early next week. =) hope thats oky |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your patience and effort! While waiting for the workaround, I've left smaller comments and nits. Regarding adding args, is it possible to just add these to the func start
command as flags and parameters? I'm not entirely sure what exactly you are trying to add.
@nturinski Also, ballerina does not have a reusable task for azure devops pipelines yet, I installed ballerina manually on test workflow as a workaround, we'll make sure to implement a proper task and use it here =) Also kind reminder on #3584 (comment) Debugger stuff seem to be oky, works fine =) |
src/commands/createNewProject/ProjectCreateStep/BallerinaProjectCreateSteps.ts
Outdated
Show resolved
Hide resolved
src/commands/createNewProject/ProjectCreateStep/BallerinaProjectCreateSteps.ts
Outdated
Show resolved
Hide resolved
src/commands/initProjectForVSCode/InitVSCodeStep/BallerinaInitVSCodeStep.ts
Outdated
Show resolved
Hide resolved
That would be great! I had a few more comments but everything is looking good :) |
aye, will add changes during the weekend. |
We're currently trying to fix them, but unfortunately there's been so many changes with the extension, it's been hard to keep everything working. Could you pull down from main? I tried to do it for you, but I wasn't able to pull down your branch. I think it may have been too long since there was a push? |
I pushed a merge commit but daily build was failing that day too ;( however, seems like the daily build is passing today. I will push another commit to trigger the pr checks again. I've added the ballerina template type as well to move away from the script provider. Please go through the code one more time to see if its correct. Besides the azure pipelines task, I think we are almost done with the implementation right? Just FYI, I've wrote a sample azure pipelines task so that we can use it for this repo workflows. This is exciting. Thanks a lot for helping through this process of getting the PR merged = ) Edit -: Seems like the pr checks are still failing ;( Are. these intermittent issues(as they are timeouts)? if so could you retrigger and see? I don't have permission to retrigger ;( |
I kicked it off again, but honestly, since the other OS's are fine, I'd be fine to ignore the Windows results. We've been having issues with it so it's not related to any of your changes. I'll finish up my review and we should be good to merge :) Thanks again for all your patience and collaboration! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! We'll merge this soon. Thanks again for all of your patience with our collaboration! I know that I had a lot of requests. We really appreciate your contribution :)
Great to hear! Thanks a lot for helping me throughout the process as well = ) If we can subscribe to this we can get rid of ballerina installers in the workflows :D |
$Subject as discussed on #3361
Ballerina is a programming language designed for writing network applications. Ballerina has the support for azure functions using
ballerinax/azure_functions
package. This package gives users cleaner abstractions to write azure functions just like main languages(such as java), hiding away the complexity of using custom handlers directly. The programming model does not require users to writefunctions.json
files as its automatically generated from the ballerina compiler itself. (Similar to node,python new programming model).I've attached some screen recordings to cover some scenarios just to make the review process easier.
tool.create-project.mp4
tool.add-function-existing.mp4
tool.init-vscode-existing.mp4
Let me know if theres any screen recordings needs to be added.
Please review the PR carefully as this is my first time contributing to this repository :) Any suggestions, requests are welcome.