You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by GitBox <gi...@apache.org> on 2021/08/12 12:56:13 UTC

[GitHub] [cordova-plugin-camera] breautek commented on issue #756: The new commits are breaking the build (package org.apache.cordova.camera does not exist; import org.apache.cordova.camera.FileHelper;)

breautek commented on issue #756:
URL: https://github.com/apache/cordova-plugin-camera/issues/756#issuecomment-897616026


   >  "cordova-android": "^9.1.0",
   
   Is incompatible with the latest version of the camera plugin.
   
   > The issue is not with cordova-plugin-simple-image-resizer because it's not touched for ages and actually they recommend to use the stable version of this plugin, check here.
   
   Git commits are not considered stable versions of the plugin. Apache has a voting process for releases where we (Commitee members) vote in good faith that what we are releasing is of acceptable quality and an improvement to the previous release. These releases are tagged under the `rel/x.y.z` and are then published to NPM. Only these releases are considered stable releases.
   
   Recommending the master branch for plugin installation is horrible advice from the plugin author.
   
   > it would be preferable to keep the plugin cordova-plugin-camera always backward compatible.
   
   This is an unrealistic expectation. While Cordova strives to maintain backward compatibility as much as possible, there are instances where this is simply not possible. For instance, to keep up with the modern SDK requirements, we need to start removing support for the legacy support libraries and start using the newer androidx libraries instead. These libraries are not backwards compatible, that is you can't have androidx libraries at the same time as legacy android support libraries.
   
   When Apache does release breaking changes, it will always be in a major version. It's up to plugin authors to declare a range of versions it supports instead of blindly claiming support against the latest version.
   
   > Do I really need to do cordova platform add android@latest
   
   Cordova CLI is pinned to whatever the latest major version release of each platform at the time of it's release. In this case, cordova-android@9 was the latest release so when cordova CLI was released, it's pinned against cordova-android@9 and thus if no version was declared, by default it will choose the pinned version as we know that is an cordova-android version that works against that version of the CLI.
   
   It's done this way because Apache obviously cannot guarentee that every newer version released after a particular CLI version will work properly, (e.g: cordova-android@11, cordova-android@12, ...). In this case, cordova-android@10 was released with cordova@10 being the latest CLI tools so it was tested against cordova-android@10 so we know the platform and the CLI tools works together. But updating the CLI tools to be pinned against cordova-android@10 would be a breaking change in itself, so the CLI tools will remained pin against cordova-android@9 until the next major release.
   
   Furthermore, [FileHelper](https://github.com/apache/cordova-plugin-camera/blob/master/src/android/FileHelper.java) class was not removed from this plugin. As Erisu said before, the upcoming major release of the camera plugin will not install on cordova-android@9 because they are incompatible. Therefore this isn't a bug and is working as intended.
   
   I'd refer to [Erisu's comment](https://github.com/apache/cordova-plugin-camera/issues/756#issuecomment-897503615) for your workarounds to your particular issue.
   
   Kind regards,
   Norman


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org