chrisly42
44a4721d77
Added Documentation Provider for symbol definitions (shows assigned declaration). Added Documentation Provider for mnemonics (simple version, generated out of ISA information). Work in progress for Register Flow Documentation Provider. New minimum required version of IDE is now 2020.3.
117 lines
4.2 KiB
Groovy
117 lines
4.2 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.jetbrains.intellij' version '1.1.3'
|
|
id 'org.jetbrains.kotlin.jvm' version '1.5.21'
|
|
id 'jacoco'
|
|
id 'com.github.kt3k.coveralls' version '2.11.0'
|
|
}
|
|
|
|
group = 'de.platon42'
|
|
version = '0.4'
|
|
sourceCompatibility = "1.8"
|
|
targetCompatibility = "1.8"
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
/*
|
|
To run tests in IntelliJ use these VM Options for run configuration
|
|
-ea -Didea.system.path=build/idea-sandbox/system-test -Didea.config.path=build/idea-sandbox/config-test -Didea.plugins.path=build/idea-sandbox/plugins-test
|
|
*/
|
|
|
|
dependencies {
|
|
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
|
|
testImplementation "org.assertj:assertj-core:3.20.2"
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.0-M1'
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.0-M1'
|
|
testImplementation "org.jetbrains.kotlin:kotlin-test"
|
|
testImplementation "org.jetbrains.kotlin:kotlin-reflect"
|
|
// testImplementation "org.jetbrains.kotlin:kotlin-test-junit"
|
|
}
|
|
|
|
compileKotlin {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
freeCompilerArgs += "-Xjvm-default=all"
|
|
}
|
|
}
|
|
|
|
compileTestKotlin {
|
|
kotlinOptions.jvmTarget = "1.8"
|
|
}
|
|
|
|
intellij {
|
|
setVersion("2021.2") // LATEST-EAP-SNAPSHOT
|
|
setUpdateSinceUntilBuild(false)
|
|
// setPlugins(["com.intellij.java"])
|
|
}
|
|
|
|
runPluginVerifier {
|
|
ideVersions = ["IC-203.6682.168", "IC-212.4746.92", // 2020.3 - 2021.2
|
|
"CL-203.5981.166", "CL-203.8084.11", // 2020.3
|
|
"CL-211.6693.114", "CL-211.7628.27", // 2021.1
|
|
"CL-212.4746.93"] // 2021.2
|
|
downloadDir = System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea"
|
|
}
|
|
|
|
patchPluginXml {
|
|
setChangeNotes("""
|
|
<h4>V0.4 (unreleased)</h4>
|
|
<ul>
|
|
<li>Notice: Due to major new API use, this plugin no longer works on IDEs >=2019.3.1, but rather requires >=2020.3.
|
|
<li>Enhancement: Added Structure View filters.
|
|
<li>New: Added inspection to validate the correctness of a MC68000 instruction regarding operation size and address modes.
|
|
<li>Bugfix: Added several missing assembler directives (opt, machine, etc.).
|
|
<li>Bugfix: Uppercase hexadecimal literals were not parsed (JFlex bug?).
|
|
<li>Bugfix: Interpretation of register lists was wrong in BNF.
|
|
<li>New: Added Documentation Provider for symbol definitions (shows assigned declaration).
|
|
<li>New: Added Documentation Provider for mnemonics (simple version, generated out of ISA information).
|
|
</ul>
|
|
<h4>V0.3 (28-Jul-21)</h4>
|
|
<ul>
|
|
<li>Enhancement: Macro contents are no longer parsed, added syntax highlighting options for macros.
|
|
<li>Enhancement: Macro definitions are now word and stub indexed, macro calls reference to definition.
|
|
<li>New: Macro definition refactoring and find usages support.
|
|
<li>Enhancement: Structural View also shows macro definitions.
|
|
<li>Bugfix: Missing REPT and ENDR assembler directives added.
|
|
<li>Cosmetics: Changed or added some icons at various places.
|
|
<li>Performance: Reference search for global labels and symbols now uses stub index.
|
|
<li>Compatibility: Restored compatibility with IDE versions < 2021.1.
|
|
<li>Performance: Optimized lexer.
|
|
</ul>
|
|
<h4>V0.2 (27-Jul-21)</h4>
|
|
<ul>
|
|
<li>Cosmetics: Added (same) icon for plugin as for file type.
|
|
<li>Performance: Use Word-Index for global labels and symbols instead of iterating over the file.
|
|
<li>Performance: Use Stub-Index for global labels and symbols.
|
|
<li>Bugfix: No longer reports a syntax error when file lacks terminating End-Of-Line.
|
|
<li>Enhancement: Registers are now offered for code completion, making editing less annoying.
|
|
</ul>
|
|
<p>Full changelog available at <a href="https://github.com/chrisly42/mc68000-asm-plugin#changelog">Github project site</a>.</p>
|
|
""")
|
|
}
|
|
|
|
sourceSets.main.java.srcDirs('src/main/gen', 'src/main/java')
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
testLogging {
|
|
events "passed", "skipped", "failed"
|
|
}
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion = '0.8.7'
|
|
}
|
|
|
|
jacocoTestReport {
|
|
reports {
|
|
xml.required.set(true)
|
|
csv.required.set(false)
|
|
}
|
|
}
|
|
|
|
publishPlugin {
|
|
setToken(intellijPublishToken)
|
|
} |