{ "id": "175853", "key": "TIMOB-28270", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "21050", "name": "Release 10.0.0", "archived": false, "released": true, "releaseDate": "2021-05-17" } ], "resolution": null, "resolutiondate": null, "created": "2020-12-03T19:39:24.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "build", "gradle", "library" ], "versions": [ { "id": "20033", "name": "Release 9.0.0", "archived": false, "released": true, "releaseDate": "2020-03-18" } ], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-12-15T15:44:25.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nIf an app includes the \"jaxen\" Java library via gradle (or a module that references it via gradle), then it will fail to build.\r\n\r\n*Steps to reproduce:*\r\n# Create a \"Classic\" Titanium app project.\r\n# Add the below \"build.gradle\" to project folder: {{./platform/android}}\r\n# Build for Android.\r\n\r\n./platform/android/build.gradle\r\n{code:groovy}\r\ndependencies {\r\n\timplementation 'jaxen:jaxen:1.2.0'\r\n}\r\n{code}\r\n\r\n*Result:*\r\nThe following build failure will occur...\r\n{code}\r\n[ERROR] [GRADLE] Execution failed for task ':app:checkDebugDuplicateClasses'.\r\n[ERROR] [GRADLE] > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable\r\n[ERROR] [GRADLE] > Duplicate class org.jaxen.BaseXPath found in modules jetified-jaxen-1.2.0 (jaxen:jaxen:1.2.0) and jetified-titanium-10.0.0-runtime (org.appcelerator:titanium:10.0.0)\r\n[ERROR] [GRADLE] Duplicate class org.jaxen.Context found in modules jetified-jaxen-1.2.0 (jaxen:jaxen:1.2.0) and jetified-titanium-10.0.0-runtime (org.appcelerator:titanium:10.0.0)\r\n[ERROR] [GRADLE] Duplicate class org.jaxen.ContextSupport found in modules jetified-jaxen-1.2.0 (jaxen:jaxen:1.2.0) and jetified-titanium-10.0.0-runtime (org.appcelerator:titanium:10.0.0)\r\n{code}\r\n\r\n*Cause:*\r\nTitanium builds with a local \"jaxen-1.1.1.jar\" below. It's used by our {{Ti.XML}} APIs.\r\nhttps://github.com/appcelerator/titanium_mobile/tree/master/android/modules/xml/lib\r\n\r\n*Work-Around:*\r\nAdd the following \"build.gradle\" to the app project's {{./platform/android}} folder. It will exclude jaxen library references from the gradle build to avoid collision with Titanium's local JAR. Although, once we fix this issue, you'll need to remove the below.\r\n{code:groovy}\r\nconfigurations {\r\n\tall {\r\n\t\texclude group: 'jaxen', module: 'jaxen'\r\n\t}\r\n}\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Android: App builds fail if it includes the \"jaxen\" library", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1212, "state": "closed", "name": "2020 Sprint 25", "startDate": "2020-12-07T22:11:00.000Z", "endDate": "2020-12-18T22:11:00.000Z", "completeDate": "2020-12-18T16:35:34.544Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "457896", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins build. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-15T15:35:29.000+0000", "updated": "2020-12-15T15:35:29.000+0000" }, { "id": "457898", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 10.0.0 target", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-12-15T15:44:25.000+0000", "updated": "2020-12-15T15:44:25.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }