Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/sources/test/resources/reference/MODULE.kts
blob: 652852cea1213b14bd4dc85550ebb4f16f041b22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// The MODULE.kts of the reference module: every setting of the DSL.

module {
    name = "greeter"
    version = "1.2.0"                        // SemVer; no five-field versions
    description = "Greets people."
    authors("Leitwolf", "Helmut")
    license = "MIT"                          // SPDX expression
}

dependencies {
    implementation("Publisher") {            // Publisher = a Progmasoft Account; label @toml//:…
        name = "toml"
        version = "1.0.0"
    }
    implementation("Publisher") {            // label @json-lib//:…
        name = "json"
        version = "2.1.0"
        alias = "json-lib"                   // optional
    }
    testImplementation("Progmasoft") {       // test targets only; label @catch3//:…
        name = "catch3"
        version = "3.1.0"
    }

    localImplementation {                    // label @local-lib//:…
        name = "local-lib"
        include("local.vipkg")
    }
    localImplementation {                    // label @libs//:…, the common name of every package the glob takes;
        name = "libs"                        // the same target name in two of them is an error
        include(glob("libs/*.vipkg"))
    }
    localTestImplementation {                // label @test-lib//:…
        name = "test-lib"
        include("fixtures/test-lib.vipkg")
    }
}

viget {
    push = true                              // default: false
    pushTarget("//core/:core", "//app/:greeter")   // their BUILD.kts must have isPublic = true, otherwise an error
    exclude(glob("docs/**"))
}

cache {
    local = true                             // default: true
    keep = 8                                 // results kept per target; default: 8
    remote("https://cache.example.com") {
        read = true                          // default: true
        write = false                        // default: false
        token = env("TAZEL_CACHE_TOKEN")
        publicKey = env("TAZEL_CACHE_PUBLIC_KEY")
        signingKey = env("TAZEL_CACHE_SIGNING_KEY")
    }
}

execution {
    jobs = 8                                 // default: processors
    memory = 16.gigabytes                    // default: no limit
    keepGoing = false                        // default: false
    remote("https://build.example.com") { token = env("TAZEL_REMOTE_TOKEN") }
}

// There is no plugins { } block: Tazel has no plugin API.