{ "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" } }