Well... Git LFS is one solution, but maybe not the easiest one to handle
for the devs.
But a simple file server with a nice directory structure containing each
precompiled/packaged 3rd party dependency is another alternative (just
have to be correctly tag/name the folders and files, so that Emsdk can
download the correct versions according to the Emscripten release being
pulled). Put it differently, the simplest thing that could possibly work.
By doing so, there is some "reinvent the wheel" syndrome , as
npm/pip/etc. are already addressing such kind of needs (manage
packages/dependencies/delivery/etc.). The issue is that they are heavily
tied to their own respective language/platforms (be it Node, Python,
etc.). I wonder if there exist some kind of package management system
that is programming language-neutral (and OS neutral also), and only
focusing on having a bunch of files to be installed in a particular
location according to some spec in a git branch. Basically, this is the
need there.
But of course, I am probably not the right person to take any decision
on this :)
Le 18/12/2019 à 10:07, Shachar Langbeheim a écrit :
Gabriel, essentially you propose to you Git LFS, instead? That sounds
reasonable.
On Wed, 18 Dec 2019 at 09:27, Gabriel Cuvillier
<[email protected] <mailto:[email protected]>> wrote:
My two cents on this, from the point of view of a daily Emscripten
user on various projects :
If this change does not impact end-users of Emscripten, that just
want to do C++ development targeting WebAssembly, then this is
perfectly fine. This change would just be an EMSDK
"implementation detail", and I agree that from this point of view,
removing the Java dependency is interesting.
However, if the users are expected to use Node/npm at some point,
then please, please, don't do this :) Not everyone is willing to /
can use the Node/npm ecosystem on the projects they are working on.
An alternative suggestion: instead of having to rely on 3rd party
distribution system, why not "precompile/bundle" closure (as well
as minify-html, or any other 3rd party dep), and use a more
classic CDN-approach to deliver these big files. This would
remove the need for a package management system (npm, or even PIP
if you have the same idea for Python tools) running on users
machine... and potentially breaking for various reasons (network
failures, misconfiguration of PATH, weird interaction with
system-wide installation of Node/npm, etc..)
Cheers,
Gabriel
Le 17/12/2019 à 19:33, Alon Zakai a écrit :
Some possible concerns are:
Is npm supported everywhere that the emsdk currently is? I assume
it's supported in even more, but it would be good to check.
How hard will supporting npm issues be for the devs here? That
is, people will file issues on emscripten/emsdk that are due to
npm not being set up right on their machine, or using the wrong
version, or it fails due to some npm-specific issue, etc.. For
myself personally, I don't use npm daily, so I am not already
super-familiar with it, and those error messages and workarounds
may not be obvious. Do other people that can respond to github
issues have experience with npm?
- Alon
On Sun, Dec 15, 2019 at 6:31 AM Jukka Jylänki <[email protected]
<mailto:[email protected]>> wrote:
Hello all,
the PRs
https://github.com/emscripten-core/emsdk/pull/404,
https://github.com/emscripten-core/emscripten/pull/9989, and
https://github.com/emscripten-core/emscripten/pull/9990
propose migrating Closure compiler and html-minifier to
reside outside
the Emscripten tree, and be installed via npm.
The benefits of this change are:
1. Future updates to closure and html-minifier will not
bloat up the
size of the Emscripten git repository (each update would
increase the
size of the git repository by ~+10% otherwise)
2. Emscripten developers do not need to maintain a CDN and
code for
distributing closure/html-minifier, easing CDN and testing
burden from
emsdk,
3. Tracking which version of closure and html-minifier we are on
becomes explicit and idiomatic to people familiar with npm
community
(can be found in package.json) rather than having to look up
git logs,
4. Updating versions become easier, as migrating to a new
versions
can be changed into the file package.json
The drawbacks of this change are:
5. developers who follow the "I git cloned all repositories
myself"
approach and do not use emsdk need to run "npm install" once
in the
Emscripten root directory if they want to use closure or
html-minifier,
6. If npm goes down, it will disrupt emsdk installation
Can people think of other benefits/drawbacks that should
influence
this design change?
Cheers,
Jukka
--
You received this message because you are subscribed to the
Google Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from
it, send an email to
[email protected]
<mailto:emscripten-discuss%[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/CA%2B6sJ-2YQX9ku%3DPrwhDP0pnNoRZGjF8WtEnRPPMp0jFXJ-6Fsw%40mail.gmail.com.
--
You received this message because you are subscribed to the
Google Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQOBVM6EHiVZwrwGmD_Qub-koAFey%3DLLq_uHXi12E4-RQ%40mail.gmail.com
<https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQOBVM6EHiVZwrwGmD_Qub-koAFey%3DLLq_uHXi12E4-RQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/549820ac-3512-3b28-4dca-ec47892848ef%40gmail.com
<https://groups.google.com/d/msgid/emscripten-discuss/549820ac-3512-3b28-4dca-ec47892848ef%40gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/CA%2B_KjGbSVvrHo2PTjqyTsAHyVfyURjH7pNc0%2BTp-EeGAjJtOxw%40mail.gmail.com
<https://groups.google.com/d/msgid/emscripten-discuss/CA%2B_KjGbSVvrHo2PTjqyTsAHyVfyURjH7pNc0%2BTp-EeGAjJtOxw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/emscripten-discuss/6834d972-c4ec-40ec-6adc-245503100522%40gmail.com.