[Core] [Pipeline] [Jdbc] Support mysql

This commit is contained in:
qianmoQ 2023-11-23 20:35:21 +08:00
parent b909e2ad2f
commit 9a9db2c5ed
80 changed files with 213 additions and 70 deletions

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -1,5 +1,7 @@
name: MySQL
supportTime: '2022-09-19'
configures:
- field: name
type: String
@ -38,3 +40,79 @@ configures:
- field: useOldAliasMetadataBehavior
value: true
group: custom
pipelines:
- executor: Seatunnel
type: SOURCE
protocol: JDBC
fields:
- field: url
generated: true
override: true
- field: driver
origin: driver
required: true
override: true
input: true
width: 300
type: INPUT
value: com.mysql.cj.jdbc.Driver
- field: user
origin: username
required: false
override: false
- field: password
origin: password
required: false
override: false
- field: query
origin: context
required: false
hidden: false
description: Query statement
override: true
input: true
width: 300
type: TEXT
tooltip: If this value is entered, the default sql statement will be replaced
- field: result_table_name
origin: result_table_name
description: |
When result_table_name is not specified, the data processed by this plugin will not be registered as a data set (dataStream/dataset) that can be directly accessed by other plugins, or called a temporary table (table) ;
When result_table_name is specified, the data processed by this plugin will be registered as a data set (dataStream/dataset) that can be directly accessed by other plugins, or called a temporary table (table) . The data set (dataStream/dataset) registered here can be directly accessed by other plugins by specifying source_table_name .
required: false
hidden: true
input: true
override: true
- executor: Seatunnel
type: SINK
protocol: JDBC
fields:
- field: url
generated: true
override: true
- field: driver
origin: driver
required: true
override: true
input: true
width: 300
type: INPUT
value: com.mysql.cj.jdbc.Driver
- field: user
origin: username
required: false
override: false
- field: password
origin: password
required: false
override: false
- field: query
origin: query
required: true
hidden: false
description: Use this sql write upstream input datas to database. e.g INSERT ...
override: true
input: true
width: 300
type: TEXT

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -1,5 +1,6 @@
package io.edurt.datacap.service.body;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -17,4 +18,5 @@ public class PipelineFieldBody
{
private Long id;
private Properties configures;
private Protocol protocol;
}

View File

@ -1,5 +1,6 @@
package io.edurt.datacap.service.configure;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -14,6 +15,7 @@ import java.util.List;
public class IConfigureExecutor
{
private String executor;
private Protocol protocol = Protocol.NONE;
private IConfigurePipelineType type;
private List<IConfigureExecutorField> fields;
}

View File

@ -38,4 +38,6 @@ public class IConfigureExecutorField
private String description;
// If the type is SELECT , the default data passed in is required
private List<String> defaultValues;
// If it is auto-generated, the format isprotocol://host:port
private boolean generated = false;
}

View File

