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

dotnet language provider #2003

Closed
wants to merge 26 commits into from
Closed

dotnet language provider #2003

wants to merge 26 commits into from

Conversation

Frassle
Copy link
Member

@Frassle Frassle commented Sep 30, 2018

Very experimental first pass at dotnet support. Got it working with tfgen such that I can do some simple updates. For sure not every pulumi feature is working.

@lukehoban
Copy link
Member

Awesome! Thanks for the PR.

We'll review this soon, and then we can figure out the next steps for landing this.

/// RunError can be used for terminating a program abruptly, but resulting in a clean exit rather than the usual
/// verbose unhandled error logic which emits the source program text and complete stack trace.
/// </summary>
public class RunError : ApplicationException {
Copy link

Choose a reason for hiding this comment

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

https://docs.microsoft.com/en-us/dotnet/api/system.applicationexception?view=netcore-2.1#remarks

You should derive custom exceptions from the Exception class rather than the ApplicationException class. You should not throw an ApplicationException exception in your code, and you should not catch an ApplicationException exception unless you intend to re-throw the original exception.

Naming wise, exception types typically end with Exception? i.e. RunErrorException?


public class ComponentResource : Resource
{
public ComponentResource(string type, string name, ResourceOptions opts = default(ResourceOptions))
Copy link

Choose a reason for hiding this comment

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

default(ResourceOptions) can just be default if using C#7.1 or later

}

public Config(string name) {
m_prefix = name;
Copy link

Choose a reason for hiding this comment

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

@Frassle
Copy link
Member Author

Frassle commented Nov 4, 2018

@damianh, will change the exception type. I'll leave the pulumi guys to comment on their preference for m_ or not.

@7sharp9
Copy link

7sharp9 commented Jan 28, 2019

Did I read this right, this will be usable by any .Net language like F#?

@Frassle
Copy link
Member Author

Frassle commented Jan 28, 2019

@7sharp9 yes it's just going to be a netstandard 2 library and use "dotnet run" to execute the pulumi programs.

@mikhailshilkov
Copy link
Member

@7sharp9
image

@JustinGrote
Copy link

@Frassle is this dead or are you still moving forward on it?

@Frassle
Copy link
Member Author

Frassle commented Apr 12, 2019

I've put this on hold while waiting for a resolution to #2430. If Pulumi decides to support multi-language I'll pick this back up.

@damianh
Copy link

damianh commented Apr 18, 2019

I was excited to see this come to fruition and hope it happens in the future.

@johnkors
Copy link

👍 We use Cake extensively for our .NET Builds (https://cakebuild.net/ ) , so having .NET support would make it a great fit for us.

@mikhailshilkov
Copy link
Member

Closed in favor of #3399

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.

None yet

7 participants