As for the last number in .NET version, AFAIK it is used as the unique
build id and is required for nightly builds as nuget doesn't have
functionality a-la maven's 'snapshots'

ср, 8 июн. 2022 г. в 16:07, Ivan Daschinsky <ivanda...@gmail.com>:

> Since nuget packages have been built on the same linux agent as the main
> release, it sounds logical to me that this step can be done within the
> maven lifecycle.
> I am for it, +1
>
> ср, 8 июн. 2022 г. в 15:13, Maxim Muzafarov <mmu...@apache.org>:
>
>> 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
>>
>
>
> --
> Sincerely yours, Ivan Daschinskiy
>


-- 
Sincerely yours, Ivan Daschinskiy

Reply via email to