Skip to content

Latest commit

 

History

History
48 lines (48 loc) · 10.8 KB

Inspections.md

File metadata and controls

48 lines (48 loc) · 10.8 KB
Suppression ID Name Description
GDXAbbrClass Use short class name Notes when a short class name can be used for a standard scene2d.ui class instead of the full class name (libGDX >= 1.9.9).
GDXDuplicateProperty Duplicate properties in Skin files Looks for duplicate properties in Skin files.
GDXDuplicateResource Duplicate resource names in Skin files Looks for duplicate resource name in Skin files.
GDXGradlePropertiesTestId Test/dummy IDs in gradle.properties Looks for the use of some known test IDs.
GDXGradleTestId Test/dummy IDs in build.gradle Looks for the use of some known test IDs.
GDXInvalidEscape Invalid escape sequence Marks invalid escape sequences in libGDX style JSON files.
GDXJavaAssetsFileError @GDXAssets problem Checks for problems related to @GDXAssets annotations
GDXJavaFlushInsideLoop Flushing a batch inside a loop Looks for the possibility of a flush of a batch or renderer occuring inside a loop, either directly or indirectly.
For performance reasons care should be taken to not cause unnecessary flushes, and to limit the number of flushes per frame as much as possible.
Note that calling SpriteBatch.draw(..) with a different texture also causes a flush, which is not detected by this inspection. Use a Texture Atlas instead of many different textures.
GDXJavaInvalidPropertyKey Property key does not exist Looks for the use of property keys which do not exist.
GDXJavaLogLevel Overly verbose log level Looks for calls to Gdx.app.setLogLevel() setting the log level to LOG_INFO or LOG_VERBOSE, which while useful for debugging should propably not be used in production builds.
GDXJavaMissingFlush Missing flush on Preferences Call Preferences.flush() to make sure changes to preferences are persisted.
GDXJavaNonExistingAsset Resource doesn't exist Looks in Java and Kotlin code for usages of resources which don't exist. @GDXAssets annotated elements only.
GDXJavaProfilingCode Profiling code Looks for profiling code, which should be disabled before release.
GDXJavaShapeRendererCrash Using problematic ShapeRenderer Using ShapeRenderer with libGDX versions prior to 1.9.2 causes a crash on ARM64 Android devices. Upgrade to libGDX to version 1.9.2 or higher (see libgdx/libgdx#3790).
GDXJavaStaticResource Static resource Don't make resources static, unless you take care to properly manage them. Static resources can cause problems on Android, because the life-cycle of a static variable is not necessarily the same as the life-cycle of your application.
GDXJavaTestId Test/dummy IDs Looks for the use of some known test IDs.
GDXJavaUnsafeIterator Use of non reentrant iterator method Iterator methods on libGDX collections return the same iterator instance each time the method is called. For nested or multithreaded iteration create a new iterator using the appropriate constructor.
GDXJavaUnusedTag Unused class tag Looks for unused class tags in GDXTag annotations.
GDXJsonDuplicateProperty Duplicate property Looks for properties which are defined multiple times in the same object.
GDXKotlinAssetsFileError @GDXAssets problem Checks for problems related to @GDXAssets annotations
GDXKotlinFlushInsideLoop Flushing a batch inside a loop Looks for the possibility of a flush of a batch or renderer occuring inside a loop, either directly or indirectly.
For performance reasons care should be taken to not cause unnecessary flushes, and to limit the number of flushes per frame as much as possible.
Note that calling SpriteBatch.draw(..) with a different texture also causes a flush, which is not detected by this inspection. Use a Texture Atlas instead of many different textures.
GDXKotlinInvalidPropertyKey Property key does not exist Looks for the use of property keys which do not exist.
GDXKotlinLogLevel Overly verbose log level Looks for calls to Gdx.app.setLogLevel() setting the log level to LOG_INFO or LOG_VERBOSE, which while useful for debugging should propably not be used in production builds.
GDXKotlinMissingFlush Missing flush on Preferences Call Preferences.flush() to make sure changes to preferences are persisted.
GDXKotlinNonExistingAsset Resource doesn't exist Looks in Java and Kotlin code for usages of resources which don't exist. @GDXAssets annotated elements only.
GDXKotlinProfilingCode Profiling code Looks for profiling code, which should be disabled before release.
GDXKotlinShapeRendererCrash Using problematic ShapeRenderer Using ShapeRenderer with libGDX versions prior to 1.9.2 causes a crash on ARM64 Android devices. Upgrade to libGDX to version 1.9.2 or higher (see libgdx/libgdx#3790).
GDXKotlinStaticResource Static resource Don't make resources static, unless you take care to properly manage them. Static resources can cause problems on Android, because the life-cycle of a static variable is not necessarily the same as the life-cycle of your application.

Note that Kotlin top-level properties and properties of object literals and companion objects are compiled to static properties.
GDXKotlinTestId Test/dummy IDs Looks for the use of some known test IDs.
GDXKotlinUnsafeIterator Use of non reentrant iterator method Iterator methods on libGDX collections return the same iterator instance each time the method is called. For nested or multithreaded iteration create a new iterator using the appropriate constructor.
GDXKotlinUnusedTag Unused class tag Looks for unused class tags in GDXTag annotations.
GDXMalformedColorString Malformed color string Looks in Skin files for malformed color strings.
GDXMissingFilesPermission Missing permissions for using external files If you want to use external storage on Android you have to declare the appropriate permissions in AndroidManifest.xml.
GDXMissingProperty Missing properties in Skin files Looks for missing mandatory properties in Skin files.
GDXNonExistingClass Non existing classes in Skin files Looks in Skin files for classes that don't exist and the use of non static inner classes.
GDXNonExistingField Non existing fields in Skin files Looks in Skin files for fields/properties that don't exist.
GDXNonExistingFile Non existing font files in Skin files Looks for non existing font files in Skin files.
GDXNonExistingResourceInAlias Non existing resources in Skin files Looks in Skin files for resource aliases for resources which do not exist.
GDXOpenGLVersion Missing OpenGL ES directive If your application requires OpenGL ES 2 or 3 to function, add the appropriate declaration to the manifest: <uses-feature android:glEsVersion="0x00020000" android:required="true" /> or <uses-feature android:glEsVersion="0x00030000" android:required="true" />.
GDXOutdatedVersionGradleGroovy Outdated library versions in Gradle build files Looks for the use of outdated versions of some libGDX related libraries.

The following libraries are checked: anim8-gdx, Artemis-odb, Ashley, Autumn, Autumn MVC, blade-ink, Box2d, Box2dLights, Colorful, formic, Gdx AI, GDX Bullet, GDX Controllers, GDX FreeType, gdx-controllers-advanced, gdx-controllers-scene2d, gdx-dialogs, gdx-facebook, gdx-lml, gdx-lml-vis, Gdx-Pay, gdx-utils, gdx-utils-box2d, gdx-vfx, gdx-vfx-effects, Jaci, Jaci GWT, Joise, Kiwi, KTX actors, KTX app, KTX ashley, KTX assets, KTX assets-async, KTX async, KTX box2d, KTX collections, KTX freetype, KTX freetype-async, KTX graphics, KTX i18n, KTX inject, KTX json, KTX log, KTX math, KTX preferences, KTX scene2d, KTX style, KTX tiled, KTX vis, KTX vis-style, LibGDX, LibGDX Annotations, libGDX In-Game Console, libgdx-utils, libgdx-utils-box2d, make-some-noise, Noise4J, Overlap2D, RegExodus, Shape Drawer, spine-libgdx, SquidLib, SquidLib Extra, SquidLib Util, TenPatch, TypingLabel, Vis Runtime, VisUI, Web Sockets, Web Sockets Serialization
GDXOutdatedVersionGradleKotlin Outdated library versions in Gradle Kotlin build files Looks for the use of outdated versions of some libGDX related libraries.

The following libraries are checked: anim8-gdx, Artemis-odb, Ashley, Autumn, Autumn MVC, blade-ink, Box2d, Box2dLights, Colorful, formic, Gdx AI, GDX Bullet, GDX Controllers, GDX FreeType, gdx-controllers-advanced, gdx-controllers-scene2d, gdx-dialogs, gdx-facebook, gdx-lml, gdx-lml-vis, Gdx-Pay, gdx-utils, gdx-utils-box2d, gdx-vfx, gdx-vfx-effects, Jaci, Jaci GWT, Joise, Kiwi, KTX actors, KTX app, KTX ashley, KTX assets, KTX assets-async, KTX async, KTX box2d, KTX collections, KTX freetype, KTX freetype-async, KTX graphics, KTX i18n, KTX inject, KTX json, KTX log, KTX math, KTX preferences, KTX scene2d, KTX style, KTX tiled, KTX vis, KTX vis-style, LibGDX, LibGDX Annotations, libGDX In-Game Console, libgdx-utils, libgdx-utils-box2d, make-some-noise, Noise4J, Overlap2D, RegExodus, Shape Drawer, spine-libgdx, SquidLib, SquidLib Extra, SquidLib Util, TenPatch, TypingLabel, Vis Runtime, VisUI, Web Sockets, Web Sockets Serialization
GDXOutdatedVersionGradleProperties Outdated library versions in gradle.properties files Looks for the use of outdated versions of some libGDX related libraries.

The following libraries are checked: anim8-gdx, Artemis-odb, Ashley, Autumn, Autumn MVC, blade-ink, Box2d, Box2dLights, Colorful, formic, Gdx AI, GDX Bullet, GDX Controllers, GDX FreeType, gdx-controllers-advanced, gdx-controllers-scene2d, gdx-dialogs, gdx-facebook, gdx-lml, gdx-lml-vis, Gdx-Pay, gdx-utils, gdx-utils-box2d, gdx-vfx, gdx-vfx-effects, Jaci, Jaci GWT, Joise, Kiwi, KTX actors, KTX app, KTX ashley, KTX assets, KTX assets-async, KTX async, KTX box2d, KTX collections, KTX freetype, KTX freetype-async, KTX graphics, KTX i18n, KTX inject, KTX json, KTX log, KTX math, KTX preferences, KTX scene2d, KTX style, KTX tiled, KTX vis, KTX vis-style, LibGDX, LibGDX Annotations, libGDX In-Game Console, libgdx-utils, libgdx-utils-box2d, make-some-noise, Noise4J, Overlap2D, RegExodus, Shape Drawer, spine-libgdx, SquidLib, SquidLib Extra, SquidLib Util, TenPatch, TypingLabel, Vis Runtime, VisUI, Web Sockets, Web Sockets Serialization
GDXSkinDeprecated Usage of deprecated class/field Looks for the use of deprecated classes and fields in Skin files.
GDXSkinType Type errors in Skin files Looks for type errors in Skin files.
GDXToplevel Invalid toplevel value The toplevel value of a JSON file should be an object.
GDXXmlTestId Test/dummy IDs Looks for the use of some known test IDs.