0

I have a Cordova project in TACO (Visual Studio 15) that used to build last year for Android and iOS using TFS. I have now revisited the project and upgraded the version of just about everything to support the latest versions of Android and iOS.

  • cordova 5.4.1 -> 6.4.0
  • cordova-android 4.1.1 -> 6.0.0
  • cordova-ios 3.8 -> 4.3.1
  • cordova-plugin-file 4.1.0 -> 4.3.2
  • cordova-plugin-file-transfer 1.5.0 -> 1.6.2
  • cordova-plugin-file-opener2 2.0.2 -> 2.0.8
  • cordova-plugin-whitelist 1.2.1 -> 1.3.2
  • node 0.12.2 -> 6.10.1
  • Android SDK 24.0.2 -> 25.2.5
  • Java JDK 1.7.xx -> 1.8.0.25
  • XCode 6.3 -> 8.2.1
  • OSX 10.10 -> 10.11.5
  • ios-sim 4.1.1 -> 5.0.13
  • ios-deploy 1.7.0 -> 1.9.1
  • remotebuild 2.1.1 -> 2.1.3
  • graceful-fs 4.1.3 -> 4.1.11

Both build from within Visual Studio 2015 (iOS using remotebuild), and after much tweaking Android builds through TFS.

However iOS through TFS is throwing up the following error

  Executing "after_platform_add"  hook for all plugins.
  ------ Updating plugins
  ------ Currently installed plugins: cordova-plugin-compat@1.1.0,cordova-plugin-file@4.3.2,cordova-plugin-file-opener2@2.0.8,cordova-plugin-file-transfer@1.6.2,cordova-plugin-whitelist@1.3.2
  ------ Currently installed dependent plugins: cordova-plugin-compat,cordova-plugin-file
  ------ Currently configured plugins: 
MSBUILD : cordova-build error : Error: The edge module has not been pre-compiled for node.js version v6.10.1.

I had this problem with the Android TFS build, but installing a newer version of edge on the TFS build box fixed that. This iOS build is the same TFS server and runs under the same account.

I am aware vs-tac comes with version 5.0.0 of edge which may be the root of the issue, but I have updated edge on the build server and the Android build is happy. There is also a setting in VS 2015 for using a sandboxed version of node (which I have ticked) on my development PC, but I cannot find any similar setting when initiating a build in TFS - although this could be a red herring. Just for good measure I have updated edge on my Mac, but I don't think the build is actually getting as far as calling remotebuild.

Any assistance would be greatly appreciated

Chris
  • 233
  • 2
  • 13

1 Answers1

0

Okay, I finally got TFS to pass the build to the remotebuild serrver on the Mac, but I had to downgrade node to 5.12.0 as vs-tac 1.0.42 has a dependency on edge 5.0.2 which in turn only seems to work with node 5.x.

Having chased back through all the platform.js files for the cordova platforms and plugins I use, this version of node is late enough.

Hopefully by the time cordova no longer support node less than 6.x in April 2018 there will be a TACO update which uses a more recent version of edge.

I hope this answer is of use to others.

Chris
  • 233
  • 2
  • 13