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

Pass the to be installed modules to install-jaspModuleInstaller.R.in #5680

Closed

Conversation

vandenman
Copy link
Contributor

Requires jasp-stats/jaspModuleInstaller#12

The one thing I'm not entirely sure about is whether ; is always used as a delimiter by cmake. It could be that this is something else on windows, or that we should look at a environment variable.

RensDofferhoff and others added 30 commits July 17, 2024 16:26
* use new module installation mechanism

very basic functionality works

start on making hashes work

seems more or less functional now

started rewriting cmake, stuff compiles but crashes at runtime

everything seems functional on Linux

windows fixes, stuff compiles but weird runtime error

building on windows works from a clean build, but more testing is needed

more tweaks, update to renv 1.0.2

updates for fallback without lockfile

start unifying stuff across OSes

autogenerated lockfiles seem to be work okay but need more testing

reorganize file + pkgdepends fallback

bump jaspModuleInstaller

spaces -> tabs

bump jaspModuleInstaller

spaces -> tabs

moved getModuleDependencies to jaspModuleInstaller

call setupRenv in setup_renv_rcpp_rinside_jaspModuleInstaller.R.in

remove custom Matrix installation

make configuration work on macos

compilation still fails though...

do follow symlinks otherwise it patches nothing

move searching for fortran outside of the "does framework not exist if()f"

jaspModuleInstaller and fixing of r pkgs needs jaspEngine

so change the order in which things are installed

add R_LIBS for windows and macos

make windows start

* dont use Rscript

now it builds again on macos arm without R installed

* make it build on windows again

* fix some path finding  cmake

* pre install hacks no longer needed

* progress

* works on windows now?

* Merge mistake

* Update jasprcpp.cpp

* Fix symlink relativation on MAC

* fix windows stuff

* Update symlinkTools.R

* progress'

* now works on linux and flatpak(from cellar + lockfiles)

* update ModuleInstaller to linux fixed version

* make sure we dont forget any Modules

* remove leftover logic to collect and restore flatpak cran now surpassed by using simple cellar

* fix on mac again

* fix v8

* fix

* fix jaspBase compilation

* devmodules ?

* update jaspModuleInstaller

* update module installer

* this seems to work for Linux local builds at least

* submodule update

* merge mistakes

* windows.....

* windows couldn't find module installer because we were overwitting it

* update module installer to fix windows

* okay one more thing for windows

* Enable all modules

* Update cleanFlatpak.sh

* Update cleanFlatpak.sh

* load jaspBase first before loading module

* Update install-module.R.in

* Update setup_renv_rcpp_rinside.R.in

* Update cleanFlatpak.sh

* re-add the header includes that are definetly needed

* Fix configure vars for jaspColumnEncoder

* rewrite scary construction in DynamicModule::generateModuleInstallingR

* update module installer

* fix problems caused by -j

* update submodules

* try to satisfy the  new flatpak regs

* try to satisfy the  new flatpak regs again

* fix readstat search on fedora

---------

Co-authored-by: vandenman <donvdbergh@hotmail.com>
Co-authored-by: Joris Goosen <joris@jorisgoosen.nl>
Co-authored-by: rens <rens@renss-MacBook-Pro.local>
Co-authored-by: Rens <example>
* Translated using Weblate (Spanish)

