2021-07-13 12:32:20 +02:00
|
|
|
plugins {
|
|
|
|
id 'java'
|
2021-07-16 20:00:57 +02:00
|
|
|
id 'org.jetbrains.intellij' version '1.1.3'
|
|
|
|
id 'org.jetbrains.kotlin.jvm' version '1.5.21'
|
2021-07-13 12:32:20 +02:00
|
|
|
id 'jacoco'
|
|
|
|
id 'com.github.kt3k.coveralls' version '2.11.0'
|
|
|
|
}
|
|
|
|
|
|
|
|
group = 'de.platon42'
|
2021-09-04 13:11:28 +02:00
|
|
|
version = '0.7'
|
2021-07-13 12:32:20 +02:00
|
|
|
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 {
|
2021-07-30 14:05:37 +02:00
|
|
|
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
|
2021-07-16 20:00:57 +02:00
|
|
|
testImplementation "org.assertj:assertj-core:3.20.2"
|
2021-07-13 12:32:20 +02:00
|
|
|
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"
|
2021-07-16 20:00:57 +02:00
|
|
|
testImplementation "org.jetbrains.kotlin:kotlin-reflect"
|
2021-07-13 12:32:20 +02:00
|
|
|
// testImplementation "org.jetbrains.kotlin:kotlin-test-junit"
|
|
|
|
}
|
|
|
|
|
|
|
|
compileKotlin {
|
2021-08-01 10:08:01 +02:00
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
freeCompilerArgs += "-Xjvm-default=all"
|
|
|
|
}
|
2021-07-13 12:32:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions.jvmTarget = "1.8"
|
|
|
|
}
|
|
|
|
|
|
|
|
intellij {
|
2021-07-30 14:05:37 +02:00
|
|
|
setVersion("2021.2") // LATEST-EAP-SNAPSHOT
|
2021-07-16 20:00:57 +02:00
|
|
|
setUpdateSinceUntilBuild(false)
|
|
|
|
// setPlugins(["com.intellij.java"])
|
2021-07-13 12:32:20 +02:00
|
|
|
}
|
|
|
|
|
2021-07-27 16:43:46 +02:00
|
|
|
runPluginVerifier {
|
2021-08-01 19:51:42 +02:00
|
|
|
ideVersions = ["IC-203.6682.168", "IC-212.4746.92", // 2020.3 - 2021.2
|
2021-07-27 16:43:46 +02:00
|
|
|
"CL-203.5981.166", "CL-203.8084.11", // 2020.3
|
2021-07-30 14:05:37 +02:00
|
|
|
"CL-211.6693.114", "CL-211.7628.27", // 2021.1
|
|
|
|
"CL-212.4746.93"] // 2021.2
|
2021-07-27 16:43:46 +02:00
|
|
|
downloadDir = System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea"
|
|
|
|
}
|
|
|
|
|
2021-07-13 12:32:20 +02:00
|
|
|
patchPluginXml {
|
2021-07-16 20:00:57 +02:00
|
|
|
setChangeNotes("""
|
2021-09-04 13:11:28 +02:00
|
|
|
<h4>V0.7 (unreleased)</h4>
|
|
|
|
<ul>
|
|
|
|
<li>Bugfix: 'btst' with pc-relative and weird immediate mode was missing (courtesy of Yann).
|
|
|
|
<li>Bugfix: 'movem' with pc-relative mode was missing for weird immediate mode (courtesy of Yann).
|
|
|
|
<li>Bugfix: Special registers for address mode matching only worked with lower case register names (courtesy of Yann).
|
|
|
|
<li>Enhancement: Assembler syntax with implicit immediate 1 for shifts and rotations no longer cause syntax errors (courtesy of Yann).
|
|
|
|
</ul>
|
2021-08-09 12:14:02 +02:00
|
|
|
<h4>V0.6 (09-Aug-21)</h4>
|
2021-08-06 10:06:48 +02:00
|
|
|
<ul>
|
|
|
|
<li>Enhancement: 'opt' and several other directives ('printt', 'fail' etc.) no longer causes a syntax error when unquoted.
|
2021-08-06 20:03:47 +02:00
|
|
|
<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.
|
2021-08-08 13:23:15 +02:00
|
|
|
<li>New: Code completion for local label definitions, suggesting undefined labels already referenced.
|
2021-08-09 10:08:41 +02:00
|
|
|
<li>New: Added inspection suppression possibility and quickfix.
|
2021-08-09 11:26:13 +02:00
|
|
|
<li>New: Added inspection for unresolved symbols, macros and labels.
|
2021-08-09 12:14:02 +02:00
|
|
|
<li>Enhancement: 'END' directive stops parsing.
|
2021-08-06 10:06:48 +02:00
|
|
|
</ul>
|
2021-08-05 19:02:55 +02:00
|
|
|
<h4>V0.5 (06-Aug-21)</h4>
|
2021-08-03 10:57:53 +02:00
|
|
|
<ul>
|
2021-08-06 10:06:48 +02:00
|
|
|
<li>Bugfix: movem ISA was wrong regarding movem.w <ea>,<registerlist> (sign extends registers).
|
2021-08-03 10:57:53 +02:00
|
|
|
<li>Cosmetics: Changed Register Flow Documentation wording from 'reads' to 'uses' and from 'modifies' to 'changes'.
|
2021-09-04 13:11:28 +02:00
|
|
|
<li>Bugfix: Minor fix for 'andi/eori/ori to ccr' which were not byte sized in ISA.
|
2021-08-03 13:45:44 +02:00
|
|
|
<li>Bugfix: Added alternate condition code tests HS (=CC) and LO (=CS).
|
2021-08-03 18:28:53 +02:00
|
|
|
<li>Performance: Optimized mnemonic lookup.
|
2021-08-04 12:24:16 +02:00
|
|
|
<li>Enhancement: Reworked Instruction Documentation provider, now shows condition codes.
|
2021-08-04 17:39:54 +02:00
|
|
|
<li>Bugfix: In ISA exg is no longer treated as setting a definitive value.
|
2021-08-05 18:42:32 +02:00
|
|
|
<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.
|
2021-08-03 10:57:53 +02:00
|
|
|
</ul>
|
2021-07-13 12:32:20 +02:00
|
|
|
<p>Full changelog available at <a href="https://github.com/chrisly42/mc68000-asm-plugin#changelog">Github project site</a>.</p>
|
2021-07-16 20:00:57 +02:00
|
|
|
""")
|
2021-07-13 12:32:20 +02:00
|
|
|
}
|
|
|
|
|
2021-07-16 20:00:57 +02:00
|
|
|
sourceSets.main.java.srcDirs('src/main/gen', 'src/main/java')
|
2021-07-14 13:07:54 +02:00
|
|
|
|
2021-07-13 12:32:20 +02:00
|
|
|
test {
|
|
|
|
useJUnitPlatform()
|
|
|
|
testLogging {
|
|
|
|
events "passed", "skipped", "failed"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
jacoco {
|
|
|
|
toolVersion = '0.8.7'
|
|
|
|
}
|
|
|
|
|
|
|
|
jacocoTestReport {
|
|
|
|
reports {
|
2021-07-16 20:00:57 +02:00
|
|
|
xml.required.set(true)
|
|
|
|
csv.required.set(false)
|
2021-07-13 12:32:20 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
publishPlugin {
|
2021-07-16 20:00:57 +02:00
|
|
|
setToken(intellijPublishToken)
|
2021-07-13 12:32:20 +02:00
|
|
|
}
|