cordovasapui5sap-fiorisap-smp

Cordova trying to fetch plugin from repo instead of local plugin


I'm trying to create a Fiori Client for iOS with the SMP SDK 3.O PL3. At some point it tries to fetch a plugin which doesn't exist: Fetching plugin "kapsel-plugin-inappbrowser" via npm

I don't understand why. The plugin's source files are all there, just like the other plugins: enter image description here

$ cordova platform add ios --searchpath /Users/Pieter/SAP/MobileSDK3/KapselSDK/plugins
Adding ios project...
iOS project created with cordova-ios@3.9.1
Installing "cordova-plugin-camera" for ios
Installing "cordova-plugin-contacts" for ios
Installing "cordova-plugin-device" for ios
Installing "cordova-plugin-file" for ios
Installing "cordova-plugin-geolocation" for ios
Installing "cordova-plugin-media" for ios
Installing "cordova-plugin-media-capture" for ios
Installing "cordova-plugin-network-information" for ios
Installing "cordova-plugin-splashscreen" for ios
Installing "cordova-plugin-statusbar" for ios
Installing "cordova-plugin-whitelist" for ios
Installing "de.appplant.cordova.plugin.printer" for ios
Installing "kapsel-plugin-corelibs" for ios
Installing "kapsel-plugin-apppreferences" for ios
Installing "kapsel-plugin-attachmentviewer" for ios
Installing "kapsel-plugin-authproxy" for ios
Fetching plugin "kapsel-plugin-inappbrowser" via npm
Failed to install 'kapsel-plugin-authproxy':CordovaError: Failed to fetch plugin kapsel-plugin-inappbrowser via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: Registry returned 404 for GET on https://registry.npmjs.org/kapsel-plugin-inappbrowser
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:141:33
    at _rejected (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:797:24)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:823:30
    at Promise.when (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:1035:31)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:741:41)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:355:11)
Failed to install 'kapsel-plugin-attachmentviewer':CordovaError: Failed to fetch plugin kapsel-plugin-inappbrowser via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: Registry returned 404 for GET on https://registry.npmjs.org/kapsel-plugin-inappbrowser
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/fetch.js:141:33
    at _rejected (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:797:24)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:823:30
    at Promise.when (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:1035:31)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:741:41)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:355:11)
Failed to fetch plugin kapsel-plugin-inappbrowser via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: Registry returned 404 for GET on https://registry.npmjs.org/kapsel-plugin-inappbrowser

The plugin.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
           id="kapsel-plugin-inappbrowser"
      version="0.6.0-patched">

    <name>InAppBrowser</name>
    <description>Cordova InAppBrowser Plugin</description>
    <license>Apache 2.0</license>
    <keywords>cordova,in,app,browser,inappbrowser</keywords>
    <repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git</repo>
    <issue>https://issues.apache.org/jira/browse/CB/component/12320641</issue>

    <engines>
      <engine name="cordova" version=">=3.1.0" /><!-- Needs cordova/urlutil -->
    </engines>

    <!-- android -->
    <platform name="android">
        <js-module src="www/inappbrowser.js" name="inappbrowser">
            <clobbers target="window.open" />
        </js-module>
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="InAppBrowser"> 
                <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/>
            </feature>
        </config-file>

        <source-file src="src/android/InAppBrowser.java" target-dir="src/org/apache/cordova/inappbrowser" />
        <source-file src="src/android/InAppBrowserDialog.java" target-dir="src/org/apache/cordova/inappbrowser" />
        <source-file src="src/android/InAppChromeClient.java" target-dir="src/org/apache/cordova/inappbrowser" />

        <!--  drawable src/android/resources -->
        <resource-file src="src/android/res/drawable-hdpi/ic_action_next_item.png" target="res/drawable-hdpi/ic_action_next_item.png" />
        <resource-file src="src/android/res/drawable-mdpi/ic_action_next_item.png" target="res/drawable-mdpi/ic_action_next_item.png" />
        <resource-file src="src/android/res/drawable-xhdpi/ic_action_next_item.png" target="res/drawable-xhdpi/ic_action_next_item.png" />
        <resource-file src="src/android/res/drawable-xxhdpi/ic_action_next_item.png" target="res/drawable-xxhdpi/ic_action_next_item.png" />

        <resource-file src="src/android/res/drawable-hdpi/ic_action_previous_item.png" target="res/drawable-hdpi/ic_action_previous_item.png" />
        <resource-file src="src/android/res/drawable-mdpi/ic_action_previous_item.png" target="res/drawable-mdpi/ic_action_previous_item.png" />
        <resource-file src="src/android/res/drawable-xhdpi/ic_action_previous_item.png" target="res/drawable-xhdpi/ic_action_previous_item.png" />
        <resource-file src="src/android/res/drawable-xxhdpi/ic_action_previous_item.png" target="res/drawable-xxhdpi/ic_action_previous_item.png" />

        <resource-file src="src/android/res/drawable-hdpi/ic_action_remove.png" target="res/drawable-hdpi/ic_action_remove.png" />
        <resource-file src="src/android/res/drawable-mdpi/ic_action_remove.png" target="res/drawable-mdpi/ic_action_remove.png" />
        <resource-file src="src/android/res/drawable-xhdpi/ic_action_remove.png" target="res/drawable-xhdpi/ic_action_remove.png" />
        <resource-file src="src/android/res/drawable-xxhdpi/ic_action_remove.png" target="res/drawable-xxhdpi/ic_action_remove.png" />

    </platform>

    <!-- ios -->
    <platform name="ios">
        <js-module src="www/inappbrowser.js" name="inappbrowser">
            <clobbers target="window.open" />
        </js-module>  
        <config-file target="config.xml" parent="/*">
            <feature name="InAppBrowser">
                <param name="ios-package" value="CDVInAppBrowser" /> 
            </feature>
        </config-file>

        <header-file src="src/ios/CDVInAppBrowser.h" />
        <source-file src="src/ios/CDVInAppBrowser.m" />

        <framework src="CoreGraphics.framework" />
    </platform>


    <!-- windows universal apps (Windows 8.1, Windows Phone 8.1, Windows 8.0) -->
    <platform name="windows">
        <js-module src="www/inappbrowser.js" name="inappbrowser">
            <clobbers target="window.open" />
        </js-module>
        <js-module src="src/windows/InAppBrowserProxy.js" name="InAppBrowserProxy">
            <merges target="InAppBrowserProxy" />
        </js-module>
    </platform>

</plugin>

I have tried it with Cordova 5.2 and latest master 5.3.


Solution

  • SMP SDK has a dependency with the Cordova version. The cordova version should be compatible. You should have a look at this list: http://scn.sap.com/docs/DOC-65386#node