<div dir="ltr">I didn&#39;t realize Ryan was already doing this, so here was my take (attached). Maybe it helps.<div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 10, 2017 at 11:33 AM, Vojtech Szocs <span dir="ltr">&lt;<a href="mailto:vszocs@redhat.com" target="_blank">vszocs@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Feb 10, 2017 at 5:30 PM, Ryan Barry <span dir="ltr">&lt;<a href="mailto:rbarry@redhat.com" target="_blank">rbarry@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Nothing, but thanks.<div><br></div><div>It is/was a question of time. I didn&#39;t expect the changes to ovirt-engine-modules to make it into master as quickly as they did (to be fair, it&#39;s been nearly a month since the initial meeting, but that month passed very quickly prepping for the beta release).</div><div><br></div><div>I&#39;m pushing patches to cockpit-ovirt and ovirt-engine-nodejs-modules to get cockpit-ovirt working on master again now.</div></div></blockquote></span><div><br><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Please add Greg &amp; me as reviewers :-)​ also, if there are any open issues or questions, let us know.<br> </div></div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_501919659402625509HOEnZb"><div class="m_501919659402625509h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 10, 2017 at 6:56 AM, Greg Sheremeta <span dir="ltr">&lt;<a href="mailto:gshereme@redhat.com" target="_blank">gshereme@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I can assist too. What do you need? If it&#39;s easier, I&#39;m available on IRC.<br><div class="gmail_extra"><div><div class="m_501919659402625509m_2951055795070688713h5"><br><div class="gmail_quote">On Fri, Feb 10, 2017 at 8:00 AM, Sandro Bonazzola <span dir="ltr">&lt;<a href="mailto:sbonazzo@redhat.com" target="_blank">sbonazzo@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Vojtech, can you please help Ryan and Marek with cockpit-ovirt?<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Feb 8, 2017 at 3:29 PM, Vojtech Szocs <span dir="ltr">&lt;<a href="mailto:vszocs@redhat.com" target="_blank">vszocs@redhat.com</a>&gt;</span> wrote:<br></span><div><div class="m_501919659402625509m_2951055795070688713m_1984257433762478383h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello devs,<br>
<br>
following packages, intended as build-time dependencies of oVirt<br>
JavaScript projects, have been updated:<br>
<br>
* ovirt-engine-nodejs<br>
* ovirt-engine-nodejs-modules<br>
* ovirt-engine-yarn<br>
<br>
If you use those packages, please read on to learn how to adapt your<br>
project. oVirt Dashboard (master) is already adapted and you can use<br>
it as your reference.<br>
<br>
==<br>
<br>
1, move your project from npm to Yarn:<br>
<br>
- using nodejs-modules implies that your project moves from npm to<br>
Yarn, please do this as your first step<br>
- make sure to add yarn.lock file to source control: rm -rf<br>
node_modules &amp;&amp; yarn install # generates yarn.lock<br>
- your automation/*.packages should contain something like this:<br>
<br>
  ovirt-engine-nodejs-6.9.4<br>
  ovirt-engine-nodejs-modules-1.<wbr>0.3<br>
  ovirt-engine-yarn-0.19.1<br>
<br>
- since oVirt CI uses yum cache, always specify exact version of<br>
nodejs-modules in your automation/*.packages<br>
- in your RPM build script, make sure to set up Node.js env.: source<br>
/usr/share/ovirt-engine-nodejs<wbr>-modules/setup-env.sh<br>
<br>
==<br>
<br>
2a, dependency handling - 1st time:<br>
<br>
- clone nodejs-modules repo &amp; update the projects.list file - add<br>
URL(s) to your project&#39;s files (package.json + yarn.lock)<br>
- bump .z in RPM Version and reset the RPM Release number, submit<br>
patch to Gerrit<br>
- in your project, update automation/*.packages to use the right<br>
nodejs-modules version<br>
<br>
2b, dependency handling - whenever your dependencies change:<br>
<br>
- clone nodejs-modules repo &amp; bump RPM Release number, submit patch to Gerrit<br>
- in your project, update automation/*.packages to use the right<br>
nodejs-modules version<br>
<br>
==<br>
<br>
Q: how does the new nodejs-modules work?<br>
<br>
A: instead of maintaining one big package.json file to specify all<br>
dependencies of all projects (effectively forcing all projects to use<br>
single dependency tree), it contains the projects.list file with<br>
URL(s) to specific project files.<br>
<br>
When building nodejs-modules RPM, it goes through the list of URL(s),<br>
downloading project&#39;s files (package.json + yarn.lock), then<br>
downloading required dependencies (using Yarn) and collecting their<br>
.tar.gz sources. The nodejs-modules RPM therefore contains a flat list<br>
of all .tar.gz sources of all dependencies of all projects.<br>
<br>
When you source the setup-env.sh script, it does, among other things,<br>
tell Yarn to use<br>
/usr/share/ovirt-engine-nodejs<wbr>-modules/yarn-offline-cache containing<br>
all .tar.gz sources. Then, it runs Yarn in offline mode to populate<br>
your project&#39;s node_modules directory.<br>
<br>
==<br>
<br>
Hope this helps.<br>
<br>
Regards,<br>
Vojtech<br>
______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org" target="_blank">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman<wbr>/listinfo/devel</a><br>
</blockquote></div></div></div><span class="m_501919659402625509m_2951055795070688713m_1984257433762478383HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_501919659402625509m_2951055795070688713m_1984257433762478383m_5945351494578980669gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Sandro Bonazzola<br>Better technology. Faster innovation. Powered by community collaboration.<br>See how it works at <a href="http://redhat.com" target="_blank">redhat.com</a></div></div></div></div></div></div></div></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org" target="_blank">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman<wbr>/listinfo/devel</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br></div></div><div class="m_501919659402625509m_2951055795070688713m_1984257433762478383gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Greg Sheremeta, MBA<br>Red Hat, Inc.<br>Sr. Software Engineer<br><a href="mailto:gshereme@redhat.com" target="_blank">gshereme@redhat.com</a><br></div></div></div>
</div></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Greg Sheremeta, MBA<br>Red Hat, Inc.<br>Sr. Software Engineer<br><a href="mailto:gshereme@redhat.com" target="_blank">gshereme@redhat.com</a><br></div></div></div>
</div>