From 285e0d3cbfd2011c56f8c0c65ba409459afeaa0a Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Tue, 23 Feb 2021 20:39:28 +0200 Subject: [PATCH 1/7] drop SwingInspector - Not support --- build.gradle.kts | 18 ++++++++-------- .../TornadoFXSettingsEditor.form | 21 +++---------------- .../TornadoFXSettingsEditor.java | 16 -------------- .../idea/actions/InjectComponentAction.kt | 2 +- 4 files changed, 13 insertions(+), 44 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 261f8b4..eec0805 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,14 +4,14 @@ import org.jetbrains.intellij.tasks.PatchPluginXmlTask import org.jetbrains.intellij.tasks.PublishTask plugins { - idea apply true + idea java - kotlin("jvm") version "1.4.0" - id("org.jetbrains.intellij") version "0.4.21" + kotlin("jvm") version "1.4.30" + id("org.jetbrains.intellij") version "0.7.2" } group = "no.tornado" -version = "1.7.20" +version = "1.7.20-1-dev" val publishUsername: String by rootProject.extra val publishPassword: String by rootProject.extra @@ -21,9 +21,9 @@ repositories { } intellij { - version = "2020.2" + version = "2020.3.1" //updateSinceUntilBuild = false - setPlugins("java", "properties", "org.jetbrains.kotlin:1.4.0-release-IJ2020.2-1") + setPlugins("java", "properties", "Kotlin") } tasks { @@ -35,12 +35,12 @@ tasks { } withType { - sourceCompatibility = "1.8" - targetCompatibility = "1.8" + sourceCompatibility = "11" + targetCompatibility = "11" } withType { - kotlinOptions.jvmTarget = "1.8" + kotlinOptions.jvmTarget = "11" } } diff --git a/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.form b/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.form index 592319a..b5d47e7 100644 --- a/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.form +++ b/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.form @@ -1,16 +1,16 @@
- + - + - + @@ -57,14 +57,6 @@ - - - - - - - - @@ -72,13 +64,6 @@ - - - - - - - diff --git a/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.java b/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.java index b2d690b..6be59a4 100644 --- a/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.java +++ b/src/main/java/no/tornado/tornadofx/idea/configurations/TornadoFXSettingsEditor.java @@ -52,7 +52,6 @@ public class TornadoFXSettingsEditor extends SettingsEditor typeWrapper; private LabeledComponent myDevOptions; private final JreVersionDetector myVersionDetector; @@ -94,8 +93,6 @@ public void applyEditorTo(@NotNull final TornadoFXConfiguration configuration) t configuration.LIVE_VIEWS = liveViewsButton.isSelected(); configuration.setAlternativeJrePath(myJrePathEditor.getJrePathOrName()); configuration.setAlternativeJrePathEnabled(myJrePathEditor.isAlternativeJreSelected()); - configuration.setSwingInspectorEnabled((myVersionDetector.isJre50Configured(configuration) || myVersionDetector.isModuleJre50Configured(configuration)) && myShowSwingInspectorCheckbox.isSelected()); - updateShowSwingInspector(configuration); } public void resetEditorFrom(@NotNull final TornadoFXConfiguration configuration) { @@ -116,19 +113,6 @@ public void resetEditorFrom(@NotNull final TornadoFXConfiguration configuration) dumpStylesheetsButton.setSelected(configuration.DUMP_STYLESHEETS); liveViewsButton.setSelected(configuration.LIVE_VIEWS); myJrePathEditor.setPathOrName(configuration.getAlternativeJrePath(), configuration.isAlternativeJrePathEnabled()); - updateShowSwingInspector(configuration); - } - - private void updateShowSwingInspector(final TornadoFXConfiguration configuration) { - if (myVersionDetector.isJre50Configured(configuration) || myVersionDetector.isModuleJre50Configured(configuration)) { - myShowSwingInspectorCheckbox.setEnabled(true); - myShowSwingInspectorCheckbox.setSelected(configuration.isSwingInspectorEnabled()); - myShowSwingInspectorCheckbox.setText(ExecutionBundle.message("show.swing.inspector")); - } else { - myShowSwingInspectorCheckbox.setEnabled(false); - myShowSwingInspectorCheckbox.setSelected(false); - myShowSwingInspectorCheckbox.setText(ExecutionBundle.message("show.swing.inspector.disabled")); - } } public EditorTextFieldWithBrowseButton getViewClassField() { diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt b/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt index a1a4c0b..25b8f21 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt @@ -72,7 +72,7 @@ class InjectComponentAction : AnAction() { return } - val psiFacade = JavaPsiFacade.getInstance(e.project) + val psiFacade = JavaPsiFacade.getInstance(e.project!!) val psiClass = psiFacade.findClass(ktClass.fqName.toString(), e.project!!.allScope())!! e.presentation.isEnabled = isComponent(psiClass) From 152607c0bf8904df10295d3e49fd8fa89bafac6b Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Sun, 2 May 2021 15:02:18 +0300 Subject: [PATCH 2/7] refactoring --- build.gradle.kts | 10 +++++++++- .../tornado/tornadofx/idea/actions/NewViewAction.kt | 2 +- .../tornadofx/idea/annotator/CSSColorAnnotator.kt | 2 +- .../TornadoFXRunLineMarkerContributor.kt | 2 +- .../no/tornado/tornadofx/idea/dialog/ErrorDialog.kt | 2 +- .../idea/dialog/ExtractStringToResourceDialog.kt | 8 ++++---- .../no/tornado/tornadofx/idea/editors/ViewEditor.kt | 12 ++++++------ .../idea/framework/TornadoFXFrameworkDetector.kt | 4 ++-- .../no/tornado/tornadofx/idea/icons/PluginIcons.kt | 2 +- .../tornadofx/idea/intentions/AddTableViewColumns.kt | 7 +------ .../tornadofx/idea/intentions/FXPropertyConverter.kt | 2 +- .../tornadofx/idea/intentions/GenerateViewModel.kt | 4 ++-- src/main/resources/META-INF/plugin.xml | 4 ++-- 13 files changed, 32 insertions(+), 29 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index eec0805..3cb106d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,7 +21,7 @@ repositories { } intellij { - version = "2020.3.1" + version = "2020.3.2" //updateSinceUntilBuild = false setPlugins("java", "properties", "Kotlin") } @@ -42,5 +42,13 @@ tasks { withType { kotlinOptions.jvmTarget = "11" } + + runIde { + jvmArgs("--add-exports", "java.base/jdk.internal.vm=ALL-UNNAMED") + } + + buildSearchableOptions { + jvmArgs("--add-exports", "java.base/jdk.internal.vm=ALL-UNNAMED") + } } diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/actions/NewViewAction.kt b/src/main/kotlin/no/tornado/tornadofx/idea/actions/NewViewAction.kt index c2f276a..4b57fb8 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/actions/NewViewAction.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/actions/NewViewAction.kt @@ -132,7 +132,7 @@ class NewViewAction : AnAction() { .createHtmlTextBalloonBuilder("TornadoFX was not found on your classpath. You must add it to reliably use the TornadoFX plugin.", MessageType.WARNING, null) .setFadeoutTime(7500) .createBalloon() - .show(RelativePoint.getCenterOf(statusBar.component), Balloon.Position.atRight); + .show(RelativePoint.getCenterOf(statusBar.component), Balloon.Position.atRight) return true } else { return layouts.findMethodsByName(builderName, true).isNotEmpty() diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSColorAnnotator.kt b/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSColorAnnotator.kt index 234c1a2..eea6079 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSColorAnnotator.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSColorAnnotator.kt @@ -132,7 +132,7 @@ class CSSColorAnnotator : Annotator { val resolvedRef = element.mainReference.resolve() if( resolvedRef is KtProperty) { - val expr = resolvedRef.children.last(); + val expr = resolvedRef.children.last() if (expr is KtExpression) { handelProperty( resolvedRef, diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunLineMarkerContributor.kt b/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunLineMarkerContributor.kt index 119dc62..2af8388 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunLineMarkerContributor.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunLineMarkerContributor.kt @@ -25,7 +25,7 @@ class TornadoFXRunLineMarkerContributor : RunLineMarkerContributor() { if (isApp || isView) { return Info( PluginIcons.ACTION, - Function { "Run TornadoFX ${if (isApp) "Application" else "View"}" }, + { "Run TornadoFX ${if (isApp) "Application" else "View"}" }, *ExecutorAction.getActions(0) ) } diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ErrorDialog.kt b/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ErrorDialog.kt index f37508f..fdc7fdf 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ErrorDialog.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ErrorDialog.kt @@ -12,5 +12,5 @@ class ErrorDialog(project: Project, private val error: String) : DialogWrapper(p init() } - override fun createCenterPanel(): JComponent? = JLabel(error) + override fun createCenterPanel(): JComponent = JLabel(error) } diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ExtractStringToResourceDialog.kt b/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ExtractStringToResourceDialog.kt index 5e1039b..5a0549f 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ExtractStringToResourceDialog.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/dialog/ExtractStringToResourceDialog.kt @@ -1,13 +1,13 @@ package no.tornado.tornadofx.idea.dialog import com.intellij.openapi.project.Project +import com.intellij.openapi.ui.ComboBox import com.intellij.openapi.ui.DialogWrapper import com.intellij.psi.PsiFile import com.intellij.ui.components.JBTextField import java.awt.GridBagConstraints import java.awt.GridBagLayout import java.awt.Insets -import javax.swing.JComboBox import javax.swing.JComponent import javax.swing.JLabel import javax.swing.JPanel @@ -21,8 +21,8 @@ class ExtractStringToResourceDialog( private val okAction: (String, String, PsiFile) -> Unit ) : DialogWrapper(project) { - private val resourcePathComboBox = JComboBox(resourcePathStrings).apply { - resourcePathStrings.maxBy { it.length }?.let { + private val resourcePathComboBox = ComboBox(resourcePathStrings).apply { + resourcePathStrings.maxByOrNull { it.length }?.let { prototypeDisplayValue = it } } @@ -38,7 +38,7 @@ class ExtractStringToResourceDialog( init() } - override fun createCenterPanel(): JComponent? = JPanel(GridBagLayout()).apply { + override fun createCenterPanel(): JComponent = JPanel(GridBagLayout()).apply { addGrid(0, 0, JLabel("resource:")) addGrid(1, 0, resourcePathComboBox) diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/editors/ViewEditor.kt b/src/main/kotlin/no/tornado/tornadofx/idea/editors/ViewEditor.kt index e6cda01..d2530ec 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/editors/ViewEditor.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/editors/ViewEditor.kt @@ -78,26 +78,26 @@ class ViewEditor(val project: Project, val myFile: VirtualFile) : FileEditor { } override fun getComponent(): JComponent { - return panel; + return panel } override fun getPreferredFocusedComponent(): JComponent? { - return null; + return null } override fun deselectNotify() { } override fun getBackgroundHighlighter(): BackgroundEditorHighlighter? { - return null; + return null } override fun isValid(): Boolean { - return true; + return true } override fun isModified(): Boolean { - return false; + return false } override fun addPropertyChangeListener(listener: PropertyChangeListener) { @@ -111,7 +111,7 @@ class ViewEditor(val project: Project, val myFile: VirtualFile) : FileEditor { } override fun getCurrentLocation(): FileEditorLocation? { - return null; + return null } override fun removePropertyChangeListener(listener: PropertyChangeListener) { diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/framework/TornadoFXFrameworkDetector.kt b/src/main/kotlin/no/tornado/tornadofx/idea/framework/TornadoFXFrameworkDetector.kt index f09fe7f..41fc9a2 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/framework/TornadoFXFrameworkDetector.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/framework/TornadoFXFrameworkDetector.kt @@ -22,10 +22,10 @@ class TornadoFXFrameworkDetector : FacetBasedFrameworkDetector { - return FileContentPattern.fileContent().withName(StandardPatterns.string().endsWith(".kt")); + return FileContentPattern.fileContent().withName(StandardPatterns.string().endsWith(".kt")) } - override fun createConfiguration(files: MutableCollection?) = facetType.createDefaultConfiguration(); + override fun createConfiguration(files: MutableCollection?) = facetType.createDefaultConfiguration() override fun getFileType(): KotlinFileType = KotlinFileType.INSTANCE diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/icons/PluginIcons.kt b/src/main/kotlin/no/tornado/tornadofx/idea/icons/PluginIcons.kt index 5132767..ef20113 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/icons/PluginIcons.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/icons/PluginIcons.kt @@ -4,5 +4,5 @@ import com.intellij.openapi.util.IconLoader object PluginIcons { @JvmField - val ACTION = IconLoader.getIcon("/icons/action.png") + val ACTION = IconLoader.getIcon("/icons/action.png", PluginIcons::class.java) } \ No newline at end of file diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/AddTableViewColumns.kt b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/AddTableViewColumns.kt index 2f916ec..caf1aca 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/AddTableViewColumns.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/AddTableViewColumns.kt @@ -131,14 +131,9 @@ class AddTableViewColumns : PsiElementBaseIntentionAction() { } - override fun createCenterPanel(): JComponent? { + override fun createCenterPanel(): JComponent { return component } - - override fun getOKAction(): Action { - - return super.getOKAction() - } } private fun getJavaFXProperties(psiClass: PsiClass): List = psiClass.allMethods diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/FXPropertyConverter.kt b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/FXPropertyConverter.kt index ae37c3b..6c307be 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/FXPropertyConverter.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/FXPropertyConverter.kt @@ -156,7 +156,7 @@ class FXPropertyConverter : PsiElementBaseIntentionAction(), LowPriorityAction { fun createPropertyElements(factory: KtPsiFactory, paramName: String, returnType: KotlinType, ktClass: KtClass, value: String, importList: MutableSet): Pair { importList.addAll(listOf("tornadofx.property", "tornadofx.getProperty")) - return factory.createProperty("var $paramName by property<${returnType.nameIfStandardType ?: returnType.lowerIfFlexible() ?: returnType}>($value)") to + return factory.createProperty("var $paramName by property<${returnType.nameIfStandardType ?: returnType.lowerIfFlexible()}>($value)") to factory.createFunction("fun ${paramName}Property() = getProperty(${ktClass.name}::$paramName)") } diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/GenerateViewModel.kt b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/GenerateViewModel.kt index 4b57da7..c2434b8 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/GenerateViewModel.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/GenerateViewModel.kt @@ -57,9 +57,9 @@ class GenerateViewModel : PsiElementBaseIntentionAction(), LowPriorityAction { .filter { it.hasValOrVar() && !it.isVarArg && it.name != null } .map(::PropDesc) - val properties = sourceClass.getBody()?.properties?.filterNot { it.name == null }?.filterNot { it.hasDelegate() }?.map(::PropDesc) ?: emptyList() + val properties = sourceClass.body?.properties?.filterNot { it.name == null }?.filterNot { it.hasDelegate() }?.map(::PropDesc) ?: emptyList() - val fxPropertyFunctions = sourceClass.getBody()?.declarations + val fxPropertyFunctions = sourceClass.body?.declarations ?.filter { it is KtNamedFunction } ?.filter { it.name?.endsWith("Property") ?: false } ?.map { PropDesc(it as KtNamedFunction) } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 4d7062c..c115169 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -20,7 +20,7 @@ ]]> - +Pretty sure it's the same as #113. Or atleast very closely related. I really hope this gets resolved soon, I had to disable the plugin, now I can only wait. @@ -28,7 +28,7 @@ org.jetbrains.kotlin com.intellij.properties - + From 08cbb0d582e6bbf17bad58ac55b20299254188e6 Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Sun, 2 May 2021 16:34:30 +0300 Subject: [PATCH 3/7] up kotlin version in template project --- .../tornadofx-gradle-project-kts.zip | Bin 62865 -> 62866 bytes .../tornadofx-gradle-project.zip | Bin 62600 -> 62590 bytes .../tornadofx-maven-osgi-ds-project.zip | Bin 15680 -> 15683 bytes .../tornadofx-maven-osgi-project.zip | Bin 16432 -> 16434 bytes .../tornadofx-maven-project.zip | Bin 14484 -> 14486 bytes .../build.gradle.kts | 2 +- .../tornadofx-gradle-project/build.gradle | 3 +-- .../tornadofx-maven-osgi-ds-project/pom.xml | 2 +- .../tornadofx-maven-osgi-project/pom.xml | 2 +- .../tornadofx-maven-project/pom.xml | 2 +- zip-template-projects.sh | 0 11 files changed, 5 insertions(+), 6 deletions(-) mode change 100644 => 100755 zip-template-projects.sh diff --git a/src/main/resources/projectTemplates/tornadofx-gradle-project-kts.zip b/src/main/resources/projectTemplates/tornadofx-gradle-project-kts.zip index adc661f04297cbd62266c2acc8f92cb23249942d..918b850f56e4ac6efdbae5894fb86d3330b630a0 100644 GIT binary patch delta 1939 zcmaJ>drT8|9RJ;2AJ;;qGAdZ8uz?IIWgy80100N3B7#&N?p1IhEa2wAS3m+m5SMIG zq5LfV;bhCij7?#>B7+cScm&xd8J*b{P#%4NP=rEZlDUDq>)o|iNp{Iy^80wf<;}9uK(~Du`R4B$i59oJ7Hwz!$ znc_R$2N=kEE<9~<6$$_rcvF_=aNEn6avq#lC}F2Qnm-q3G zj)BWIrWoc7$(t{;jOnaP51|Jk3kSA{=S?|w$ZRTRLwAkYEJzO1P0>`0wV8uqP16#EN$(oyLJPVDvK_eCa&tz8Zj5-V#@30XXQicTX^rwX=S1_vDXim953K{Z_Xp6v6%4rOvNUtBO=-)+evs&Mv&z z(7f0Y+<01r!M2Y3xBD799)5G|DMl`lqj|7UolvSKL`=CAFQ9|z?Q`~k?-v%H%kiYj==aOe|od`p%sqf6N{XRJhCW7jpV(8 zR0fYOy^bcJ#4!k_8(iTz%S(RG?~KAJd@E(_YvkkESzKFr2ofKPynI=TdSEs-U!#ck zJiJW6RSfI`7c|;faYo|+X;thD|SaJZi!Wj4sqzX zBry)fCIJ(l;HS*$SEc9$u9I2ZBNxWZuA*{9ijMN^W*Ms@hg3TkLU1YhEF&3RPfANv zS#4$nkvsW@I%zqA6HdM`Ovi(tnZ-;2s04Q`NKsrs`_S>AwDc$8RPfiUw*tl=ZHYyKYLQw A761SM delta 1780 zcmZuxeM}Q)7{B(t_F5_+r7(7UNDD(PP|8QFfGEXK{(!l%+Tvuua8BjJ5xzvm6d1bc z)F`~n>6C>z7mW)rKv3s!1Z9jkGF==7kc15w(DIGO1Y_L2ch@Ujc1fGd^Zb6#`+I)x zJx`4VR9k?PJ`vy!7<#1NyChdTg%R)HkIHCh_J&$Q1}k_%+~vZu9+ru=652*@I?*jk zpc3xzI2lX?{J_MlV6Tf5c!<;z8ZJTNbWrQLlM7z*tYv~xUIuHhwbm=XZxz60loS!B zM0NH`;|V=mr&XHBP~63l9K|Fi#FP{b%vzEOnte|DVsEkRW?_((L(Qq^m!}jr^FX;zET;0mq z&n2VypakRLlK{i;DeA8-`OO@DsO+bSlp_zS%G5h1wYYP4;)(5ojxTS%_;I(USJGS9 zEPGYfnxTATDE#>RdCih8^>pRNPv17h_S9cL(V`0*>OE-aU^8MndMIEfTLi zH~wh9WBfeKSfc+1H+!CY-j+7&=9G1Ri&6EnK9R@w0k*M(6H~E(G8$H!z2s;fBM%-i zgj0ipek#m^`o}QpTCmHNDHsMrfe-x9QwSSHjsgJ&w2knLIT$u9Ie|qkOTf-)e`ca2 zPf4C0%BOuPlC#jbouX)9zQqH+H!oxmhbTlli%{Y#^KvxXPevA&!}~ByH;!SOSv5$} z<;o_$RgI50JF~#Pwj2$)t}DPVl)|D;)OMZhe1N!X;1^OEI#O>hY5xKVp3w-l*99T9 z2l6c&33RS*kU2MN$qjZ-zi#WKbCCoMY?87_Qli?GS;WawL6g}D_>3U30vCvqo{fqtS3Yw zx*=+Fz|dJQIocX?gTLNQqIifOYv=MU8x4lctpe0)K`drRB+rtde2lF->&7o>`d=Zo zJ4Zr{<5nS#c0!nv+4Cgm;}E2fYL69))4L~qjs#QxSSyHJ3`M269~7!`m`kFz65W&i dF2b;2yPhH@G3er|Mzzt<<#{sp*kcntsm diff --git a/src/main/resources/projectTemplates/tornadofx-gradle-project.zip b/src/main/resources/projectTemplates/tornadofx-gradle-project.zip index 22167c1a6aab8157e41f3d878cb6b994841736ed..693e52e54ca2510e0ae51f9dc3f7acf08dc53a44 100644 GIT binary patch delta 1775 zcmZuy4^We382>)rjg2t|D+u^NLCBMBGDw2}fsjNGF#(YZEWnKGh_uY{p9={txjK;X zLdDr#f!;|J0&KOa|2rFyT#M|!_2f=gUm^vCxYq`SwgI)x1c(SRpun-nogs|Zr&mGaNlE9ny z0$5s`+U`m)pT1sre10!0L@|posr-Nkc?jiHk4_3~Tu6Y6S|8SGP5XwxA8Ggm9pK!2 zu8T?rk7#$$k$33wSb3pNEp!x$1}PS@StVj+Qq?UKvck;85iu_5XZ`o}9Fibr(biz}+V36i4&1i{gxudep-y;o!X-d(PFFQ-}8Gv3dWRJVT@_5SFU2lC+! zS+8yL%KU0;%d+`u<>%Lmrb@3&S^u(bpEcICDjQ<=XIH&=>E?BEraY(f!)1AJ>svts zbCJz`8&-Ndo?3a>|H9)x*PT7o)faVl%Thy=s_yNdGM2vB=LbvnNH)uA3e54V)1#-3 zMh1D$y>xq$>$4~Dxz>}iG5^lQAHu`e;!5opkSp zNFEF`2ExH5p}=LFKlSKjXc7QB79(vS;};R>u@N};3ufw*Ik@*QcO`_TI9=KQN;GmG zgH9CuQZI$s27kOJ@VF%u%1wSS&@2KPf`CfRM!4IYPA0-0Lnzu04jj~Q;RPh=a+B=W z2w}M;0%0kxA7R?L=AsqBh~)?-(qm={6nPMESR2XDKggw5ljW3IMBp-`L@O$15K0RL z!U0A|-4L|4<8KNy(Mq|SauaSL%8h;Eh#>nN2WOxm@lMG2QYgdr<_ZN0IG8QX(;gkG zGb1t?7wh7Ej~*^NCNEd8DX>Pi`xG!SM&dk0&FiHnT+L8**M*kk7TS|Mn!u;Bth6e| z)jf^-7}QpDqeSM=$*|+lh7;!+`xqRIUVOwQ@J;L91#X}*K5j4tKQfA$`A}OzXr9FC z=Dh95FFsN?NTh&)43VD7b{`iirhZdK3S4%YcvZQkz?k%yD8Tb)y}((Mz%hA@fzt9A z52vIEW{k>A0S*H^n&NP`g59xO4Ut}O!eAdWqk#fXP!0~fJpBJ@cHt5Qpqmw5F<+XD lZKxU633X|aflmEO!bF#Res8~cW`XqXz&C=sv{{mOL$SME; delta 1811 zcmZux3rv$&6u$kRw8&2p5a3@BGt4 z>?bBxO54nG3Pe6j>)i}SDMHxsb6lqUJmj0*A&YV1+)h48gO!RTG5MSp$F)$X*uvsk zV^*SQE7cm$ya5wF;mjOV*{2wlq)HG{&Jq-1Tf%Z4xQ!E{xmwlhqAjO|X;lSBgO%!6 zXM)XUwZ7eF212x@1a0*CD>(cNbi=}vMds|)Y zI`<*3T2t2MD}U7t>3qLUEzWN;)VfW58LRzH{Q7Xy*7!2dZBC}@@7G^X?;j{Vx%aMg zB++p9&2axit!*Erwry=FYq30@8gFWh)%jMtc%R*HIjr`9Q#SkD{yNL@<9?4{$}%N4 z8=?-?{C4c!w@&dp>uQ*Z%Cer;sM`nGu7kU#2Ub2B3P>_t*j-W|?4i4)II6#Q>ZUm) zw_)Q|_3iGQBc}(4-@j7w%k`ku*M1yX?b7u@=?zyQD6;MIb$rjg`?=Y}cdmvlvqt{j zS*V;WuXv~CLe*DrbI*V)nY3*H+Z!)cikiWnVq$av?BbUYfhgNt|x=U-V^9>>yhSi>k6riz$QVG+Sf z$P;lI!}*gcCWfIj9jX8hH*pkD&O5ymPomoqTK@o{I0q*}UwjzC+EL!H z<)PCouWr%y+hO=+fMGW}$ca?=ZQw@FW0=%%)UewpR7_$g=JXdb(y~C+Y5Xt53b>w*LdpWEaiGl-|?-q@(0Nuzc2s2A;bU)!(f!!Wq z_qKHzC8(l_5Ro1$j|^FBE0B$<*rzlZF*oTq-Nhi2KL7 zTU%1`4HFl{&%2Dy0ix?gDB8cck_JveN+`8fw@}9H{E3Y0KM5wm zQBRFaG1ct;eN|XSFaGN1N$IATHIO#0oTJ~5EYP!CKehjg0hQP$iSt0#K~RqAnL%=K O?vV3P5@Job5d8-pJBKy^ diff --git a/src/main/resources/projectTemplates/tornadofx-maven-osgi-ds-project.zip b/src/main/resources/projectTemplates/tornadofx-maven-osgi-ds-project.zip index f9eee249605bb328990fb79dc7d6832d2eb207ca..dfa0241322f58be4f28e25eb0af596b3d444b06d 100644 GIT binary patch delta 1861 zcmY*ZdpJ~S96ocw%ruTkYNxHnK?WIPTxK$ZGUc`jLrRGXt&);UGR0#Wk&2q(BbS&i zPs++LMVp>>YulphmM*kWx?xvEy5F|iZ_bG6{4vk-zVGk-e(!hY{C&NL)Bw7oOybP<*--}6+0}~L*uydIMOvP6I=JxB@u^Ghwy8gdRjJ(Xr5^J8=l$&srWpy!?bNJx^L^3xNkKjrr0d$h z3QtaneA}>DwP(%|Vy)-qz9+S(Z;518F_lVwl6UB=(oH!9LyEkNO!*e}oNM-9>Mpy6 z*RAVXEm-Mt1bzH4DQC~~=d8e-96B?+B8irk-g5BLU^jJ6Q{bzf7fU8thVOGhIcRy> zOikX0Z4`^FloHCbdc~w)RcC!dm-oNp?X?su!PFgR&gWhiZ@slzTqD?0Oo*zG9aALu z=5@~ZWUdLGHX$(|kh9B`l{t^z-pP>u*ZNz-M3dN|*F`H$UWWOrJsx>F{Vk0s`jB$_wjU$`;Ga!*@-wxY=bkH)U`3(Pv-s+ngTPTzWwaY@N~V5-uGm zit6E)I<8z@Hf69mHu-bp3YvuhtKyUF_LXYa(+gUC?VG($&U-5gu}o-jd?j4{6V=iA z^XsSBr~4Vdr$p|omWtMd}uutAzpnStFuYBw9aiXCU5A#tXW2)Jynvg?p618AKg^eJ0-q7O1a-Ochyiw_m1nmMoL+f zTon+*TG8|RzFb2>i_uuY^8-zNH(z!;yYI<1OzU|wBi~CM%zbi^)y_GVo}xO^yeqH4 zn{9WO7w_AoY>*e-nk#HgK9goHIdL#KE>7Ng`TC;Wt*HT>p$n$x-V+b>dLBO4v5j_W zSqNL*jJ|V-I~Ek@?Yno!(SrKg-e@;jrlrb6*mi|>qE};@lzBg<>~o#}o%KPDR@Juh z{vz8NP2wF?LEg6b<*H@1Ti3U<7+*Iuh_q?fKo0B(0jzWw`G5{e$KM2Yph}Hr&*u*gaeL@RJ zQbZW>oQ{-;93Y|Ln4wI3BO(X`84z;~afcV&Y#k!4<2`g#ej|mD*yxTCO^t@Dn4r^r z8YB%oFk;~-+0R8ms)yEI0)_FEk?MY~IWY5Nf;OI!mHvh!BFJBK1hGMMSqL!E0r?;m z`Ygd@C%W#+(eBzSUv^j12+PnWg(fv{$S6#xsDCi?+So6(f*=m_GwNaGeRU zoeM^cH5oQf0x~`dcDXo0p%n@z86!gd7!OeDW)206j}iS%M+6yvfj0Qsl6R7BN0lZW zZfd_01abK;_=RzJy@oL!92QI-jaO$oe2yU~m~IabZ=Q}3C)nwcG(dL~d~4w7wqYR; zzKTHjcDUa)=+t>0*f54uUKU`46d(~=fd@85V7E1WnD2n;m7I|Vn7|2k6**%>vBL;C fL@^nzKJJDQZMh>tmK_RAgiOHkL=6*o+K=Ra4yL}G delta 1774 zcmY+Ec{G%39LHx~gJH%PW)wzaC_7_@G1k!u*|XCTe*PH~W>iJPdbJxY;OoZ@E7 z9LdqWSz2yGvfLJHh&aNyHMy;~`@ADJz304td_TYM@Av$k=Y4-qdtyr>$i^U*B#&{TTMj$Pj#rrJBg$ewzaQj1!yHvOT_%*qeUvaHADWUhw-7 z-EO|WKPw%NAN_^(YeM(?8>q z9!b3`+TW8mZ76-2)m#q<}BkKLKec5yPOa(kvn4fpeM#rD53kd;439^0yZ zojCk!FRo;Ms8O-JGRlKb6Y|+FPES17ZUc(4yy@gcr?28zZnQ`%AVgCBGY$g!CGE(nO+Ac1`b3RR!(P#bJ zdlL-y+j`NC9N#i=s!c60&V}$^GkoJ*!5*!`t&P}*8{RSY1W8EF$N-lf+M84V$!J!2 zhAH;fi}MLuu=P4Td9R^a%zDx>n_7X(3O@HV`1c{D4CQ--E0`jCop`Mf?4sD77*nct zrh1Aq7$`WUXt>(NIs1Lb!316Rf&9&cK)2W%^T$4zt2iegJMc1~%E}_qi#I?LhZMxU z5CmU%@cNe4-;TURN_ejAWU?kA5lKoRwd#`q6 z9D0W*4P{JxdgvjMN5^Do8lunsyS^ z#gz+Op~~e#S13(+blK%97v#fHwR|jV@X~DyEAZ}E5*DG${J5(?63bZzURI!vqd{GH zO(7V}VO zYKi4Jm@I8|#Fl{o1?aN?=eRmBakDi8`HBKBAW|j+Yin%?B@hM^Amjn6iUY{CLE&vK z0~seu;WiTEyVFmVN>az54;H@VsT)Yp0H9lB&p=w0p)dqg2Q~!V6e>7kOGFNnrLfl4 zME}Q+I2SqYFN6h{unHTqvS5fFz}g#uOZJ98HV~^1#vF{nWjj2uutPTyWXC{8mZ2jA zFCn;U05koeU@?F0(as2_`+zzwZmA@n%|KF2;9=^6DmGfK3xYuum;jmu3eZz?G=;zd zE=bp3`gZ65p&MU*IN$rmV91!c4Hc-J3ka5IzL_NhS!D)+BgmG5S_raG5C)@m90o#Q gLg5C=IQkHXAjn+;3HVjO!%7{P^GI@GEOe>=02CUJI{*Lx diff --git a/src/main/resources/projectTemplates/tornadofx-maven-osgi-project.zip b/src/main/resources/projectTemplates/tornadofx-maven-osgi-project.zip index a32d9a3076a08e00e3bbb18f37f282874162e9ff..e223e6c652dc2d8c95b4941d028c2c4810ead2af 100644 GIT binary patch delta 1952 zcmY+F2~bm46o%i+0trcI44^0yf*4RCBwz@EKmdiZxCKeaTBU8)}?6Y+L@rV+0cT;U`VeE~fW>D=i3q?wl8_7_d(pyt-8#uSn9|J(>3|E2G zq97xMN-e>_d^=F=#%8WvLr2K=y4lLl=DtM=BXh8Gw2?aJ9A~5?F7dd+O8{2FR7|xV z5UxTgmatNAT9Ayd^Ib<_5$!H%xDp6*i5mMv+l<0Dxn`DPJN!OOl)59yf1gFvoqs3d3e+8`Pq$sS>CDW0oNc;2NBdSxk6e@B_^$UIb9pEF zEHLm;XVjqbW+pf}_;P1nE$3ue<)!0i^>c)pk_t7uZcmWcB@W>RJ;@U>Y}MSZ+>u;)pw=Pf zh;***W$JKg&6+^*q2V)b)*iFn0v74I$hAV@_ zR%)8$5Vs>W?8^2UY2npJ%M9)R{O7?tbfk8F?5 zl)U|Jbs+y)iLWZjwS4k7NqgE5N!6md9%HYz35&`)_dd!{I#TavJFY%sIo|f__@2r$ zzI%^JS>)&ng@4|0a;18_zHMpme(|Y4^CLf%`xeZ|*_&OuE2g2!StS%0g5&)YxYApW zVfV8Xs~^-GdThP)l%;K6;iyJFdBXJj9-Ua*- zj$8Lqax9}fbX(^S{ZEIRlLk+fj$eCG-@2+tI2z88In8^Q(^0hxw4EOnoopPN-B>wC zc27SqT6q4+!2Uf2&&#%URKE$0L^DQZ%-u(At{*Jv&Ik!dpK%h`Z~53_$7LKDGkg>G zq9D1~j?FEQ2JX$b>Cf?=D8BnUdDmA-!Kvz1PIe=q51(w+B;+-Kn#_oB?f> zNTpEq$1{G`WepS??p(f@ESJphzT7lnGqO+YS(X@86FyrIre$_&N}hT&y0;AdBfIaZ z?9x!RI@>E<75oK{iy~dZ?dC41kgUA@GhVd z6Eu^y1fLmV%89w=gJQac(Og+D(sA`8V-OCZp1ylZaY2OHB}h1|RTydA%33y)$V%jq z8s%8bC&s>lzY#`^@x$$|n@~4LJ3%N35rQv60sSw<+MV z%mFxg+rvFWy?G=76@mo--~g5KNE!?Xfr$)rERgX?V;EQrvT<+}0;LHASchC69_cnF zWT42G4)T1kkU9ugnodC$VEfuTAT$K4>iK$PxeP@R2E2hHrmBJxsomdA_%F&miEg@l zd8Bgs=NzsKK=HQ*u^y(=xiWiBJEdT;@VoYlT;pa_ao)r+y_drl82=X;>*olI%=hDw z(wRn(3eLH4j5oplKfbtAzu2UY1!}~0;PqnW^f_3=tTV+t(wrG^g%37~xzle6kCaKU zVmcFqc-T$1kg>*a{RS+b3UBSmFS7Sf`^~^v4+e;l_`&2mJa{B;3p{x-9a{*2aF!>J zRAh<67*FTVJBplfrsA7{2q|_dY4Bt#rlCFPliES}0m5h(+$nH011r2RsDUY83vl?# zfdzWSbBQylmhea>LY$vqa=?THGpk|84H#4qrX(-;0*P?bX)i}G*WcVk?+$xJ{sR?= B&)@(6 delta 1974 zcmZ`(2~bm46#YpcJAsg}s^KG>5(tp6qzRiW3W5+2j5}Zvuxu(IR-^%CQ4}G4mRdn& zR0OMnDDKLrD6T{Xgh4V`utjl9_Yfx#!(?-@Erz4&h`Dfh7wf zY0(jciXhA*reR8!P%FN2ZWK_83_vSIn?O}YEr)R0S(&hJ<*JHOtF?aNK1MltI|u7-Q8w>7Vtw~EU!mxH zDU=^yzwE@Kgp9ZuA=T}i@egZ1#m=;hy?(weZ(+hk{)VG(|GHA?w`^}#dsg8ZbZ30cVmINKzs(18Jg)Eur<8PPe z_x^lL`m7Lr>i+x}mfXy`Cw=X@{g3s}DE821`VLqx_`aY1u0FqZxUSrwf~$2ezekwS z2yQnB_N;cd+t^Wd=G>ZCdI7DbvaL&DB#E2ep?t8TYg(si?TkNud@}gHAfz}b^VaH{ zEe$HJ58d54{=|YRq2gh4+1urn8D%;h{8-;tMWOOZ`by!%P<7MfK*818vSjY)u&bh4 z*Pt*4d81!cQ|g#ACeK_fjj#_0JG41^Bx-M(@rSMxCE==RuYR-aSIx|fAn)$a;Z!y4 zX(78*Wz$O@E1QB^D@T;{gpoV`k9!UkRIRIuGubiCeY2G?@L5@)=tBNDb@$=8_fEU+ zEp;QDNi>a*`=Lf>m#W*9XS=54c#8Ov!f#@TXIYvx+a+FgyQPWOLG4qp_Ue%8N;zDKZai|L!PiNS!<^M!K8 z!g&qHCUZ81-Y_3p);nnU@IqmO;eawLL0Xh084C{WX3a|smcCV_$5#uBTUwMk=UVa< zFU|1^1X#gW{IZ1xj$6hpRel4@GSoz$EFS^(_w5%&r z-cn2uY&U6YDYUXZP%`&8H&V|mvtrZUi{(u!X?t?=ny{Di5+<&hJQ`i`_b2o{ z{xT{C97kym9uWP?#qCdzaixY@SgV46>=)qck%BXt8;T)0)!pC# zKL(d@?1G_1wB39RoxWn{Mu4#1iwllAN^t6(<6Qz-Jt{!AmN#x8!v+L!(e~Fs>NA;v zR+`>_&ZJh4Ys)m$@#MuCsGE!>V*u33MU>Sz!p9Jpq^Co~0r`wH_2Kr>QgDJte+rZ6 zq^!fx>7`UJg8HoEj5v+(Y~}`BP1fmR5r{m}*O3QQLT?hBd4Mf8fku3h!sdVG9Ab>$ zE&=`@&TZ2|0GrIy{WABo@wo@WTriiV5|qfIg0-Gjpv{@5PPpEI3qrk^#6&g!+CdkP zy^TSmm;wWGol#;a4G(~?0dS?}7I4&JPs+&0GUOKAk_^Xf#5XCN{j4_tr5qjzb~l4Y zu2Pi9U`!dg;5+PcqkJ~&?F+Pbg=TK>C;G-Lo{7iMyqus(k~>PE1GWSOC7xu^%2j6y zec)P%CrUhK0mUJo-xNx`VTlJjOnMI$BSi~yDyV@4qJ z5NDi0kPB9iL>H9g#fMQ$3ApWoXVKo%MnXrK6vOn ped>W>x0@Os$nAvt#=}=7|K>s>oiKd>X#CC=@Vr^%%R(%@e*vx8tD67- diff --git a/src/main/resources/projectTemplates/tornadofx-maven-project.zip b/src/main/resources/projectTemplates/tornadofx-maven-project.zip index 5051dc0f0367eb3ca10dbbe3d941915b35639884..cea2913a5c460819199c69cb7486fa60f15ac71f 100644 GIT binary patch delta 1679 zcmZvcc~nzJ6vkg(LN+i44U0hGK|%rv2?+@V1q5q6psc4A0gL)TK(qlu6~xj?s6`Yg zXeU^gxYkn^6@ucvfh`CsT2osUr7l>i@wl|MAgxH>A|>|p{W0f!zq$9$%zg8XA%9ao zCn1_jV?+2ivvkjU8#z)&)81 zB3p<;dq{;K+9Pb}NsO)Om2*$OknE|yext4FnnS?N=)?wd)BJ{8jY<8R(V!Oot zuoCZHWp>j~uj3wTZPF?x8mPv!gI`B?ztM(@KXcx zfKz*Q&Va6kw`$Ory*`Q})ou0WwO@FMBrhvD(xGu(DLMr?1f?x@DJB=>pX5A(W;O{$E` zVNHJ8>jmGe%Q8d`&b@x?y zCClsDc38gnZomT9J#ly^7~QqPVCqR+u;TpSXzQ*9mt&XIfhd)yND{9|=^M43aK!IG z$g%De^Zimom-lXu&8lZ{T}KmUrx!x~Cd=W8+3y|_sGr6B89eR7>qYza@(*shc+Sz~ zt0Cd~9In)-JO1L_?I9=iX=gj+Cuz#U`Fd@Mem?&ON79S-<-57t8mpdL(5+R2svX?8 z42|Zwv~u}+(X^jE%uarb8+&p;i7-uFSpVs)T$<>?nL@X^m6Km}$DE*yYUO>cC5r8p z7g~)YBKF^Ttq1FuEjN6So^>|8F8-sJuH&}Ks~t)p{PkvV2hnsfad}CD*^6W#-hUEk zW-zQS_*I6EP#R`GW{(%FIk-9$!Jg?z+JVRtFo8+IW@Fdb(==rf?o!fC!=9wKlD$%~ zdwROMyOmH974mm`$YT2%bR14{#Sm}Wk-KIn+^`KPh3c^J!a98PxF?$gY z=oNM_l>+oZVi2dop-zRsnK+PvHkBtIYuSI>r-Gc{G?EKFnQ;-14Fb~w@#NG%1fB|G zAOsvIz%2~y$3Zv<4Z!*wxJm+<-z1P7>wT0g3(+Y|&DG1g;{14KonD^v8Q$B}d?X4iR-(E_pk9r8mKw z6nJ*80)cOi0X9&3If1YMyuyM21g;elkvju?F))Iar1%gZT;WT$%^73%z648UO#)gu op1Fbkb}w&}0S{!7vAe_reF1jxNimUVs}ur#Fo*t^AO1`K0RdZ7_W%F@ delta 1750 zcmZuy2~bm46#f5a4_SZ&BoLc`CX&R2B>_^=2$e+y5s*|X2*wR6FcftJTQCG2HxR_9 z=`i3@a9<)A(4iHnViBoMtBe#-J33Na5VuxD>(cjs0>+vCKR+|~ymQaJ@4kCq%y~QW zI0>;NG7~}Q2*Nt(nOMnDk~8*2r2|ud8#={p{SE{;Zb!^E}!u<{g%ww}$2UMVe4$ z@S@xG$9xp!NhyI7KhFzz+&ahncDFX(I^H}tLbs!$!gbq|QqA+>WVv*tGrhR^X<~fD z#e%ahT3e@5^WPU~XH@Y+XEkR0o_gZ#iSAz43;d@tnzn6etZ93|+c$p+{w!&}9QgO6 zy+-y|?puQlo7zyJuCKWIbs=ihO)pXll7#*i&A^5=ZEh*@!6H|3R_v-%XG1pnCij<_ zenD3a&q!e%@TtAbJrt4ILLbgnZz?^|Vf`&}W&|_S)HV4BdUq7z_oym*0@^PNtaOSu=Qd2iIaNOZJ2Lf7~+V_}Ki;s4ObyC;Py1vB4tKjNC zZ6_xTx6&T{m=>Q{GmvB9_awHMdv2xPX>8d?qOo?CyPiIGxb%I``@QZO{iG)^^z0rZ z5_x48bK#e-KE$mbAA6r;S!G^bAeO9*c|ZaKy^PoH@|Y{kMZ)eD4w{o`?jNW+f<|Wy zd7a#~I-+~Uyq+)ay-1TZuxlxjwau|N8mwIH&>4^A`HR{+-(8AN$fDd_9GP-Fw7hMJ z3Am(9i>to2r=53UOW9`nIYXZ6dBmlkqKn>?EQ@RE-Ih;3eM#Nq*Rk!+hFjm4*A<4G z|8Dtp?nuV^hlk#kKCICnyeHHpY76U{B5zdJ^|`A5byKu<+!c-XC+K5MbL`4~*(|&x zLAZP!(Z9eb(SYS_o+HPg;e*5MRDw5-(}mK3KsKAO*2-2uYmh@|SZ8w8?zUcM_|7EO zm-;r0szy61-j&$Y5~Oj^f44LeXIo!Nc_=j7r36q* zT4vjpfwIuip_h_LtS3|VaZv0t(#Hz{FqNVBECUyny+jRxVk`*(4Qfv?6gYLl|6K-% z2ZBE+{Pvq_NH~`}b~jLny8-G6V96@fV$7ck2|8P%M?%EdX51Eo!4QQlSA|N9WzYyL zNTYyG28|fIYy&#jL7+z?f?yEz6f+3cY?&+A5`u#xkU3}rMO-e32@=}EvBK4euC`uYx>K1;MOQkPjXbpp%~%yEY06!4f~58IJKml^+Y6?rWFuwuJ&@e=&Ay z6pX?T6HnDkTDYPcrn(oNVALmvDU;a+Bp{9K1l9%E3%UvF80BMY>qtz{rN(Pypzt}i zZm{h&T``tHJ%tALD}_@0PsSFv_QA9Jdtlrl_{Dq@_YX%m3Q$tnP~U@3q2dJbundle - 1.4.20 + 1.4.32 1.7.20 diff --git a/template-projects/tornadofx-maven-osgi-project/pom.xml b/template-projects/tornadofx-maven-osgi-project/pom.xml index 55e5c2a..f707137 100644 --- a/template-projects/tornadofx-maven-osgi-project/pom.xml +++ b/template-projects/tornadofx-maven-osgi-project/pom.xml @@ -12,7 +12,7 @@ bundle - 1.4.0 + 1.4.32 1.7.20 diff --git a/template-projects/tornadofx-maven-project/pom.xml b/template-projects/tornadofx-maven-project/pom.xml index 547851f..0f6c4a6 100644 --- a/template-projects/tornadofx-maven-project/pom.xml +++ b/template-projects/tornadofx-maven-project/pom.xml @@ -10,7 +10,7 @@ jar - 1.4.0 + 1.4.32 1.7.20 diff --git a/zip-template-projects.sh b/zip-template-projects.sh old mode 100644 new mode 100755 From f7bad6656d595b30866228a2f425aaf4bd50cf94 Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Sun, 2 May 2021 16:41:15 +0300 Subject: [PATCH 4/7] update build.gradle.kts, up version intellij, append untilBuild="" --- build.gradle.kts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3cb106d..0c94cc6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,3 @@ -import org.jetbrains.intellij.tasks.RunIdeTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.intellij.tasks.PatchPluginXmlTask import org.jetbrains.intellij.tasks.PublishTask @@ -6,12 +5,12 @@ import org.jetbrains.intellij.tasks.PublishTask plugins { idea java - kotlin("jvm") version "1.4.30" - id("org.jetbrains.intellij") version "0.7.2" + kotlin("jvm") version "1.4.32" + id("org.jetbrains.intellij") version "0.7.3" } group = "no.tornado" -version = "1.7.20-1-dev" +version = "1.7.20-1" val publishUsername: String by rootProject.extra val publishPassword: String by rootProject.extra @@ -21,13 +20,17 @@ repositories { } intellij { - version = "2020.3.2" + version = "2021.1.1" //updateSinceUntilBuild = false setPlugins("java", "properties", "Kotlin") } tasks { - // withType { } + withType { + version(project.version) + sinceBuild("203") + untilBuild("") + } withType { username(publishUsername) From 7f760ecbcb45a8865a434b39e005189e91a2149e Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Mon, 3 May 2021 12:01:25 +0300 Subject: [PATCH 5/7] class FXTools - convert to object --- .../no/tornado/tornadofx/idea/FXTools.kt | 68 +++++++++---------- .../idea/actions/InjectComponentAction.kt | 2 +- .../idea/annotator/CSSBoxAnnotator.kt | 2 +- .../TornadoFXRunConfigurationProducer.kt | 2 +- .../intentions/ConvertAllPropertiesToFX.kt | 2 +- 5 files changed, 37 insertions(+), 39 deletions(-) diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/FXTools.kt b/src/main/kotlin/no/tornado/tornadofx/idea/FXTools.kt index 2316ea2..d27ae7f 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/FXTools.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/FXTools.kt @@ -12,48 +12,46 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.typeUtil.supertypes -class FXTools { - companion object { - fun isComponent(psiClass: PsiClass) = isType("tornadofx.Component", psiClass) - fun isFragment(psiClass: PsiClass) = isType("tornadofx.Fragment", psiClass) - fun isUIComponent(psiClass: PsiClass) = isType("tornadofx.UIComponent", psiClass) - fun isApp(psiClass: PsiClass) = isType("tornadofx.App", psiClass) - fun isView(psiClass: PsiClass) = isType("tornadofx.View", psiClass) - fun isStylesheet(psiClass: PsiClass) = isType("tornadofx.Stylesheet", psiClass) +object FXTools { + fun isComponent(psiClass: PsiClass) = isType("tornadofx.Component", psiClass) + fun isFragment(psiClass: PsiClass) = isType("tornadofx.Fragment", psiClass) + fun isUIComponent(psiClass: PsiClass) = isType("tornadofx.UIComponent", psiClass) + fun isApp(psiClass: PsiClass) = isType("tornadofx.App", psiClass) + fun isView(psiClass: PsiClass) = isType("tornadofx.View", psiClass) + fun isStylesheet(psiClass: PsiClass) = isType("tornadofx.Stylesheet", psiClass) - fun isType(type: String, psiClass: PsiClass): Boolean { - for (supa in psiClass.supers) - if (type == supa.qualifiedName) { - return true - } else { - val superIs = isType(type, supa) - if (superIs) return true - } + fun isType(type: String, psiClass: PsiClass): Boolean { + for (supa in psiClass.supers) + if (type == supa.qualifiedName) { + return true + } else { + val superIs = isType(type, supa) + if (superIs) return true + } - return false - } + return false + } - fun isTornadoFXType(psiClass: PsiClass): Boolean { - for (supa in psiClass.supers) - if (supa.qualifiedName?.startsWith("tornadofx.") == true) { - return true - } else { - val superIs = isTornadoFXType(supa) - if (superIs) return true - } + fun isTornadoFXType(psiClass: PsiClass): Boolean { + for (supa in psiClass.supers) + if (supa.qualifiedName?.startsWith("tornadofx.") == true) { + return true + } else { + val superIs = isTornadoFXType(supa) + if (superIs) return true + } - return false - } + return false + } - fun containsTornadoFXImports(file: KtFile) = file.importList?.imports?.find { - it.importedFqName?.asString()?.contains("tornadofx") ?: false - } != null + fun containsTornadoFXImports(file: KtFile) = file.importList?.imports?.find { + it.importedFqName?.asString()?.contains("tornadofx") ?: false + } != null - fun psiClass(className: String, project: Project) = - JavaPsiFacade.getInstance(project).findClass(className, project.projectScope()) + fun psiClass(className: String, project: Project) = + JavaPsiFacade.getInstance(project).findClass(className, project.projectScope()) - fun isJavaFXProperty(type: KotlinType?) = type?.supertypes()?.find { it.getJetTypeFqName(false) == "javafx.beans.property.Property" } != null - } + fun isJavaFXProperty(type: KotlinType?) = type?.supertypes()?.find { it.getJetTypeFqName(false) == "javafx.beans.property.Property" } != null } diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt b/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt index 25b8f21..39e5939 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/actions/InjectComponentAction.kt @@ -16,7 +16,7 @@ import com.intellij.psi.util.PsiTreeUtil import com.intellij.ui.EditorTextField import com.intellij.ui.EditorTextFieldWithBrowseButton import no.tornado.tornadofx.idea.FXTools -import no.tornado.tornadofx.idea.FXTools.Companion.isComponent +import no.tornado.tornadofx.idea.FXTools.isComponent import org.jetbrains.kotlin.idea.core.ShortenReferences import org.jetbrains.kotlin.idea.search.allScope import org.jetbrains.kotlin.idea.search.projectScope diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSBoxAnnotator.kt b/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSBoxAnnotator.kt index ef5fbf8..1ce8ba1 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSBoxAnnotator.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/annotator/CSSBoxAnnotator.kt @@ -7,7 +7,7 @@ import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiClass import com.intellij.psi.PsiElement import com.intellij.psi.util.PsiTreeUtil -import no.tornado.tornadofx.idea.FXTools.Companion.isStylesheet +import no.tornado.tornadofx.idea.FXTools.isStylesheet import no.tornado.tornadofx.idea.quickfixes.css.BoxQuickFix import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil import org.jetbrains.kotlin.idea.references.KtInvokeFunctionReference diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunConfigurationProducer.kt b/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunConfigurationProducer.kt index 1b0492a..464b850 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunConfigurationProducer.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/configurations/TornadoFXRunConfigurationProducer.kt @@ -8,7 +8,7 @@ import com.intellij.execution.configurations.runConfigurationType import com.intellij.openapi.util.Ref import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiElement -import no.tornado.tornadofx.idea.FXTools.Companion.isApp +import no.tornado.tornadofx.idea.FXTools.isApp import no.tornado.tornadofx.idea.configurations.TornadoFXConfiguration.RunType.App import no.tornado.tornadofx.idea.configurations.TornadoFXConfiguration.RunType.View import no.tornado.tornadofx.idea.firstModuleWithTornadoFXLib diff --git a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/ConvertAllPropertiesToFX.kt b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/ConvertAllPropertiesToFX.kt index e573246..94147b2 100644 --- a/src/main/kotlin/no/tornado/tornadofx/idea/intentions/ConvertAllPropertiesToFX.kt +++ b/src/main/kotlin/no/tornado/tornadofx/idea/intentions/ConvertAllPropertiesToFX.kt @@ -9,7 +9,7 @@ import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiElement import com.intellij.psi.util.PsiTreeUtil import no.tornado.tornadofx.idea.FXTools -import no.tornado.tornadofx.idea.FXTools.Companion.isJavaFXProperty +import no.tornado.tornadofx.idea.FXTools.isJavaFXProperty import no.tornado.tornadofx.idea.facet.TornadoFXFacet import no.tornado.tornadofx.idea.facet.TornadoFXFacetType import org.jetbrains.kotlin.idea.KotlinLanguage From 1ef29158a07dbaf6c5657b9ea02db5968d682b6a Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Mon, 3 May 2021 13:42:21 +0300 Subject: [PATCH 6/7] fix deprecate JavaFX plugin: https://blog.jetbrains.com/platform/2020/07/javafx-and-jcef-in-the-intellij-platform/ --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0c94cc6..dc6e8f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } group = "no.tornado" -version = "1.7.20-1" +version = "1.7.20.1" val publishUsername: String by rootProject.extra val publishPassword: String by rootProject.extra @@ -22,7 +22,7 @@ repositories { intellij { version = "2021.1.1" //updateSinceUntilBuild = false - setPlugins("java", "properties", "Kotlin") + setPlugins("java", "properties", "Kotlin", "com.intellij.javafx:1.0.3") } tasks { From d7527fbbe804a8af2d18797babb48cad1cc461a6 Mon Sep 17 00:00:00 2001 From: "Sch.Funtik" Date: Mon, 10 May 2021 13:12:40 +0300 Subject: [PATCH 7/7] release 1.7.20.1 --- build.gradle.kts | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/resources/META-INF/plugin.xml | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index dc6e8f7..cd52a30 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,22 +26,17 @@ intellij { } tasks { - withType { + patchPluginXml { version(project.version) sinceBuild("203") untilBuild("") } - withType { + publishPlugin { username(publishUsername) password(publishPassword) } - withType { - sourceCompatibility = "11" - targetCompatibility = "11" - } - withType { kotlinOptions.jvmTarget = "11" } @@ -55,3 +50,8 @@ tasks { } } +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 +} + diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 186b715..442d913 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index c115169..b8a5d81 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -9,6 +9,10 @@ ]]> 1.7.20.1 2021-05-10 +
    +
  • Support IDEA 2020.3
  • +

1.7.20 2020-08-24

  • Support kotlin 1.4