Hello Igniters,
I'd like to simplify the release build for the Apache Ignite. My suggestion here are: 1. Mavenize the building procedure of the 'platform/donet' thin client (use maven with Ant task) 2. Change it's versions to fit the Ignite style. = 1. Build = Add a pom.xml sub-project with a corresponding maven-ant-plugin with a Ant task to build the .NET project when the Apache Ignite project build. We can use here a profile like the numa-allocator does if building the .NET is note required. Such a technique will also allow a variables substitution like the maven-resource-plugin works (e.g. version substitution). Here is an example of how it can be achieved: https://github.com/apache/ignite/pull/9497/files#diff-77baf2378aa83911a8c3091814db3ff60b7bf328c4ab4850f707717ed96f3d92R107 = 2. Versioning = Currently, the version of .NET thin client (SharedAssemblyInfo.cs [1]) have the following format: 2.14.0.62943 . The format of .NET versions Major.Minor.Patch.Revision (described here [2]). Since the Apache Ignite doesn't have a dedicated releases for the .NET thin client I think the last 'Revision' digits can be always set to zero. So the result version can be: 2.14.0.0 This will allow having the variable substitution also for the version number and omitt the update-version profile usage for the .NET client. = Advantages = - Reduce the code complexity for changing a project version (we don't need the update-versions maven profile); - Build the whole project on the local environment and prepare nuget for the release with a single command; [1] https://github.com/apache/ignite/blob/master/modules/platforms/dotnet/SharedAssemblyInfo.cs [2] https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#where-nugetversion-diverges-from-semantic-versioning