[TIMOB-28092] Android: Native modules pinned to build Titanium SDK version
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2020-08-25T05:19:18.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 9.1.0 |
Components | Android |
Labels | n/a |
Reporter | Gary Mathews |
Assignee | Gary Mathews |
Created | 2020-08-20T16:25:40.000+0000 |
Updated | 2020-08-25T05:19:18.000+0000 |
Description
Building a Titanium Android native module with SDK 9.0.0+ will pin the module to require the SDK the module was built with or newer.
For example, building
titanium-identity
with 9.0.3.GA
will cause a build failure for any project builds that include the module and use a older Titanium SDK.
This is because the *.pom file generated depends on org.appcelerator.titanium
:
<dependency>
<groupId>org.appcelerator</groupId>
<artifactId>titanium</artifactId>
<version>9.0.3</version>
</dependency>
*TEST CASE*
1. Build a native Android module using 9.0.3.GA
(i.e: https://github.com/appcelerator-modules/titanium-identity)
2. Include module in project that uses an older Titanium SDK (9.0.0, 9.0.2, ...)
3. Build will fail
[ERROR] : [GRADLE] Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
[ERROR] : [GRADLE] > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
[ERROR] : [GRADLE] > Could not find org.appcelerator:titanium:9.0.3.
https://github.com/appcelerator/titanium_mobile/pull/11935
FR Passed.
PR's merged.