Skip to content
This repository was archived by the owner on Feb 13, 2026. It is now read-only.

Commit 7f3e03d

Browse files
committed
fix(): deprecate the plugin (#97)
1 parent 8ed3d6b commit 7f3e03d

Some content is hidden

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

45 files changed

+442
-391
lines changed

src/main/java/io/kestra/plugin/singer/AbstractPythonSinger.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,30 +64,30 @@ public abstract class AbstractPythonSinger extends Task {
6464
@Getter(AccessLevel.NONE)
6565
protected transient Path workingDirectory;
6666

67-
@Schema(
67+
@Schema(deprecated = true,
6868
title = "The name of Singer state file stored in KV Store."
6969
)
7070
@NotNull
7171
@Builder.Default
7272
protected Property<String> stateName = Property.ofValue("singer-state");
7373

74-
@Schema(
74+
@Schema(deprecated = true,
7575
title = "Override default pip packages to use a specific version."
7676
)
7777
protected Property<List<String>> pipPackages;
7878

79-
@Schema(
79+
@Schema(deprecated = true,
8080
title = "Override default singer command."
8181
)
8282
protected Property<String> command;
8383

84-
@Schema(
84+
@Schema(deprecated = true,
8585
title = "Deprecated, use 'taskRunner' instead"
8686
)
8787
@PluginProperty
8888
private DockerOptions docker;
8989

90-
@Schema(
90+
@Schema(deprecated = true,
9191
title = "The task runner to use.",
9292
description = "Task runners are provided by plugins, each have their own properties."
9393
)
@@ -96,7 +96,7 @@ public abstract class AbstractPythonSinger extends Task {
9696
@Valid
9797
private TaskRunner<?> taskRunner = Docker.instance();
9898

99-
@Schema(title = "The task runner container image, only used if the task runner is container-based.")
99+
@Schema(deprecated = true,title = "The task runner container image, only used if the task runner is container-based.")
100100
@Builder.Default
101101
private Property<String> containerImage = Property.ofValue(DEFAULT_IMAGE);
102102

src/main/java/io/kestra/plugin/singer/taps/AbstractPythonTap.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public abstract class AbstractPythonTap extends AbstractPythonSinger implements
4343
@Getter(AccessLevel.NONE)
4444
protected transient Pair<File, OutputStream> rawSingerStream;
4545

46-
@Schema(
46+
@Schema(deprecated = true,
4747
title = "The list of stream configurations"
4848
)
4949
@PluginProperty
@@ -180,14 +180,14 @@ private String tapCommand(RunContext runContext) throws IllegalVariableEvaluatio
180180
@Builder
181181
@Getter
182182
public static class Output implements io.kestra.core.models.tasks.Output {
183-
@Schema(
183+
@Schema(deprecated = true,
184184
title = "Raw singer streams",
185185
description = "Json multiline file with raw singer format that can be passed to a target"
186186
)
187187
@PluginProperty(additionalProperties = URI.class)
188188
private final URI raw;
189189

190-
@Schema(
190+
@Schema(deprecated = true,
191191
title = "Counter of stream items"
192192
)
193193
private final Long count;

src/main/java/io/kestra/plugin/singer/taps/BigQuery.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.io.IOException;
1616
import java.time.Instant;
1717
import java.util.*;
18+
1819
import jakarta.validation.constraints.NotEmpty;
1920
import jakarta.validation.constraints.NotNull;
2021

@@ -23,47 +24,48 @@
2324
@EqualsAndHashCode
2425
@Getter
2526
@NoArgsConstructor
26-
@Schema(
27+
@Schema(deprecated = true,
2728
title = "Fetch data from BigQuery with a Singer tap.",
2829
description = "Full documentation can be found on the [GitHub Repo](https://github.com/anelendata/tap-bigquery)."
2930
)
31+
@Deprecated(forRemoval = true, since = "0.24")
3032
public class BigQuery extends AbstractPythonTap implements RunnableTask<AbstractPythonTap.Output> {
31-
@Schema(
33+
@Schema(deprecated = true,
3234
title = "The JSON service account key as string."
3335
)
3436
protected Property<String> serviceAccount;
3537

3638
@NotNull
3739
@NotEmpty
38-
@Schema(
40+
@Schema(deprecated = true,
3941
title = "Array holding objects describing streams (tables) to extract, with `name`, `table`, `columns`, `datetime_key`, and `filters` keys."
4042
)
4143
@PluginProperty
4244
protected List<Stream> streams;
4345

4446
@NotNull
45-
@Schema(
47+
@Schema(deprecated = true,
4648
title = "Limits the number of records returned in each stream, applied as a limit in the query."
4749
)
4850
private Property<Integer> limit;
4951

5052
@NotNull
51-
@Schema(
53+
@Schema(deprecated = true,
5254
title = "When replicating incrementally, disable to only select records whose `datetime_key` is greater than the maximum value replicated in the last run, by excluding records whose timestamps match exactly.",
5355
description = "This could cause records to be missed that were created after the last run finished, but during the same second and with the same timestamp."
5456
)
5557
@Builder.Default
5658
private Property<Boolean> startAlwaysInclusive = Property.ofValue(true);
5759

5860
@NotNull
59-
@Schema(
61+
@Schema(deprecated = true,
6062
title = "Determines how much historical data will be extracted.",
6163
description = "Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take."
6264
)
6365
@PluginProperty(dynamic = true)
6466
private Instant startDateTime;
6567

66-
@Schema(
68+
@Schema(deprecated = true,
6769
title = "Date up to when historical data will be extracted."
6870
)
6971
@PluginProperty(dynamic = true)
@@ -131,7 +133,7 @@ public static class Stream {
131133
@JsonProperty("datetime_key")
132134
String datetimeKey;
133135

134-
@Schema(
136+
@Schema(deprecated = true,
135137
title = "these are parsed in `WHERE` clause",
136138
description = "filters are optional but we strongly recommend using this over a large partitioned table to control the cost."
137139
)

src/main/java/io/kestra/plugin/singer/taps/BingAds.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.Collections;
1717
import java.util.List;
1818
import java.util.Map;
19+
1920
import jakarta.validation.constraints.NotEmpty;
2021
import jakarta.validation.constraints.NotNull;
2122

@@ -24,61 +25,62 @@
2425
@EqualsAndHashCode
2526
@Getter
2627
@NoArgsConstructor
27-
@Schema(
28+
@Schema(deprecated = true,
2829
title = "Fetch data from Bing Ads with a Singer tap.",
2930
description = "Full documentation can be found on the [GitHub Repo](https://github.com/singer-io/tap-bing-ads)."
3031
)
32+
@Deprecated(forRemoval = true, since = "0.24")
3133
public class BingAds extends AbstractPythonTap implements RunnableTask<AbstractPythonTap.Output> {
3234
@NotNull
3335
@NotEmpty
34-
@Schema(
36+
@Schema(deprecated = true,
3537
title = "Your developer token for Bing Ads application."
3638
)
3739
@PluginProperty(dynamic = true)
3840
private String developerToken;
3941

4042
@NotNull
4143
@NotEmpty
42-
@Schema(
44+
@Schema(deprecated = true,
4345
title = "Your OAuth Client ID."
4446
)
4547
@PluginProperty(dynamic = true)
4648
private String oauthClientId;
4749

4850
@NotNull
4951
@NotEmpty
50-
@Schema(
52+
@Schema(deprecated = true,
5153
title = "Your OAuth Client Secret."
5254
)
5355
@PluginProperty(dynamic = true)
5456
private String oauthClientSecret;
5557

5658
@NotNull
5759
@NotEmpty
58-
@Schema(
60+
@Schema(deprecated = true,
5961
title = "The Refresh Token generated through the OAuth flow run using your OAuth Client and your Developer Token."
6062
)
6163
@PluginProperty(dynamic = true)
6264
private String refreshToken;
6365

6466
@NotNull
6567
@NotEmpty
66-
@Schema(
68+
@Schema(deprecated = true,
6769
title = "Your Customer ID."
6870
)
6971
@PluginProperty(dynamic = true)
7072
private String customerId;
7173

7274
@NotNull
7375
@NotEmpty
74-
@Schema(
76+
@Schema(deprecated = true,
7577
title = "Your accounts IDs."
7678
)
7779
@PluginProperty(dynamic = true)
7880
private List<String> accountIds;
7981

8082
@NotNull
81-
@Schema(
83+
@Schema(deprecated = true,
8284
title = "Determines how much historical data will be extracted.",
8385
description = "Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take."
8486
)

src/main/java/io/kestra/plugin/singer/taps/ChargeBee.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Collections;
2020
import java.util.List;
2121
import java.util.Map;
22+
2223
import jakarta.validation.constraints.NotEmpty;
2324
import jakarta.validation.constraints.NotNull;
2425

@@ -27,22 +28,23 @@
2728
@EqualsAndHashCode
2829
@Getter
2930
@NoArgsConstructor
30-
@Schema(
31+
@Schema(deprecated = true,
3132
title = "Fetch data from a ChargeBee account with a Singer tap.",
3233
description = "Full documentation can be found on the [GitHub Repo](https://github.com/hotgluexyz/tap-chargebee)."
3334
)
35+
@Deprecated(forRemoval = true, since = "0.24")
3436
public class ChargeBee extends AbstractPythonTap implements RunnableTask<AbstractPythonTap.Output> {
3537
@NotNull
3638
@NotEmpty
37-
@Schema(
39+
@Schema(deprecated = true,
3840
title = "Your API Key."
3941
)
4042
@PluginProperty(dynamic = true)
4143
private String apiKey;
4244

4345
@NotNull
4446
@NotEmpty
45-
@Schema(
47+
@Schema(deprecated = true,
4648
title = "Your site URL.",
4749
description = "mostly in the form {site}.chargebee.com"
4850
)
@@ -51,14 +53,14 @@ public class ChargeBee extends AbstractPythonTap implements RunnableTask<Abstrac
5153

5254
@NotNull
5355
@NotEmpty
54-
@Schema(
56+
@Schema(deprecated = true,
5557
title = "The version of product catalog wanted."
5658
)
5759
@PluginProperty(dynamic = true)
5860
private final String productCatalog = "1.0";
5961

6062
@NotNull
61-
@Schema(
63+
@Schema(deprecated = true,
6264
title = "Determines how much historical data will be extracted.",
6365
description = "Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take."
6466
)

src/main/java/io/kestra/plugin/singer/taps/ExchangeRateHost.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.util.Collections;
1616
import java.util.List;
1717
import java.util.Map;
18+
1819
import jakarta.validation.constraints.NotEmpty;
1920
import jakarta.validation.constraints.NotNull;
2021

@@ -23,28 +24,29 @@
2324
@EqualsAndHashCode
2425
@Getter
2526
@NoArgsConstructor
26-
@Schema(
27+
@Schema(deprecated = true,
2728
title = "Fetch data from an exchangerate.host API with a Singer tap.",
2829
description = "Full documentation can be found on the [GitHub Repo](https://github.com/anelendata/tap-exchangeratehost)."
2930
)
31+
@Deprecated(forRemoval = true, since = "0.24")
3032
public class ExchangeRateHost extends AbstractPythonTap implements RunnableTask<AbstractPythonTap.Output> {
3133
@NotEmpty
32-
@Schema(
34+
@Schema(deprecated = true,
3335
title = "The exchange rates currency used for conversion."
3436
)
3537
@PluginProperty(dynamic = true)
3638
@Builder.Default
3739
private final String base = "EUR";
3840

3941
@NotNull
40-
@Schema(
42+
@Schema(deprecated = true,
4143
title = "Determines how much historical data will be extracted.",
4244
description = "Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take."
4345
)
4446
@PluginProperty(dynamic = true)
4547
private LocalDate startDate;
4648

47-
@Schema(
49+
@Schema(deprecated = true,
4850
title = "Date up to when historical data will be extracted."
4951
)
5052
@PluginProperty(dynamic = true)

src/main/java/io/kestra/plugin/singer/taps/FacebookAds.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.Collections;
1717
import java.util.List;
1818
import java.util.Map;
19+
1920
import jakarta.validation.constraints.NotEmpty;
2021
import jakarta.validation.constraints.NotNull;
2122

@@ -24,43 +25,44 @@
2425
@EqualsAndHashCode
2526
@Getter
2627
@NoArgsConstructor
27-
@Schema(
28+
@Schema(deprecated = true,
2829
title = "Fetch data from Facebook Ads with a Singer tap.",
2930
description = "Full documentation can be found on the [GitHub Repo](https://github.com/singer-io/tap-facebook)."
3031
)
32+
@Deprecated(forRemoval = true, since = "0.24")
3133
public class FacebookAds extends AbstractPythonTap implements RunnableTask<AbstractPythonTap.Output> {
3234
@NotNull
3335
@NotEmpty
34-
@Schema(
36+
@Schema(deprecated = true,
3537
title = "Your Facebook Ads Account ID."
3638
)
3739
@PluginProperty(dynamic = true)
3840
private String accountId;
3941

4042
@NotNull
4143
@NotEmpty
42-
@Schema(
44+
@Schema(deprecated = true,
4345
title = "User Token generated by Facebook OAuth handshake."
4446
)
4547
@PluginProperty(dynamic = true)
4648
private String accessToken;
4749

4850
@NotNull
49-
@Schema(
51+
@Schema(deprecated = true,
5052
title = "How many Days before the Start Date to fetch Ads Insights for."
5153
)
5254
@Builder.Default
5355
private final Property<Integer> insightsBufferDays = Property.ofValue(0);
5456

5557
@NotNull
56-
@Schema(
58+
@Schema(deprecated = true,
5759
title = "Determines how much historical data will be extracted.",
5860
description = "Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take."
5961
)
6062
@PluginProperty(dynamic = true)
6163
private LocalDate startDate;
6264

63-
@Schema(
65+
@Schema(deprecated = true,
6466
title = "Date up to when historical data will be extracted."
6567
)
6668
@PluginProperty(dynamic = true)

0 commit comments

Comments
 (0)