LogixNG Tutorial - Chapter 99

# LogixNG Tutorial - Chapter 99 ## Note to reviewers of JMRI. When to merge LogixNG? LogixNG is a huge PR. Around 800 files, where most of them are new. On the other hand, almost all of LogixNG are in separate folders and if it's not used by the user, the impact on the rest of JMRI should be minimal. ## Version numbers LogixNG has been developed for the last two years. Once consequence is that there are version numbers for older versions of JMRI that needs to be changed once it's time to release LogixNG. The ones I'm aware of now is: help/en/releasenotes/current-draft-note.shtml xml/schema/layout-4-19-2.xsd xml/schema/logixng/... - the schema files has version numbers and all of these needs to be changed. ## File structure Almost all of LogixNG is in separate folders with a few exceptions. The exceptions are: help/en/releasenotes/current-draft-note.shtml java/src/apps/Apps.java - Setup the LogixNGs when the application starts java/src/apps/AppsBase.java - Setup the LogixNGs when the application starts java/src/jmri/configurexml/LoadXmlConfigAction.java - Setup the LogixNGs when loaded java/src/jmri/jmrit/Bundle.properties java/src/jmri/jmrit/ToolsMenu.java - Adds the LogixNG menu items java/src/jmri/jmrit/beantable/AbstractLogixNGTableAction.java - abstract class for the LogixNG bean tables java/src/jmri/jmrit/beantable/BeanTableBundle.properties java/src/jmri/jmrit/beantable/BeanTableStartupActionFactory.java java/src/jmri/jmrit/beantable/ListedTableFrame.java - Add LogixNG bean tables to the list of bean tables java/src/jmri/jmrit/beantable/LogixNGModuleTableAction.java java/src/jmri/jmrit/beantable/LogixNGTableAction.java java/src/jmri/jmrit/beantable/LogixNGTableTableAction.java java/test/jmri/configurexml/LoadAndStoreTestBase.java - REMOVE THIS!!! java/test/jmri/jmrit/beantable/LogixNGTableActionTest.java java/test/jmri/util/JUnitUtil.java - the method initLogixNGManager() xml/schema/layout-4-19-2.xsd - includes the LogixNG schema files The folders for LogixNG are: java/src/jmri/jmrit/logixng/ - Tests for LogixNG java/test/jmri/jmrit/logixng/ - Tests for LogixNG java/src/jmri/jmrix/loconet/logixng/ - LocoNet actions and expressions for LogixNG java/test/jmri/jmrix/loconet/logixng/ - Tests for LocoNet actions and expressions for LogixNG xml/schema/logixng/ - schema files for LogixNG ## Tests There is not enough tests of LogixNG to be satisfied, but much of the code base are tested. LogixNG has the benefit of having a huge amount of small classes, there most of the classes is quite easy to test. On the other hand, due to the size of LogixNG, there is a huge amount of code that needs to be written to test LogixNG throughout.