chore: readme, versioning, plugin.xml cleanup

This commit is contained in:
zaaarf 2023-11-18 18:47:58 +01:00
parent c9b9eb2ae1
commit 7ea0ec76d7
No known key found for this signature in database
GPG key ID: 82240E075E31FA4C
3 changed files with 20 additions and 25 deletions

11
README.MD Normal file
View file

@ -0,0 +1,11 @@
# CodeMP for IntelliJ
This repository contains the code for the CodeMP plugin for IntelliJ-family IDEs, as well as the glue for the JNI boilerplate generators for now.
## Compiling, Testing, Installing
You can run a test using the Gradle `runIde` task. It will open in a new window an IntelliJ IDE with the plugin installed.
With the `build` task you can generate a JAR that IntelliJ can *probably* load (this has not been tested yet).
You can do so by accessing the Settings menu (Ctrl + Alt + S or File > Settings > Plugins), then clicking on the gear icon and then on "Install Plugin from Disk...".
The Rust library, presently, is bundled at build-time into the JAR and will not update automatically.
This may change in future versions.

View file

@ -4,7 +4,7 @@ plugins {
} }
group = "com.codemp" group = "com.codemp"
version = "1.0-SNAPSHOT" version = "0.1.0"
java { java {
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17
@ -21,13 +21,9 @@ dependencies {
implementation 'ch.qos.logback:logback-classic:1.4.6' implementation 'ch.qos.logback:logback-classic:1.4.6'
} }
// Configure Gradle IntelliJ Plugin
// Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij { intellij {
version.set("2022.2.5") version.set("2022.2.5")
type.set("IC") // Target IDE Platform type.set("IC")
//plugins.set(listOf(/* Plugin Dependencies */))
} }
tasks { tasks {
@ -47,7 +43,7 @@ tasks {
} }
} }
//define rust tasks //run cargo build
tasks.register('cargoBuild', Exec) { tasks.register('cargoBuild', Exec) {
workingDir '.' workingDir '.'
commandLine 'cargo', 'build' commandLine 'cargo', 'build'
@ -55,6 +51,7 @@ tasks.register('cargoBuild', Exec) {
compileJava.dependsOn cargoBuild compileJava.dependsOn cargoBuild
//copy the generated binary into the resources folder
tasks.register('copyBinary', Copy) { tasks.register('copyBinary', Copy) {
from "target/debug" from "target/debug"
into "src/main/resources" into "src/main/resources"
@ -64,10 +61,12 @@ tasks.register('copyBinary', Copy) {
patchPluginXml.dependsOn copyBinary patchPluginXml.dependsOn copyBinary
//delete old jni generated files
tasks.register('deleteGeneratedNativeInterface', Delete) { tasks.register('deleteGeneratedNativeInterface', Delete) {
delete 'src/main/java/com/codemp/intellij/jni' delete 'src/main/java/com/codemp/intellij/jni'
} }
//delete cargo build files
tasks.register('cargoClean', Exec) { tasks.register('cargoClean', Exec) {
workingDir '.' workingDir '.'
commandLine 'cargo', 'clean' commandLine 'cargo', 'clean'

View file

@ -1,25 +1,10 @@
<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
<idea-plugin> <idea-plugin>
<!-- Unique identifier of the plugin. It should be FQN. It cannot be changed between the plugin versions. -->
<id>com.codemp.intellij</id> <id>com.codemp.intellij</id>
<name>CodeMP</name>
<vendor email="me@zaaarf.foo" url="https://zaaarf.foo">CodeMP</vendor>
<!-- Public plugin name should be written in Title Case. <description>A plugin for MultiPlayer code editing across different IDEs.</description>
Guidelines: https://plugins.jetbrains.com/docs/marketplace/plugin-overview-page.html#plugin-name -->
<name>CodeMP</name>
<!-- A displayed Vendor name or Organization ID displayed on the Plugins Page. -->
<vendor email="support@yourcompany.com" url="https://www.yourcompany.com">YourCompany</vendor>
<!-- Description of the plugin displayed on the Plugin Page and IDE Plugin Manager.
Simple HTML elements (text formatting, paragraphs, and lists) can be added inside of <![CDATA[ ]]> tag.
Guidelines: https://plugins.jetbrains.com/docs/marketplace/plugin-overview-page.html#plugin-description -->
<description><![CDATA[
Enter short description for your plugin here.<br>
<em>most HTML tags may be used</em>
]]></description>
<!-- Product and plugin compatibility requirements.
Read more: https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>
<actions> <actions>