You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by mm...@apache.org on 2022/06/17 13:23:03 UTC

[ignite] branch master updated: IGNITE-17141 Use Maven to build .NET and update versions (#10087)

This is an automated email from the ASF dual-hosted git repository.

mmuzaf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 6cd32f0effc IGNITE-17141 Use Maven to build .NET and update versions (#10087)
6cd32f0effc is described below

commit 6cd32f0effc31ab9202782d7eca24cb07b270932
Author: Maxim Muzafarov <ma...@gmail.com>
AuthorDate: Fri Jun 17 16:22:54 2022 +0300

    IGNITE-17141 Use Maven to build .NET and update versions (#10087)
    
    * IGNITE-17141 Use maven for build .NET and update versions
    
    * IGNITE-17141 Fix header
    
    * IGNITE-17141 Fix cpp
    
    * IGNITE-17141 Fix review comments
    
    * Update DEVNOTES.txt
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
    
    * Update DEVNOTES.txt
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
    
    * IGNITE-17141 Fix review comments 2
    
    * Update modules/platforms/dotnet/pom.xml
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
    
    * IGNITE-17141 Fix review comments for property naming
    
    * IGNITE-17141 Fix review comments 3
    
    * IGNITE-17141 Remove redundant dependency
    
    * Update DEVNOTES.txt
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
    
    * Update DEVNOTES.txt
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
    
    * IGINTE-17141 fix redundant nl
    
    Co-authored-by: Pavel Tupitsyn <pt...@apache.org>
---
 DEVNOTES.txt                                   |  30 ++---
 modules/core/pom.xml                           |  27 ++++
 modules/ducktests/pom.xml                      |  27 +++-
 modules/platforms/cpp/CMakeLists.txt           |   2 +-
 modules/platforms/cpp/pom.xml                  |  68 ++++++++++
 modules/platforms/dotnet/DEVNOTES.txt          |   9 ++
 modules/platforms/dotnet/SharedAssemblyInfo.cs |   4 +-
 modules/platforms/dotnet/pom.xml               | 126 ++++++++++++++++++
 parent/pom.xml                                 |  38 ++++++
 pom.xml                                        | 175 ++-----------------------
 scripts/update-versions.sh                     |   4 +-
 11 files changed, 317 insertions(+), 193 deletions(-)

diff --git a/DEVNOTES.txt b/DEVNOTES.txt
index fb9b2e1ca93..f65226705e2 100644
--- a/DEVNOTES.txt
+++ b/DEVNOTES.txt
@@ -12,28 +12,26 @@ Further in our documentation, we always use the ./mvnw form. Please adapt it to
 
 Apache Ignite Maven Build Instructions
 ======================================
-1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
-
-2) Compile and install:
+1) Compile and install:
 
         ./mvnw clean install -Pall-java,all-scala,licenses -DskipTests
 
-   or if you have built Apache Ignite.NET on the first step use following command:
-   (Note that 'doxygen' should be installed before running this command.)
+   or if you have to build .NET part as well, use the following command:
+   (Note that 'doxygen', `docfx`, '.NET Core SDK 3.1', 'PowerShell' should be installed before running this command.)
 
-        ./mvnw clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
+        ./mvnw clean install -Pall-java,all-scala,licenses,platforms -DskipTests -DclientDocs
 
-3) Javadoc generation (optional):
+2) Javadoc generation (optional):
 
         ./mvnw initialize -Pjavadoc
 
-4) Build Apache Ignite assembly:
+3) Build Apache Ignite assembly:
 
         ./mvnw initialize -Prelease
 
    Look for apache-ignite-<version>-bin.zip in ./target/bin directory.
 
-5) Build Apache Ignite slim edition assembly:
+4) Build Apache Ignite slim edition assembly:
 
         ./mvnw initialize -Prelease -Dignite.edition=apache-ignite-slim
 
