Merge the build systems for Retail and Finance and Operations
This topic applies to Dynamics 365 for Retail and Dynamics 365 for Finance and Operations.
This article describes the steps for merging the build systems for both Dynamics 365 for Finance and Operations, and Dynamics 365 for Retail. The Lifecycle Services (LCS)-integrated build experience supports both code upgrades and new projects. The Retail SDK is a self-contained MSBuild-based build system. Many customizers want to make productive changes in both Microsoft Dynamics 365 for Finance and Operations and Retail components. This article outlines the manual steps for merging both build systems using Azure DevOps.
Enable the build system
To get started, you must follow all the steps to get a full continuous build system up and running. For information, see Developer topology deployment with continuous build and test automation. After deployment, you create the build definition and build steps. Build at least one time, so that you become familiar with it and are sure that you can build without errors. Then move to the next step.
Prepare the Retail SDK
Getting the Retail SDK
If you don't already have the Retail software development kit (SDK) in the same Microsoft Azure DevOps project, add it now. You will find the Retail SDK in any developer or build topology. Follow the branching documentation in Retail SDK overview. We recommend that you create your Retail SDK mirror and your Retail SDK customization branch at this time. After your Retail SDK customization branch is ready, and it has been submitted in the same Azure DevOps project as Retail, you can start.
Add a repository mapping for the Retail SDK
Add a new build step to build the Retail SDK
Add a copy step for binaries from the Retail SDK to the Retail build
This build step enables Microsoft to copy the latest built Retail binaries to the Retail bin folder, if Microsoft shares files/binaries. Make sure that you complete this step immediately after you add a build step for the Retail SDK, as described in the previous section.
Add a copy step for all Retail packages
Make sure that this step occurs after the “PowerShell: Generate packages” step (see image below). Here are the arguments.
-BuildPackagePath "$(Agent.BuildDirectory)\Packages" -BuildVersion "$(Build.BuildNumber)"
Optional: Referencing a Retail DLL from Retail
You must complete this task only if you must add built Retail binaries to the Retail package. In this case, you must follow these three steps:
- Use a normal AXReference in your Retail project.
- Add the corresponding AXReference folder and the XML file inside it to Azure DevOps.
- Update the Copy-RetailBinaries.ps1 file with the appropriate file commands to get the binary file from the Retail SDK to the Retail bin folder. The Microsoft Windows PowerShell file includes a sample that copies the PricingEngine.dll file into the ApplicationSuite bin folder. Depending on the modules that you're building, the files and folders must be changed so that they are in a different location.