Skip to content

Commit

Permalink
Update pkg dot files
Browse files Browse the repository at this point in the history
  • Loading branch information
HenrikBengtsson committed Feb 15, 2016
1 parent f014dee commit 784dbc8
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 7 deletions.
74 changes: 68 additions & 6 deletions .make/Makefile
Expand Up @@ -3,16 +3,19 @@
# CORE MACROS
ifeq ($(OS), Windows_NT)
CD=cd
CURDIR=$(subst \,/,"$(shell cmd.exe /C cd)")
CURDIR=$(subst \,/,$(shell cmd.exe /C cd))
FSEP=;
else
CD=cd -P "$(CURDIR)"; cd # This handles the case when CURDIR is a softlink
FSEP=:
endif
CP=cp
MAKE=make
MV=mv
RM=rm -f
MKDIR=mkdir -p
RMDIR=$(RM) -r
GIT=git

# PACKAGE MACROS
PKG_VERSION := $(shell grep -i ^version DESCRIPTION | cut -d : -d \ -f 2)
Expand All @@ -31,10 +34,13 @@ FILES_INCL := $(wildcard incl/*)
FILES_INST := $(wildcard inst/* inst/*/* inst/*/*/* inst/*/*/*/*)
FILES_VIGNETTES := $(wildcard vignettes/* vignettes/.install_extras)
FILES_SRC := $(wildcard src/* src/*/* src/*/*/* src/*/*/*/* src/*/*/*/*/* src/*/*/*/*/*/* src/*/*/*/*/*/*/* src/*/*/*/*/*/*/*/*)
FILES_SRC_C := $(wildcard src/*.c)
FILES_SRC_H := $(wildcard src/*.h)
FILES_TESTS := $(wildcard tests/*.R)
FILES_NEWS := $(wildcard NEWS inst/NEWS)
FILES_MISC := $(wildcard README.md)
FILES_ROOT := DESCRIPTION NAMESPACE $(wildcard .Rbuildignore .Rinstignore)
PKG_FILES := $(FILES_ROOT) $(FILES_NEWS) $(FILES_R) $(FILES_DATA) $(FILES_MAN) $(FILES_INST) $(FILES_VIGNETTES) $(FILES_SRC) $(FILES_TESTS)
PKG_FILES := $(FILES_ROOT) $(FILES_NEWS) $(FILES_R) $(FILES_DATA) $(FILES_MAN) $(FILES_INST) $(FILES_VIGNETTES) $(FILES_SRC) $(FILES_TESTS) $(FILES_MISC)
FILES_MAKEFILE := $(wildcard ../../Makefile)

# Has vignettes in 'vignettes/' or 'inst/doc/'?
Expand All @@ -52,6 +58,7 @@ R_VERSION_X_Y := $(shell $(R_SCRIPT) -e "cat(gsub('[.][0-9]+$$', '', getRversion
R_VERSION := $(shell $(R_SCRIPT) -e "cat(as.character(getRversion()))")
R_VERSION_FULL := $(R_VERSION)$(R_VERSION_STATUS)
R_LIBS_USER_X := $(shell $(R_SCRIPT) -e "cat(.libPaths()[1])")
R_INCLUDE := $(shell $(R_SCRIPT) -e "cat(R.home('include'))")
R_OUTDIR := ../_R-$(R_VERSION_FULL)
## R_BUILD_OPTS :=
## R_BUILD_OPTS := $(R_BUILD_OPTS) --no-build-vignettes
Expand All @@ -65,6 +72,11 @@ R_CRAN_OUTDIR := $(R_OUTDIR)/$(PKG_NAME)_$(PKG_VERSION).CRAN

HAS_ASPELL := $(shell $(R_SCRIPT) -e "cat(Sys.getenv('HAS_ASPELL', !inherits(try(aspell('DESCRIPTION', control=c('--master=en_US', '--add-extra-dicts=en_GB'), dictionaries='en_stats', program='aspell'), silent=TRUE), 'try-error')))")

## Git related
GIT_BRANCH := $(shell $(GIT) symbolic-ref --short HEAD)
GIT_BRANCH := $(subst /,-,$(GIT_BRANCH))
GIT_COMMIT := $(shell $(GIT) log -1 --format="%h")
R_LIBS_BRANCH := $(CURDIR)/.R/$(GIT_BRANCH)


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down Expand Up @@ -96,6 +108,7 @@ debug:
@echo R_VERSION_STATUS=\'$(R_VERSION_STATUS)\'
@echo R_VERSION_FULL=\'$(R_VERSION_FULL)\'
@echo R_LIBS_USER_X=\'$(R_LIBS_USER_X)\'
@echo R_INCLUDE=\'$(R_INCLUDE)\'
@echo R_OUTDIR=\'$(R_OUTDIR)\'
@echo
@echo "Default packages:" $(shell $(R) --slave -e "cat(paste(getOption('defaultPackages'), collapse=', '))")
Expand Down Expand Up @@ -124,10 +137,14 @@ debug_full: debug
@echo FILES_SRC=\'$(FILES_SRC)\'
@echo FILES_TESTS=\'$(FILES_TESTS)\'
@echo FILES_INCL=\'$(FILES_INCL)\'
@echo FILES_MISC=\'$(FILES_MISC)\'
@echo
@echo DIR_VIGNS=\'$(DIR_VIGNS)\'
@echo dirname\(DIR_VIGNS\)=\'$(shell dirname $(DIR_VIGNS))\'

@echo
@echo GIT_BRANCH=\'$(GIT_BRANCH)\'
@echo GIT_COMMIT=\'$(GIT_COMMIT)\'
@echo R_LIBS_BRANCH=\'$(R_LIBS_BRANCH)\'


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down Expand Up @@ -202,6 +219,15 @@ install_fast:
$(R) --no-init-file CMD INSTALL --no-docs --no-multiarch --no-byte-compile --no-test-load $(PKG_TARBALL)


$(R_LIBS_BRANCH)/$(PKG_NAME)/DESCRIPTION: $(R_OUTDIR)/$(PKG_TARBALL) build_fix
$(CD) $(R_OUTDIR);\
$(MKDIR) $(R_LIBS_BRANCH);\
$(R) --no-init-file CMD INSTALL --library=$(R_LIBS_BRANCH) $(PKG_TARBALL)

install_branch: $(R_LIBS_BRANCH)/$(PKG_NAME)/DESCRIPTION



# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Check source tarball
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand All @@ -226,12 +252,16 @@ check_force:
$(MAKE) check

clang:
clang -c -pedantic -Wall -I$(R_HOME)/include/ src/*.c
clang -c -pedantic -Wall -I$(R_INCLUDE) src/*.c
$(RM) *.o

clang-ubsan:
clang -fsanitize=undefined -I$(R_INCLUDE) -c src/*.c
$(RM) *.o

valgrind_scan:
grep -E "^==.*==[ ]+(at|by) 0x" $(R_CHECK_OUTDIR)/tests/*.Rout | cat
grep "^==.* ERROR SUMMARY:" $(R_CHECK_OUTDIR)/tests/*.Rout | grep -v -F "ERROR SUMMARY: 0 errors" | cat
grep -E "^==.*==[ ]+(at|by) 0x" $(R_CHECK_OUTDIR)/tests*/*.Rout | cat
grep "^==.* ERROR SUMMARY:" $(R_CHECK_OUTDIR)/tests*/*.Rout | grep -v -F "ERROR SUMMARY: 0 errors" | cat

valgrind:
export _R_CHECK_USE_VALGRIND_=TRUE;\
Expand Down Expand Up @@ -316,6 +346,38 @@ test_full: $(R_OUTDIR)/tests/%.R
$(R_SCRIPT) -e "for (f in list.files(pattern='[.]R$$')) { print(f); source(f, echo=TRUE) }"


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Benchmarking
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
R_branch:
R_LIBS="$(R_LIBS_USER_X)$(FSEP)$(R_LIBS)" R_LIBS_USER="$(R_LIBS_BRANCH)" $(R)

benchmark:
$(MKDIR) .benchmark/$(PKG_VERSION);\
$(CD) .benchmark/$(PKG_VERSION);\
$(R_SCRIPT) -e "$(PKG_NAME):::benchmark('index')"

benchmark_branch:
$(MKDIR) .benchmark/$(PKG_VERSION)_$(GIT_BRANCH)_$(GIT_COMMIT);\
$(CD) .benchmark/$(PKG_VERSION)_$(GIT_BRANCH)_$(GIT_COMMIT);\
R_LIBS="$(R_LIBS_USER_X)$(FSEP)$(R_LIBS)" R_LIBS_USER="$(R_LIBS_BRANCH)" $(R_SCRIPT) -e "$(PKG_NAME):::benchmark('index')"


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Miscellaneous development tools
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
## Fully expanded src/*.c files
.devel/src/%: src/% $(FILES_SRC)
$(MKDIR) .devel/src/;\
gcc -I$(R_INCLUDE) -E $< | sed -e '/./b' -e :n -e 'N;s/\n$$//;tn' > .devel/$<

.devel/src/all: $(FILES_SRC)
for f in $(FILES_SRC_C); do\
echo $$f;\
$(MAKE) .devel/$$f;\
done


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Run extensive CRAN submission checks
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -27,7 +27,7 @@ env:
# R versions r-builder should test on (ignored by r-travis)
matrix:
- RVERSION=3.1.3
- RVERSION=3.2.1
- RVERSION=3.2.3
- RVERSION=devel _R_COVR_=TRUE _R_CHECK_FULL_=TRUE


Expand Down
9 changes: 9 additions & 0 deletions README.md
Expand Up @@ -7,6 +7,15 @@ R package R.methodsS3 is available on [CRAN](http://cran.r-project.org/package=R
install.packages('R.methodsS3')
```

### Pre-release version

To install the pre-release version that is available in branch `develop`, use:
```r
source('http://callr.org/install#HenrikBengtsson/R.methodsS3@develop')
```
This will install the package from source.



## Software status

Expand Down
5 changes: 5 additions & 0 deletions appveyor.yml
Expand Up @@ -25,6 +25,7 @@ install:
# Adapt as necessary starting from here

build_script:
- echo Current directory=%CD%



Expand Down Expand Up @@ -55,3 +56,7 @@ artifacts:

- path: '\*_*.zip'
name: Bits

on_failure:
- 7z a failure.zip *.Rcheck\*
- appveyor PushArtifact failure.zip

0 comments on commit 784dbc8

Please sign in to comment.