Skip to content

Conversation

@ypiel-talend
Copy link
Contributor

Requirements

https://qlik-dev.atlassian.net/browse/QTDI-1914

  • Any code change adding any logic MUST be tested through a unit test executed with the default build
  • Any API addition MUST be done with a documentation update if relevant

Why this PR is needed?

What does this PR adds (design/code thoughts)?

ypiel-talend and others added 30 commits October 23, 2025 00:32
…:Talend/component-runtime into ypiel/QTDI-1914_sample_connector_dyndeps
#	sample-parent/sample-features/dynamic-dependencies/dynamic-dependencies-common/src/main/java/org/talend/sdk/component/sample/feature/dynamicdependencies/config/Dependency.java
#	sample-parent/sample-features/dynamic-dependencies/dynamic-dependencies-common/src/main/java/org/talend/sdk/component/sample/feature/dynamicdependencies/service/AbstractDynamicDependenciesService.java
@ypiel-talend ypiel-talend requested a review from Copilot February 2, 2026 16:41
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a comprehensive sample connector module demonstrating dynamic dependency loading capabilities. The implementation showcases how to use the @DynamicDependencies annotation with various configuration types (datastore, dataset, and custom configuration) and validates SPI loading from different dependency scopes.

Changes:

  • Added new dynamic-dependencies module with multiple sample connectors demonstrating @DynamicDependencies feature
  • Introduced DynamicDependenciesConfiguration annotation for marking configuration types that compute dynamic dependencies
  • Created supporting modules for SPI testing and classloader validation

Reviewed changes

Copilot reviewed 99 out of 110 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
sample-parent/sample-features/pom.xml Added dynamic-dependencies module to the build
component-api/src/main/java/.../DynamicDependenciesConfiguration.java New annotation for marking dynamic dependency configuration types
sample-parent/sample-features/dynamic-dependencies/pom.xml Parent POM defining the dynamic-dependencies module structure
sample-parent/sample-features/dynamic-dependencies/README.md Comprehensive documentation explaining the dynamic dependencies feature and test scenarios
sample-parent/sample-features/dynamic-dependencies/*/pom.xml Module-specific POM files for various sample connectors
sample-parent/sample-features/dynamic-dependencies//src/main/java/**/.java Implementation classes for sample connectors, services, and configuration
sample-parent/sample-features/dynamic-dependencies//src/test/java/**/.java Test classes validating dynamic dependency loading

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sonar-eks
Copy link

sonar-eks bot commented Feb 2, 2026

Failed Quality Gate failed

  • 3.15% Duplicated Lines (%) on New Code (is greater than 3.00%)
  • 72 New Issues (is greater than 0)

Project ID: org.talend.sdk.component:component-runtime

View in SonarQube

@ypiel-talend ypiel-talend changed the title chore(QTDI-1914): Sample dynamic schema connector. feat(QTDI-1914): Sample dynamic schema connector. Feb 6, 2026
@ypiel-talend ypiel-talend requested a review from Copilot February 9, 2026 17:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 99 out of 110 changed files in this pull request and generated 11 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ypiel-talend ypiel-talend requested a review from Copilot February 10, 2026 16:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 99 out of 110 changed files in this pull request and generated 12 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

</parent>

<!-- All artifacts with group starting by 'org.talend.sdk.component' are automatically excluded -->
<!-- So we changed the group to org.talend.sdk.sample -->
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These comments say the group was changed to org.talend.sdk.sample, but the module inherits groupId from org.talend.sdk.component.loading-analysis (and the artifactId remains under that group). Please update/remove the comment to reflect the current POM structure to avoid confusion.

Suggested change
<!-- So we changed the group to org.talend.sdk.sample -->
<!-- This module now inherits its groupId from the parent (org.talend.sdk.component.loading-analysis). -->

Copilot uses AI. Check for mistakes.

The `loading-analysis` module provides several TCK connector plugins designed to validate the `@DynamicDependencies` feature integration, at design time and runtime. It contains several connectors organized into two categories:

- Firsts are connectors with a service that inherits `AbstractDynamicDependenciesService` and that check:
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several typos in the README (e.g., Firsts, connnector's, exemple). Fixing these improves readability and keeps the sample documentation professional.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot open a new pull request to apply changes based on this feedback

- artifactId: data-generator
- version: 1.2512.0
- connector's family: DataGenerator
- connnector's name: DataGeneratorInput
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several typos in the README (e.g., Firsts, connnector's, exemple). Fixing these improves readability and keeps the sample documentation professional.

Copilot uses AI. Check for mistakes.
| comment | Check static dependency. |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
```
In this exemple we can see that we try to load the class `org.talend.sdk.component.sample.feature.loadinganalysis.config.Dependency` from the dependency `org.talend.sdk.component.loading-analysis:loading-dependencies-common`.
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several typos in the README (e.g., Firsts, connnector's, exemple). Fixing these improves readability and keeps the sample documentation professional.

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI commented Feb 10, 2026

@ypiel-talend I've opened a new pull request, #1166, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 3 commits February 10, 2026 17:29
* Initial plan

* Fix typos in loading-analysis README.md

Co-authored-by: ypiel-talend <29707101+ypiel-talend@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ypiel-talend <29707101+ypiel-talend@users.noreply.github.com>
…:Talend/component-runtime into ypiel/QTDI-1914_sample_connector_dyndeps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants