[rudder-dev] Passage de la branche 3.1 en scala 2.11/lift 2.6

Francois Armand francois.armand at normation.com
Fri Jul 8 15:21:41 CEST 2016


Woups, sorry, it's more a scala dev concerned, but there is no reason 
not to share it here, so here come the translation:

Hello everybody,

As explained in http://www.rudder-project.org/redmine/issues/8655 and 
above, I believe we should switch Scala version of Rudder 3.1 to 2.11, 
because:

  * the 3.1 Rudder branch will have to be supported for a long time, say
    at least 12/18 months, perhaps more depending how the need of some
    customers,
  * the current Liftweb version, 2.5, used in 3.1 is no more supported,
    even for security patch - only 2.6 get them
      o there is a bunch of other Scala lib that don't support scala
        2.10 anymore, so the problem may not be bounded to Lift
  * Scala 2.10 will come soon to EOL. Support was already postponed one
    time, it won't happen anymore
      o on the contrary, Scala 2.11 will be supported for a long time.
        The next major Scala, coming in a couple of month, will be Java
        8 only, so the will keep both version in parallel for some time.
        So the Scala ecosystem version support should be stable for some
        time, exactly what we want for 3.1
  * we already did the migration to Scala 2.11 / lift 2.6 for Rudder
    3.2, so we know where we are going,
  * the port is trivial : appart for changing version related
    dependencies, there is two line of codes to change. And only one
    line of code is different than in 3.2 (a default parameter value
    that we want to keep not modified in 3.1), cf pull request
  * the win for dev in compilation time and context switching are huge.

I tested the migration on my dev env, and everything works as expecting. 
So the pros clearly overweight the cons (essentially unknonw unknow 
bound to migration) for me.

What do you think ?


On 08/07/2016 14:59, Francois Armand wrote:
>
> Plop les gens,
>
> L'idée me trotte depuis un moment dans la tete, je vous la soumet:
>
> Pour les raisons invoquées dans 
> http://www.rudder-project.org/redmine/issues/8655 et que je remet à la 
> suite, je pense que l'on devrait passer en Scala 2.11 pour la branche 3.1.
>
>   * on va supporter la branche 3.1 encore un moment, au moins 12/18
>     mois je pense, plus suivant ce que fait BMW (et un peu IT-CE),
>   * la version utilisée de lift, la 2.5, en 3.1 n'est plus supportée,
>     même pour les patchs de sécu (hors il se trouve qu'il y en a un en
>     2.6),
>       o et il y a d'autres lib qui ne sont plus mise à jour pour scala
>         2.10
>   * la version 2.10 de scala ne sera bientôt plus suppporté. Ils ont
>     déjà étendu son support une fois, mais (a priori) ne le feront plus,
>       o mais par contre, la version 2.11 sera supportée encore
>         longtemps, le 2.12 n'est pas encore sortie et sera java 8 only
>         - donc ils vont continuer à garder la 2.11 pour éviter de
>         forcer des migrations. Donc l'ecosystème sera stable pendant
>         pas mal de temps, exactement ce qu'on veut pour la 3.1.
>   * on a déjà fait la migration une fois (en étant plus ambitieux)
>     pour Rudder 3.2, donc on sait où on va.
>   * le port est trivial (à part les dépendances, 2 lignes de code, et
>     en tout une seule ligne n'est pas quelque chose que l'on retrouve
>     en 3.2, pour changer une valeur par défaut qui a changé entre lift
>     2.5 et 2.6, pour conserver la même), cf:
>       o https://github.com/Normation/rudder-parent-pom/pull/25/files
>       o https://github.com/Normation/rudder/pull/1128/files
>   * les gains en temps de compilation & de switch de context pour les
>     dev sont monumentaux,
>
> J'ai testé, ca fonctionne tout comme attendu, et les gains dépasse à 
> mes yeux très largement le risque associé à toute migration.
>
> Qu'en pensez-vous ?
>
> -- 
> ------------------------------------------------------------------------
> *François ARMAND*
> /Co-founder & CTO/
> Normation <http://www.normation.com>
> ------------------------------------------------------------------------
> *87 rue de Turbigo, 75003 Paris, France*
> Telephone: 	+33 (0)1 83 62 99 23
> Mobile: 	+33 (0)6 63 37 60 55
> ------------------------------------------------------------------------
>
>
>
> _______________________________________________
> rudder-dev mailing list
> rudder-dev at lists.rudder-project.org
> http://www.rudder-project.org/mailman/listinfo/rudder-dev


-- 
------------------------------------------------------------------------
*François ARMAND*
/Co-founder & CTO/
Normation <http://www.normation.com>
------------------------------------------------------------------------
*87 rue de Turbigo, 75003 Paris, France*
Telephone: 	+33 (0)1 83 62 99 23
Mobile: 	+33 (0)6 63 37 60 55
------------------------------------------------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.rudder-project.org/pipermail/rudder-dev/attachments/20160708/4deffdc4/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 1036 bytes
Desc: not available
URL: <http://www.rudder-project.org/pipermail/rudder-dev/attachments/20160708/4deffdc4/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logo-square.gif
Type: image/gif
Size: 1036 bytes
Desc: not available
URL: <http://www.rudder-project.org/pipermail/rudder-dev/attachments/20160708/4deffdc4/attachment-0003.gif>


More information about the rudder-dev mailing list