Skip to content

Reorganize installers#38

Merged
ressy merged 38 commits intodevfrom
reorganize-installers
Apr 12, 2019
Merged

Reorganize installers#38
ressy merged 38 commits intodevfrom
reorganize-installers

Conversation

@ressy
Copy link
Member

@ressy ressy commented Apr 12, 2019

This centralizes most custom installation tasks inside the package itself in R/installer.R , moves wrapper scripts (all except the Mac OS .app directory) from inst/bin to the more typical exec, and moves various build helpers into tools. The custom installer for each OS is also now tested during Travis builds using a wrapper tools/travis_install_test.sh. From-scratch installation without a preexisting user R library directory now works on Windows, Mac, and Linux. Fixes #18.

This also fixes a previously-implicit dependency on the devtools package (now explicitly required for the installer functions, in addition to the demo scripts) which should prevent any trouble now that R support in Travis has migrated to the remotes package for default dependency handling.

ressy added 30 commits March 15, 2019 16:55
Once the R script content is more generalized the other OS wrapper
scripts can call this same R script.
Still need to fill in stubs for linux and osx cases.
This variable is available to a running R process even if it didn't
exist when R started.  This means we can use it for the appropriate
per-user library path on a given install and not worry about OS
detection.
== for strings, -eq for numbers!  This is why it was trying to use the
linux installer for osx.
system2 command arguments are given as a character vector, not as
separate arguments.
test -d on the directory symlink, not test -f.
Otherwise it will create a symlink inside the target, making a circle.
These functions may be helpful from within an install (e.g. to keep the
Desktop icon valid as #24 describes).  This also removes the brittle
attempts to autodetect paths and instead requires that the wrapper
install script be called from the project dir and install() function be
given a package source path.
This is more idiomatic for R packages.  Also put AppleScript in tools/
as it is only needed when building the Mac OS wrapper.
R package handling won't put whole directories in exec.  Need to keep
the Mac OS .app directory separate from the executable scripts, then.
This should fix the extra dialog box that appears, and point to the new
location of the wrapper scripts in the exec directory.
@ressy ressy merged commit 561e336 into dev Apr 12, 2019
@ressy ressy deleted the reorganize-installers branch April 12, 2019 18:55
@ressy ressy mentioned this pull request Sep 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reorganize installers

1 participant