117 lines
4.4 KiB
Groovy
117 lines
4.4 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.6'
|
|
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.6 (unreleased)</h4>
|
|
<ul>
|
|
<li>Enhancement: 'opt' and several other directives ('printt', 'fail' etc.) no longer causes a syntax error when unquoted.
|
|
<li>Enhancement: 'include', 'incdir' and 'incbin' and 'output' with '<pathname>' quotes no longer cause syntax error.
|
|
<li>New: Files in 'include' directives can be referenced and renamed/refactored.
|
|
</ul>
|
|
<h4>V0.5 (06-Aug-21)</h4>
|
|
<ul>
|
|
<li>Bugfix: movem ISA was wrong regarding movem.w <ea>,<registerlist> (sign extends registers).
|
|
<li>Cosmetics: Changed Register Flow Documentation wording from 'reads' to 'uses' and from 'modifies' to 'changes'.
|
|
<li>Bugfix: Minor fix for `andi/eori/ori to ccr` which were not byte sized in ISA.
|
|
<li>Bugfix: Added alternate condition code tests HS (=CC) and LO (=CS).
|
|
<li>Performance: Optimized mnemonic lookup.
|
|
<li>Enhancement: Reworked Instruction Documentation provider, now shows condition codes.
|
|
<li>Bugfix: In ISA exg is no longer treated as setting a definitive value.
|
|
<li>New: Added inspection to find dead writes to registers!
|
|
<li>New: Added inspection to warn about unexpected condition code unaffecting instructions before conditional instructions.
|
|
</ul>
|
|
<h4>V0.4 (03-Aug-21)</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).
|
|
<li>Bugfix: Macro definitions with colons and without space supported (as found in P61a source).
|
|
<li>New: When asking for documentation on registers, a code flow analysis is done. Cool stuff!
|
|
</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)
|
|
} |