AssemblyInfo.cs 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
  2. using System.Diagnostics.CodeAnalysis;
  3. using System.Reflection;
  4. [assembly: AssemblyTitle("Kybernetik.Animancer")]
  5. [assembly: AssemblyDescription("An animation system for Unity which is based on the Playables API.")]
  6. [assembly: AssemblyProduct("Animancer Pro")]
  7. [assembly: AssemblyCompany("Kybernetik")]
  8. [assembly: AssemblyCopyright("Copyright © Kybernetik 2018-2024")]
  9. [assembly: AssemblyVersion("8.0.2.29")]
  10. #if UNITY_EDITOR
  11. [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Kybernetik.Animancer.Editor")]
  12. [assembly: SuppressMessage("Style", "IDE0039:Use local function",
  13. Justification = "Locals create a new delegate with each use which is less efficient and can break code.")]
  14. [assembly: SuppressMessage("Style", "IDE0044:Make field readonly",
  15. Justification = "Using the [SerializeField] attribute on a private field means Unity will set it from serialized data.")]
  16. [assembly: SuppressMessage("Code Quality", "IDE0051:Remove unused private members",
  17. Justification = "Unity messages can be private, but the IDE will not know that Unity can still call them.")]
  18. [assembly: SuppressMessage("Code Quality", "IDE0052:Remove unread private members",
  19. Justification = "Unity messages can be private and don't need to be called manually.")]
  20. [assembly: SuppressMessage("Style", "IDE0060:Remove unused parameter",
  21. Justification = "Unity messages sometimes need specific signatures, even if you don't use all the parameters.")]
  22. [assembly: SuppressMessage("Style", "IDE0062:Make local function 'static'",
  23. Justification = "Not supported by Unity")]
  24. [assembly: SuppressMessage("Style", "IDE0063:Use simple 'using' statement",
  25. Justification = "Not always good for implying intent.")]
  26. [assembly: SuppressMessage("Code Quality", "IDE0067:Dispose objects before losing scope",
  27. Justification = "Not always relevant.")]
  28. [assembly: SuppressMessage("Code Quality", "IDE0068:Use recommended dispose pattern",
  29. Justification = "Not always relevant.")]
  30. [assembly: SuppressMessage("Code Quality", "IDE0069:Disposable fields should be disposed",
  31. Justification = "Not always relevant.")]
  32. [assembly: SuppressMessage("CodeQuality", "IDE0079:Remove unnecessary suppression",
  33. Justification = "Don't give code style advice in publically released code.")]
  34. [assembly: SuppressMessage("Style", "IDE1006:Naming Styles",
  35. Justification = "Don't give code style advice in publically released code.")]
  36. [assembly: SuppressMessage("Correctness", "UNT0005:Suspicious Time.deltaTime usage",
  37. Justification = "Time.deltaTime is not suspicious in FixedUpdate, it has the same value as Time.fixedDeltaTime")]
  38. [assembly: SuppressMessage("Correctness", "UNT0008:Null propagation on Unity objects",
  39. Justification = "Use a regular equality check if handling destroyed objects is necessary")]
  40. [assembly: SuppressMessage("Type Safety", "UNT0014:Invalid type for call to GetComponent",
  41. Justification = "Doesn't account for generic constraints.")]
  42. [assembly: SuppressMessage("Correctness", "UNT0023:Coalescing assignment on Unity objects",
  43. Justification = "Use a regular equality check if handling destroyed objects is necessary")]
  44. [assembly: SuppressMessage("Correctness", "UNT0029:Pattern matching with null on Unity objects",
  45. Justification = "Use a regular equality check if handling destroyed objects is necessary")]
  46. [assembly: SuppressMessage("Code Quality", "CS0649:Field is never assigned to, and will always have its default value",
  47. Justification = "Using the [SerializeField] attribute on a private field means Unity will set it from serialized data.")]
  48. [assembly: SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable",
  49. Justification = "Having a field doesn't mean you are responsible for creating and destroying it.")]
  50. [assembly: SuppressMessage("Microsoft.Design", "CA1009:DeclareEventHandlersCorrectly",
  51. Justification = "Not all events need to care about the sender.")]
  52. [assembly: SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes",
  53. Justification = "No need to pollute the member list of implementing types.")]
  54. [assembly: SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorrectly",
  55. Justification = "No need to pollute the member list of implementing types.")]
  56. [assembly: SuppressMessage("Microsoft.Usage", "CA2235:MarkAllNonSerializableFields",
  57. Justification = "UnityEngine.Object is serializable by Unity.")]
  58. #endif