Skip to content
New issue

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

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

Already on GitHub? # to your account

adding support for github packages (#22) #27

Merged
merged 10 commits into from
Feb 9, 2023
Merged

adding support for github packages (#22) #27

merged 10 commits into from
Feb 9, 2023

Conversation

schochastics
Copy link
Collaborator

@schochastics schochastics commented Feb 8, 2023

This PR will ultimately add full support for github packages. (Edit: please don't merge yet, I cannot change it to draft somehow)

resolve

  • GitHub packages need to have the form user/repo

  • .get_snapshot_dependencies() checks for a slash in the package name and then either forwards the request to
    .get_snapshot_dependencies_cran()or.get_snapshot_dependencies_gh()`. (I think this kind of structure allows to later also include other sources)

  • system_requirements_gh() is almost a one to one copy of remotes::system_requirements() to not depend on a json parser package, I also added the simple remotes parser json.R

  • pkg_dep_df$x_version is the commit sha for github packages. We need to drag this along so I thought this is the best place

In #22 (comment) you mention to move the github packages to output$noncran_pgs. Should this only be the name of the packages or the whole dependency data.frame? (I assume this might clarify when I move to the docker stuff) I ignored this for now. GitHub packages are not treated differently in granlist. They remain identifiable via the repo/pkg scheme. Open to change that, but this was the least intrusive change to code I could think of

  • need to add remotes along the way (I think better than devtools)~~ remotes only exists since 2016. devtools is now added to the list of original packages if a gh package is detected

export granlist

  • moved all github packages to the end of install_order
  • added .install_from_github() to header
  • added if/else to footer to distinguish cran/github

dockerize

nothing to do here

Points to discuss

recreating the version of devtools might be overkill? Alternative would be to just install the current version of remotes.
Disadvantage: i think this would be quite intrusive in the code.

@schochastics
Copy link
Collaborator Author

@chainsawriot I think its done now

@chainsawriot chainsawriot changed the base branch from v0.0 to v0.1rc February 9, 2023 09:26
@chainsawriot
Copy link
Collaborator

@schochastics Thanks a lot! I merge it to the v0.1rc branch and will add tests.

@chainsawriot chainsawriot merged commit fd67ef6 into gesistsa:v0.1rc Feb 9, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants