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

Get (mostly) rid of make #132

Closed
cbeleites opened this issue May 18, 2020 · 7 comments
Closed

Get (mostly) rid of make #132

cbeleites opened this issue May 18, 2020 · 7 comments

Comments

@cbeleites
Copy link
Owner

cbeleites commented May 18, 2020

hyperSpec currently has a very elaborate Makefile system. This proved to be difficult for contributors.

One goal of the refactoring during Google Summer of Code 2020 is to arrive at a state where Makefiles are not or at least only hardly needed.

Changes/proposals should thus aim at reducing the complexity of the Makefiles.

@cbeleites cbeleites added this to the Version 1.0 milestone May 18, 2020
@cbeleites cbeleites added Type: proposal 💡 Proposed ideas for all to consider. Note: guideline and removed Type: proposal 💡 Proposed ideas for all to consider. labels May 18, 2020
@cbeleites
Copy link
Owner Author

An immediately needed "subissue" of this is to sufficiently reduce the usage of make to allow devtools::build() and devtools::check() to run.

@GegznaV
Copy link
Collaborator

GegznaV commented May 21, 2020

Can you write down the main points, why make is used in hyperSpec?

  1. To build vignettes? And if it is the only reason, we can temporarily remove vignettes and return them back later.
  2. To build data? In this scenario, we can use usethis::use_data() to save data in a correct format to make them distributable with hyperSpec. Later, we can write instructions (documentation) how these datasets could be obtained from the raw data.

What are the other reasons?

@cbeleites
Copy link
Owner Author

cbeleites commented May 21, 2020

@GegznaV

  1. yes
    • chondro and fileio vignettes will anyways be removed during GSoC since chondro will become its own data package and the file import functions will be split into several packages dedicated each to a single file format.
  • plotting (Move vignette *plotting* #136) and hyperSpec (Move vignette *hyperSpec* #135) are "harmless": all they need can comparatively easily be transferred into the packages' vignette/ directory.
  • for flu and laser, we need a decision:
    • the raw data files of flu can easily live in the package rawdata (or raw_data) directory. They are actually shipped with the package. The data set technically is in flu.rda, though, which is created from the files in the raw data directory when the vignette is built. As the file import functions are going to be separated into their own packages, this is not possible any more. => Future of vignettes *flu* and *laser*? #138
  1. The main idea historically was to make sure vignettes and data kept in sync - even if the vignette was distributed pre-built. So, yes, flu, laser, barbiturates and paracetamol are built from their raw data when the vignettes are built. AFAIK, we cannot have this inside the package.
    So: Convert small data sets to "static" versions #137

  2. see also How to handle large data sets #129

@GegznaV
Copy link
Collaborator

GegznaV commented Jun 16, 2020

Due to the changes in #159, we can build a package without make. Is this enough to close this issue or some other changes should be made? (E.g., some more Make files be removed).

@eoduniyi
Copy link
Collaborator

@cbeleites
Copy link
Owner Author

No more make 😄

@eoduniyi
Copy link
Collaborator

eoduniyi commented Jul 6, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants