From the earliest days, we used MSVC to compile the PVS-Studio C++ analyzer for Windows - then, in 2006, known as Viva64, version 1.00. With new releases, the analyzer's C++ core learned to work on Linux and macOS, and we modified the project's structure to support CMake. However, we kept using the MSVC compiler to build the analyzer's version for Windows. Then, in 2019, on April 29th, Visual Studio developers announced they had included the LLVM utilities and Clang compiler in the IDE. And just recently we've gotten around to try it.
Build automation *
Build automation systems
Build (CI/CD) of non-JVM projects using gradle/kotlin
In some projects, the build script is playing the role of Cinderella. The team focuses its main effort on code development. And the build process itself could be handled by people who are far from development (for example, those responsible for operation or deployment). If the build script works somehow, then everyone prefers not to touch it, and noone ever is thinking about optimization. However, in large heterogeneous projects, the build process could be quite complex, and it is possible to approach it as an independent project. If however you treat the build script as a secondary unimportant project, then the result will be an indigestible imperative script, the support of which will be rather difficult.
In the previous post we looked at what criteria we used to choose the toolkit, and why we chose gradle/kotlin, and in this post we will take a look at how we use gradle/kotlin to automate the build of non-JVM projects. (There is also a Russian version.)
Introduction
Gradle for JVM projects is a universally recognized tool and does not need additional recommendations. For projects outside of the JVM platform, it is also used. For instance, the official documentation describes usage scenarios for C++ and Swift projects. We use gradle to automate the build, test, and deployment of a heterogeneous project that includes modules in node.js, golang, terraform.
Building projects (CI/CD), instruments
In some projects, the build script is playing the role of Cinderella. The team focuses its main effort on code development. And the build process itself could be handled by people who are far from development (for example, those responsible for operation or deployment). If the build script works somehow, then everyone prefers not to touch it, and no one ever is thinking about optimization. However, in large heterogeneous projects, the build process could be quite complex, and it is possible to approach it as an independent project.If you treat the build script as a secondary unimportant project, then the result will be an indigestible imperative script, the support of which will be rather difficult.
In this note we will take look at the criteria by which we chose the toolkit, and in the next one — how we use this toolkit. (There is also a Russian version.)
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
Static code analysis is most effective when changing a project, as errors are always more difficult to fix in the future than at an early stage. We continue expanding the options for using PVS-Studio in continuous development systems. This time, we'll show you how to configure pull request analysis using self-hosted agents in Microsoft Azure DevOps, using the example of the Minetest game.
Analysis of merge requests in GitLab using PVS-Studio for C#
Do you like GitLab and don't like bugs? Do you want to improve the quality of your source code? Then you've come to the right place. Today we will tell you how to configure the PVS-Studio C# analyzer for checking merge requests. Enjoy the reading and have a nice unicorn mood.
Top 10 RPA Service Providers to Automate your Business Processes
Mainly business functions like outsourcing, financial services and insurance, banking, procurement outsourcing, Human Resources Outsourcing which used RPA in a limited way are being further adapted to drive exponential growth in RPA services verticals by service providers with a vision to build newer paradigms for Automated services. RPA service providers India are setting new trends, as they develop customized solutions for every industry player.
Analysts estimate that the Global Robotic Process Automation Market is poised to grow to $7.2 billion by 2025 at 32.6% CAGR (Research and Markets Report, 2020). Growth of CAGR for RPA in India is at 20% by 2025.
In the newer world framework, organizations need to make strategic decisions and consciously adopt higher technology platforms like RPA for higher efficiency, performance and cost effective ROI. For local businesses, finding the best RPA service providers is a game changer.
As the demand for robotic process automation increases market participants include Uipath, Automation Anywhere and Blue prism.
Here are some of the top globally trusted RPA service providers:
Custom Web Development — Making Dream Business a Reality
Custom development is different from commercially distributed software or existing open source software. Individual development either creates a new application or expands the functionality of an existing one and can be executed by its own or third-party developers.
Ruby on Rails' Big Place in Marketplace Development
How do you know that it’s time for you to launch your online marketplace? When do you see the necessity to provide the ultimate clear and fast “brand – consumer” communications? The point of an online marketplace is to grow customers loyalty by offering them an ever-expanding range of products.
A brand, whether online or not, must use its reputation and expertise to make its marketplace successful.
Let's take a look at the benefits of marketplaces and the reliability of Ruby on Rails as the strongest development tool.
Your company life before and after accounting automation
The manual work of the accountant went into oblivion. Today everyone makes machines, but, of course, controlled by a specialist. Although in our last project we have carefully worked on the topic of artificial intelligence and some accounting operations can already occur with little or no human intervention. Let's look at what systems we attracted, and what exactly was done to save time on daily routine operations.
Custom Shopify Automation for Your Business
E-commerce today has become so frequent that it has become almost a standard chain of stores, where most people make purchases. But even online stores are trying to save money by becoming drop shippers and more working on additional implementations, rather than on the maintenance and payment of huge storage spaces.
Analysis of commits and pull requests in Travis CI, Buddy and AppVeyor using PVS-Studio
Starting from the version 7.04, the PVS-Studio analyzer for C and C++ languages on Linux and macOS provides the test feature of checking the list of specified files. Using the new mode, you can configure the analyzer to check commits and pull requests. This article covers setting up the check of certain modified files from a GitHub project in such popular CI (Continuous Integration) systems, as Travis CI, Buddy and AppVeyor.
CMake: the Case when the Project's Quality is Unforgivable
CMake is a cross-platform system for automating project builds. This system is much older than the PVS-Studio static code analyzer, but no one has tried to apply the analyzer on its code and review the errors. As it turned out, there are a lot of them. The CMake audience is huge. New projects start on it and old ones are ported. I shudder to think of how many developers could have had any given error.
Build tools in machine learning projects, an overview
make
is very stable and widely-used I personally like cross-platform solutions. It is 2019 after all, not 1977. One can argue that make itself is cross-platform, but in reality you will have troubles and will spend time on fixing your tool rather than on doing the actual work. So I decided to have a look around and to check out what other tools are available. Yes, I decided to spend some time on tools.This post is more an invitation for a dialogue rather than a tutorial. Perhaps your solution is perfect. If it is then it will be interesting to hear about it.
In this post I will use a small Python project and will do the same automation tasks with different systems:
There will be a comparison table in the end of the post.
Authors' contribution
aigrychev 258.3aionin 239.4diafour 212.0tkir 196.0Zhbert 148.0tangro 138.8nem 117.6AloneCoder 107.2SvyatoslavMC 91.0m1rko 85.6