As there is repeated connectivity information in Application Specification XML and HDL Assembly XML, a possible improvement to the framework could be for the Application Specification to refer out to the HDL Assembly. See:
From my understanding, the connection information needs to be in both places to handle two cases in the current framework. First, the assembly is built before an application file’s information is known, so connection information must exist in the assembly file to build the assembly. Second, not all applications are HDL based, an RCC application doesn’t have an assembly therefore the information must reside in the application file as well. However, we will take note of this suggestion; we are always looking for ways to streamline the framework and improve user experience.
I have thought in the past that it’d be nice if there was some way to write just the application
, and then have some tool in opcidev
that spits out a hdlassembly
.
It’d need to be a command line wizard or something, as it’d need more info from the author on what parts of the application are HDL vs RCC. And it’d probably need to know about what assets are available to it, which is only something that the make code is currently able to fully work out.
I’ve been meaning to revive my attempt at rewriting the build system recently, you may have given me a reason to do so
Aaron and I just spoke about your first thought just yesterday, so we are on the same page there. Agreed, there would need to be more information in the application.xml so a variety of changes would be needed.
One of our subcontractors is working on rewriting the build engine as a secondary task. They have a very early prototype, but we sat down and went through some high level requirements and ask them to push it forward. I don’t have a timeline when it would be publicly available.