Skip to content

Commit ab10e83

Browse files
committed
Merge branch 'master' into new-csv-implementation
# Conflicts: # core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/convert.kt # core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/parse.kt # core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/io/FastDoubleParser.kt # core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/FastDoubleParserTests.kt # core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/io/ParserTests.kt # gradle/libs.versions.toml
2 parents 6abc0dd + 439f65d commit ab10e83

File tree

108 files changed

+14797
-600
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+14797
-600
lines changed

.github/README.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## GitHub Actions
2+
3+
While publishing and testing of the library is handled by [JetBrains TeamCity](https://www.jetbrains.com/teamcity/),
4+
there are some CI operations that are handled by GitHub actions instead.
5+
6+
### Publishing Docs
7+
8+
The building of the documentation website in [docs](../docs), and the publishing of it along
9+
with the search-indices is handled by the [Build Docs GH Action](./workflows/main.yml). Careful: This action replaces the entire contents
10+
of the documentation website.
11+
12+
### Gradle Wrapper Validation
13+
14+
We run the [Gradle Wrapper Validation action](https://github.com/gradle/wrapper-validation-action)
15+
using a [GitHub Action](./workflows/gradle-wrapper-validation.yml) as well.
16+
This action validates the checksums of all Gradle Wrapper JAR files present in the repository and
17+
fails if any unknown Gradle Wrapper JAR files are found.
18+
19+
### Auto-commit generated code
20+
21+
Anytime the source code changes on [master](https://github.com/Kotlin/dataframe/tree/master),
22+
this [GitHub Action](./workflows/generated-sources-master.yml) makes sure
23+
[`processKDocsMain`](../KDOC_PREPROCESSING.md),
24+
and `korro` are run. If there have been any changes in either [core/generated-sources](../core/generated-sources) or
25+
[docs/StardustDocs/snippets](../docs/StardustDocs/snippets), these are auto-committed to the branch, to keep
26+
it up to date.
27+
28+
### Show generated code in PR
29+
30+
To make sure no unexpected code is auto-committed to [master](https://github.com/Kotlin/dataframe/tree/master),
31+
this [GitHub Action](./workflows/generated-sources.yml) runs the same code-generating tasks but on a separate branch.
32+
If there are changes, it will leave a message in the PR, informing you about the changes that will be done to the master
33+
branch if this PR were merged.

core/README.md

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## :core
2+
3+
This is the core of the library, published as the `dataframe-core` package.
4+
It contains the DataFrame API and its implementation, as well as plenty of JUnit tests.
5+
6+
I/O operations are split off into other modules, like [:dataframe-excel](../dataframe-excel),
7+
or [:dataframe-jdbc](../dataframe-jdbc), however, this is has not happened yet for all operations
8+
(see [Issue #100](https://github.com/Kotlin/dataframe/issues/100)).
9+
10+
At the moment, these integrations are still part of the `:core` module:
11+
12+
- csv/tsv
13+
- html
14+
- json
15+
- jupyter
16+
17+
### Korro code samples
18+
19+
Code samples for the documentation website reside
20+
in [core/.../test/.../samples/api](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api) (for samples that depend solely on `dataframe-core`),
21+
and [tests/.../samples/api](../tests/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api) (for samples can depend on other I/O modules)
22+
and they are copied over to Markdown files in [docs/StardustDocs/topics](../docs/StardustDocs/topics)
23+
by [Korro](https://github.com/devcrocod/korro).
24+
25+
### Explainer dataframes
26+
27+
Aside from code samples, `@TransformDataFrameExpressions` annotated test functions also generate sample
28+
dataframe HTML files that can be used as iFrames on the documentation website.
29+
They are tested, generated, and copied over to [docs/StardustDocs/snippets](../docs/StardustDocs/snippets) by
30+
our "explainer" [plugin callback proxy](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer),
31+
which hooks into [the TestBase class](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/TestBase.kt) and
32+
retrieves the intermediate DataFrame expressions thanks to our "explainer" compiler plugin
33+
[:plugins:expressions-converter](../plugins/expressions-converter).
34+
35+
We can also generate "normal" DataFrame samples for the website. This can be done using the
36+
[OtherSamples class](./src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/OtherSamples.kt). Generated
37+
HTML files will be stored in [docs/StardustDocs/snippets/manual](../docs/StardustDocs/snippets/manual).
38+
39+
### KDoc Preprocesor
40+
41+
The code you're working on needs to be edited in [src](src), but the KDocs are processed by the
42+
[KDoc Preprocessor](https://github.com/Jolanrensen/docProcessorGradlePlugin) when the project is published (or the task
43+
is run manually). The generated sources with adjusted KDocs will be overwritten
44+
in [generated-sources](generated-sources).
45+
See the [KDoc Preprocessing Guide](../KDOC_PREPROCESSING.md) for more information.
46+
47+
KDocs can also be exported to HTML, for them to be reused on the website.
48+
Elements annotated with `@ExportAsHtml` will have their generated content be copied over to
49+
[docs/StardustDocs/snippets/kdocs](../docs/StardustDocs/snippets/kdocs).

0 commit comments

Comments
 (0)