{

"lineInspectors": [
  {
    "regex": "\"roCaptionRenderer\"",
    "severity": "warning",
    "message": "Found deprecated \"roCaptionRenderer\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roCodeRegistrationScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roCodeRegistrationScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roGridScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roGridScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roKeyboardScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roKeyboardScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roListScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roListScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roMessageDialog\"",
    "severity": "warning",
    "message": "Found deprecated \"roMessageDialog\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roOneLineDialog\"",
    "severity": "warning",
    "message": "Found deprecated \"roOneLineDialog\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roParagraphScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roParagraphScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roPinEntryDialog\"",
    "severity": "warning",
    "message": "Found deprecated \"roPinEntryDialog\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roPosterScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roPosterScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSearchHistory\"",
    "severity": "warning",
    "message": "Found deprecated \"roSearchHistory\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSearchScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roSearchScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSGGridScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roSGGridScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSlideShow\"",
    "severity": "warning",
    "message": "Found deprecated \"roSlideShow\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSpringboardScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roSpringboardScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roTextScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roTextScreen\"",
    "category": "deprecatedComponents"
  },
  //    Comment roVideoPlayer, roVideoPlayerEvent and roVideoScreenEvent per https://jira.portal.roku.com:8443/browse/RDE-1488.
  //    Might be uncommented later.
  //    {
  //      "regex": "\"roVideoPlayer\"",
  //      "severity": "warning",
  //      "message": "Found deprecated \"roVideoPlayer\"",
  //      "category": "deprecatedComponents"
  //    },
  {
    "regex": "\"roVideoScreen\"",
    "severity": "warning",
    "message": "Found deprecated \"roVideoScreen\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roImageCanvas\"",
    "severity": "warning",
    "message": "Found deprecated \"roImageCanvas\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roCaptionRendererEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roCaptionRendererEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roCodeRegistrationScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roCodeRegistrationScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roGridScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roGridScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roKeyboardScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roKeyboardScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roListScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roListScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roMessageDialogEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roMessageDialogEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roOneLineDialogEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roOneLineDialogEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roParagraphScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roParagraphScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roPinEntryDialogEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roPinEntryDialogEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roPosterScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roPosterScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSearchScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roSearchScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSGGridScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roSGGridScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSlideShowEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roSlideShowEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roSpringboardScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roSpringboardScreenEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regex": "\"roTextScreenEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roTextScreenEvent\"",
    "category": "deprecatedComponents"
  },
  //    {
  //      "regex": "\"roVideoPlayerEvent\"",
  //      "severity": "warning",
  //      "message": "Found deprecated \"roVideoPlayerEvent\"",
  //      "category": "deprecatedComponents"
  //    },
  //    {
  //      "regex": "\"roVideoScreenEvent\"",
  //      "severity": "warning",
  //      "message": "Found deprecated \"roVideoScreenEvent\"",
  //      "category": "deprecatedComponents"
  //    },
  {
    "regex": "\"roImageCanvasEvent\"",
    "severity": "warning",
    "message": "Found deprecated \"roImageCanvasEvent\"",
    "category": "deprecatedComponents"
  },
  {
    "regexMatch": "^.*:\\s*stop\\b.*$|^(.*[^.\\s])?\\s*\\bstop\\b\\s*([^:\\s].*)?$",
    "regex": "([^.{,\"\\s]|^)\\s*\\bstop\\b",
    "severity": "error",
    "message": "STOP command is present"
  },
  {
    "regex": "(\"ChannelStore\"|\"roChannelStore\")",
    "severity": "info",
    "message": "Usage of ChannelStore is spotted. Roku billing might be integrated."
  },
  {
    "regex": "\"roSGScreen\"",
    "severity": "info",
    "message": "This is an RSG channel"
  },
  {
    "regex": "\"TimeGrid\"",
    "severity": "warning",
    "message": "TimeGrid component is found"
  },
  {
    "regex": "\"roTuner\"",
    "severity": "warning",
    "message": "roTuner component is found"
  },
  {
    "regex": "\"roProgramGuide\"",
    "severity": "warning",
    "message": "roProgramGuide component is found"
  }
],
"inspectors": {
  "manifestDuplicateAttribute": {
    "severity": "warning",
    "message": "Found duplicate attribute in manifest: \"{0}\"",
    "category": "manifest"
  },
  "manifestDeprecatedAttribute": {
    "severity": "warning",
    "message": "Found deprecated attribute in manifest: \"{0}\"",
    "category": "manifest"
  },
  "manifestEmptyValue": {
    "severity": "error",
    "message": "\"{0}\" attribute in manifest has an empty value",
    "category": "manifest"
  },
  "manifestInvalidValue": {
    "severity": "error",
    "message": "\"{0}\" attribute in manifest has invalid value: \"{1}\"",
    "category": "manifest"
  },
  "manifestHasValue": {
    "severity": "warning",
    "message": "\"{0}\" attribute in manifest has value \"{1}\"",
    "category": "manifest"
  },
  "manifestMissingFile": {
    "severity": "error",
    "message": "\"{0}\" file used for \"{1}\" attribute is missing",
    "category": "manifest"
  },
  "manifestMissingAttribute": {
    "severity": "error",
    "message": "Manifest is missing a required attribute: \"{0}\"",
    "category": "manifest"
  },
  "manifestIncorrectImageResolution": {
    "severity": "error",
    "message": "\"{0}\" image used for \"{1}\" attribute has incorrect size \"{2}\". Correct size is \"{3}\"",
    "category": "manifest"
  },
  "rafConstructorPresentImportMissing": {
    "severity": "error",
    "message": "RAF constructor call is present but library import is missing",
    "category": "raf"
  },
  "rafConstructorPresentManifestMissing": {
    "severity": "error",
    "message": "RAF constructor call is present but manifest entry is missing",
    "category": "raf"
  },
  "rafConstructorMissingManifestPresent": {
    "severity": "warning",
    "message": "RAF constructor call is not present but manifest entry is present",
    "category": "raf"
  },
  "rafManifestPresentImportMissing": {
    "severity": "warning",
    "message": "RAF manifest entry is present but library import is missing",
    "category": "raf"
  },
  "rafConstructorMissingImportPresent": {
    "severity": "warning",
    "message": "RAF constructor call is not present but library import is present",
    "category": "raf"
  },
  "rafProperIntegration": {
    "severity": "info",
    "message": "RAF is integrated properly",
    "category": "raf"
  },
  "packageMacosxDirectory": {
    "severity": "error",
    "message": "Package includes __MACOSX directory",
    "category": "package"
  },
  "packageExtraneousFiles": {
    "severity": "error",
    "message": "Package contains extraneous file",
    "category": "package"
  },
  "packageSourceDirectory": {
    "severity": "error",
    "message": "\"source\" directory does not exist",
    "category": "package"
  },
  "packageManifestFile": {
    "severity": "error",
    "message": "Manifest file is missing",
    "category": "package"
  }
},
"logCategories": {
  "uncategorized": "Uncategorized",
  "deprecatedComponents": "Deprecated components",
  "manifest": "Manifest",
  "raf": "RAF",
  "package": "Package"
}

}