121 lines
5.8 KiB
Markdown
121 lines
5.8 KiB
Markdown
# HytaleWizardIntelliJ
|
||
|
||
Hytale plugin for the IntelliJ Wizard UI
|
||
|
||
# IntelliJ Platform Plugin Template
|
||
|
||
[](https://twitter.com/JBPlatform)
|
||
[][jb:forum]
|
||
|
||
## Plugin template structure
|
||
|
||
A generated project contains the following content structure:
|
||
|
||
```
|
||
.
|
||
├── .run/ Predefined Run/Debug Configurations
|
||
├── build/ Output build directory
|
||
├── gradle
|
||
│ ├── wrapper/ Gradle Wrapper
|
||
├── src Plugin sources
|
||
│ ├── main
|
||
│ │ ├── kotlin/ Kotlin production sources
|
||
│ │ └── resources/ Resources - plugin.xml, icons, messages
|
||
├── .gitignore Git ignoring rules
|
||
├── build.gradle.kts Gradle build configuration
|
||
├── gradle.properties Gradle configuration properties
|
||
├── gradlew *nix Gradle Wrapper script
|
||
├── gradlew.bat Windows Gradle Wrapper script
|
||
├── README.md README
|
||
└── settings.gradle.kts Gradle project settings
|
||
```
|
||
|
||
In addition to the configuration files, the most crucial part is the `src` directory, which contains our implementation
|
||
and the manifest for our plugin – [plugin.xml][file:plugin.xml].
|
||
|
||
> [!NOTE]
|
||
> To use Java in your plugin, create the `/src/main/java` directory.
|
||
|
||
## Plugin configuration file
|
||
|
||
The plugin configuration file is a [plugin.xml][file:plugin.xml] file located in the `src/main/resources/META-INF`
|
||
directory.
|
||
It provides general information about the plugin, its dependencies, extensions, and listeners.
|
||
|
||
You can read more about this file in the [Plugin Configuration File][docs:plugin.xml] section of our documentation.
|
||
|
||
If you're still not quite sure what this is all about, read our
|
||
introduction: [What is the IntelliJ Platform?][docs:intro]
|
||
|
||
$H$H Predefined Run/Debug configurations
|
||
|
||
Within the default project structure, there is a `.run` directory provided containing predefined *Run/Debug
|
||
configurations* that expose corresponding Gradle tasks:
|
||
|
||
| Configuration name | Description |
|
||
|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||
| Run Plugin | Runs [`:runIde`][gh:intellij-platform-gradle-plugin-runIde] IntelliJ Platform Gradle Plugin task. Use the *Debug* icon for plugin debugging. |
|
||
| Run Tests | Runs [`:test`][gradle:lifecycle-tasks] Gradle task. |
|
||
| Run Verifications | Runs [`:verifyPlugin`][gh:intellij-platform-gradle-plugin-verifyPlugin] IntelliJ Platform Gradle Plugin task to check the plugin compatibility against the specified IntelliJ IDEs. |
|
||
|
||
> [!NOTE]
|
||
> You can find the logs from the running task in the `idea.log` tab.
|
||
|
||
## Publishing the plugin
|
||
|
||
> [!TIP]
|
||
> Make sure to follow all guidelines listed in [Publishing a Plugin][docs:publishing] to follow all recommended and
|
||
> required steps.
|
||
|
||
Releasing a plugin to [JetBrains Marketplace](https://plugins.jetbrains.com) is a straightforward operation that uses
|
||
the `publishPlugin` Gradle task provided by
|
||
the [intellij-platform-gradle-plugin][gh:intellij-platform-gradle-plugin-docs].
|
||
|
||
You can also upload the plugin to the [JetBrains Plugin Repository](https://plugins.jetbrains.com/plugin/upload)
|
||
manually via UI.
|
||
|
||
## Useful links
|
||
|
||
- [IntelliJ Platform SDK Plugin SDK][docs]
|
||
- [IntelliJ Platform Gradle Plugin Documentation][gh:intellij-platform-gradle-plugin-docs]
|
||
- [IntelliJ Platform Explorer][jb:ipe]
|
||
- [JetBrains Marketplace Quality Guidelines][jb:quality-guidelines]
|
||
- [IntelliJ Platform UI Guidelines][jb:ui-guidelines]
|
||
- [JetBrains Marketplace Paid Plugins][jb:paid-plugins]
|
||
- [IntelliJ SDK Code Samples][gh:code-samples]
|
||
|
||
[docs]: https://plugins.jetbrains.com/docs/intellij
|
||
|
||
[docs:intro]: https://plugins.jetbrains.com/docs/intellij/intellij-platform.html?from=IJPluginTemplate
|
||
|
||
[docs:plugin.xml]: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html?from=IJPluginTemplate
|
||
|
||
[docs:publishing]: https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html?from=IJPluginTemplate
|
||
|
||
[file:plugin.xml]: ./src/main/resources/META-INF/plugin.xml
|
||
|
||
[gh:code-samples]: https://github.com/JetBrains/intellij-sdk-code-samples
|
||
|
||
[gh:intellij-platform-gradle-plugin]: https://github.com/JetBrains/intellij-platform-gradle-plugin
|
||
|
||
[gh:intellij-platform-gradle-plugin-docs]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html
|
||
|
||
[gh:intellij-platform-gradle-plugin-runIde]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#runIde
|
||
|
||
[gh:intellij-platform-gradle-plugin-verifyPlugin]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#verifyPlugin
|
||
|
||
[gradle:lifecycle-tasks]: https://docs.gradle.org/current/userguide/java_plugin.html#lifecycle_tasks
|
||
|
||
[jb:github]: https://github.com/JetBrains/.github/blob/main/profile/README.md
|
||
|
||
[jb:forum]: https://platform.jetbrains.com/
|
||
|
||
[jb:quality-guidelines]: https://plugins.jetbrains.com/docs/marketplace/quality-guidelines.html
|
||
|
||
[jb:paid-plugins]: https://plugins.jetbrains.com/docs/marketplace/paid-plugins-marketplace.html
|
||
|
||
[jb:quality-guidelines]: https://plugins.jetbrains.com/docs/marketplace/quality-guidelines.html
|
||
|
||
[jb:ipe]: https://jb.gg/ipe
|
||
|
||
[jb:ui-guidelines]: https://jetbrains.github.io/ui |