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] Support Smithy IntelliJ plugin #278

Closed
2 tasks done
cogwirrel opened this issue Feb 3, 2023 · 0 comments · Fixed by #280
Closed
2 tasks done

[FEATURE] Support Smithy IntelliJ plugin #278

cogwirrel opened this issue Feb 3, 2023 · 0 comments · Fixed by #280

Comments

@cogwirrel
Copy link
Member

Describe the feature

We should support the Smithy IntelliJ Plugin to improve the user experience when working with Smithy.

Use Case

The best I could set up in intellij was syntax highlighting by using the vs-code plugin as a textmate bundle, but this doesn't have proper auto-complete and error checking, making the developer experience worse than it could be.

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

PDK version used

0.13.4

What languages will this feature affect?

Typescript, Java, Python

Environment details (OS name and version, etc.)

OSX

cogwirrel added a commit that referenced this issue Feb 3, 2023
…ide support

This change restructures the smithy-based projects to combine the `model` and `smithy-build`
directories into a single `smithy` directory. This directory has a more similar structure to those
found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to
help with the developer experience.

Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development
experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin

We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the
generated project's source control by default, and copied from the PDK if it does not already
exist.  Similarly we allow users to bring their own `gradle wrapper` by choosing not to ignore
it in source control, and placing it in the `smithy` directory. This replaces the
`gradleWrapperPath` configuration option.

While this is a breaking change, the migration steps are fairly straightforward:

- Upgrade the open-api-gateway package
- `npx projen` to regenerate code - notice the new `smithy` folder in your api project
- Copy the contents of the old `model` directory into `smithy/src/main/smithy`
- If any custom dependencies were added to the `smithy-build/build.gradle` file, add them to `smithy/build.gradle`
- Delete the old `model` and `smithy-build` directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'.
Removed the gradleWrapperPath configuration option.

fix #278
cogwirrel added a commit that referenced this issue Feb 3, 2023
…ide support

This change restructures the smithy-based projects to combine the `model` and `smithy-build`
directories into a single `smithy` directory. This directory has a more similar structure to those
found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to
help with the developer experience.

Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development
experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin

We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the
generated project's source control by default, and copied from the PDK if it does not already
exist.  Similarly we allow users to bring their own `gradle wrapper` by choosing not to ignore
it in source control, and placing it in the `smithy` directory. This replaces the
`gradleWrapperPath` configuration option.

While this is a breaking change, the migration steps are fairly straightforward:

- Upgrade the open-api-gateway package
- `npx projen` to regenerate code - notice the new `smithy` folder in your api project
- Copy the contents of the old `model` directory into `smithy/src/main/smithy`
- If any custom dependencies were added to the `smithy-build/build.gradle` file, add them
to `smithy/build.gradle`
- Delete the old `model` and `smithy-build` directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'.
Removed the gradleWrapperPath configuration option.

fix #278
cogwirrel added a commit that referenced this issue Feb 6, 2023
…ide support

This change restructures the smithy-based projects to combine the `model` and `smithy-build`
directories into a single `smithy` directory. This directory has a more similar structure to those
found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to
help with the developer experience.

Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development
experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin

We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the
generated project's source control by default, and copied from the PDK if it does not already
exist.  Similarly we allow users to bring their own `gradle wrapper` by choosing not to ignore
it in source control, and placing it in the `smithy` directory. This replaces the
`gradleWrapperPath` configuration option.

While this is a breaking change, the migration steps are fairly straightforward:

- Upgrade the open-api-gateway package
- `npx projen` to regenerate code - notice the new `smithy` folder in your api project
- Copy the contents of the old `model` directory into `smithy/src/main/smithy`
- If any custom dependencies were added to the `smithy-build/build.gradle` file, add them
to `smithy/build.gradle`
- Delete the old `model` and `smithy-build` directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'.
Removed the gradleWrapperPath configuration option.

fix #278
cogwirrel added a commit that referenced this issue Feb 6, 2023
…ide support (#280)

This change restructures the smithy-based projects to combine the `model` and `smithy-build`
directories into a single `smithy` directory. This directory has a more similar structure to those
found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to
help with the developer experience.

Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development
experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin

We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the
generated project's source control by default, and copied from the PDK if it does not already
exist.  Similarly we allow users to bring their own `gradle wrapper` by choosing not to ignore
it in source control, and placing it in the `smithy` directory. This replaces the
`gradleWrapperPath` configuration option.

While this is a breaking change, the migration steps are fairly straightforward:

- Upgrade the open-api-gateway package
- `npx projen` to regenerate code - notice the new `smithy` folder in your api project
- Copy the contents of the old `model` directory into `smithy/src/main/smithy`
- If any custom dependencies were added to the `smithy-build/build.gradle` file, add them
to `smithy/build.gradle`
- Delete the old `model` and `smithy-build` directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'.
Removed the gradleWrapperPath configuration option.

fix #278
mteichtahl pushed a commit to mteichtahl/aws-prototyping-sdk that referenced this issue Feb 8, 2023
…ide support (aws#280)

This change restructures the smithy-based projects to combine the `model` and `smithy-build`
directories into a single `smithy` directory. This directory has a more similar structure to those
found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to
help with the developer experience.

Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development
experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin

We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the
generated project's source control by default, and copied from the PDK if it does not already
exist.  Similarly we allow users to bring their own `gradle wrapper` by choosing not to ignore
it in source control, and placing it in the `smithy` directory. This replaces the
`gradleWrapperPath` configuration option.

While this is a breaking change, the migration steps are fairly straightforward:

- Upgrade the open-api-gateway package
- `npx projen` to regenerate code - notice the new `smithy` folder in your api project
- Copy the contents of the old `model` directory into `smithy/src/main/smithy`
- If any custom dependencies were added to the `smithy-build/build.gradle` file, add them
to `smithy/build.gradle`
- Delete the old `model` and `smithy-build` directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'.
Removed the gradleWrapperPath configuration option.

fix aws#278
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 a pull request may close this issue.

1 participant