1 /* 2 * Copyright 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 @file:Suppress("UnstableApiUsage") 18 19 package androidx.navigation.common.lint 20 21 import androidx.navigation.lint.MIN_ANALYSIS_API 22 import com.android.tools.lint.client.api.IssueRegistry 23 import com.android.tools.lint.client.api.Vendor 24 import com.android.tools.lint.detector.api.CURRENT_API 25 26 /** [IssueRegistry] containing common specific lint issues. */ 27 class NavigationCommonIssueRegistry : IssueRegistry() { 28 // Tests are run with this version. We ensure that with ApiLintVersionsTest 29 override val api = CURRENT_API 30 // hardcode minApi to 14 because lint dep version 31.8 has CURRENT_API as 16, but 31 // analysis API requires minApi 14 32 override val minApi = MIN_ANALYSIS_API 33 34 override val issues 35 get() = 36 listOf( 37 EmptyNavDeepLinkDetector.EmptyNavDeepLink, 38 WrongStartDestinationTypeDetector.WrongStartDestinationType, 39 TypeSafeDestinationMissingAnnotationDetector.MissingSerializableAnnotationIssue, 40 TypeSafeDestinationMissingAnnotationDetector.MissingKeepAnnotationIssue, 41 ) 42 43 override val vendor = 44 Vendor( 45 feedbackUrl = "https://issuetracker.google.com/issues/new?component=409828", 46 vendorName = "Android Open Source Project", 47 identifier = "androidx.navigation.common" 48 ) 49 } 50