cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Kinard <cmarc...@gmail.com>
Subject Re: [Vote] 3.6.0 Cadence Release
Date Thu, 04 Sep 2014 19:00:02 GMT
I think we have unintentionally shot ourselves in the foot.

While trying to "npm publish" the updated 3.6.0 rc snapshots of android/amazon-fireos/windows/wp8,
npm is rejecting it with:

    npm ERR! Error: forbidden cannot modify pre-existing version: 3.6.0

When I do an "npm info cordova-android", it already knows the 3.6.0 version (because it parsed
it from first rc's package.json), even though the "latest" tag points at 3.5.1 and the "rc"
tag points at 3.6.0.

I found the following items:

https://github.com/npm/npm-registry-couchapp/issues/148

...if you publish foo@1.2.3, you can still un-publish foo@1.2.3. But then, you will not be
able to publish something else to that same package identifier. Not now, not never. Deleting
documents entirely will be forbidden... 
If the bits are gone, ok, it's an error, you notice and deal with it. But if the bits are
changed, then this can be really hazardous.

https://www.npmjs.org/doc/cli/npm-publish.html

Fails if the package name and version combination already exists in the registry. Once a package
is published with a given name and version, that specific name and version combination can
never be used again, even if it is removed with npm-unpublish(1).

So we can not publish to npm the updates for android/amazon-fireos/windows/wp8 as they currently
exist.

One idea would be to bump the version of android/amazon-fireos/windows/wp8 to 3.6.1, both
in dist.a.o and in npm. And we could leave all the other platforms/tools at 3.6.0. Except
that we would also need to bump those references in cordova-lib/cordova-lib/src/platforms.js,
and then bump the reference in cordova-cli to use this newer cordova-lib. Not pretty, but
it should work technically. Sigh.

Other ideas?

On Sep 2, 2014, at 1:26 PM, Steven Gill <stevengill97@gmail.com> wrote:

> Actually, I like Carlos suggestion.
> 
> We have already been publishing to npm under the RC tag for testing (not
> releasing to public but just for dev testing).
> 
> The last few releases you could go npm install cordova@rc and that would
> download the RC version of cordova that we were voting on.
> 
> I went ahead and published all of the platforms + lib + plugman + js
> (everything we are voting on) to npm under an rc tag. So npm install
> cordova-android@rc would grab version 3.6.0.
> 
> The easiest way to test is to now go npm install cordova@rc. No need to
> --usegit anymore.
> 
> The --usegit method would require you to checkout the tags in cordova-lib,
> cordova-js, npm link them, go to cli, npm link them, etc.
> 
> -Steve


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message