From 5c97a5f667526cb50c7d46ccfdab87326cbaf509 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Thu, 11 Jul 2024 12:44:12 +0100 Subject: [PATCH] Kotlin: Kotlin support is now out of beta, and generally available --- ...classes-for-working-with-java-programs.rst | 4 +--- .../analyzing-data-flow-in-java.rst | 2 -- .../annotations-in-java.rst | 2 -- .../codeql-for-java.rst | 3 --- .../codeql-library-for-java.rst | 2 -- ...ing-library-models-for-java-and-kotlin.rst | 2 -- .../overflow-prone-comparisons-in-java.rst | 2 -- .../codeql-language-guides/types-in-java.rst | 2 -- .../working-with-source-locations.rst | 2 -- .../codeql-overview/system-requirements.rst | 2 -- .../codeql/query-help/codeql-cwe-coverage.rst | 1 - docs/codeql/query-help/index.rst | 1 - docs/codeql/reusables/kotlin-beta-note.rst | 4 ---- .../codeql/reusables/supported-frameworks.rst | 2 -- .../supported-versions-compilers.rst | 23 +++++++++---------- .../lib/change-notes/2024-07-11-kotlin-ga.md | 4 ++++ 16 files changed, 16 insertions(+), 42 deletions(-) delete mode 100644 docs/codeql/reusables/kotlin-beta-note.rst create mode 100644 java/ql/lib/change-notes/2024-07-11-kotlin-ga.md diff --git a/docs/codeql/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-java-programs.rst b/docs/codeql/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-java-programs.rst index f903b538926..9921ba9734b 100644 --- a/docs/codeql/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-java-programs.rst +++ b/docs/codeql/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-java-programs.rst @@ -7,8 +7,6 @@ CodeQL has a large selection of classes for representing the abstract syntax tre .. include:: ../reusables/abstract-syntax-tree.rst -.. include:: ../reusables/kotlin-beta-note.rst - .. include:: ../reusables/kotlin-java-differences.rst Statement classes @@ -385,4 +383,4 @@ Further reading .. _TypeLiteral: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Expr.qll/type.Expr$TypeLiteral.html .. _ClassInstanceExpr: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Expr.qll/type.Expr$ClassInstanceExpr.html .. _ArrayInit: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Expr.qll/type.Expr$ArrayInit.html -.. _Annotation: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Annotation.qll/type.Annotation$Annotation.html \ No newline at end of file +.. _Annotation: https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Annotation.qll/type.Annotation$Annotation.html diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-java.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-java.rst index 1a352d4e4ec..0c6453d8993 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-java.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-java.rst @@ -5,8 +5,6 @@ Analyzing data flow in Java and Kotlin You can use CodeQL to track the flow of data through a Java/Kotlin program to its use. -.. include:: ../reusables/kotlin-beta-note.rst - .. include:: ../reusables/kotlin-java-differences.rst About this article diff --git a/docs/codeql/codeql-language-guides/annotations-in-java.rst b/docs/codeql/codeql-language-guides/annotations-in-java.rst index 083cf471ef8..09e3290b5fd 100644 --- a/docs/codeql/codeql-language-guides/annotations-in-java.rst +++ b/docs/codeql/codeql-language-guides/annotations-in-java.rst @@ -5,8 +5,6 @@ Annotations in Java and Kotlin CodeQL databases of Java/Kotlin projects contain information about all annotations attached to program elements. -.. include:: ../reusables/kotlin-beta-note.rst - About working with annotations ------------------------------ diff --git a/docs/codeql/codeql-language-guides/codeql-for-java.rst b/docs/codeql/codeql-language-guides/codeql-for-java.rst index 0b4c3cb822a..f2bf306519b 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-java.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-java.rst @@ -5,9 +5,6 @@ CodeQL for Java and Kotlin Experiment and learn how to write effective and efficient queries for CodeQL databases generated from Java and Kotlin codebases. -.. include:: ../reusables/kotlin-beta-note.rst - - .. pull-quote:: Enabling Kotlin support CodeQL treats Java and Kotlin as parts of the same language, so to enable Kotlin support you should enable ``java-kotlin`` as a language. diff --git a/docs/codeql/codeql-language-guides/codeql-library-for-java.rst b/docs/codeql/codeql-language-guides/codeql-library-for-java.rst index c122ab5f7e3..1dd1c99b012 100644 --- a/docs/codeql/codeql-language-guides/codeql-library-for-java.rst +++ b/docs/codeql/codeql-language-guides/codeql-library-for-java.rst @@ -5,8 +5,6 @@ CodeQL library for Java and Kotlin When you're analyzing a Java/Kotlin program, you can make use of the large collection of classes in the CodeQL library for Java/Kotlin. -.. include:: ../reusables/kotlin-beta-note.rst - About the CodeQL library for Java and Kotlin -------------------------------------------- diff --git a/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst b/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst index ec396d2932b..7f0a41b3040 100644 --- a/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst +++ b/docs/codeql/codeql-language-guides/customizing-library-models-for-java-and-kotlin.rst @@ -5,8 +5,6 @@ Customizing library models for Java and Kotlin You can model the methods and callables that control data flow in any framework or library. This is especially useful for custom frameworks or niche libraries, that are not supported by the standard CodeQL libraries. -.. include:: ../reusables/kotlin-beta-note.rst - .. include:: ../reusables/beta-note-customizing-library-models.rst About this article diff --git a/docs/codeql/codeql-language-guides/overflow-prone-comparisons-in-java.rst b/docs/codeql/codeql-language-guides/overflow-prone-comparisons-in-java.rst index a667c670fbe..635096671f9 100644 --- a/docs/codeql/codeql-language-guides/overflow-prone-comparisons-in-java.rst +++ b/docs/codeql/codeql-language-guides/overflow-prone-comparisons-in-java.rst @@ -5,8 +5,6 @@ Overflow-prone comparisons in Java and Kotlin You can use CodeQL to check for comparisons in Java/Kotlin code where one side of the comparison is prone to overflow. -.. include:: ../reusables/kotlin-beta-note.rst - About this article ------------------ diff --git a/docs/codeql/codeql-language-guides/types-in-java.rst b/docs/codeql/codeql-language-guides/types-in-java.rst index 733a177c65b..bed021489ea 100644 --- a/docs/codeql/codeql-language-guides/types-in-java.rst +++ b/docs/codeql/codeql-language-guides/types-in-java.rst @@ -5,8 +5,6 @@ Types in Java and Kotlin You can use CodeQL to find out information about data types used in Java/Kotlin code. This allows you to write queries to identify specific type-related issues. -.. include:: ../reusables/kotlin-beta-note.rst - About working with Java types ----------------------------- diff --git a/docs/codeql/codeql-language-guides/working-with-source-locations.rst b/docs/codeql/codeql-language-guides/working-with-source-locations.rst index 350e38097ab..647c3e446d5 100644 --- a/docs/codeql/codeql-language-guides/working-with-source-locations.rst +++ b/docs/codeql/codeql-language-guides/working-with-source-locations.rst @@ -5,8 +5,6 @@ Working with source locations You can use the location of entities within Java/Kotlin code to look for potential errors. Locations allow you to deduce the presence, or absence, of white space which, in some cases, may indicate a problem. -.. include:: ../reusables/kotlin-beta-note.rst - About source locations ---------------------- diff --git a/docs/codeql/codeql-overview/system-requirements.rst b/docs/codeql/codeql-overview/system-requirements.rst index b916cfc67e0..cc46db60c35 100644 --- a/docs/codeql/codeql-overview/system-requirements.rst +++ b/docs/codeql/codeql-overview/system-requirements.rst @@ -12,8 +12,6 @@ Supported platforms .. include:: ../reusables/supported-platforms.rst -.. include:: ../reusables/kotlin-beta-note.rst - Additional software requirements ################################ diff --git a/docs/codeql/query-help/codeql-cwe-coverage.rst b/docs/codeql/query-help/codeql-cwe-coverage.rst index 54219ea8f3b..c9e382da36e 100644 --- a/docs/codeql/query-help/codeql-cwe-coverage.rst +++ b/docs/codeql/query-help/codeql-cwe-coverage.rst @@ -3,7 +3,6 @@ CodeQL CWE coverage You can view the full coverage of MITRE's Common Weakness Enumeration (CWE) or coverage by language for the latest release of CodeQL. -.. include:: ../reusables/kotlin-beta-note.rst .. include:: ../reusables/swift-beta-note.rst About CWEs diff --git a/docs/codeql/query-help/index.rst b/docs/codeql/query-help/index.rst index 05d53a2cddf..94d174c6f35 100644 --- a/docs/codeql/query-help/index.rst +++ b/docs/codeql/query-help/index.rst @@ -12,7 +12,6 @@ View the query help for the queries included in the ``default``, ``security-exte - :doc:`CodeQL query help for Ruby ` - :doc:`CodeQL query help for Swift ` -.. include:: ../reusables/kotlin-beta-note.rst .. include:: ../reusables/swift-beta-note.rst .. pull-quote:: Information diff --git a/docs/codeql/reusables/kotlin-beta-note.rst b/docs/codeql/reusables/kotlin-beta-note.rst deleted file mode 100644 index d05d137a13e..00000000000 --- a/docs/codeql/reusables/kotlin-beta-note.rst +++ /dev/null @@ -1,4 +0,0 @@ - .. pull-quote:: Note - - CodeQL analysis for Kotlin is currently in beta. During the beta, analysis of Kotlin code, - and the accompanying documentation, will not be as comprehensive as for other languages. \ No newline at end of file diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index ebc17dd90cc..575f51df562 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -97,8 +97,6 @@ and the CodeQL library pack ``codeql/go-all`` (`changelog `__, `source `__) and the CodeQL library pack ``codeql/java-all`` (`changelog `__, `source `__). diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 2b366a61937..282a85752a1 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -20,12 +20,12 @@ Java,"Java 7 to 22 [5]_","javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [6]_",``.java`` - Kotlin [7]_,"Kotlin 1.5.0 to 2.0.0\ *x*","kotlinc",``.kt`` - JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [8]_" - Python [9]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12",Not applicable,``.py`` - Ruby [10]_,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" - Swift [11]_,"Swift 5.4-5.10","Swift compiler","``.swift``" - TypeScript [12]_,"2.6-5.5",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" + Kotlin,"Kotlin 1.5.0 to 2.0.0\ *x*","kotlinc",``.kt`` + JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" + Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12",Not applicable,``.py`` + Ruby [9]_,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" + Swift [10]_,"Swift 5.4-5.10","Swift compiler","``.swift``" + TypeScript [11]_,"2.6-5.5",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group @@ -35,9 +35,8 @@ .. [4] Support for the Arm Compiler (armcc) is preliminary. .. [5] Builds that execute on Java 7 to 22 can be analyzed. The analysis understands Java 22 standard language features. .. [6] ECJ is supported when the build invokes it via the Maven Compiler plugin or the Takari Lifecycle plugin. - .. [7] Kotlin support is currently in beta. - .. [8] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. - .. [9] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. - .. [10] Requires glibc 2.17. - .. [11] Swift support is currently in beta. Support for the analysis of Swift requires macOS or Linux. - .. [12] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. + .. [7] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. + .. [8] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. + .. [9] Requires glibc 2.17. + .. [10] Swift support is currently in beta. Support for the analysis of Swift requires macOS or Linux. + .. [11] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. diff --git a/java/ql/lib/change-notes/2024-07-11-kotlin-ga.md b/java/ql/lib/change-notes/2024-07-11-kotlin-ga.md new file mode 100644 index 00000000000..24d6c5d7d76 --- /dev/null +++ b/java/ql/lib/change-notes/2024-07-11-kotlin-ga.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Kotlin support is now out of beta, and generally available