]> git.donarmstrong.com Git - cran2deb.git/blob - trunk/exec/build
usage message was missing word 'build'
[cran2deb.git] / trunk / exec / build
1 #!/usr/bin/env r
2 ## DOC: cran2deb build [-D extra_dep1,extra_dep2,...] package1 package2 ...
3 ## DOC:     builds a particular package.
4 ## DOC:
5 suppressPackageStartupMessages(library(cran2deb))
6
7 if (exists('argv')) { # check for littler
8     argc <- length(argv)
9     extra_deps = list()
10     extra_deps$deb = c()
11     extra_deps$r = c()
12     opts = c('-D','-R')
13     # first argument is the root --- this is dealt with elsewhere.
14     for (i in 2:argc) {
15         if (!(argv[i] %in% opts)) {
16             if (argc >= i) {
17                 argv <- argv[i:argc]
18             } else {
19                 argv <- list()
20             }
21             argc = argc - i + 1
22             break
23         }
24         if (i == argc) {
25             err('missing argument')
26         }
27         if (argv[i] == '-D') {
28             extra_deps$deb = c(extra_deps$deb,strsplit(chomp(argv[i+1]),',')[[1]])
29         }
30         if (argv[i] == '-R') {
31             extra_deps$r = c(extra_deps$r,strsplit(chomp(argv[i+1]),',')[[1]])
32             extra_deps$deb = c(extra_deps$deb,lapply(extra_deps$r,pkgname_as_debian))
33         }
34     }
35     if (argc == 0) {
36         err('usage: cran2deb build [-D extra_dep1,extra_dep2,...] package package ...')
37     }
38     build_order <- r_dependency_closure(c(extra_deps$r,argv))
39     notice('build order',paste(build_order,collapse=', '))
40     for (pkg in build_order) {
41         build(pkg,extra_deps,force=pkg %in% argv)
42     }
43 }