cleaning up r-build

This commit is contained in:
Charlton, Scott R 2021-09-27 18:01:34 -07:00
parent de3cd91cff
commit 547c6ed33d
5 changed files with 82 additions and 53 deletions

View File

@ -122,21 +122,13 @@ jobs:
shell: Rscript {0}
- name: versioning
run: ./jenkins-R-dist.sh -v ${{ needs.init.outputs.VER }} -r ${{ needs.init.outputs.REL }} -d ${{ needs.init.outputs.DATE }}
run: ./jenkins-dist.sh -v ${{ needs.init.outputs.VER }} -r ${{ needs.init.outputs.REL }} -d ${{ needs.init.outputs.DATE }}
# - name: versioning
# run: ./jenkins-dist.sh -v ${{ needs.init.outputs.VER }} -r ${{ needs.init.outputs.REL }} -d ${{ needs.init.outputs.DATE }}
- name: build
run: cd R && make build
# - name: R
# run: |
# cd R
# mkdir -p phreeqc/man
# mkdir -p phreeqc/src/phreeqcpp
# mkdir -p phreeqc/R
# mkdir -p phreeqc/data
# echo "# Generated by roxygen2: do not edit by hand" > phreeqc/NAMESPACE
# DATE=$(date -d ${{ needs.init.outputs.DATE }} "+%Y-%m-%d")
# make VERSION=${{ needs.init.outputs.VER }} RELEASE_DATE=$DATE build
- name: check
run: cd R && make check
- uses: actions/upload-artifact@v2
with:

View File