@@ -42,22 +40,20 @@ Apache Ignite Maven Build Instructions
 
 Apache Ignite with LGPL Maven Build Instructions
 ================================================
-1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
-
-2) Compile and install:
+1) Compile and install:
 
         ./mvnw clean install -Pall-java,all-scala,licenses -DskipTests
 
-   or if you have built Apache Ignite.NET on the first step use following command:
-   (Note that 'doxygen' should be installed before running this command.)
+   or if you have to build .NET part as well, use the following command:
+   (Note that 'doxygen', `docfx`, '.NET Core SDK 3.1', 'PowerShell' should be installed before running this command.)
 
-        ./mvnw clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
+        ./mvnw clean install -Pall-java,all-scala,licenses,platforms -DskipTests -DclientDocs
 
-3) Javadoc generation with LGPL (optional):
+2) Javadoc generation with LGPL (optional):
 
         ./mvnw initialize -Pjavadoc,lgpl
 
-4) Build Apache Ignite assembly with LGPL dependencies:
+3) Build Apache Ignite assembly with LGPL dependencies:
 
         ./mvnw initialize -Prelease,lgpl -Dignite.edition=apache-ignite-lgpl
 
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index d5a0e624027..58504b244eb 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -306,6 +306,33 @@
                     <skip>false</skip>
                 </configuration>
             </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-versions</id>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <phase>initialize</phase>
+                        <configuration>
+                            <target>
+                                <echo message="Update ignite.version in resource files" />
+
+                                <replaceregexp byline="true" encoding="UTF-8">
+                                    <regexp pattern="(ignite.version=).+$" />
+                                    <substitution expression="\1${project.version}" />
+                                    <fileset dir="${project.basedir}/src/main/resources">
+                                        <include name="ignite.properties" />
+                                    </fileset>
+                                </replaceregexp>
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/modules/ducktests/pom.xml b/modules/ducktests/pom.xml
index 3513249a478..13d3a47ee02 100644
--- a/modules/ducktests/pom.xml
+++ b/modules/ducktests/pom.xml
@@ -123,10 +123,29 @@
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-versions</id>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <phase>initialize</phase>
+                        <configuration>
+                            <target>
+                                <echo message="Update ignite.version in ducktests" />
+
+                                <replaceregexp byline="true" encoding="UTF-8">
+                                    <regexp pattern="(__version__ = ).*$"/>
+                                    <substitution expression="\1'${project.version}'" />
+                                    <fileset dir="${basedir}/">
+                                        <include name="${project.basedir}/tests/ignitetest/__init__.py" />
+                                    </fileset>
+                                </replaceregexp>
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
 
             <plugin>
diff --git a/modules/platforms/cpp/CMakeLists.txt b/modules/platforms/cpp/CMakeLists.txt
index 6f620e5ff89..7b89b2d3fc5 100644
--- a/modules/platforms/cpp/CMakeLists.txt
+++ b/modules/platforms/cpp/CMakeLists.txt
@@ -16,7 +16,7 @@
 #
 
 cmake_minimum_required(VERSION 3.6)
-project(Ignite.C++ VERSION 2.14.0.62943)
+project(Ignite.C++ VERSION 2.14.0.22253)
 
 set(CMAKE_CXX_STANDARD 98)
 
