Buck

Buck is a flexible and a highly configurable build system aimed at speeding up build times by creating small reusable modules.

Buck uses Python to generate build targets.

.buckconfigandroid_resource
1
2
3
4
5
6
7
8
9
android_resource(
name = 'newsfeed-res',
package = 'com.facebook',
res = 'my-res-dir',
deps = [
'//res/com/facebook/comments:res',
'//res/com/facebook/story:res',
],
)

Building with Gradle

Gradle is build automation tool known for its fast dependency resolution, fast build-times and scalability.

Gradle is very extensible and offers support for popular programming languages besides being the official Android build tool.

build.gradlebuild.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
tasks.register("hello") {
doLast {
println("Hello world!")
}
}
tasks.register("intro") {
dependsOn("hello")
doLast {
println("I'm Gradle")
}
}

Gyp

GYP was designed to generate native build files for XCode, Visual Studio, Make and SCons in a reasonable and fast manner.
GYP was originally designed to meet Chromium’s complex build requirements.

example.gypexample.gyp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
'targets': [
{
'target_name': 'new_unit_tests',
'type': 'executable',
'defines': [
'FOO',
],
'include_dirs': [
'..',
],
'dependencies': [
'other_target_in_this_file',
'other_gyp2:target_in_other_gyp2',
],
'sources': [
'new_additional_source.cc',
'new_unit_tests.cc',
],
},
],
}

Build with SCons

SCons is touted as an easier, more reliable and faster way to build software with in-built support for multiple languages and an easily extensible user-defined builder system.

SConstruct
1
Program('app.c')

Build with Bazel

Bazel is a fast massively scalable build and testing tool with extensive capabilities similar to Maven and Gradle.

BUILDBUILD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
cc_library(
name = "hello-greet",
srcs = ["hello-greet.cc"],
hdrs = ["hello-greet.h"],
)

cc_binary(
name = "hello-world",
srcs = ["hello-world.cc"],
deps = [
":hello-greet",
],
)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×