@ -1,19 +1,36 @@
# phreeqc TOPDIR
# ├── data DATADIR
# ├── inst INST
# ├── man MAN
# ├── R
# └── src IDEST
# └── phreeqcpp DEST
#
CP=cp -f
TOPDIR=phreeqc
IDEST=phreeqc/src
DEST=phreeqc/src/phreeqcpp
TOPDIR ?= phreeqc
IDEST=$(TOPDIR)/src
DEST=$(TOPDIR)/src/phreeqcpp
ISRC=../src
SRC=../src/phreeqcpp
INST=phreeqc/inst
INST=$(TOPDIR)/inst
DBDIR=../database
DATADIR=phreeqc/data
DATADIR=$(TOPDIR)/data
EXDIR=../phreeqc3-examples
MAN=phreeqc/man
MAN=$(TOPDIR)/man
R=$(TOPDIR)/R
SVN_URL := http://internalbrr.cr.usgs.gov/svn_GW
RELEASE ?= $(shell svn info $(SVN_URL) | egrep "Revision:" | cut -b 10- | ( read one two ; echo $$one ) )
_TOPDIR := $(shell mkdir -p $(TOPDIR))
_IDEST := $(shell mkdir -p $(IDEST))
_DEST := $(shell mkdir -p $(DEST))
_INST := $(shell mkdir -p $(INST))
_DATADIR := $(shell mkdir -p $(DATADIR))
_MAN := $(shell mkdir -p $(MAN))
_R := $(shell mkdir -p $(R))
RELEASE ?= $(shell curl -sS https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/rel.py | python3 -)
RELEASE_DATE ?= $(shell date "+%Y-%m-%d")
VERSION ?= 1.0
VERSION ?= $(shell curl -sS https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/next_ver.sh | /bin/sh)
DBS = \
Amm.ascii \
@ -281,11 +298,12 @@ $(DATADIR)/examples.rda : $(EXS) build-examples.R
R --no-save --no-restore CMD BATCH build-examples.R
rm -f .RData
roxygenize $(MAN)/phreeqc-package.Rd : phreeqc/R/phreeqc.R
rm -f $(RDFILES)
rm -f .RData
R --no-save --no-restore CMD BATCH roxygenize.R
touch $(MAN)/phreeqc-package.Rd
# roxygenize $(MAN)/phreeqc-package.Rd : $(R)/phreeqc.R
# rm -f $(RDFILES)
# rm -f .RData
# # R --no-save --no-restore CMD BATCH roxygenize.R
# # touch $(MAN)/phreeqc-package.Rd
# Rscript -e 'devtools::document(pkg = "phreeqc")'
##$(PSRC): $(DEST)
@ -809,8 +827,18 @@ $(INST)/ex2 : ../phreeqc3-examples/ex2
########################################
roxygenize $(MAN)/phreeqc-package.Rd : $(R)/phreeqc.R
rm -f $(RDFILES)
rm -f .RData
# R --no-save --no-restore CMD BATCH roxygenize.R
# touch $(MAN)/phreeqc-package.Rd
Rscript -e 'devtools::document(pkg = "phreeqc")'
check : all
Rscript -e "devtools::check('phreeqc')"
Rscript -e "devtools::check(pkg = 'phreeqc')"
# check_built :
# Rscript -e "devtools::check_built()"
valgrind : install
R -d "valgrind --tool=memcheck --leak-check=full" --vanilla < valgrind.R 2>&1 | tee valgrind.full.out
@ -818,12 +846,14 @@ valgrind : install
install : all
R CMD INSTALL --build phreeqc
$(TOPDIR)/R/phreeqc.R : phreeqc.R.in export_sed
phreeqc/R/phreeqc.R : export_sed
$(TOPDIR)/DESCRIPTION : DESCRIPTION.in export_sed
phreeqc/DESCRIPTION : export_sed
$(TOPDIR)/inst/CITATION : CITATION.in export_sed
export_sed :
.PHONY: export_sed
export_sed : check-vars
sed \
-e 's/@VERSION@/$(VERSION)/g' \
< DESCRIPTION.in > $(TOPDIR)/DESCRIPTION
@ -831,6 +861,9 @@ export_sed :
-e 's/@VERSION@/$(VERSION)/g' \
-e 's/@RELEASE_DATE@/$(RELEASE_DATE)/g' \
< phreeqc.R.in > $(TOPDIR)/R/phreeqc.R
echo "# Generated by roxygen2: do not edit by hand" > $(TOPDIR)/NAMESPACE
$(CP) CITATION $(TOPDIR)/inst/CITATION
$(CP) LICENSE.note $(TOPDIR)/LICENSE.note
build : all
R CMD build --resave-data phreeqc
@ -847,10 +880,19 @@ $(IDEST)/R.cpp : R.cpp
< $< > $@
$(IDEST):
mkdir $(IDEST)
mkdir -p $(IDEST)
$(DEST):
mkdir $(DEST)
mkdir -p $(DEST)
clean :
rm -f $(PSRC) $(XSRC) $(DEST)/*.o $(IDEST)/*.o $(DEST)/*.so
.PHONY: check-vars
check-vars:
ifndef VERSION
$(error VERSION is undefined)
endif
ifndef RELEASE_DATE
$(error RELEASE_DATE is undefined)
endif

View File

@ -4,28 +4,28 @@
# set DATE
#
if [ -z "$DATE" ]; then
DATE=$(date "+%x")
DATE=$(date "+%x")
fi
DATE=$(date -d $DATE "+%Y-%m-%d")
DATE=$(date -d $DATE --rfc-3339=date)
#
# set VER
#
if [ -z "$VER" ]; then
###wget https://cran.r-project.org/package=phreeqc -O index.xhtml 2> /dev/null
###VER=`xmlstarlet sel -t -m "/_:html/_:body/_:table[1]/_:tr[1]/_:td[2]" -v . -n index.xhtml 2> /dev/null`
VER=$(curl https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/phreeqc-version.txt)
ver_major=$(echo "$VER" | cut -d '.' -f 1)
ver_minor=$(echo "$VER" | cut -d '.' -f 2)
ver_patch=$(echo "$VER" | cut -d '.' -f 3)
ver_patch=$((ver_patch+1))
###wget https://cran.r-project.org/package=phreeqc -O index.xhtml 2> /dev/null
###VER=`xmlstarlet sel -t -m "/_:html/_:body/_:table[1]/_:tr[1]/_:td[2]" -v . -n index.xhtml 2> /dev/null`
VER=$(curl https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/phreeqc-version.txt)
ver_major=$(echo "$VER" | cut -d '.' -f 1)
ver_minor=$(echo "$VER" | cut -d '.' -f 2)
ver_patch=$(echo "$VER" | cut -d '.' -f 3)
ver_patch=$((ver_patch+1))
else
ver_major=$(echo "$VER" | cut -d '.' -f 1)
ver_minor=$(echo "$VER" | cut -d '.' -f 2)
ver_patch=$(echo "$VER" | cut -d '.' -f 3)
ver_major=$(echo "$VER" | cut -d '.' -f 1)
ver_minor=$(echo "$VER" | cut -d '.' -f 2)
ver_patch=$(echo "$VER" | cut -d '.' -f 3)
fi
if [ -z "$ver_major" ] || [ -z "$ver_minor" ] || [ -z "$ver_patch" ]; then
exit 1
exit 1
fi
VER="${ver_major}.${ver_minor}.${ver_patch}"
export VER
@ -36,16 +36,11 @@ export VER
curl https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/ver.py -o ver.py
HEAD=$(python3 ver.py)
if [ -z "$REL" ]; then
REL="$HEAD"
REL="$HEAD"
fi
# sed files
/bin/sh jenkins-dist.sh -v ${VER} -r ${REL} -d ${DATE} -pr ${TAG}
cd R
mkdir -p phreeqc/man
mkdir -p phreeqc/src/phreeqcpp
mkdir -p phreeqc/R
mkdir -p phreeqc/data
echo "# Generated by roxygen2: do not edit by hand" > phreeqc/NAMESPACE
# make VERSION=${VER} RELEASE_DATE=${DATE} build
make VERSION=${VER} RELEASE_DATE=${DATE} build
make VERSION=${VER} RELEASE_DATE=${DATE} check