-
-
Notifications
You must be signed in to change notification settings - Fork 504
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(editors/intellij): :wip: initial implementation
- Loading branch information
Victor Teles
committed
Sep 10, 2023
1 parent
98caa69
commit 001840b
Showing
33 changed files
with
1,143 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.gradle | ||
.idea | ||
.qodana | ||
build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Run IDE for UI Tests" type="GradleRunConfiguration" factoryName="Gradle"> | ||
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" /> | ||
<ExternalSystemSettings> | ||
<option name="executionName" /> | ||
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||
<option name="externalSystemIdString" value="GRADLE" /> | ||
<option name="scriptParameters" value="" /> | ||
<option name="taskDescriptions"> | ||
<list /> | ||
</option> | ||
<option name="taskNames"> | ||
<list> | ||
<option value="runIdeForUiTests" /> | ||
</list> | ||
</option> | ||
<option name="vmOptions" /> | ||
</ExternalSystemSettings> | ||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> | ||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> | ||
<DebugAllEnabled>false</DebugAllEnabled> | ||
<RunAsTest>false</RunAsTest> | ||
<method v="2" /> | ||
</configuration> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Run Plugin" type="GradleRunConfiguration" factoryName="Gradle"> | ||
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" /> | ||
<ExternalSystemSettings> | ||
<option name="executionName" /> | ||
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||
<option name="externalSystemIdString" value="GRADLE" /> | ||
<option name="scriptParameters" value="" /> | ||
<option name="taskDescriptions"> | ||
<list /> | ||
</option> | ||
<option name="taskNames"> | ||
<list> | ||
<option value="runIde" /> | ||
</list> | ||
</option> | ||
<option name="vmOptions" value="" /> | ||
</ExternalSystemSettings> | ||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> | ||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> | ||
<DebugAllEnabled>false</DebugAllEnabled> | ||
<method v="2" /> | ||
</configuration> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Run Qodana" type="GradleRunConfiguration" factoryName="Gradle"> | ||
<ExternalSystemSettings> | ||
<option name="env"> | ||
<map> | ||
<entry key="QODANA_SHOW_REPORT" value="true" /> | ||
</map> | ||
</option> | ||
<option name="executionName" /> | ||
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||
<option name="externalSystemIdString" value="GRADLE" /> | ||
<option name="scriptParameters" value="" /> | ||
<option name="taskDescriptions"> | ||
<list /> | ||
</option> | ||
<option name="taskNames"> | ||
<list> | ||
<option value="cleanInspections" /> | ||
<option value="runInspections" /> | ||
</list> | ||
</option> | ||
<option name="vmOptions" /> | ||
</ExternalSystemSettings> | ||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> | ||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> | ||
<DebugAllEnabled>false</DebugAllEnabled> | ||
<RunAsTest>false</RunAsTest> | ||
<method v="2" /> | ||
</configuration> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Run Tests" type="GradleRunConfiguration" factoryName="Gradle"> | ||
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" /> | ||
<ExternalSystemSettings> | ||
<option name="executionName" /> | ||
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||
<option name="externalSystemIdString" value="GRADLE" /> | ||
<option name="scriptParameters" value="" /> | ||
<option name="taskDescriptions"> | ||
<list /> | ||
</option> | ||
<option name="taskNames"> | ||
<list> | ||
<option value="check" /> | ||
</list> | ||
</option> | ||
<option name="vmOptions" value="" /> | ||
</ExternalSystemSettings> | ||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> | ||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> | ||
<DebugAllEnabled>false</DebugAllEnabled> | ||
<method v="2" /> | ||
</configuration> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Run Verifications" type="GradleRunConfiguration" factoryName="Gradle"> | ||
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" /> | ||
<ExternalSystemSettings> | ||
<option name="executionName" /> | ||
<option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||
<option name="externalSystemIdString" value="GRADLE" /> | ||
<option name="scriptParameters" value="" /> | ||
<option name="taskDescriptions"> | ||
<list /> | ||
</option> | ||
<option name="taskNames"> | ||
<list> | ||
<option value="runPluginVerifier" /> | ||
</list> | ||
</option> | ||
<option name="vmOptions" value="" /> | ||
</ExternalSystemSettings> | ||
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess> | ||
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess> | ||
<DebugAllEnabled>false</DebugAllEnabled> | ||
<method v="2"> | ||
<option name="Gradle.BeforeRunTask" enabled="true" tasks="clean" externalProjectPath="$PROJECT_DIR$" vmOptions="" scriptParameters="" /> | ||
</method> | ||
</configuration> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# intellij-biome |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
import org.jetbrains.changelog.Changelog | ||
import org.jetbrains.changelog.markdownToHTML | ||
|
||
fun properties(key: String) = providers.gradleProperty(key) | ||
fun environment(key: String) = providers.environmentVariable(key) | ||
|
||
plugins { | ||
id("java") // Java support | ||
alias(libs.plugins.kotlin) // Kotlin support | ||
alias(libs.plugins.gradleIntelliJPlugin) // Gradle IntelliJ Plugin | ||
alias(libs.plugins.changelog) // Gradle Changelog Plugin | ||
alias(libs.plugins.qodana) // Gradle Qodana Plugin | ||
alias(libs.plugins.kover) // Gradle Kover Plugin | ||
} | ||
|
||
group = properties("pluginGroup").get() | ||
version = properties("pluginVersion").get() | ||
|
||
// Configure project's dependencies | ||
repositories { | ||
mavenCentral() | ||
} | ||
|
||
// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog | ||
dependencies { | ||
// implementation(libs.annotations) | ||
} | ||
|
||
// Set the JVM language level used to build the project. Use Java 11 for 2020.3+, and Java 17 for 2022.2+. | ||
kotlin { | ||
jvmToolchain(17) | ||
} | ||
|
||
// Configure Gradle IntelliJ Plugin - read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html | ||
intellij { | ||
pluginName = properties("pluginName") | ||
version = properties("platformVersion") | ||
type = properties("platformType") | ||
|
||
// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file. | ||
plugins = properties("platformPlugins").map { it.split(',').map(String::trim).filter(String::isNotEmpty) } | ||
} | ||
|
||
// Configure Gradle Changelog Plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin | ||
changelog { | ||
groups.empty() | ||
repositoryUrl = properties("pluginRepositoryUrl") | ||
} | ||
|
||
// Configure Gradle Qodana Plugin - read more: https://github.com/JetBrains/gradle-qodana-plugin | ||
qodana { | ||
cachePath = provider { file(".qodana").canonicalPath } | ||
reportPath = provider { file("build/reports/inspections").canonicalPath } | ||
saveReport = true | ||
showReport = environment("QODANA_SHOW_REPORT").map { it.toBoolean() }.getOrElse(false) | ||
} | ||
|
||
// Configure Gradle Kover Plugin - read more: https://github.com/Kotlin/kotlinx-kover#configuration | ||
koverReport { | ||
defaults { | ||
xml { | ||
onCheck = true | ||
} | ||
} | ||
} | ||
|
||
tasks { | ||
wrapper { | ||
gradleVersion = properties("gradleVersion").get() | ||
} | ||
|
||
patchPluginXml { | ||
version = properties("pluginVersion") | ||
sinceBuild = properties("pluginSinceBuild") | ||
untilBuild = properties("pluginUntilBuild") | ||
|
||
// Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest | ||
pluginDescription = providers.fileContents(layout.projectDirectory.file("README.md")).asText.map { | ||
val start = "<!-- Plugin description -->" | ||
val end = "<!-- Plugin description end -->" | ||
|
||
with (it.lines()) { | ||
if (!containsAll(listOf(start, end))) { | ||
throw GradleException("Plugin description section not found in README.md:\n$start ... $end") | ||
} | ||
subList(indexOf(start) + 1, indexOf(end)).joinToString("\n").let(::markdownToHTML) | ||
} | ||
} | ||
|
||
val changelog = project.changelog // local variable for configuration cache compatibility | ||
// Get the latest available change notes from the changelog file | ||
changeNotes = properties("pluginVersion").map { pluginVersion -> | ||
with(changelog) { | ||
renderItem( | ||
(getOrNull(pluginVersion) ?: getUnreleased()) | ||
.withHeader(false) | ||
.withEmptySections(false), | ||
Changelog.OutputType.HTML, | ||
) | ||
} | ||
} | ||
} | ||
|
||
// Configure UI tests plugin | ||
// Read more: https://github.com/JetBrains/intellij-ui-test-robot | ||
runIdeForUiTests { | ||
systemProperty("robot-server.port", "8082") | ||
systemProperty("ide.mac.message.dialogs.as.sheets", "false") | ||
systemProperty("jb.privacy.policy.text", "<!--999.999-->") | ||
systemProperty("jb.consents.confirmation.enabled", "false") | ||
} | ||
|
||
// signPlugin { | ||
// certificateChain = environment("CERTIFICATE_CHAIN") | ||
// privateKey = environment("PRIVATE_KEY") | ||
// password = environment("PRIVATE_KEY_PASSWORD") | ||
// } | ||
|
||
// publishPlugin { | ||
// dependsOn("patchChangelog") | ||
// token = environment("PUBLISH_TOKEN") | ||
// // The pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3 | ||
// // Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more: | ||
// // https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel | ||
// channels = properties("pluginVersion").map { listOf(it.split('-').getOrElse(1) { "default" }.split('.').first()) } | ||
// } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html | ||
|
||
pluginGroup = com.github.biomejs.intellijbiome | ||
pluginName = intellij-biome | ||
pluginRepositoryUrl = https://github.com/biomejs/intellij-biome | ||
# SemVer format -> https://semver.org | ||
pluginVersion = 0.0.1 | ||
|
||
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html | ||
pluginSinceBuild = 232 | ||
pluginUntilBuild = 232.* | ||
|
||
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension | ||
platformType = IU | ||
platformVersion = 232-EAP-SNAPSHOT | ||
|
||
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html | ||
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 | ||
platformPlugins=JavaScript | ||
|
||
# Gradle Releases -> https://github.com/gradle/gradle/releases | ||
gradleVersion = 8.2.1 | ||
|
||
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib | ||
kotlin.stdlib.default.dependency = false | ||
|
||
# Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html | ||
org.gradle.configuration-cache = true | ||
|
||
# Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html | ||
org.gradle.caching = true | ||
|
||
# Enable Gradle Kotlin DSL Lazy Property Assignment -> https://docs.gradle.org/current/userguide/kotlin_dsl.html#kotdsl:assignment | ||
systemProp.org.gradle.unsafe.kotlin.assignment = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[versions] | ||
# libraries | ||
annotations = "24.0.1" | ||
|
||
# plugins | ||
kotlin = "1.9.0" | ||
changelog = "2.1.2" | ||
gradleIntelliJPlugin = "1.15.0" | ||
qodana = "0.1.13" | ||
kover = "0.7.3" | ||
|
||
[libraries] | ||
annotations = { group = "org.jetbrains", name = "annotations", version.ref = "annotations" } | ||
|
||
[plugins] | ||
changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } | ||
gradleIntelliJPlugin = { id = "org.jetbrains.intellij", version.ref = "gradleIntelliJPlugin" } | ||
kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } | ||
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } | ||
qodana = { id = "org.jetbrains.qodana", version.ref = "qodana" } |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
distributionBase=GRADLE_USER_HOME | ||
distributionPath=wrapper/dists | ||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip | ||
networkTimeout=10000 | ||
validateDistributionUrl=true | ||
zipStoreBase=GRADLE_USER_HOME | ||
zipStorePath=wrapper/dists |
Oops, something went wrong.