Questions tagged [build-system]
Build systems are tools used for compiling source code and assembling/packaging the results.
70 questions
2
votes
5
answers
1k
views
Why don't languages auto import everything based on namespace?
This is basically a continuation of "Why don't languages auto import everything?" but with a slightly altered premisse:
Say we have a language like C++ / python that uses namespaces to ...
-3
votes
1
answer
258
views
How to organise the correct handling of versions of binaries
I'm currently working in a firm, based on an executable, who uses different DLLs. There are several issues:
Everybody builds the binaries on his own PC.
The executables (*.exe and *.dll files) are ...
2
votes
0
answers
355
views
How to provide clang-format config for IDE and build system of multiple projects?
We have several C++ projects that use clang-format and clang-tidy and other similar tools. Currently the config files for these tools are stored in each project's Git repository. Now I'm trying to put ...
5
votes
2
answers
2k
views
Best practice for storing third party tools
Currently my company is storing the installers (and in some cases the installed directory copy) for some open source third party tools that our build uses. Were storing these files in our github repo ...
-3
votes
3
answers
101
views
How to Validate Output Binary During/After Compilation on Platform without ECC Memory [closed]
On a platform with ECC memory, you can assure the compiled binary is 100% legit with EDAC daemon. (single-bit error will be corrected automatically, and multi-bit error will be logged so you can just ...
0
votes
0
answers
48
views
How could i reduce compilation time without using less templates? [duplicate]
I am part of a small project that is doing some research code in C++.
Our work involves a lot of mathematics and due to its nature we often need to temporarily use other people's code/libraries. To ...
1
vote
4
answers
174
views
Build systems/development environments allowing alternate/backup dependencies
In most build systems and development environments, there tends to be exactly one dependency tree per project - each module depends on a constant set of other modules to do its job, with the only ...
0
votes
2
answers
203
views
What is the current definition of continuous integration?
It seems that there are at least two possible definitions of continuous integration:
Frequent merging of a codebase to a common codebase (e.g. daily merge to the main branch of a VCS server).
...
-6
votes
1
answer
221
views
Why are build tools, package repositories and programming languages, all so strongly coupled? [closed]
As the title says, I've been noticing this trend that have been all along the evolution of programming languages. Each one has had a niche build tool and a dedicated package/lib repository system.
Its ...
0
votes
1
answer
98
views
Modernizing a legacy source control / deployment infrastructure
I've got a large, old application with a clunky, extremely manual deployment process (essentially, tribal knowledge combined with random scripts / build jobs scattered across servers). The application ...
0
votes
0
answers
155
views
How much should we archive for reproducible builds?
A few alternative twists on the question title to contextualize further:
What to archive of the "sources" for a given software build?
Should I include all transitive packages in my ...
2
votes
3
answers
5k
views
When to increment build number?
I'm reading a book which says:
The third number, 719, indicates the build of the assembly. If your company builds its assembly every day, you should increment the build number each day as well.
so it ...
1
vote
2
answers
397
views
Can a build system be used effectively as a unit test runner?
The way of running automated tests (specifically, a large number of small, «atomic» unit and regression checks) that I am used to is to maintain a monolithic executable built on top of a test ...
1
vote
2
answers
107
views
Automate clearing everything (database tables, log files, etc.) and starting from a fresh state during development?
The Issue
When I'm fixing a bug during web development projects, I often find myself cleaning out the existing (tainted) database records, clearing out log files, etc.
I do this so that I can start ...
3
votes
3
answers
1k
views
How is a reproducible build guaranteed with version ranges in NPM?
I know with NPM caret, tilde and some logical operators can be used to specify version ranges. This post explains a bit on how this works.
The problem now is I find it hard to reconcile the use of ...
-3
votes
1
answer
159
views
Is there a standard format for build packaging or do I need to invent my own format?
I have a build pipeline that builds my C++ project on Windows, macOS and Linux. The build process generates 100 libraries and files on each OS. So I have a directory with these files, and I want to ...
5
votes
1
answer
1k
views
What is the right way to create a build system?
I'm a student, and I don't have much expirience with the building process.
In the last few days i've read something about CMake and others build system generators, but other than that I don't know ...
7
votes
3
answers
4k
views
How to prevent overlap booking on a calendar booking system
As an exercise, I am trying to design a simple calendar booking system for multiple meeting rooms. I kind of got my head around some requirements such as find available rooms for a given time range, ...
-1
votes
1
answer
519
views
How to organize the build system of a project as it starts including multiple languages across multiple operating systems and compilers?
I wrote a Music Player and Library in Java for GNU/Linux and Windows.
My build process is currently in ANT, but I intend to migrate away from that to something more modern after the next release. I'...
19
votes
6
answers
5k
views
Why should makefiles have an "install" target?
Coming from the world of C and C++, most build system have an install target, notably Makefiles (where it is recommended by GNU for example) or CMake. This target copies the runtime files (executables,...
-3
votes
1
answer
323
views
Build Environment [closed]
In my current organisation, we have several different build environments (like toolset etc.) which are needed for compiling the code of different modules within the same product. I found this a big ...
8
votes
6
answers
10k
views
Splitting large C++ project
Like it happens to many, our C++ project grew larger and larger, and it finally hit the point where maintainability starts to be a concern, mostly due to build times: even by using ccache, every ...
1
vote
1
answer
2k
views
Why are unity builds faster given modern compilers?
Consider (using Visual C++ as an example):
cl /EHsc a.cpp b.cpp c.cpp
versus
cat a.cpp b.cpp c.cpp > unity.cpp
cl /EHsc unity.cpp
Why is the first variant slower given a modern compiler? I've ...
0
votes
1
answer
285
views
Licensing of source code when dependencies are not included
We have a GitHub repository where we distribute our source code. For that, we want to use a really permissive license, like MIT. Of course, some of our projects have GPL or similarly licensed ...
6
votes
2
answers
4k
views
Patch management in a multi repository environment
Here's the problem and how we currently manage this at work.
We have a buildout recipe that fetch multiple git repositories. Sometimes, it is necessary to patch a module from a repository that we don'...
7
votes
1
answer
515
views
Maintenance Complexity of Gradle build scripts
I am currently trying out Gradle for my embedded development project. The existing tool is GNU Make. Across the internet I have read a lot of articles where people say that their build logic becomes "...
1
vote
1
answer
239
views
"Nightly" a good place for experimental features?
In my day job I work on a tightly controlled project with features and overall scope ultimately decided on by committee.
Often the final features are the result of a single (or multiple) member's ...
13
votes
2
answers
371
views
Are there any build systems that incorporate relative expected task times into the schedule?
Here's a small illustration of my question:
Assume a build job that consists of 4 independent tasks named A-D. D takes longer than A-C do in sum.
A build system that cannot incorporate the relative ...
5
votes
1
answer
342
views
How should Rails be set up with an SPA client like Aurelia?
Let's suppose I have a backend with API-only Rails. There is also a Javascript single-page application (Aurelia, but could be something else) talking to this API.
Should I keep these together, in the ...
0
votes
1
answer
185
views
Why use Grunt for JavaScript-related files instead of relying on MSBuild?
In a Microsoft ecosystem (i.e. WebForms/MVC/WebAPI VisualStudio projects) why should I rely on an external task runner for JavaScript files like Grunt if I already have MSBuild at my disposal as the ...
1
vote
4
answers
269
views
Is there evidence to suggest that email notifications of build-breakage from a ci-server are industry standard?
In my organisation people regularly have 3K+ emails in their inbox. They're swamped and non-important email is ignored and lost. (Think big Corporation). Email ceases to be a useful medium in this ...
0
votes
0
answers
1k
views
Is it a good practice to build multiple web app war files from one source repo?
I have been asked to do the following:
Take a project within a repo (repo has multiple projects inside)
Build ant build script that will build two separate tomcat webapp war files. They are two web ...
0
votes
1
answer
977
views
How should I prepare my SVG for production? [closed]
I have a project in Angular1.x using a lot of SVG files.
I have no idea what to do to SVG files to prepare them for production.
I don't want my page to invoke 50 calls to different SVG files. So ...
8
votes
2
answers
7k
views
For which problems are dependency exclusions sensible solutions?
I've seen a few build tools in my career, and they've all had their quirks. I'm just now looking into Maven, and came across the idea of "dependency exclusions" for the first time. I honestly don't ...
6
votes
1
answer
145
views
Best strategy for creating/updating CI build database
I was wondering what the best practice is regarding databases for integration tests on the build server. If there is a best practice.
Currently, our build will create a new database from scratch for ...
4
votes
1
answer
3k
views
Is it good practice to check in updated assemblyinfo.cs files after build
Our build process changes the version number of all AssemlyInfo.cs files, so that the version number can be managed completely by the build server.
Right now, we commit the changed AssemblyInfo.cs ...
2
votes
3
answers
467
views
Do products of a build process belong in a repository?
For example:
we don't put python compilation files (.pyc's) into the repo, probably because python generates them automatically.
In a java house, do they commit the .jars to their repos?
Traditionally,...
1
vote
1
answer
469
views
Ensure compatibility between software components
We do have several Components in our product which are
Component A
Component B
Component C
Dependencies are (if unmet the system fails):
A <-> B
B <-> C
We are currently creating a build ...
6
votes
2
answers
5k
views
Best practices build and deploy for on premise applications
I work for a software company which tend to deploy applications on premise for enterprise customers. The software normally consists of server side software (a few microservices) and 1 or many client ...
4
votes
8
answers
4k
views
should QA do their testing twice, once on staging and then again on prod?
the QA team should ideally do their testing on an environment that almost exactly matches the prod env (to minimize uncaught bugs that arise due to setting differences).
If that's true, does the QA ...
6
votes
1
answer
631
views
Node.js deployment -- npm or gulp
Suppose that I have a project written in JS via such frameworks like Node.js and Express. It also uses Mocha as a test framework and Gulp as a build system.
I wonder what is the best way to expose ...
1
vote
1
answer
555
views
How do I use CMake to build my codebase for different purposes and resolutions?
I'm working on a C++ codebase targeted at multiple platforms, and we've just moved over to CMake as our buildsystem.
Previously our buildsystem was a pretty ad-hoc affair; getting our code under a ...
2
votes
2
answers
647
views
Why does the development team of IntelliJ IDEA store its dependencies as jars (e.g. JUnit) inside their cvs?
The very popular IntelliJ IDEA has currently saved a lot of dependencies as actual jar files in their git repository e.g.JUnit, which I don't understand.
Build tools like Maven provide excellent ...
3
votes
2
answers
204
views
What tools/methods/practices reconcile deployed versions of components?
We have a problem at our org where we have the need to know "with very high certainty" what specific versions of each app/web service/etc. is deployed to a given node and/or environment at any given ...
1
vote
1
answer
94
views
Security error on asp.net system after deployment of bug fix dll [closed]
I (recently inherited) a asp.net web application in production. After fixing a generic bug in the area of making a table selection - we have a problem regarding security policies not allowing access ...
3
votes
2
answers
2k
views
Python build system
Currently our Python application is deployed like this:
Development team work on issues, commit code and create a Pull request
Pull request is integrated to Development branch
QA and Operations team ...
23
votes
4
answers
3k
views
How can CI be used for interpreted languages?
I have never used a Continuous Integration system (CI) before. I primarily code in MATLAB, Python or PHP. Neither of these have a build step and I do not see how a CI could be used for my work. A ...
24
votes
5
answers
5k
views
Why do build tools use a scripting language different than underlying programming language?
I've recently been using some build tools for a Nodejs project at work when I realized that most languages' main build tool/system use a different language than the underlying programming language ...
1
vote
1
answer
546
views
How do webpack and gulp complement each other?
I've started with TypeScript 2.5 years ago with Visual Studio and ASP.Net MVC. VS Web Essentials would compile ts files on save and the WebOptimizer library would bundle them together at runtime in a ...
6
votes
2
answers
2k
views
How to setup build system for unit testing + mocking?
We have a legacy code base in entirely C++. Our build system is CMake. My first stab at unit testing was as follows:
Define a target (LibraryA). This library contains the code to test.
Define a unit ...