cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rhett Sutphin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-8976) platforms/android/build.gradle modifies android versionCode
Date Mon, 05 Oct 2015 19:20:27 GMT

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

Rhett Sutphin commented on CB-8976:
-----------------------------------

Here's the {{after_prepare}} hook I use to get Cordova to use the actual versionCode I have
set in config.xml:

{noformat}
var path = require('path'),
    fs = require('fs');

/**
 * Sets an override value to force the cordova build process to use the actual,
 * specified-in-the-config.xml versionCode.
 */
module.exports = function forceAndroidVersionCode(context) {
  var et = context.requireCordovaModule('elementtree'),
      manifestPath = path.join(context.opts.projectRoot, 'platforms', 'android', 'AndroidManifest.xml'),
      manifestContents = fs.readFileSync(manifestPath, { encoding: 'utf8' }),
      manifest = et.parse(manifestContents),
      versionCode = manifest.getroot().get('android:versionCode'),
      buildExtrasPath = path.join(context.opts.projectRoot, 'platforms', 'android', 'build-extras.gradle');

  fs.writeFileSync(buildExtrasPath, "ext.cdvVersionCode=" + versionCode, { encoding: 'utf8'
});
};
{noformat}

I am also curious about why Cordova changes the versionCode. I searched the mailing list,
issue tracker, and commit logs but didn't find any reasoning. I figure there must be some
explanation, but I do not see it.

> platforms/android/build.gradle modifies android versionCode
> -----------------------------------------------------------
>
>                 Key: CB-8976
>                 URL: https://issues.apache.org/jira/browse/CB-8976
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CLI
>         Environment: Android
>            Reporter: zack dykes
>
> cordova 5.0.0
> platforms/android/build.gradle modifies android versionCode at ln 178
> as I understand it max size for versionCode is (2^31)-1 
> http://stackoverflow.com/a/24246191/126600
> in my config.xml: 
> {code}
> android-versionCode="1385039613"
> {code}
> when I run {{cordova build android}}, I get:
> {code}
> FAILURE: Build failed with an exception.
> * Where:
> Build file '/Users/zackd/dev/code/cordova/cordova-ansr-fat-client/ondeviceresearch/platforms/android/build.gradle'
line: 178
> * What went wrong:
> A problem occurred evaluating root project 'android'.
> > For input string: "13850396130"
> {code}
> and build.gradle, ln 178
> {code}
> versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode")
+ "0")
> {code}
> looks like this is appending "0" to my versionCode, producing 13850396130 which is larger
than max size for android versionCode
> if I mod ln 178 as follows, build succeeds
> {code}
> versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode"))
> {code}



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