RMIR Source Reconfiguration
Posted: Sun Sep 06, 2020 10:36 am
I have reconfigured the trunk/km folder in the SourceForge SVN to support the use of Maven instead of Ant for compiling RMIR and building its binary distro. Everything required to build the distro is now in the trunk/km folder, including all RDF, map and image files that are now in the trunk/km/remotes subfolder. This supersedes the trunk/remotes folder previously used as the repository of RDFs, maps and images, which I have therefore deleted.
The km folder used to hold everything needed to compile RemoteMaster.jar but was missing many of the files needed to build the binary distro. Not only were the RDFs, maps and images in a separate folder but also the compiled binaries of DecodeIR and jp12serial needed to be extracted from the folders holding their source code and some files that have remained unchanged for a long time were not present at all and needed to be extracted from an existing RMIR distro. All in all, a big effort for anyone who wished to build the RMIR distro. The separate folders for DecodeIR and jp12serial have of course been retained as they hold their source codes, but the binaries are now also in the km folder to make it complete.
If you install Maven and check out the km folder from the SVN, the build process is now very simple. From a command line with the working copy of the km folder as your current folder, you need to run
to install local dependencies in your local Maven repository. This is required once only. The command
will then download the remaining dependencies, compile the RMIR source code and build the binary distribution in the target subfolder all in one operation. The same operations can be performed with the Eclipse IDE, so it is not necessary to do it from a command line. For repeat builds it is best to run
before the package command, which deletes the target folder to ensure that all is rebuilt afresh.
The binary distro has a name of the form RMIR.[version]-bin.zip instead of the current form RemoteMaster.[version].zip but the two are equivalent. The jar file in the zip is still RemoteMaster.jar but it is also present separately in the target folder under a name of the form RMIR-[version]-jar-with-dependencies.jar, which in Maven terminology is a "fat jar". There is also a file RMIR-[version].jar which does not include dependencies, but this has no equivalent in an Ant build.
The three applications that are combined in the jar file have separate shortcuts created by a setup script that are called RMIR, Remote Master and RMPB. With the zip b
package being named RemoteMaster, this has led some new users to assume that Remote Master, the device upgrade editor, is the primary application. It was the original one, but RMIR is now the primary one, which is why I am now using RMIR in the name of the zip package. I prefer to keep RemoteMaster as the name of the overall jar that encompasses all three applications. For that reason I suggest that the shortcut for the device upgrade editor should be renamed as RMDU, in agreement with its file extension, instead of Remote Master. I have not yet done this, so invite comments on the suggestion.
The km folder used to hold everything needed to compile RemoteMaster.jar but was missing many of the files needed to build the binary distro. Not only were the RDFs, maps and images in a separate folder but also the compiled binaries of DecodeIR and jp12serial needed to be extracted from the folders holding their source code and some files that have remained unchanged for a long time were not present at all and needed to be extracted from an existing RMIR distro. All in all, a big effort for anyone who wished to build the RMIR distro. The separate folders for DecodeIR and jp12serial have of course been retained as they hold their source codes, but the binaries are now also in the km folder to make it complete.
If you install Maven and check out the km folder from the SVN, the build process is now very simple. From a command line with the working copy of the km folder as your current folder, you need to run
Code: Select all
mvn validateCode: Select all
mvn packageCode: Select all
mvn cleanThe binary distro has a name of the form RMIR.[version]-bin.zip instead of the current form RemoteMaster.[version].zip but the two are equivalent. The jar file in the zip is still RemoteMaster.jar but it is also present separately in the target folder under a name of the form RMIR-[version]-jar-with-dependencies.jar, which in Maven terminology is a "fat jar". There is also a file RMIR-[version].jar which does not include dependencies, but this has no equivalent in an Ant build.
The three applications that are combined in the jar file have separate shortcuts created by a setup script that are called RMIR, Remote Master and RMPB. With the zip b
package being named RemoteMaster, this has led some new users to assume that Remote Master, the device upgrade editor, is the primary application. It was the original one, but RMIR is now the primary one, which is why I am now using RMIR in the name of the zip package. I prefer to keep RemoteMaster as the name of the overall jar that encompasses all three applications. For that reason I suggest that the shortcut for the device upgrade editor should be renamed as RMDU, in agreement with its file extension, instead of Remote Master. I have not yet done this, so invite comments on the suggestion.