[TIMOB-17237] Conflicting jar files detected while building with ti.map 2.1.4 and ti.cloudpush 3.2.1
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2014-07-07T19:13:09.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | Tooling |
Labels | n/a |
Reporter | Matteo Landi |
Assignee | Chris Barber |
Created | 2014-06-05T08:39:24.000+0000 |
Updated | 2014-08-05T20:43:39.000+0000 |
This affects the use of ti.admob as Jon updated it to use one of the latest google-play-services.jar. This is not a CLI issue, but a module issue and needs to be reassigned as such.
Tested on: Mac OSX 10.9.3 Appcelerator Studio, build: 3.3.0.201406271159 Titanium SDK, build: 3.3.0.v20140627202512 Titanium CLI, build: 3.3.0-rc4 Alloy: 1.4.0-rc3 ti.cloudpush: 3.3.0 ti.map: 2.1.4 Managed to reproduce the error, however the workaround for this issue is posted in the error message. Copy the google-play-services.jar file from one module into the other module and the project will build.
Yup, since the files for the play managers are all without versions (get stripped during module build) you don't ever know WHAT version of google-play.jar is the one being moved around. Appcelerator now has at least 3 modules using google-play.jar. The 'workaround' is NOT a viable mid/long term solution.
Here's a little secret... starting in Titanium SDK 3.2.0, someone sneaky added the ability for modules to have hooks. That means a module *could* use a hook to check and download a dependency (like a jar file) and place it in the appropriate location (like the lib folder) during build, but before compiling begins. Hmm...
Tracking architecture issue with TIMODOPEN-420. Closing this ticket as duplicate of TIMODOPEN-417.