henry_flower: A melancholy wolf (Default)
henry_flower ([personal profile] henry_flower) wrote2017-05-22 11:25 am

How to reproduce the functionality on a best-effort basis

Наївними є ті люди, які записують у package.json the deps' exact version numbers, вважаючи, що цим вони забезпечують собі безпроблемне життя у майбутньому.

Була the app, написана за часів Cordova 4.x (~1.5 роки тому). Майже літом '17, apk вже не билдиться, тому що:

  1. стара версія Кордови́ працює тільки з node <= 4.8;
  2. кілька місяців тому злий Гоогл у SDK Tools зламав cli utils.

Якщо 1ше можна було передбачити, для чого у мене давно є свій легкий node version manager, то 2й пункт--це є знущання.

Apparently, Гоогл має свої, окремі уявлення про semver.

SDK Tools, Revision 25.1.7: все гаразд.

25.3.0:

Obsolete/deprecated tools have been removed:

  • android
  • ant scripts

26.0.0:

  • tools/android now attempts to reproduce the functionality of android in tools prior to version 25.3.0 by invoking the new tools.
    • All avd, target, and device commands should work as before.
    • sdk commands will be translated to similar commands using tools/bin/sdkmanager on a best-effort basis.

Всередині, Кордова́ пускає android list target --compact, щоб дізнатися чи було, напр., SDK platform 21 інстальовано. У нових SDK Tools, Гоогл ємулювали стару утиліту android, перейменувавши субкоманду target у targets, тобто зараз "нова" утиліта android лається на неправільні параметри.

Навіть якщо би вони не займалися паскудством з the (accidental?) renaming, Кордові́ це не допомогло би, тому що всі deprecated utils, не гаючи часу, друкують банер, що вони є deprecated. Роблять це вони, як всі напевно здогадались, у stdout, замість stderr, так що всі 3rd party apps, які парсили the output тепер валяться на на the invalid input.

Alphabet Inc. (the parent company of Google) Market Cap: $652.159B.


Post a comment in response:

From:
Anonymous
OpenID
Identity URL: 
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org


 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.