ComputationalProteomicsUnit / maker

Makefile for R packages
GNU General Public License v3.0
31 stars 5 forks source link

add default PKG feature, see #19 #21

Closed sgibb closed 9 years ago

sgibb commented 9 years ago

This PR adds the default PKG feature suggested by @lbraglia in #19. @lbraglia , @lgatto could you please test it before we merge it into master?

git fetch origin refs/pull/21/head:defaultPKG
git checkout defaultPKG

Best wishes,

Sebastian

lbraglia commented 9 years ago

Hi i've tested but now i see only .makerrc defined targets...

l@np350v5c:~/src/rpkg/maker$ git branch 
* defaultPKG
  lintr_recipe
  master
  update-date
l@np350v5c:~/src/rpkg/maker$ cd ..
l@np350v5c:~/src/rpkg$ ls -l Makefile 
lrwxrwxrwx 1 l l 14 lug 21  2014 Makefile -> maker/Makefile
l@np350v5c:~/src/rpkg$ make [TAB][TAB]
aspell-all                  check-codetools             devtools-use-appveyor       devtools-use-revdep         document-rd                 maker_setup                 openxlsx_setup              
aspell-c                    clean-tars                  devtools-use-cran-comments  devtools-use-testthat       lint                        maker_update                openxlsx_test               
aspell-r                    covr                        devtools-use-knitr          devtools-use-travis         maker_all                   openxlsx_all                openxlsx_update             
aspell-rd                   create                      devtools-use-package-doc    do                          maker_get                   openxlsx_get                
aspell-vignette             devtools-create             devtools-use-rcpp           document                    maker_remote                openxlsx_remote             
l@np350v5c:~/src/rpkg$ make 

don't know if it happens only to me..

Furthermore, regarding naming, maybe make get-default-pkg may be adopted instead of make default-pkg (it's just a matter of taste, but the get-set couple could be easier to think about)..

thank Luca

sgibb commented 9 years ago

I can't reproduce your problem in GNU bash, version 4.2.37(1) (Debian wheezy). I removed/reset the default PKG and always get the complete list of targets.

lbraglia commented 9 years ago

With debian testing,

l@np350v5c:~/src/rpkg$ bash --version
GNU bash, versione 4.3.30(1)-release (x86_64-pc-linux-gnu)
l@np350v5c:~/src/rpkg$ make --version 
GNU Make 4.0

l@np350v5c:~/src/rpkg$ head -n 1 ~/.makerrc
PKG=openxlsx

l@np350v5c:~/src/rpkg$ make 
aspell-all                  check-downstream            create                      devtools-use-travis         install-dependencies        openxlsx_2.3.2.tar.gz       remove-default-pkg
aspell-c                    check-only                  default-pkg                 do                          install-only                openxlsx_all                roxygen
aspell-r                    check-reverse-dependencies  devtools-create             document                    install-upstream            openxlsx_get                run-demos
aspell-rd                   clean                       devtools-use-appveyor       document-rd                 lint                        openxlsx_remote             set-default-pkg
aspell-vignette             clean-all                   devtools-use-cran-comments  force                       maker                       openxlsx_setup              targets
bioccheck                   clean-tar                   devtools-use-knitr          help                        maker_all                   openxlsx_test               usage
bioccheck-only              clean-tars                  devtools-use-package-doc    increment-version-major     maker_get                   openxlsx_update             version
build                       clean-vignettes             devtools-use-rcpp           increment-version-minor     maker_remote                rd                          vignettes
check                       compile-attributes          devtools-use-revdep         increment-version-patch     maker_setup                 release                     win-builder
check-codetools             covr                        devtools-use-testthat       install                     maker_update                remove                      

l@np350v5c:~/src/rpkg$ head -n 1 ~/.makerrc
# PKG=openxlsx

l@np350v5c:~/src/rpkg$ make
aspell-all                  check-codetools             devtools-use-appveyor       devtools-use-revdep         document-rd                 maker_setup                 openxlsx_setup
aspell-c                    clean-tars                  devtools-use-cran-comments  devtools-use-testthat       lint                        maker_update                openxlsx_test
aspell-r                    covr                        devtools-use-knitr          devtools-use-travis         maker_all                   openxlsx_all                openxlsx_update
aspell-rd                   create                      devtools-use-package-doc    do                          maker_get                   openxlsx_get                
aspell-vignette             devtools-create             devtools-use-rcpp           document                    maker_remote                openxlsx_remote             

if PKG=foo is defined in .makerrc there are no problems.. looking at it ASAP

lbraglia commented 9 years ago

with a non existing package in .makerrc it's similar

l@np350v5c:~/src/rpkg$ ls
aplore3  ctests    lbls      maker     QScoring    RStata  yapomif
aprean3  ifctools  Makefile  openxlsx  RMakefiles  test

l@np350v5c:~/src/rpkg$ head -n 3 /home/l/.makerrc
## -*- mode: Makefile; -*-
# --------------------------------------------------------------------
PKG:=fakePackage

l@np350v5c:~/src/rpkg$ make 
aspell-all                  devtools-use-travis
aspell-c                    do
aspell-r                    document
aspell-rd                   document-rd
aspell-vignette             lint
check-codetools             maker_all
clean-tars                  maker_get
covr                        maker_remote
create                      maker_setup
devtools-create             maker_update
devtools-use-appveyor       openxlsx_all
devtools-use-cran-comments  openxlsx_get
devtools-use-knitr          openxlsx_remote
devtools-use-package-doc    openxlsx_setup
devtools-use-rcpp           openxlsx_test
devtools-use-revdep         openxlsx_update
devtools-use-testthat       
lbraglia commented 9 years ago

yes, thanks it seems a problem of

l@np350v5c:~/src/rpkg$ dpkg -l|grep bash-completion
ii  bash-completion                                             1:2.1-4                           all          programmable completion for the bash shell

given that under the hood i DO have the targets...

l@np350v5c:~/src/rpkg$ make 
aspell-all                  check-codetools             devtools-use-appveyor       devtools-use-revdep         document-rd                 maker_setup                 openxlsx_setup              
aspell-c                    clean-tars                  devtools-use-cran-comments  devtools-use-testthat       lint                        maker_update                openxlsx_test               
aspell-r                    covr                        devtools-use-knitr          devtools-use-travis         maker_all                   openxlsx_all                openxlsx_update             
aspell-rd                   create                      devtools-use-package-doc    do                          maker_get                   openxlsx_get                
aspell-vignette             devtools-create             devtools-use-rcpp           document                    maker_remote                openxlsx_remote             

l@np350v5c:~/src/rpkg$ make help |head -n 3
Usage:

 make TARGET PKG=package

l@np350v5c:~/src/rpkg$ make build
Makefile:52: *** fakePackage/ seems to be no R package. Did you set PKG/PKGDIR?.  Arresto.
lbraglia commented 9 years ago

no problems with zsh...

sgibb commented 9 years ago

I could simply remove these lines. In the current version of maker there is no check of PKG at all. But I am unsure whether we should remove this test just for a working tab completion in bash?!

lbraglia commented 9 years ago

I agree (not to remove these lines). After all

JM2C

sgibb commented 9 years ago

Thanks for your opinion.

lgatto commented 9 years ago

Sorry for stepping in late. Do you still need me to do some testing?

sgibb commented 9 years ago

I already merged this. You can use it in your daily work and report any problems. No special testing needed.