Currently translated at 100.0% (1108 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/es/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (1108 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/zh_Hans/

* Translated using Weblate (Galician)

Currently translated at 100.0% (1108 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/gl/

* Translated using Weblate (German)

Currently translated at 98.9% (1096 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/de/

* Translated using Weblate (Turkish)

Currently translated at 7.9% (88 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/tr/

---------

Co-authored-by: ecadrian <ecadrian@hotmail.com>
Co-authored-by: Shun Wang <shuonwang@gmail.com>
Co-authored-by: Johannes Keyser <joke@fsfe.org>
Co-authored-by: blomusti <m.f.varkara@gmail.com>
* first upgrade to Quill-2.0

* also bump the highlight version

* make code highlight looks better

* fix rSyntax highlight
Currently translated at 98.9% (1096 of 1108 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/de/

Co-authored-by: Johannes Keyser <joke@fsfe.org>
* add sqlite compile options to increase column limit

* Fix CSV loader segfault

---------

Co-authored-by: Rens <example>
…p-stats#5640)

* Fix Arch Linux install dep in Linux build guide

JAGS is not available in the official repos only in the aur

* Fix typo in Linux build guide
* Update Linux Dev Guide

* Update Docs/development/jasp-module-workflow.md

Co-authored-by: Shun Wang <shuonwang@gmail.com>

* Update Docs/development/jasp-module-workflow.md

Co-authored-by: Shun Wang <shuonwang@gmail.com>

---------

Co-authored-by: Shun Wang <shuonwang@gmail.com>
* docs: deprecated `suggestedColumns` in docs

* suggestedColumns -> allowedColumns
dont add each column separately but just create the table from scratch, making sure that the filter-column is still first
shun2wang and others added 21 commits September 16, 2024 13:40
* bugfix: replace newlines with _ in CSV cell values

* replace newlines with spaces
* dont use modules for ext

* dont highlight R commander output window

* add highlighter back to R command output window
* Improve installation instructions

- Subsection for installing from source
- Add callouts
- Mention fix for missing development dependency
- Easier code copy-pasting
- Mention flatpak as external package

* Improve clarity by moving common errors to its own subsection

* Reduce visual clutter

* Describe GitHub PAT fix

* Add puzzle visualization
and rename guide to adding module to module structure
beter padding around lists nesxt to constructors

also open filter and variableswindow bigger by default

make sure all operators above filterconstructor are same size, and nicely alligned etc
fixes jasp-stats/INTERNAL-jasp#2650

also dont use [=] to implicitly capture "this" cause its deprecated in c++20, and also rather confusing and dangerous

it is both deprecated and dangerous
If you dont have jaspSem loaded then it will just show an error over the analysis...
* Translated using Weblate (German)

Currently translated at 98.9% (1106 of 1118 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/de/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (1118 of 1118 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/es/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (1118 of 1118 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/zh_Hans/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (1118 of 1118 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/es/

* Translated using Weblate (Galician)

Currently translated at 100.0% (1118 of 1118 strings)

Translation: JASP/jaspDesktop
Translate-URL: https://hosted.weblate.org/projects/jasp/jaspdesktop/gl/

---------

Co-authored-by: Johannes Keyser <joke@fsfe.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Shun Wang <shuonwang@gmail.com>
Co-authored-by: ecadrian <ecadrian@hotmail.com>
* Fix bug where having empty values messes up labeledits

This is done by resetting labelsTemp

* properly index in the labels
* bugfix: avoid blank page in the PDF printing

* auto break is more flexible

* css style format
* Handle TRUE/FALSE better in compute columns

Fixes jasp-stats/jasp-issues#2927

* dont require jaspBase for computed columns etc

Do this by including the R-files with "friendly functions" from jaspBase into Engine and then passing that as an init-script to the engine.
Fixes jasp-stats/INTERNAL-jasp#2653

* actually fix the problem
* Dont loop through the labels to avoid collisions

Instead a map is used to know what labels have what original value and display text, they are uniquely defined by this.
Before was naively looping through the labels to check and merge them in a preceding step.
Same goes for intsId, it is simply tracked now instead of found by looping.

Both loops are now lookups at the cost of a little maintenance

Fixes jasp-stats/jasp-issues#2910 (extremely slow loading of semibig text file)

* Add yet another map...

Looping through the labels to find the Non-missing ones slows down the application quite a bit with bigger datasets.
so instead make a mapping in labelsTempCount() that we can easily query.
@@ -94,7 +94,9 @@ renv::restore(lockfile = lf, library = .libPaths(), rebuild = pkgName)


cat("jaspModuleInstaller::writeModuleStatusObject\n")
jaspModuleInstaller::writeModuleStatusObject("@PROJECT_SOURCE_DIR@", oldModuleStatusObject, "@MODULES_BINARY_PATH@")
modulesToInstallRaw <- "@JASP_COMMON_MODULES@;@JASP_EXTRA_MODULES@"
modulesToInstall <- strsplit(modulesToInstallRaw, ";", fixed = TRUE) # should perhaps use CMAKE_PREFIX_PATH
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So are you removing all the install-module.R.in ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole foreach(MODULE ${JASP_COMMON_MODULES}) thing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I guess it would be better to generate the hashes in those install-module.R.in gen'ed scripts instead if all at once at the beginning.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, this is (for now) just to generate the module status object. This information here makes it a bit easier to print in advance which modules need updates. Previously, it just looked at all possible modules in jasp-root/Modules. But that is misleading, because then if you enabled jasp_test_modules it would always print that e.g., jaspCochrane needs to be installed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I guess it would be better to generate the hashes in those install-module.R.in gen'ed scripts instead if all at once at the beginning.

Not really. Because then every module that depends on jaspDescriptives is going to re-hash jaspDescriptives, which is exactly what I want to avoid.

@shun2wang
Copy link
Contributor

The build check still failed.

@vandenman
Copy link
Contributor Author

@shun2wang I know, it should pass with jasp-stats/jaspModuleInstaller#12. I'm not sure what the right approach is here because it also feels weird to have the submodule point to my PR.

@vandenman
Copy link
Contributor Author

superseded by #5684

@vandenman vandenman closed this Oct 1, 2024
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.