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