Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize installers #38

Merged
merged 38 commits into from Apr 12, 2019
Merged

Reorganize installers #38

merged 38 commits into from Apr 12, 2019

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