The simplest type of build is a process that converts (source) code to a compiled binary file that can then be run. More complex builds can also run unit or integration tests and can use tools to generate reports about the quality of the code. Lastly, builds are often triggered automatically by Continuous Integration (CI) systems.
Questions tagged [builds]
175 questions
421
votes
12 answers
Should I intentionally break the build when a bug is found in production?
It seems reasonable to me that if a serious bug is found in production by end-users, a failing unit test should be added to cover that bug, thus intentionally breaking the build until the bug is fixed. My rationale for this is that the build should…

MattDavey
- 7,096
- 3
- 31
- 32
183
votes
23 answers
How to apologize when you have broken the nightly build
My first commit in my project resulted in the nightly build being broken and people are all over me as we are nearing the release. I want to send an apology email that should sound sincere
and at the same time hinting that this was my first commit…

rajachan
- 733
- 2
- 9
- 9
145
votes
6 answers
How do you achieve a numeric versioning scheme with Git?
My organization is considering moving from SVN to Git. One argument against moving is as follows:
How do we do versioning?
We have an SDK distribution based on the NetBeans Platform. As the SVN revisions are simple numbers we can use them to extend…

Erlend
- 1,553
- 3
- 10
- 6
99
votes
9 answers
What are the advantages of build scripts?
For most of my programming career, I've used the "build/compile/run" command in whatever IDE I'm working with to produce a runnable program. This is one button, pretty easy. As I learn more about different languages and frameworks, though, I see…

WannabeCoder
- 2,794
- 5
- 16
- 19
96
votes
5 answers
Why are there no package management systems for C and C++?
There are some programming languages for which exist a package management system:
CTAN for TeX
CPAN for Perl
Pip & Eggs for Python
Maven for Java
cabal for Haskell
Gems for Ruby
npm for NodeJS
bower for frontend Javascript & CSS
nuget for…

m0nhawk
- 1,490
- 3
- 17
- 25
77
votes
7 answers
What is the purpose of a dedicated build machine?
Due to a number of circumstances leading to a poor deployment last build cycle, I campaigned in our office to perform all future deployments with a dedicated build machine, and my boss accepted this proposal.
However, instead of getting an actual…

Zibbobz
- 1,522
- 3
- 13
- 20
77
votes
12 answers
What exactly is the build number in MAJOR.MINOR.BUILDNUMBER.REVISION
What I think about Build Numbers is that whenever a new nightly build is created, a new BUILDNUMBER is generated and assigned to that build. So for my 7.0 version application the nightly builds will be 7.0.1, 7.0.2 and so on. Is it so? Then what is…

A9S6
- 893
- 1
- 8
- 9
50
votes
2 answers
Why is build.number an "abuse" of semantic versioning?
I was explaining a proposed build system (Gradle/Artifactory/Jenkins/Chef) to one of our senior architects, and he made a comment to me that I sort of disagree with, but am not experienced enough to really weigh-in on.
This project builds a Java…

herpylderp
- 2,017
- 3
- 21
- 27
45
votes
8 answers
Is directly using Make considered obsolete?
So I have been coming across many comments/posts/etc regarding creating makefiles directly, and how it is a silly thing to do in 2015. I am aware of tools such as CMake, and I actually use CMake quite often. The thing is, CMake is just creating the…

JParrilla
- 671
- 1
- 6
- 9
25
votes
6 answers
Why isn't java used as a build language?
If Java is a general purpose language, and building a program is something that can be described using the Java language, why isn't this the best way to write build files and instead we use tools like Ant, Maven, and Gradle? Wouldn't that be more…

vainolo
- 1,321
- 3
- 13
- 22
24
votes
7 answers
how to stay efficient when a build is almost always broken
I work in a middle sized team which shares the same source code and while have a continues integration in place, but as all of us has to work in the same branch, the build is almost always broken.
As we also have a rule, which has been introduced…
user18404
24
votes
9 answers
Convince a lone developer to use a separate build tool instead of the IDE one-click build
In my years of programming Java and more recently Scala, I've never used Ant, Maven, Gradle or any of those build tools for Java. Everywhere I've worked there was a build manager who took care of all of that -- I'd compile locally with the IDE for…

Gigatron
- 361
- 3
- 7
23
votes
8 answers
Detect manual changes to an autogenerated C header
I have a C header that is generated from a CSV file and a Python script. The C header mainly contains a list of #define constants.
I want to be able to detect manual changes to this header during compilation (which tends to happen frequently in this…

9a3eedi
- 2,101
- 3
- 23
- 29
22
votes
11 answers
Babysitting your Continuous Integration System
One of my roles in my team is the build person. I am responsible for maintaining/updating our build scripts and making sure we are building 'smoothly' on the continuous integration server. I usually do not mind this job, though often it feels like I…

c_maker
- 8,250
- 4
- 35
- 53
22
votes
7 answers
How important are daily builds?
One of the criteria of the Joel Test is daily builds. The idea is that if the build is broken, whoever broke it is around to fix it up. If the build cannot be fixed, everyone will have to check out an old version and work on that. I can understand…

Casebash
- 7,662
- 5
- 41
- 62