diff --git a/.github/workflows/mvn.yaml b/.github/workflows/mvn.yaml
new file mode 100644
index 00000000..e206a9e9
--- /dev/null
+++ b/.github/workflows/mvn.yaml
@@ -0,0 +1,26 @@
+---
+name: mvn
+on:
+ push:
+ branches:
+ - master
+ - develop
+ - feature/**
+ pull_request:
+ branches:
+ - master
+ - develop
+jobs:
+ test:
+ name: Tests
+ strategy:
+ matrix:
+ os: [ubuntu-20.04, windows-2022, macos-12]
+ java: [1.8]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+ - run: mvn clean install --errors --batch-mode
diff --git a/.gitignore b/.gitignore
index ad221e3c..558ff61c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,16 @@
*.backup
*.exe
/bitrock/*.run
-/.idea/dictionaries/*.xml
-/Games/*.temp
-/.idea/dictionaries/mbalanov.xml
+# Temporal
/Games/*.temp
+# Idea
+.idea/
+# Maven
+target/
+bin/
+# Eclipse
+.project
+.classpath
+.settings/
+# NetBeans
+nb-configuration.xml
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..b719e052
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,210 @@
+
+
+
+ 4.0.0
+
+ ifml2
+ ifml2
+ 1.0-SNAPSHOT
+ jar
+
+ IFML2
+
+
+ UTF-8
+ 1.8
+ ${java.version}
+ ${java.version}
+ ifml2.Launcher
+
+
+
+
+ log4j
+ log4j
+ 1.2.17
+
+
+ net.java.dev.glazedlists
+ glazedlists_java15
+ 1.9.1
+
+
+ com.sun
+ rt
+ 1.8
+ system
+ ${java.home}/../jre/lib/rt.jar
+
+
+ org.jetbrains
+ annotations
+ 23.0.0
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.5.1
+ test
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ 2.2.11
+
+
+ com.sun.xml.bind
+ jaxb-core
+ 2.2.11
+
+
+ com.intellij
+ forms_rt
+ 4.5.4
+
+
+
+
+ src
+ unittests
+
+
+ ${project.basedir}/src/ifml2/editor/gui/images
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.4.2
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.2
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.3.0
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.1.0
+
+
+ com.amashchenko.maven.plugin
+ gitflow-maven-plugin
+ 1.18.0
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ true
+
+ true
+ ifml2.Launcher
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+
+
+ exec
+
+
+
+
+ ${java.home}/bin/java
+ ifml2.Launcher
+
+ -cp
+ target/${project.build.finalName}-jar-with-dependencies.jar
+ ${exec.mainClass}
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ copy-resources
+ package
+
+ copy-resources
+
+
+
+
+ target/classes/ifml2/editor/gui/images
+
+
+ ${project.basedir}/src/ifml2/editor/gui/images
+
+
+
+
+
+ com.amashchenko.maven.plugin
+ gitflow-maven-plugin
+
+
+ master
+ develop
+ feature/
+ release/
+ hotfix/
+ support/
+ v
+ origin
+
+ true
+ true
+
+
+
+
+
diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF
deleted file mode 100644
index 5076332a..00000000
--- a/src/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: ifml2.Launcher
-
diff --git a/src/ifml2/editor/gui/ShowMemoDialog.form b/src/ifml2/editor/gui/ShowMemoDialog.form
index e9e9c4dd..ff923eb6 100644
--- a/src/ifml2/editor/gui/ShowMemoDialog.form
+++ b/src/ifml2/editor/gui/ShowMemoDialog.form
@@ -37,7 +37,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/ActionEditor.form b/src/ifml2/editor/gui/editors/ActionEditor.form
index 21a93934..15b1b0f6 100644
--- a/src/ifml2/editor/gui/editors/ActionEditor.form
+++ b/src/ifml2/editor/gui/editors/ActionEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/ActionsEditor.form b/src/ifml2/editor/gui/editors/ActionsEditor.form
index 2b01411c..f2a6c74a 100644
--- a/src/ifml2/editor/gui/editors/ActionsEditor.form
+++ b/src/ifml2/editor/gui/editors/ActionsEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/DictionaryEditor.form b/src/ifml2/editor/gui/editors/DictionaryEditor.form
index 252dcc0a..e4fdaad8 100644
--- a/src/ifml2/editor/gui/editors/DictionaryEditor.form
+++ b/src/ifml2/editor/gui/editors/DictionaryEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -197,14 +197,14 @@
-
+
-
+
diff --git a/src/ifml2/editor/gui/editors/HookEditor.form b/src/ifml2/editor/gui/editors/HookEditor.form
index 24ec44d1..9ad5c5ef 100644
--- a/src/ifml2/editor/gui/editors/HookEditor.form
+++ b/src/ifml2/editor/gui/editors/HookEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -109,7 +109,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
@@ -126,7 +126,7 @@
-
+
@@ -152,7 +152,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/InheritedSystemProceduresEditor.form b/src/ifml2/editor/gui/editors/InheritedSystemProceduresEditor.form
index c9db37da..50feb7b3 100644
--- a/src/ifml2/editor/gui/editors/InheritedSystemProceduresEditor.form
+++ b/src/ifml2/editor/gui/editors/InheritedSystemProceduresEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -84,7 +84,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/InstructionsEditor.form b/src/ifml2/editor/gui/editors/InstructionsEditor.form
index bbd1be85..6b2fa528 100644
--- a/src/ifml2/editor/gui/editors/InstructionsEditor.form
+++ b/src/ifml2/editor/gui/editors/InstructionsEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -89,13 +89,13 @@
-
+
-
+
@@ -116,19 +116,19 @@
-
+
-
+
-
+
diff --git a/src/ifml2/editor/gui/editors/ItemEditor.form b/src/ifml2/editor/gui/editors/ItemEditor.form
index 2c05d0cc..f189e01e 100644
--- a/src/ifml2/editor/gui/editors/ItemEditor.form
+++ b/src/ifml2/editor/gui/editors/ItemEditor.form
@@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -201,7 +201,7 @@
-
+
@@ -239,7 +239,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/LiteralElementEditor.form b/src/ifml2/editor/gui/editors/LiteralElementEditor.form
index ac52f415..4b4d4ec7 100644
--- a/src/ifml2/editor/gui/editors/LiteralElementEditor.form
+++ b/src/ifml2/editor/gui/editors/LiteralElementEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -88,19 +88,19 @@
-
+
-
+
-
+
@@ -133,7 +133,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/LocationEditor.form b/src/ifml2/editor/gui/editors/LocationEditor.form
index cb7fc6ba..0ae8cf1e 100644
--- a/src/ifml2/editor/gui/editors/LocationEditor.form
+++ b/src/ifml2/editor/gui/editors/LocationEditor.form
@@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -273,19 +273,19 @@
-
+
-
+
-
+
@@ -414,7 +414,7 @@
-
+
@@ -443,19 +443,19 @@
-
+
-
+
-
+
diff --git a/src/ifml2/editor/gui/editors/ObjectAttributesEditor.form b/src/ifml2/editor/gui/editors/ObjectAttributesEditor.form
index 46e0a1d1..565537e2 100644
--- a/src/ifml2/editor/gui/editors/ObjectAttributesEditor.form
+++ b/src/ifml2/editor/gui/editors/ObjectAttributesEditor.form
@@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/ObjectElementEditor.form b/src/ifml2/editor/gui/editors/ObjectElementEditor.form
index 30272409..0c392a46 100644
--- a/src/ifml2/editor/gui/editors/ObjectElementEditor.form
+++ b/src/ifml2/editor/gui/editors/ObjectElementEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -87,7 +87,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/ProcedureEditor.form b/src/ifml2/editor/gui/editors/ProcedureEditor.form
index 0bc1791a..b779b924 100644
--- a/src/ifml2/editor/gui/editors/ProcedureEditor.form
+++ b/src/ifml2/editor/gui/editors/ProcedureEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/ProceduresEditor.form b/src/ifml2/editor/gui/editors/ProceduresEditor.form
index 960a478b..60f179cb 100644
--- a/src/ifml2/editor/gui/editors/ProceduresEditor.form
+++ b/src/ifml2/editor/gui/editors/ProceduresEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/RestrictionEditor.form b/src/ifml2/editor/gui/editors/RestrictionEditor.form
index 0d657942..c0925ea2 100644
--- a/src/ifml2/editor/gui/editors/RestrictionEditor.form
+++ b/src/ifml2/editor/gui/editors/RestrictionEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -95,7 +95,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/RoleEditor.form b/src/ifml2/editor/gui/editors/RoleEditor.form
index e8d7790d..96ec9486 100644
--- a/src/ifml2/editor/gui/editors/RoleEditor.form
+++ b/src/ifml2/editor/gui/editors/RoleEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/StoryOptionsEditor.form b/src/ifml2/editor/gui/editors/StoryOptionsEditor.form
index 606a0cc8..d2d7760b 100644
--- a/src/ifml2/editor/gui/editors/StoryOptionsEditor.form
+++ b/src/ifml2/editor/gui/editors/StoryOptionsEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -145,7 +145,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/TemplateEditor.form b/src/ifml2/editor/gui/editors/TemplateEditor.form
index df55f1d7..41b4479e 100644
--- a/src/ifml2/editor/gui/editors/TemplateEditor.form
+++ b/src/ifml2/editor/gui/editors/TemplateEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/editors/UsedLibsEditor.form b/src/ifml2/editor/gui/editors/UsedLibsEditor.form
index c1347244..b448e9da 100644
--- a/src/ifml2/editor/gui/editors/UsedLibsEditor.form
+++ b/src/ifml2/editor/gui/editors/UsedLibsEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -87,14 +87,14 @@
-
+
-
+
diff --git a/src/ifml2/editor/gui/editors/WordLinksEditor.form b/src/ifml2/editor/gui/editors/WordLinksEditor.form
index f01af746..826b3b9d 100644
--- a/src/ifml2/editor/gui/editors/WordLinksEditor.form
+++ b/src/ifml2/editor/gui/editors/WordLinksEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -159,13 +159,13 @@
-
+
-
+
@@ -211,7 +211,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/GoToLocInstrEditor.form b/src/ifml2/editor/gui/instructions/GoToLocInstrEditor.form
index e84edd69..7af1b4c0 100644
--- a/src/ifml2/editor/gui/instructions/GoToLocInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/GoToLocInstrEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
@@ -101,7 +101,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/IfInstrEditor.form b/src/ifml2/editor/gui/instructions/IfInstrEditor.form
index ef953991..e9ab8460 100644
--- a/src/ifml2/editor/gui/instructions/IfInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/IfInstrEditor.form
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/MoveItemInstrEditor.form b/src/ifml2/editor/gui/instructions/MoveItemInstrEditor.form
index 9be7d57a..aa7c8097 100644
--- a/src/ifml2/editor/gui/instructions/MoveItemInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/MoveItemInstrEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
@@ -100,7 +100,7 @@
-
+
@@ -108,7 +108,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/ReturnInstrEditor.form b/src/ifml2/editor/gui/instructions/ReturnInstrEditor.form
index a6126d34..cdcea695 100644
--- a/src/ifml2/editor/gui/instructions/ReturnInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/ReturnInstrEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/RollDiceInstrEditor.form b/src/ifml2/editor/gui/instructions/RollDiceInstrEditor.form
index a180e151..d9e0f65c 100644
--- a/src/ifml2/editor/gui/instructions/RollDiceInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/RollDiceInstrEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/RunProcedureInstrEditor.form b/src/ifml2/editor/gui/instructions/RunProcedureInstrEditor.form
index d92c6f5c..ff092a1e 100644
--- a/src/ifml2/editor/gui/instructions/RunProcedureInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/RunProcedureInstrEditor.form
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/SetVarInstrEditor.form b/src/ifml2/editor/gui/instructions/SetVarInstrEditor.form
index 828fbbab..82bacfd3 100644
--- a/src/ifml2/editor/gui/instructions/SetVarInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/SetVarInstrEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/ShowMessageInstrEditor.form b/src/ifml2/editor/gui/instructions/ShowMessageInstrEditor.form
index 5bbf97b4..b64592c8 100644
--- a/src/ifml2/editor/gui/instructions/ShowMessageInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/ShowMessageInstrEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
@@ -123,7 +123,7 @@
-
+
@@ -131,7 +131,7 @@
-
+
diff --git a/src/ifml2/editor/gui/instructions/ShowPictureInstrEditor.form b/src/ifml2/editor/gui/instructions/ShowPictureInstrEditor.form
index cec6642e..e96607a7 100644
--- a/src/ifml2/editor/gui/instructions/ShowPictureInstrEditor.form
+++ b/src/ifml2/editor/gui/instructions/ShowPictureInstrEditor.form
@@ -3,7 +3,7 @@
-
+
@@ -34,7 +34,7 @@
-
+
@@ -42,7 +42,7 @@
-
+