cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-9283) Windows 10: Migrate to new deployment infrastructure
Date Tue, 07 Jul 2015 23:52:04 GMT

    [ https://issues.apache.org/jira/browse/CB-9283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14617677#comment-14617677
] 

ASF GitHub Bot commented on CB-9283:
------------------------------------

Github user robpaveza commented on a diff in the pull request:

    https://github.com/apache/cordova-windows/pull/96#discussion_r34104478
  
    --- Diff: template/cordova/lib/deployment.js ---
    @@ -0,0 +1,272 @@
    +/*
    +       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.
    +*/
    +
    +var Q     = require('q'),
    +    fs    = require('fs'),
    +    /* jshint ignore:start */ // 'path' only used in ignored blocks 
    +    path  = require('path'),
    +    /* jshint ignore:end */
    +    proc  = require('child_process');
    +
    +// neither 'exec' nor 'spawn' was sufficient because we need to pass arguments via spawn
    +// but also need to be able to capture stdout / stderr
    +function run(cmd, args, opt_cwd) {
    +    var d = Q.defer();
    +    try {
    +        var child = proc.spawn(cmd, args, {cwd: opt_cwd, maxBuffer: 1024000});
    +        var stdout = '', stderr = '';
    +        child.stdout.on('data', function(s) { stdout += s; });
    +        child.stderr.on('data', function(s) { stderr += s; });
    +        child.on('exit', function(code) {
    +            if (code) {
    +                d.reject(stderr);
    +            } else {
    +                d.resolve(stdout);
    +            }
    +        });
    +    } catch(e) {
    +        console.error('error caught: ' + e);
    +        d.reject(e);
    +    }
    +    return d.promise;
    +}
    +
    +function DeploymentTool() {
    +
    +}
    +
    +/**
    + * Determines whether the requested version of the deployment tool is available.
    + * @returns True if the deployment tool can function; false if not.
    + */
    +DeploymentTool.prototype.isAvailable = function() {
    +    return fs.existsSync(this.path);
    +};
    +
    +/** 
    + * Enumerates devices attached to the development machine.
    + * @returns A Promise for an array of objects, which should be passed into other functions
to represent the device.
    + * @remarks The returned objects contain 'index', 'name', and 'type' properties indicating
basic information about them, 
    + *    which is limited to the information provided by the system.  Other properties may
also be included, but they are 
    + *    specific to the deployment tool which created them and are likely used internally.
    + */
    +DeploymentTool.prototype.enumerateDevices = function() {
    +    return Q.reject('May not use DeploymentTool directly, instead get an instance from
DeploymentTool.getDeploymentTool()');
    +};
    +
    +/**
    + * Installs an app package to the target device.
    + * @returns A Promise which will be fulfilled on success or rejected on failure.
    + * @param pathToAppxPackage The path to the .appx package to install.
    + * @param targetDevice An object returned from a successful call to enumerateDevices.
    + * @shouldLaunch Indicates whether to launch the app after installing it.
    + * @shouldUpdate Indicates whether to explicitly update the app, or install clean.
    + * @pin Optionally provided if the device requires pairing for deployment.
    + */
    +DeploymentTool.prototype.installAppPackage = function(pathToAppxPackage, targetDevice,
shouldLaunch, shouldUpdate, pin) {
    +    return Q.reject('May not use DeploymentTool directly, instead get an instance from
DeploymentTool.getDeploymentTool()');
    +};
    +
    +/**
    + * Uninstalls an app package from the target device.
    + * @returns A Promise which will be fulfilled on success or rejected on failure.
    + * @param packageInfo The app package name or Phone GUID representing the app.
    + * @param targetDevice An object returned from a successful call to enumerateDevices.
    + */
    +DeploymentTool.prototype.uninstallAppPackage = function(packageInfo, targetDevice) {
    +    return Q.reject('Unable to uninstall any app packages because that feature is not
supported.');
    +};
    +
    +/**
    + * Gets a list of installed apps on the target device.  This function is not supported
for 
    + * Windows Phone 8.1.
    + * @param targetDevice {Object} An object returned from a successful call to enumerateDevices.
    + * @returns A Promise for an array of app names.
    + */
    +DeploymentTool.prototype.getInstalledApps = function(targetDevice) {
    +    return Q.reject('Unable to get installed apps because that feature is not supported.');
    +};
    +
    +/**
    + * Launches an app on the target device.  This function is not supported for Windows
10.
    + * @param packageInfo {String} The app package name or Phone GUID representing the app.
    + * @param targetDevice {Object} An object returned from a successful call to enumerateDevices.
    + * @returns A Promise for when the app is launched.
    + */
    +DeploymentTool.prototype.launchApp = function(packageInfo, targetDevice) {
    +    return Q.reject('Unable to launch an app because that feature is not supported.');
    +};
    +
    +/**
    + * Gets a DeploymentTool for use in 
    --- End diff --
    
    You were so excited to nit the trailing whitespace you didn't note that the comment was
incomplete.


> Windows 10: Migrate to new deployment infrastructure
> ----------------------------------------------------
>
>                 Key: CB-9283
>                 URL: https://issues.apache.org/jira/browse/CB-9283
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Windows
>            Reporter: Rob Paveza
>            Assignee: Rob Paveza
>
> The Windows 10 SDK includes a new deployment tool, WinAppDeployCmd, which supercedes
Windows Phone 8.1's AppDeployCmd.  Its command line interface is incompatible.  This task
is to migrate to WinAppDeployCmd.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message