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-9359) Add support for app package bundling to Windows 8.1 / Windows 10
Date Tue, 21 Jul 2015 18:03:05 GMT

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

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

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

    https://github.com/apache/cordova-windows/pull/102#discussion_r35133583
  
    --- Diff: template/cordova/lib/build.js ---
    @@ -229,11 +268,66 @@ function buildTargets(msbuild, config) {
                 if (msbuild.version == '4.0' && build.target == projFiles.win80)
{
                     build.target = 'CordovaApp.vs2012.sln';
                 }
    -            return msbuild.buildProject(path.join(ROOT, build.target), config.buildType,
 build.arch);
    +
    +            var otherProperties = { };
    +            // Only add the CordovaBundlePlatforms argument when on the last build step
    +            if (shouldBundle && index === configsArray.length - 1) {
    +                otherProperties.CordovaBundlePlatforms = bundleTerms;
    +            } else if (shouldBundle) {
    +                otherProperties.CordovaBundlePlatforms = build.arch;
    +            }
    +            return msbuild.buildProject(path.join(ROOT, build.target), config.buildType,
 build.arch, otherProperties);
              });
         }, Q());
    +
    +    if (shouldBundle) {
    +        return buildsCompleted.then(function() {
    +            // msbuild isn't capable of generating bundles unless you enable bundling
for each individual arch
    +            // However, that generates intermediate bundles, like "CordovaApp.Windows10_0.0.1.0_x64.appxbundle"
    +            // We need to clear the intermediate bundles, or else "cordova run" will
fail because of too
    +            // many .appxbundle files.
    +
    +            console.log('Clearing intermediates...');
    +            var appPackagesPath = path.join(ROOT, 'AppPackages');
    +            var childDirectories = shell.ls(path.join(appPackagesPath, '*')).map(function(pathName)
{
    +                return { path: pathName, stats: fs.statSync(pathName) };
    +            }).filter(function(fileInfo) {
    +                return fileInfo.stats.isDirectory();
    +            });
    +
    +            if (childDirectories.length === 0) {
    +                throw new Error('Could not find a completed app package directory.');
    +            }
    +
    +            // find the most-recently-modified directory
    +            childDirectories.sort(function(a, b) { return b.stats.mtime - a.stats.mtime;
});
    +            var outputDirectory = childDirectories[0];
    +
    +            var finalFile = '';
    +
    +            var archSearchString = bundleTerms.replace(/\|/g, '_') + (config.buildType
=== 'debug' ? '_debug' : '') + '.appxbundle';
    +            var filesToDelete = shell.ls(path.join(outputDirectory.path, '*.appx*')).filter(function(appxbundle)
{
    +                var isMatch = appxbundle.indexOf(archSearchString) === -1;
    +                if (!isMatch) {
    +                    finalFile = appxbundle;
    +                }
    +                return isMatch;
    +            });
    +            filesToDelete.forEach(function(file) {
    +                shell.rm(file);
    --- End diff --
    
    should we fail fast if we have trouble deleting a file?


> Add support for app package bundling to Windows 8.1 / Windows 10
> ----------------------------------------------------------------
>
>                 Key: CB-9359
>                 URL: https://issues.apache.org/jira/browse/CB-9359
>             Project: Apache Cordova
>          Issue Type: Task
>          Components: Windows
>            Reporter: Rob Paveza
>            Assignee: Rob Paveza
>
> When generating a release build, developers are able to submit a single binary (an .appx
bundle) to the Windows Store to avoid having to upload multiple app packages (particularly
when building an architecture-specific app).  This task should add a --bundle flag to enable
automatic creation of an .appxbundle for upload of the app to the Store.



--
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