github-actions[bot] 7021be3a27
Create rule S6627: Users should not use internal APIs (#4234)
* Add javascript to rule S6627

* add javascript language to rule

* improve js example

---------

Co-authored-by: ilia-kebets-sonarsource <ilia-kebets-sonarsource@users.noreply.github.com>
Co-authored-by: Ilia Kebets <ilia.kebets@sonarsource.com>
2024-09-09 15:55:10 +02:00

39 lines
974 B
Plaintext

== Why is this an issue?
include::../common/why.adoc[]
=== What is the potential impact?
include::../common/potential_impact.adoc[]
== How to fix it
include::../common/how.adoc[]
=== Code examples
==== Noncompliant code example
[source,kotlin,diff-id=1,diff-type=noncompliant]
----
if (org.gradle.internal.os.OperatingSystem.current().isWindows) { // Noncompliant, OperatingSystem is part of Gradle internal API
// ...
}
----
==== Compliant solution
[source,kotlin,diff-id=1,diff-type=compliant]
----
if (System.getProperty("os.name").toLowerCase().contains("windows")) { // Compliant
// ...
}
----
== Resources
=== Documentation
* https://docs.gradle.org/current/userguide/authoring_maintainable_build_scripts.html#sec:avoiding_gradle_internal_apis[Gradle Documentation - Avoid using internal Gradle APIs]
* https://github.com/liutikas/gradle-best-practices#dont-use-internal-apis[Best Practices when using Gradle - Don't use internal APIs (Liutikas)]