diff --git a/modules/platforms/cpp/pom.xml b/modules/platforms/cpp/pom.xml
new file mode 100644
index 00000000000..6edf82ad14d
--- /dev/null
+++ b/modules/platforms/cpp/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+    POM file.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.ignite</groupId>
+        <artifactId>ignite-parent-internal</artifactId>
+        <version>${revision}</version>
+        <relativePath>../../../parent-internal/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>ignite-cpp</artifactId>
+    <packaging>pom</packaging>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-versions</id>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <phase>initialize</phase>
+                        <configuration>
+                            <target>
+                                <echo message="Update ignite.version in C++" />
+
+                                <replaceregexp byline="true" encoding="UTF-8">
+                                    <regexp pattern="(project\(.*\s)\d+\.\d+\.\d+.*?(\))" />
+                                    <substitution expression="\1${ignite.platform.full.version}\2" />
+                                    <fileset dir="${project.basedir}/">
+                                        <include name="**/CMakeLists.txt" />
+                                    </fileset>
+                                </replaceregexp>
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/modules/platforms/dotnet/DEVNOTES.txt b/modules/platforms/dotnet/DEVNOTES.txt
index ade3301c2bf..2d0a51ac5a4 100644
--- a/modules/platforms/dotnet/DEVNOTES.txt
+++ b/modules/platforms/dotnet/DEVNOTES.txt
@@ -17,6 +17,15 @@ pwsh build.ps1
 
 Resulting binaries will be in bin folder, and NuGet packages in nupkg folder.
 
+Build Apache Ignite .NET with Maven
+===================================
+
+Note that .NET Core SDK 3.1 and PowerShell must be installed first.
+
+The command below will build the binaries and NuGet packages with Maven:
+
+    ./mvnw clean install -am -pl modules/platforms/dotnet -DskipTests -P platforms
+
 
 Solutions and Projects
 ======================
diff --git a/modules/platforms/dotnet/SharedAssemblyInfo.cs b/modules/platforms/dotnet/SharedAssemblyInfo.cs
index 351f6fafad9..0b0c75de240 100644
--- a/modules/platforms/dotnet/SharedAssemblyInfo.cs
+++ b/modules/platforms/dotnet/SharedAssemblyInfo.cs
@@ -24,6 +24,6 @@ using System.Reflection;
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
-[assembly: AssemblyVersion("2.14.0.62943")]
-[assembly: AssemblyFileVersion("2.14.0.62943")]
+[assembly: AssemblyVersion("2.14.0.22253")]
+[assembly: AssemblyFileVersion("2.14.0.22253")]
 [assembly: AssemblyInformationalVersion("2.14.0")]
diff --git a/modules/platforms/dotnet/pom.xml b/modules/platforms/dotnet/pom.xml
new file mode 100644
index 00000000000..23dc450ec03
--- /dev/null
+++ b/modules/platforms/dotnet/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+    POM file.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.ignite</groupId>
+        <artifactId>ignite-parent-internal</artifactId>
+        <version>${revision}</version>
+        <relativePath>../../../parent-internal/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>ignite-dotnet</artifactId>
+    <packaging>pom</packaging>
+
+    <dependencies>
+        <!--
+            The modules below are required to build the .NET sources.
+            These dependencies are required for the maven reactor to build them first.
+        -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>ignite-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>ignite-indexing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>ignite-spring</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-versions</id>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <phase>initialize</phase>
+                        <configuration>
+                            <target>
+                                <echo message="Update ignite.version in .NET" />
+
+                                <replaceregexp byline="true" encoding="UTF-8">
+                                    <regexp pattern="(\[assembly:\s*Assembly\w*Version\w*\(&quot;)\d+\.\d+\.\d+(\.\d+)?(&quot;\)\])" />
+                                    <substitution expression="\1${ignite.platform.full.version}\3" />
+                                    <fileset dir="${basedir}/">
+                                        <include name="**/SharedAssemblyInfo.cs" />
+                                    </fileset>
+                                </replaceregexp>
+
+                                <replaceregexp byline="true" encoding="UTF-8">
+                                    <regexp pattern="(\[assembly:\s*AssemblyInformationalVersion\w*\(&quot;).*?(&quot;\)\])" />
+                                    <substitution
+                                        expression="\1${ignite.majorVersion}.${ignite.minorVersion}.${ignite.incrementalVersion}\2" />
+                                    <fileset dir="${basedir}/">
+                                        <include name="**/SharedAssemblyInfo.cs" />
+                                    </fileset>
+                                </replaceregexp>
+                            </target>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>build-dotnet</id>
+                        <phase>generate-sources</phase>
+                        <configuration>
+                            <tasks>
+                                <exec executable="pwsh" dir="${project.basedir}" failonerror="true">
+                                    <arg line="${project.basedir}/build.ps1"/>
+                                    <arg line="-skipJava -skipExamples"/>
+                                </exec>
+                            </tasks>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>clean-native</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <target>
+                                <echo>Basedir: ${project.basedir}</echo>
+                                <delete dir="${project.basedir}/bin/"/>
+                                <delete dir="${project.basedir}/nupkg/"/>
+                                <delete dir="${project.basedir}/obj/"/>
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/parent/pom.xml b/parent/pom.xml
index c94823044de..24f0e2f56f7 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -169,6 +169,10 @@
         <osgi.fail.ok>false</osgi.fail.ok>
 
         <flattenMode>clean</flattenMode>
