in tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java [197:236]
private void updateConnector() throws Exception {
String sanitizedName = sanitizeMavenArtifactId(name);
// create the connector directory
File connectorDir = new File(projectDir, "camel-" + sanitizedName + KAFKA_CONNECTORS_SUFFIX);
if (!connectorDir.exists() || !connectorDir.isDirectory()) {
getLog().info("Connector " + name + " can not be updated since directory " + connectorDir.getAbsolutePath() + " dose not exist.");
throw new MojoFailureException("Directory already exists: " + connectorDir);
}
// create the base pom.xml
Document pom = createBasePom(connectorDir);
// Apply changes to the connector pom
fixExcludedDependencies(pom);
fixAdditionalDependencies(pom, additionalDependencies);
fixAdditionalRepositories(pom);
// Write the connector pom
File pomFile = new File(connectorDir, "pom.xml");
writeXmlFormatted(pom, pomFile, getLog());
// write package
Document pkg = createPackageFile();
File pkgFile = new File(connectorDir, "src/main/assembly/package.xml");
writeXmlFormatted(pkg, pkgFile, getLog());
// write LICENSE, USAGE
writeStaticFiles(connectorDir);
// generate classes
ComponentModel model = JsonMapper.generateComponentModel(componentJson);
if (model.isConsumerOnly()) {
createClasses(sanitizedName, connectorDir, model, ConnectorType.SOURCE);
} else if (model.isProducerOnly()) {
createClasses(sanitizedName, connectorDir, model, ConnectorType.SINK);
} else {
createClasses(sanitizedName, connectorDir, model, ConnectorType.SOURCE);
createClasses(sanitizedName, connectorDir, model, ConnectorType.SINK);
}
}