Skip to content

Commit

Permalink
feat: add in lint error check for kits
Browse files Browse the repository at this point in the history
  • Loading branch information
mchuangatmp committed Sep 17, 2021
1 parent 28bcf4a commit 81307ae
Show file tree
Hide file tree
Showing 12 changed files with 80 additions and 46 deletions.
53 changes: 43 additions & 10 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,72 @@ name: Build and Test
on: [push, pull_request]
jobs:
instrumented-tests:
name: "Instrumented Tests"
timeout-minutes: 30
runs-on: macos-10.15
steps:
- name: Checkout Branch
- name: "Checkout Branch"
uses: actions/checkout@v2
- name: Start emulator
- name: "Start Emulator"
run: ./scripts/install-start-emulator.sh
- name: Run Instrumented Tests
- name: "Run Instrumented Tests"
run: ./gradlew :android-core:cAT :android-kit-base:cAT --stacktrace
- name: Archive Test Results
- name: "Archive Test Results"
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
name: test-results
path: android-core/build/reports/androidTests/connected/**
unit-tests:
name: "Unit Tests"
timeout-minutes: 15
runs-on: ubuntu-18.04
steps:
- name: Checkout Branch
- name: "Checkout Branch"
uses: actions/checkout@v2
- name: Install JDK 1.8
- name: "Install JDK 1.8"
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run Unit Tests
- name: "Run Unit Tests"
run: ./gradlew test
- name: Android Test Report
- name: "Android Test Report"
uses: asadmansr/[email protected]
if: ${{ always() }}

lint-checks:
name: "Lint Checks"
timeout-minutes: 15
runs-on: macos-10.15
steps:
- name: "Checkout Branch"
uses: actions/checkout@v2
with:
submodules: recursive
- name: "Install JDK 11"
uses: actions/setup-java@v2
with:
distribution: "zulu"
java-version: "11"
- name: "Run Android Core SDK Lint"
run: ./gradlew lint
- name: "Setup Android Kit Lint"
run: ./gradlew uploadArchives
- name: "Run Android Kit Lint"
run: ./gradlew -c settings-kits.gradle lint
- name: "Archive Test Results"
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
name: "core-lint-results"
path: ./**/build/reports/**
- name: "Archive Test Kit Results"
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
name: "kit-lint-results"
path: kits/**/build/reports/**
automerge:
name: Rebase dependabot PRs
name: "Rebase dependabot PRs"
runs-on: ubuntu-18.04
needs: [instrumented-tests, unit-tests]
if: contains(github.repository, 'internal') && github.actor == 'dependabot[bot]' && github.event_name == 'pull_request'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ public void testUpdateSessionInstallReferrer() throws Exception {
try {
cursor = SessionService.getSessions(database);
while (cursor.moveToNext()) {
String currentSessionId = cursor.getString(cursor.getColumnIndex(SessionTable.SessionTableColumns.SESSION_ID));
String appInfo = cursor.getString(cursor.getColumnIndex(SessionTable.SessionTableColumns.APP_INFO));
String currentSessionId = cursor.getString(cursor.getColumnIndexOrThrow(SessionTable.SessionTableColumns.SESSION_ID));
String appInfo = cursor.getString(cursor.getColumnIndexOrThrow(SessionTable.SessionTableColumns.APP_INFO));
if (sessionId.equals(currentSessionId)) {
JSONObject appInfoObject = new JSONObject(appInfo);
assertEquals(randomId, appInfoObject.getString("foo"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ SegmentMembership queryAudiences(String endpointId) {
StringBuilder keys = new StringBuilder("(");
if (audienceCursor.getCount() > 0){
while (audienceCursor.moveToNext()){
int id = audienceCursor.getInt(audienceCursor.getColumnIndex(SegmentDatabase.SegmentTable.SEGMENT_ID));
int id = audienceCursor.getInt(audienceCursor.getColumnIndexOrThrow(SegmentDatabase.SegmentTable.SEGMENT_ID));

Segment segment = new Segment(id,
audienceCursor.getString(audienceCursor.getColumnIndex(SegmentDatabase.SegmentTable.NAME)),
audienceCursor.getString(audienceCursor.getColumnIndex(SegmentDatabase.SegmentTable.ENDPOINTS)));
audienceCursor.getString(audienceCursor.getColumnIndexOrThrow(SegmentDatabase.SegmentTable.NAME)),
audienceCursor.getString(audienceCursor.getColumnIndexOrThrow(SegmentDatabase.SegmentTable.ENDPOINTS)));
audiences.put(id, segment);
keys.append(id);
keys.append(", ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public Cursor query(String table, String[] columns, String selection,
}
Cursor cursor = sqLiteDatabase.query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit);
if (InternalListenerManager.isEnabled()) {
int columnIndex = cursor.getColumnIndex(BaseColumns._ID);
int columnIndex = cursor.getColumnIndexOrThrow(BaseColumns._ID);
if (columnIndex >= 0 && cursor.getCount() > 0) {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Expand All @@ -70,7 +70,7 @@ public Cursor query(String table, String[] columns, String selection,
}
Cursor cursor = sqLiteDatabase.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
if (InternalListenerManager.isEnabled()) {
int columnIndex = cursor.getColumnIndex(BaseColumns._ID);
int columnIndex = cursor.getColumnIndexOrThrow(BaseColumns._ID);
if (columnIndex >= 0 && cursor.getCount() > 0) {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public static JSONArray getBreadcrumbs(MPDatabase db, Context context, Long mpid

if (breadcrumbCursor.getCount() > 0) {
JSONArray breadcrumbs = new JSONArray();
int breadcrumbIndex = breadcrumbCursor.getColumnIndex(BreadcrumbTableColumns.MESSAGE);
int breadcrumbIndex = breadcrumbCursor.getColumnIndexOrThrow(BreadcrumbTableColumns.MESSAGE);
while (breadcrumbCursor.moveToNext()) {
JSONObject breadcrumbObject = new JSONObject(breadcrumbCursor.getString(breadcrumbIndex));
breadcrumbs.put(breadcrumbObject);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ static List<ReadyMessage> getSessionHistory(MPDatabase database, String currentS
null,
null,
prepareOrderBy, String.valueOf(Constants.getMaxMessagePerBatch()));
int messageIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns._ID);
int messageIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.MESSAGE);
int sessionIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.SESSION_ID);
int messageMpidIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.MP_ID);
int dataplanIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.DATAPLAN_ID);
int dataplanVersinIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.DATAPLAN_VERSION);
int messageIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns._ID);
int messageIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.MESSAGE);
int sessionIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.SESSION_ID);
int messageMpidIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.MP_ID);
int dataplanIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.DATAPLAN_ID);
int dataplanVersinIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.DATAPLAN_VERSION);
while (readyMessagesCursor.moveToNext()) {
String sessionId = readyMessagesCursor.getString(sessionIdIndex);
int messageId = readyMessagesCursor.getInt(messageIdIndex);
Expand Down Expand Up @@ -144,12 +144,12 @@ static List<ReadyMessage> getMessagesForUpload(MPDatabase database, boolean incl
null,
null,
prepareOrderBy, String.valueOf(Constants.getMaxMessagePerBatch()));
int messageIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns._ID);
int messageIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.MESSAGE);
int sessionIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.SESSION_ID);
int messageMpidIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.MP_ID);
int dataplanIdIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.DATAPLAN_ID);
int dataplanVersinIndex = readyMessagesCursor.getColumnIndex(MessageTableColumns.DATAPLAN_VERSION);
int messageIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns._ID);
int messageIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.MESSAGE);
int sessionIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.SESSION_ID);
int messageMpidIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.MP_ID);
int dataplanIdIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.DATAPLAN_ID);
int dataplanVersinIndex = readyMessagesCursor.getColumnIndexOrThrow(MessageTableColumns.DATAPLAN_VERSION);
while (readyMessagesCursor.moveToNext()) {
String sessionId = readyMessagesCursor.getString(sessionIdIndex);
int messageId = readyMessagesCursor.getInt(messageIdIndex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,18 @@ static List<ReportingMessage> getReportingMessagesForUpload(MPDatabase database,
null,
null,
ReportingTableColumns._ID + " asc");
int reportingMessageIdIndex = reportingMessageCursor.getColumnIndex(ReportingTableColumns._ID);
int reportingMessageIdIndex = reportingMessageCursor.getColumnIndexOrThrow(ReportingTableColumns._ID);
while (reportingMessageCursor.moveToNext()) {
JSONObject msgObject = new JSONObject(
reportingMessageCursor.getString(
reportingMessageCursor.getColumnIndex(ReportingTableColumns.MESSAGE)
reportingMessageCursor.getColumnIndexOrThrow(ReportingTableColumns.MESSAGE)
)
);
String sessionId = reportingMessageCursor.getString(
reportingMessageCursor.getColumnIndex(ReportingTableColumns.SESSION_ID)
reportingMessageCursor.getColumnIndexOrThrow(ReportingTableColumns.SESSION_ID)
);
int reportingMessageId = reportingMessageCursor.getInt(reportingMessageIdIndex);
long reportingMessageMpid = reportingMessageCursor.getLong(reportingMessageCursor.getColumnIndex(ReportingTableColumns.MP_ID));
long reportingMessageMpid = reportingMessageCursor.getLong(reportingMessageCursor.getColumnIndexOrThrow(ReportingTableColumns.MP_ID));
ReportingMessage reportingMessage = new ReportingMessage(msgObject, sessionId, reportingMessageId, reportingMessageMpid);
InternalListenerManager.getListener().onCompositeObjects(reportingMessageCursor, reportingMessage);
reportingMessages.add(reportingMessage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,13 @@ public static List<JSONObject> processSessions(MPDatabase database, HashMap<Batc
try {
sessionCursor = SessionService.getSessions(database);
while (sessionCursor.moveToNext()) {
String sessionId = sessionCursor.getString(sessionCursor.getColumnIndex(SessionTableColumns.SESSION_ID));
String sessionId = sessionCursor.getString(sessionCursor.getColumnIndexOrThrow(SessionTableColumns.SESSION_ID));
List<MessageBatch> batchList = batchesBySessionId.get(sessionId);
if (batchList != null) {
try {
String appInfo = sessionCursor.getString(sessionCursor.getColumnIndex(APP_INFO));
String appInfo = sessionCursor.getString(sessionCursor.getColumnIndexOrThrow(APP_INFO));
JSONObject appInfoJson = new JSONObject(appInfo);
String deviceInfo = sessionCursor.getString(sessionCursor.getColumnIndex(SessionTableColumns.DEVICE_INFO));
String deviceInfo = sessionCursor.getString(sessionCursor.getColumnIndexOrThrow(SessionTableColumns.DEVICE_INFO));
JSONObject deviceInfoJson = new JSONObject(deviceInfo);
deviceInfos.add(deviceInfoJson);
for (MessageBatch batch: batchList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ public static List<MParticleDBManager.ReadyUpload> getReadyUploads(MPDatabase da
try {
readyUploadsCursor = database.query(UploadTableColumns.TABLE_NAME, new String[]{"_id", UploadTableColumns.MESSAGE, UploadTableColumns.REQUEST_TYPE},
null, null, null, null, UploadTableColumns.CREATED_AT);
int messageIdIndex = readyUploadsCursor.getColumnIndex(UploadTableColumns._ID);
int messageIndex = readyUploadsCursor.getColumnIndex(UploadTableColumns.MESSAGE);
int requestTypeIndex = readyUploadsCursor.getColumnIndex(UploadTableColumns.REQUEST_TYPE);
int messageIdIndex = readyUploadsCursor.getColumnIndexOrThrow(UploadTableColumns._ID);
int messageIndex = readyUploadsCursor.getColumnIndexOrThrow(UploadTableColumns.MESSAGE);
int requestTypeIndex = readyUploadsCursor.getColumnIndexOrThrow(UploadTableColumns.REQUEST_TYPE);
while (readyUploadsCursor.moveToNext()) {
MParticleDBManager.ReadyUpload readyUpload = new MParticleDBManager.ReadyUpload(readyUploadsCursor.getInt(messageIdIndex), UploadTable.ALIAS_REQUEST.equals(readyUploadsCursor.getString(requestTypeIndex)), readyUploadsCursor.getString(messageIndex));
readyUploads.add(readyUpload);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ public static TreeMap<String, String> getUserAttributesSingles(MPDatabase db, lo
String[] args = {"1", String.valueOf(mpId)};

cursor = db.query(UserAttributesTableColumns.TABLE_NAME, null, UserAttributesTableColumns.IS_LIST + " != ? and " + UserAttributesTableColumns.MP_ID + " = ?", args, null, null, UserAttributesTableColumns.ATTRIBUTE_KEY + ", "+ UserAttributesTableColumns.CREATED_AT +" desc");
int keyIndex = cursor.getColumnIndex(UserAttributesTableColumns.ATTRIBUTE_KEY);
int valueIndex = cursor.getColumnIndex(UserAttributesTableColumns.ATTRIBUTE_VALUE);
int keyIndex = cursor.getColumnIndexOrThrow(UserAttributesTableColumns.ATTRIBUTE_KEY);
int valueIndex = cursor.getColumnIndexOrThrow(UserAttributesTableColumns.ATTRIBUTE_VALUE);
while (cursor.moveToNext()) {
attributes.put(cursor.getString(keyIndex), cursor.getString(valueIndex));
}
Expand All @@ -57,8 +57,8 @@ public static TreeMap<String, List<String>> getUserAttributesLists(MPDatabase db
try {
String[] args = {"1", String.valueOf(mpId)};
cursor = db.query(UserAttributesTableColumns.TABLE_NAME, null, UserAttributesTableColumns.IS_LIST + " = ? and " + UserAttributesTableColumns.MP_ID + " = ?", args, null, null, UserAttributesTableColumns.ATTRIBUTE_KEY + ", "+ UserAttributesTableColumns.CREATED_AT +" desc");
int keyIndex = cursor.getColumnIndex(UserAttributesTableColumns.ATTRIBUTE_KEY);
int valueIndex = cursor.getColumnIndex(UserAttributesTableColumns.ATTRIBUTE_VALUE);
int keyIndex = cursor.getColumnIndexOrThrow(UserAttributesTableColumns.ATTRIBUTE_KEY);
int valueIndex = cursor.getColumnIndexOrThrow(UserAttributesTableColumns.ATTRIBUTE_VALUE);
String previousKey = null;
List<String> currentList = null;
while (cursor.moveToNext()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class KitPlugin implements Plugin<Project> {
androidLib.buildTypes.release.minifyEnabled false
androidLib.buildTypes.release.consumerProguardFiles 'consumer-proguard.pro'
androidLib.dexOptions.javaMaxHeapSize '2g'
androidLib.lintOptions.abortOnError true

//formerly in maven.gradle
target.apply(plugin: 'maven')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,9 @@ protected List<String> getAllTables(MPDatabase database) {
List<String> tableNames = new ArrayList<String>();
try {
while (!cursor.isAfterLast()) {
String tableName = cursor.getString(cursor.getColumnIndex("name"));
String tableName = cursor.getString(cursor.getColumnIndexOrThrow("name"));
if (!"android_metadata".equals(tableName) && !"sqlite_sequence".equals(tableName)) {
tableNames.add(cursor.getString(cursor.getColumnIndex("name")));
tableNames.add(cursor.getString(cursor.getColumnIndexOrThrow("name")));
}
cursor.moveToNext();
}
Expand Down

0 comments on commit 81307ae

Please sign in to comment.