+
+        <ignite.platform.full.version>
+            ${ignite.majorVersion}.${ignite.minorVersion}.${ignite.incrementalVersion}.${ignite.buildNumber}
+        </ignite.platform.full.version>
     </properties>
 
     <url>https://ignite.apache.org</url>
@@ -628,6 +632,40 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <!-- Thin clients have the own versions format. We need to prepare required properties.-->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <!--
+                            This will create the following properties:
+                            ignite.majorVersion, ignite.minorVersion, ignite.incrementalVersion
+                        -->
+                        <id>parse-version</id>
+                        <goals>
+                            <goal>parse-version</goal>
+                        </goals>
+                        <phase>validate</phase>
+                        <configuration>
+                            <propertyPrefix>ignite</propertyPrefix>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>thin-timestamp-property</id>
+                        <goals>
+                            <goal>timestamp-property</goal>
+                        </goals>
+                        <phase>validate</phase>
+                        <configuration>
+                            <name>ignite.buildNumber</name>
+                            <!-- See: https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html -->
+                            <pattern>yywwu</pattern>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/pom.xml b/pom.xml
index a32948a01cc..57abf4f02d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,6 +129,14 @@
             </modules>
         </profile>
 
+        <profile>
+            <id>platforms</id>
+            <modules>
+                <module>modules/platforms/dotnet</module>
+                <module>modules/platforms/cpp</module>
+            </modules>
+        </profile>
+
         <profile>
             <id>javadoc</id>
             <build>
@@ -538,173 +546,6 @@
             </modules>
         </profile>
 
