Draft
Conversation
…uild that can build the projects in /example/projects
9 tasks
…jects(/dev) to automatically be synced and built
2ec6075 to
a20f5a7
Compare
…oved kotlin-dataframe-plugin-maven-example to examples/projects and examples/projects/dev
…ilt when specifying android.sdk.dir
253d408 to
bc241e6
Compare
bc241e6 to
96714c6
Compare
461e286 to
31256ad
Compare
31256ad to
bd9bd74
Compare
…htly to allow more customization which tests should run from gradle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1614
Step 3 of #1661
Introduces example structure like:
Dev versions of the examples are built using the sources of the project, while release examples use the latest release versions.
Since any example is a completely separate project, you can attach them to the IDE separately only if you need it :).
And most importantly, each example could be extracted to a ZIP and runnable by a user without any additional setup (TODO test this)
Running
:promoteExamplescopies all /dev examples upwards, making them the new "release" versions.:syncExampleFoldersis run afterwards.Running
:syncExampleFolders(run automatically every:assemble) overwrites all relevant versions and properties in the examples from our main libs.versions.toml, gradle-wrapper.properties, .editorconfig, etc. This also works for any maven examples (see build-logic/src/.../buildExampleProjects for the specific implementaiton)Running the Test task
:buildExampleFolders(run automatically every:testin debug mode, so on TC) builds all example projects usingTestBuildingExampleProjects.:syncExampleFolderstask, all dev Gradle Example projects getincludeBuild("../../../..")in settings.gradle.kts, which substitutes any DataFrame dependeny with our actual sources. This also makes working inside them from the IDE as easy as if it were a subproject :).android.sdk.diris unset. I modified TeamCity to provide-Pandroid.sdk.dir=%env.ANDROID_SDK_HOME%and it seems to work :) This gradle property is passed down to any example containing "android" (in any form) in its name. (This logic can change if needed):publishLocalto publish the artifacts to /build/maven before running the tests.