You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Managing Smithy model dependencies while using the plugin
When using the Smithy Intellij Plugin, dependencies used by the model within the workspace must be specified, so that
the plugin can inject them when launching the Smithy Language Server. Dependencies must be specified in the workspace
at /build/smithy-dependencies.json or .smithy.json, listing all the required artifacts along with their source
repositories:
Clone the smithy-language-server repository to a separate directory:
git clone git@github.com:awslabs/smithy-language-server.git ~/smithy-language-server
Change to that directory, and build and publish the locally:
cd ~/smithy-language-server && ./gradlew build publishToMavenLocal
From this plugin directory, use ideRun task to start a sandboxed instance of IntelliJ with the plugin loaded:
./gradlew runIde
Developing the Lexer and Parser classes
The classes located at /src/main/gen are generated. SmithyLexer is generated from the Smithy.Flex file via the
generateSmithyLexer Gradle task. SmithyParser and its PSI implementation classes are generated from the
Smithy.bnf file via the generateSmithyParser Gradle task. The generateSmithyParser task requires JDK11 or higher.
When using JDK11 or higher, both tasks will be run prior to compilation during a standard Gradle build.