-        <profile>
-            <id>update-versions</id>
-            <!-- updates dotnet & cpp versions -->
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-antrun-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>update-versions</id>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                                <phase>validate</phase>
-                                <configuration>
-                                    <target>
-                                        <script language="javascript">
-                                            function setClientVersion(ggVer, clientVer) {
-                                                var p = project.getProperty(ggVer);
-
-                                                var digitVer = /\d+\.\d+\.\d+/.exec(p);
-
-                                                if (digitVer != null)
-                                                {
-                                                    // Date of the last major release
-                                                    var startDate = new Date(2015,1,1);
-
-                                                    // Number of hours since the last major release
-                                                    var buildNum = Math.round((new Date() - startDate)/(3600*1000));
-                                                    var ver = digitVer[0] + "." + buildNum;
-
-                                                    project.setProperty(clientVer, ver);
-                                                }
-                                                else
-                                                    project.setProperty(clientVer, p);
-                                            }
-
-                                            function fix(dest, source) {
-                                                project.setProperty(dest, project.getProperty(source).replace("-SNAPSHOT",
-                                                ""));
-                                            }
-
-                                            fix('ignite.version.fixed', 'project.version');
-                                            fix('new.ignite.version.fixed', 'new.ignite.version');
-                                            setClientVersion('ignite.version.fixed', 'old.client.version');
-                                            setClientVersion('new.ignite.version.fixed', 'new.client.version');
-                                        </script>
-
-                                        <echo message="Update ignite.version in .NET" />
-                                        <echo message="${new.client.version}" />
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(\[assembly:\s*Assembly\w*Version\w*\(&quot;)\d+\.\d+\.\d+(\.\d+)?(&quot;\)\])" />
-                                            <substitution expression="\1${new.client.version}\3" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/SharedAssemblyInfo.cs" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(\[assembly:\s*AssemblyInformationalVersion\w*\(&quot;).*?(&quot;\)\])" />
-                                            <substitution expression="\1${new.ignite.version.fixed}\2" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/SharedAssemblyInfo.cs" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <echo message="Update ignite.version in C++" />
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(project\(.*\s)\d+\.\d+\.\d+.*?(\))" />
-                                            <substitution expression="\1${new.client.version}\2" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/CMakeLists.txt" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(Version=.+)\d+\.\d+\.\d+\.\d+(.+)" />
-                                            <substitution expression="\1${new.client.version}\2" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/*.wxs" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(define GG_VERSION_STR_WIN &quot;)\d+\.\d+\.\d+(\.\d+)?(&quot;)" />
-                                            <substitution expression="\1${new.client.version}\3" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/resource.h" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-16">
-                                            <regexp pattern="(Version&quot;, &quot;)\d+\.\d+\.\d+\.\d+(&quot;)" />
-                                            <substitution expression="\1${new.client.version}\2" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/Resource.rc" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <script language="javascript">
-                                            function setBinVersion(clientVer, binVer) {
-                                            var p = project.getProperty(clientVer).replace(".", ",");
-
-                                            if (p.split(',').length == 3)
-                                            project.setProperty(binVer, p + ',0');
-                                            else
-                                            project.setProperty(binVer, p);
-                                            }
-
-                                            setBinVersion('old.client.version', 'old.bin.version');
-                                            setBinVersion('new.client.version', 'new.bin.version');
-                                        </script>
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(define GG_VERSION_BIN_WIN )\d,\d,\d,\d" />
-                                            <substitution expression="\1${new.bin.version}" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/resource.h" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-16">
-                                            <regexp pattern="(VERSION )\d,\d,\d,\d" />
-                                            <substitution expression="\1${new.bin.version}" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/Resource.rc" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <echo message="Update ignite.version in other resource files" />
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(ignite.version=).+$" />
-                                            <substitution expression="\1${new.ignite.version}" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/ignite.properties" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(ignVer = )'.+'" />
-                                            <substitution expression="\1'${new.ignite.version}'" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="**/build.gradle" />
-                                            </fileset>
-                                        </replaceregexp>
-
-                                        <echo message="Update ignite.version in ducktests" />
-
-                                        <replaceregexp byline="true" encoding="UTF-8">
-                                            <regexp pattern="(__version__ = ).*$"/>
-                                            <substitution expression="\1'${new.ignite.version}'" />
-                                            <fileset dir="${basedir}/">
-                                                <include name="modules/ducktests/tests/ignitetest/__init__.py" />
-                                            </fileset>
-                                        </replaceregexp>
-                                    </target>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
         <profile>
             <!--
             This profile is used to provide a check that all tests are defined in at least one suite.
diff --git a/scripts/update-versions.sh b/scripts/update-versions.sh
index a149005a55e..c664938f4d6 100755
--- a/scripts/update-versions.sh
+++ b/scripts/update-versions.sh
@@ -36,5 +36,5 @@ sed -i '' -e "s/<revision>.*<\/revision>/<revision>$1<\/revision>/" ./parent/pom
 echo Updating checkstyle resources versions to $1 with Maven...
 mvn -pl modules/checkstyle versions:set -DnewVersion=$1 -DgenerateBackupPoms=false -DoldVersion=* -DprocessDependencies=false
 
-echo Updating .NET, C++ and other resources versions to $1 with Maven...
-mvn validate -P update-versions -D new.ignite.version=$1
+echo Updating .NET, C++ and other resources versions with Maven...
+mvn initialize -P platforms