@ -27,6 +27,7 @@ import io.edurt.datacap.spi.executor.Pipeline;
import io.edurt.datacap.spi.executor.PipelineField;
import io.edurt.datacap.spi.executor.PipelineResponse;
import io.edurt.datacap.spi.executor.PipelineState;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@ -127,6 +128,9 @@ public class PipelineServiceImpl
if (!fromOriginProperties.containsKey("context")) {
fromOriginProperties.setProperty("context", configure.getContent());
}
if (configure.getFrom().getProtocol().equals(Protocol.JDBC)) {
fromOriginProperties.setProperty("url", String.format("jdbc:%s://%s:%s/%s", fromSource.getType().toLowerCase(), fromSource.getHost(), fromSource.getPort(), fromSource.getDatabase()));
}
Properties fromProperties = this.merge(fromSource, fromConfigureExecutor.get().getFields(), fromOriginProperties);
Set<String> fromOptions = Sets.newHashSet();
fromConfigureExecutor.get()
@ -138,10 +142,14 @@ public class PipelineServiceImpl
.type(fromSource.getType())
.configure(fromProperties)
.supportOptions(fromOptions)
.protocol(configure.getFrom().getProtocol())
.build();
// TO source
Properties toOriginProperties = configure.getTo().getConfigures();
if (configure.getTo().getProtocol().equals(Protocol.JDBC)) {
toOriginProperties.setProperty("url", String.format("jdbc:%s://%s:%s/%s", fromSource.getType().toLowerCase(), fromSource.getHost(), fromSource.getPort(), fromSource.getDatabase()));
}
Properties toProperties = this.merge(toSource, toConfigureExecutor.get().getFields(), toOriginProperties);
Set<String> toOptions = Sets.newHashSet();
toConfigureExecutor.get()
@ -153,6 +161,7 @@ public class PipelineServiceImpl
.type(toSource.getType())
.configure(toProperties)
.supportOptions(toOptions)
.protocol(configure.getTo().getProtocol())
.build();
if (ObjectUtils.isNotEmpty(configure.getId())) {
pipelineEntity = this.repository.findById(configure.getId()).get();

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -14,5 +14,6 @@ public class PipelineField
{
private String type;
private Properties configure;
private Protocol protocol;
private Set<String> supportOptions;
}

View File

@ -0,0 +1,7 @@
package io.edurt.datacap.spi.executor;
public enum Protocol
{
NONE,
JDBC
}

View File

@ -1,7 +1,7 @@
{
"name": "datacap-console",
"description": "DataCap console",
"version": "1.17.0",
"version": "1.18.0-SNAPSHOT",
"private": true,
"scripts": {
"dev": "vue-cli-service serve",

View File

@ -4,6 +4,7 @@ export class PipelineModel
to: PipelineMetaModel = new PipelineMetaModel();
content: string;
executor = 'Seatunnel';
protocol: string;
}
export class PipelineMetaModel
@ -11,4 +12,5 @@ export class PipelineMetaModel
id: number;
source: any = {};
configures = {};
protocol: string;
}

View File

@ -153,12 +153,14 @@ export default defineComponent({
const pipelines = this.formState.from.source['pipelines']
if (pipelines) {
this.pipelineFromItem = this.filterPipelineFromItem(pipelines, source)
this.formState.from.protocol = this.pipelineFromItem[0]['protocol']
}
}
if (type === sink) {
const pipelines = this.formState.to.source['pipelines']
if (pipelines) {
this.pipelineToItem = this.filterPipelineFromItem(pipelines, sink)
this.formState.to.protocol = this.pipelineToItem[0]['protocol']
}
}
},

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -19,6 +19,7 @@ import io.edurt.datacap.spi.executor.Pipeline;
import io.edurt.datacap.spi.executor.PipelineField;
import io.edurt.datacap.spi.executor.PipelineResponse;
import io.edurt.datacap.spi.executor.PipelineState;
import io.edurt.datacap.spi.executor.Protocol;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@ -105,7 +106,11 @@ public class SeatunnelExecutor
{
jsonGenerator.writeFieldName(type);
if (ObjectUtils.isNotEmpty(configure)) {
Connector factory = ConnectorFactory.createFormatter(ConnectorType.valueOf(configure.getType()), configure);
String protocol = configure.getType();
if (configure.getProtocol().equals(Protocol.JDBC)) {
protocol = "Jdbc";
}
Connector factory = ConnectorFactory.createFormatter(ConnectorType.valueOf(protocol), configure);
for (Map.Entry<String, Object> entry : factory.formatToMap().entrySet()) {
jsonGenerator.writeStartObject();
jsonGenerator.writeObjectFieldStart(entry.getKey());

View File

@ -13,13 +13,16 @@ public class ConnectorFactory
public static Connector createFormatter(ConnectorType type, PipelineField configure)
{
Connector instance = null;
Connector instance;
if (type.equals(ConnectorType.ClickHouse)) {
instance = new ConnectorClickHouse(type, configure);
}
else if (type.equals(ConnectorType.Console)) {
instance = new ConnectorConsole(type, configure);
}
else if (type.equals(ConnectorType.Jdbc)) {
instance = new ConnectorJdbc(type, configure);
}
else {
instance = new Connector(type, configure, configure.getSupportOptions())
{

View File

@ -0,0 +1,29 @@
package io.edurt.datacap.executor.connector;
import com.google.common.collect.Maps;
import io.edurt.datacap.spi.executor.PipelineField;
import java.util.Map;
import java.util.Properties;
public class ConnectorJdbc
extends Connector
{
public ConnectorJdbc(ConnectorType type, PipelineField configure)
{
super(type, configure, configure.getSupportOptions());
}
@Override
public Map<String, Object> formatToMap()
{
Map<String, Object> node = Maps.newConcurrentMap();
Properties properties = new Properties();
this.configure.getConfigure().entrySet()
.stream()
.filter(entry -> !String.valueOf(entry.getValue()).equals("None"))
.forEach(entry -> properties.put(entry.getKey(), entry.getValue()));
node.put("Jdbc", properties);
return node;
}
}

View File

@ -5,5 +5,6 @@ public enum ConnectorType
ClickHouse,
Kafka,
Console,
Redis
Redis,
Jdbc
}

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>datacap</artifactId>
<groupId>io.edurt.datacap</groupId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<packaging>pom</packaging>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<modules>
<module>client/datacap-cli</module>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>io.edurt.datacap</groupId>
<artifactId>datacap</artifactId>
<version>1.17.0</version>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>