diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d69f1800c1..66cc7225b7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -78,7 +78,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars @@ -150,7 +150,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 5c032f62ba..d1089bf17a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -108,7 +108,7 @@ jobs: - name: Maven preparation (step 2) if: matrix.language == 'java' - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - if: matrix.language == 'java' diff --git a/.github/workflows/pullrequest.yaml b/.github/workflows/pullrequest.yaml index 13a1ca17e7..bf5d9061f3 100644 --- a/.github/workflows/pullrequest.yaml +++ b/.github/workflows/pullrequest.yaml @@ -66,7 +66,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars @@ -120,7 +120,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4b813eccbf..a32e637bdf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -37,7 +37,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars @@ -95,7 +95,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars @@ -161,7 +161,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Install local file to be used within Javadoc plugin of generated POM - run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.3 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml + run: mvn install:install-file -DgroupId=JCOBridge -DartifactId=JCOBridge -Dversion=2.5.5 -Dpackaging=jar -Dfile=../../../bin/net6.0/JCOBridge.jar -f ./src/java/knet/pom.xml shell: bash - name: Create Jars diff --git a/README.md b/README.md index 11a3526a6f..56cb1f4b1e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ -# KNet: .NET gateway for Apache Kafka APIs +# KNet: the Apache Kafka .NET suite -KNet is a .NET gateway for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). +KNet is a comprehensive .NET suite for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). -This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com. - -## Status - -Latest releases are: +### Libraries and Tools -|KNet | KNetCLI | KNet.Templates | KNetPS
(1.4.4+) | KNetConnect
(1.4.7+) | +|KNet | KNetCLI | KNet.Templates | KNetPS | KNetConnect | |:---: |:---: |:---: |:---: |:---: | |[![KNet nuget](https://img.shields.io/nuget/v/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) | [![KNetCLI nuget](https://img.shields.io/nuget/v/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) | [![KNet.Templates nuget](https://img.shields.io/nuget/v/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates)| [![KNetPS](https://img.shields.io/powershellgallery/v/MASES.KNetPS.svg?style=flat-square&label=MASES.KNetPS)](https://www.powershellgallery.com/packages/MASES.KNetPS/)| [![KNetConnect nuget](https://img.shields.io/nuget/v/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) | @@ -18,9 +14,11 @@ Latest releases are: [![CodeQL](https://github.com/masesgroup/KNet/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/masesgroup/KNet/actions/workflows/codeql-analysis.yml) [![CI_RELEASE](https://github.com/masesgroup/KNet/actions/workflows/release.yaml/badge.svg)](https://github.com/masesgroup/KNet/actions/workflows/release.yaml) +--- + ## Scope of the project -This project aims to create a library to direct access, from .NET, all the features available in the [Apache Kafka binary distribution](https://kafka.apache.org/downloads). +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka binary distribution](https://kafka.apache.org/downloads). There are many client libraries written to manage communication with Apache Kafka. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: * all implemented features are availables at no extra implementation costs, see [KNet usage](src/net/Documentation/articles/usage.md); @@ -39,11 +37,39 @@ The Apache Kafka packages are downloaded from: |:---: |:---: |:---: |:---: | | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-runtime.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-runtime%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-mirror.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-mirror%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-file.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-file%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-basic-auth-extension.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-basic-auth-extension%22) | +### Community and Contribution + +Do you like the project? +- Request your free [community subscription](https://www.jcobridge.com/pricing-25/). + +Do you want to help us? +- put a :star: on this project +- open [issues](https://github.com/masesgroup/KNet/issues) to request features or report bugs :bug: +- improves the project with Pull Requests + +This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com. + +## Summary + +* [Roadmap](src/net/Documentation/articles/roadmap.md) +* [Actual state](src/net/Documentation/articles/actualstate.md) +* [Performance](src/net/Documentation/articles/performance.md) +* [Connect SDK](src/net/Documentation/articles/connectSDK.md) +* [KNet usage](src/net/Documentation/articles/usage.md) +* [KNet APIs extensibility](src/net/Documentation/articles/API_extensibility.md) +* [KNet CLI usage](src/net/Documentation/articles/usageCLI.md) +* [KNet Connect usage](src/net/Documentation/articles/usageConnect.md) +* [KNet PowerShell usage](src/net/Documentation/articles/usagePS.md) +* [KNet Template usage](src/net/Documentation/articles/usageTemplates.md) +* [How to build from scratch](src/net/Documentation/articles/howtobuild.md) + ### News * V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka cluster and many other things, [here full usage](src/net/Documentation/articles/usagePS.md). * V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafka Connect related jobs, [here full usage](src/net/Documentation/articles/usageConnect.md). +--- + ## Runtime engine KNet uses [JNet](https://github.com/masesgroup/JNet), and indeed [JCOBridge](https://www.jcobridge.com/) with its [features](https://www.jcobridge.com/features/), to obtain many benefits: @@ -69,21 +95,4 @@ Have a look at the following JCOBridge resources: - [Commercial Edition](https://www.jcobridge.com/pricing-25/) - Latest release: [![JCOBridge nuget](https://img.shields.io/nuget/v/MASES.JCOBridge)](https://www.nuget.org/packages/MASES.JCOBridge) ---- -## Summary - -* [Roadmap](src/net/Documentation/articles/roadmap.md) -* [Actual state](src/net/Documentation/articles/actualstate.md) -* [Performance](src/net/Documentation/articles/performance.md) -* [Connect SDK](src/net/Documentation/articles/connectSDK.md) -* [KNet usage](src/net/Documentation/articles/usage.md) -* [KNet APIs extensibility](src/net/Documentation/articles/API_extensibility.md) -* [KNet CLI usage](src/net/Documentation/articles/usageCLI.md) -* [KNet Connect usage](src/net/Documentation/articles/usageConnect.md) -* [KNet PowerShell usage](src/net/Documentation/articles/usagePS.md) -* [KNet Template usage](src/net/Documentation/articles/usageTemplates.md) -* [How to build from scratch](src/net/Documentation/articles/howtobuild.md) - ---- - KAFKA is a registered trademark of The Apache Software Foundation. KNet has no affiliation with and is not endorsed by The Apache Software Foundation. diff --git a/src/java/knet/pom.xml b/src/java/knet/pom.xml index ae8cf02858..3e40bc8171 100644 --- a/src/java/knet/pom.xml +++ b/src/java/knet/pom.xml @@ -41,8 +41,8 @@ 11 ${basedir}/classpathfile.classpath 3.4.0 - 1.5.1.0 - 2.5.3 + 1.5.2.0 + 2.5.5 diff --git a/src/net/Common/Common.props b/src/net/Common/Common.props index 00b71a29c8..efacb44ed9 100644 --- a/src/net/Common/Common.props +++ b/src/net/Common/Common.props @@ -4,7 +4,7 @@ MASES s.r.l. MASES s.r.l. MASES s.r.l. - 1.5.1.0 + 1.5.2.0 latest true true diff --git a/src/net/Documentation/articles/intro.md b/src/net/Documentation/articles/intro.md index 518220626d..28f9eba109 100644 --- a/src/net/Documentation/articles/intro.md +++ b/src/net/Documentation/articles/intro.md @@ -1,5 +1,50 @@ -# Welcome to KNet +# KNet: the Apache Kafka .NET suite -KNet is a .NET gateway for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). +KNet is a comprehensive .NET suite for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). + +### Libraries and Tools + +|KNet | KNetCLI | KNet.Templates | KNetPS | KNetConnect | +|:---: |:---: |:---: |:---: |:---: | +|[![KNet nuget](https://img.shields.io/nuget/v/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) | [![KNetCLI nuget](https://img.shields.io/nuget/v/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) | [![KNet.Templates nuget](https://img.shields.io/nuget/v/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates)| [![KNetPS](https://img.shields.io/powershellgallery/v/MASES.KNetPS.svg?style=flat-square&label=MASES.KNetPS)](https://www.powershellgallery.com/packages/MASES.KNetPS/)| [![KNetConnect nuget](https://img.shields.io/nuget/v/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) | + +### Pipelines + +[![CI_BUILD](https://github.com/masesgroup/KNet/actions/workflows/build.yaml/badge.svg)](https://github.com/masesgroup/KNet/actions/workflows/build.yaml) +[![CodeQL](https://github.com/masesgroup/KNet/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/masesgroup/KNet/actions/workflows/codeql-analysis.yml) +[![CI_RELEASE](https://github.com/masesgroup/KNet/actions/workflows/release.yaml/badge.svg)](https://github.com/masesgroup/KNet/actions/workflows/release.yaml) + +--- + +## Scope of the project + +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka binary distribution](https://kafka.apache.org/downloads). + +There are many client libraries written to manage communication with Apache Kafka. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: +* all implemented features are availables at no extra implementation costs, see [KNet usage](src/net/Documentation/articles/usage.md); +* avoids any third party communication protocol implementation; +* access all features made available from Apache Kafka: the most important are Apache Kafka Streams and Apache Kafka Connect which does not have any C# implementation; +* measured high [performance](src/net/Documentation/articles/performance.md) in many operating conditions. + +The Apache Kafka packages are downloaded from: + +|kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | +|:---: |:---: |:---: |:---: | +|[![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-clients.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-clients%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-streams.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-streams%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-tools.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-tools%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka_2.13.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka_2.13%22) | + + +|connect-runtime | connect-mirror | connect-file | connect-basic-auth-extension | +|:---: |:---: |:---: |:---: | +| [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-runtime.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-runtime%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-mirror.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-mirror%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-file.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-file%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-basic-auth-extension.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-basic-auth-extension%22) | + +### Community and Contribution + +Do you like the project? +- Request your free [community subscription](https://www.jcobridge.com/pricing-25/). + +Do you want to help us? +- put a :star: on this project +- open [issues](https://github.com/masesgroup/KNet/issues) to request features or report bugs :bug: +- improves the project with Pull Requests This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com. diff --git a/src/net/Documentation/index.md b/src/net/Documentation/index.md index b95a3a7f65..56a79ec456 100644 --- a/src/net/Documentation/index.md +++ b/src/net/Documentation/index.md @@ -1,32 +1,69 @@ -# Welcome to KNet +# KNet: the Apache Kafka .NET suite -|KNet | KNetCLI | KNet.Templates | KNetPS
(version 1.4.4+) | KNetConnect
(version 1.4.7+) | -|--- |--- |--- |--- |--- | -|[![KNet nuget](https://img.shields.io/nuget/v/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) | [![KNetCLI nuget](https://img.shields.io/nuget/v/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) | [![KNet.Templates nuget](https://img.shields.io/nuget/v/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates)| [![KNetPS](https://img.shields.io/powershellgallery/v/MASES.KNetPS.svg?style=flat-square&label=MASES.KNetPS)](https://www.powershellgallery.com/packages/MASES.KNetPS/)| [![KNetConnect nuget](https://img.shields.io/nuget/v/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) | +KNet is a comprehensive .NET suite for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). -KNet is a .NET gateway for [Apache Kafka](https://kafka.apache.org/) [APIs](https://kafka.apache.org/documentation/#api) providing all features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). +### Libraries and Tools -This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com. +|KNet | KNetCLI | KNet.Templates | KNetPS | KNetConnect | +|:---: |:---: |:---: |:---: |:---: | +|[![KNet nuget](https://img.shields.io/nuget/v/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet)](https://www.nuget.org/packages/MASES.KNet) | [![KNetCLI nuget](https://img.shields.io/nuget/v/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetCLI)](https://www.nuget.org/packages/MASES.KNetCLI) | [![KNet.Templates nuget](https://img.shields.io/nuget/v/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates) [![downloads](https://img.shields.io/nuget/dt/MASES.KNet.Templates)](https://www.nuget.org/packages/MASES.KNet.Templates)| [![KNetPS](https://img.shields.io/powershellgallery/v/MASES.KNetPS.svg?style=flat-square&label=MASES.KNetPS)](https://www.powershellgallery.com/packages/MASES.KNetPS/)| [![KNetConnect nuget](https://img.shields.io/nuget/v/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) [![downloads](https://img.shields.io/nuget/dt/MASES.KNetConnect)](https://www.nuget.org/packages/MASES.KNetConnect) | -## Scope of the project +--- -This project aims to create a library to direct access, from .NET, all the features available in the [Apache Kafka binary distribution](https://kafka.apache.org/downloads). The packages are downloaded from: +## Scope of the project -|kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | connect-runtime | connect-mirror | connect-file | connect-basic-auth-extension | -|--- |--- |--- |--- |--- |--- |--- |--- | -|[![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-clients.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-clients%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-streams.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-streams%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-tools.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-tools%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka_2.13.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka_2.13%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-runtime.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-runtime%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-mirror.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-mirror%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-file.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-file%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-basic-auth-extension.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-basic-auth-extension%22) | +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka binary distribution](https://kafka.apache.org/downloads). There are many client libraries written to manage communication with Apache Kafka. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: -* all implemented features are availables at no extra implementation costs, see [KNet usage](articles/usage.md); +* all implemented features are availables at no extra implementation costs, see [KNet usage](src/net/Documentation/articles/usage.md); * avoids any third party communication protocol implementation; * access all features made available from Apache Kafka: the most important are Apache Kafka Streams and Apache Kafka Connect which does not have any C# implementation; -* measured high [performance](articles/performance.md) in many operating conditions. +* measured high [performance](src/net/Documentation/articles/performance.md) in many operating conditions. + +The Apache Kafka packages are downloaded from: + +|kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | +|:---: |:---: |:---: |:---: | +|[![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-clients.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-clients%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-streams.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-streams%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka-tools.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka-tools%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/kafka_2.13.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22kafka_2.13%22) | + + +|connect-runtime | connect-mirror | connect-file | connect-basic-auth-extension | +|:---: |:---: |:---: |:---: | +| [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-runtime.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-runtime%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-mirror.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-mirror%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-file.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-file%22) | [![Maven Central](https://img.shields.io/maven-central/v/org.apache.kafka/connect-basic-auth-extension.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.apache.kafka%22%20AND%20a:%22connect-basic-auth-extension%22) | + +### Community and Contribution + +Do you like the project? +- Request your free [community subscription](https://www.jcobridge.com/pricing-25/). + +Do you want to help us? +- put a :star: on this project +- open [issues](https://github.com/masesgroup/KNet/issues) to request features or report bugs :bug: +- improves the project with Pull Requests + +This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com. + +## Summary + +* [Roadmap](src/net/Documentation/articles/roadmap.md) +* [Actual state](src/net/Documentation/articles/actualstate.md) +* [Performance](src/net/Documentation/articles/performance.md) +* [Connect SDK](src/net/Documentation/articles/connectSDK.md) +* [KNet usage](src/net/Documentation/articles/usage.md) +* [KNet APIs extensibility](src/net/Documentation/articles/API_extensibility.md) +* [KNet CLI usage](src/net/Documentation/articles/usageCLI.md) +* [KNet Connect usage](src/net/Documentation/articles/usageConnect.md) +* [KNet PowerShell usage](src/net/Documentation/articles/usagePS.md) +* [KNet Template usage](src/net/Documentation/articles/usageTemplates.md) +* [How to build from scratch](src/net/Documentation/articles/howtobuild.md) ### News -* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka cluster and many other things, [here full usage](articles/usagePS.md). +* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka cluster and many other things, [here full usage](src/net/Documentation/articles/usagePS.md). * V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafka Connect related jobs, [here full usage](src/net/Documentation/articles/usageConnect.md). +--- + ## Runtime engine KNet uses [JNet](https://github.com/masesgroup/JNet), and indeed [JCOBridge](https://www.jcobridge.com/) with its [features](https://www.jcobridge.com/features/), to obtain many benefits: @@ -40,29 +77,16 @@ KNet uses [JNet](https://github.com/masesgroup/JNet), and indeed [JCOBridge](htt * No need to learn new APIs: we try to expose the same APIs in C# style; * No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available; * Documentation is shared; -* **Dynamic code**: it helps to write a Java/Scala/Kotlin/etc seamless language code directly inside a standard .NET application written in C#/VB.NET: look at this [simple example](https://www.jcobridge.com/net-examples/dotnet-examples/) and [KNet APIs extensibility](articles/API_extensibility.md). +* **Dynamic code**: it helps to write a Java/Scala/Kotlin/etc seamless language code directly inside a standard .NET application written in C#/VB.NET: look at this [simple example](https://www.jcobridge.com/net-examples/dotnet-examples/) and [KNet APIs extensibility](src/net/Documentation/articles/API_extensibility.md). -Have a look at the following resources: -- [Release notes](https://www.jcobridge.com/release-notes/) -- [Non Profit or University](https://www.jcobridge.com/pricing/) -- [Commercial info: Professional or Enterprise](https://www.jcobridge.com/pricing/) -- [![JCOBridge nuget](https://img.shields.io/nuget/v/MASES.JCOBridge)](https://www.nuget.org/packages/MASES.JCOBridge) +### JCOBridge resources ---- -## Summary - -* [Roadmap](articles/roadmap.md) -* [Actual state](articles/actualstate.md) -* [Performance](articles/performance.md) -* [Connect SDK](articles/connectSDK.md) -* [KNet usage](articles/usage.md) -* [KNet APIs extensibility](articles/API_extensibility.md) -* [KNet CLI usage](articles/usageCLI.md) -* [KNet Connect usage](articles/usageConnect.md) -* [KNet PowerShell usage](articles/usagePS.md) -* [KNet Template usage](articles/usageTemplates.md) -* [How to build from scratch](articles/howtobuild.md) - ---- +Have a look at the following JCOBridge resources: +- [Release notes](https://www.jcobridge.com/release-notes/) +- ~~[Non Profit or University](https://www.jcobridge.com/pricing/)~~ +- ~~[Commercial info: Professional or Enterprise](https://www.jcobridge.com/pricing/)~~ +- [Community Edition](https://www.jcobridge.com/pricing-25/) +- [Commercial Edition](https://www.jcobridge.com/pricing-25/) +- Latest release: [![JCOBridge nuget](https://img.shields.io/nuget/v/MASES.JCOBridge)](https://www.nuget.org/packages/MASES.JCOBridge) -KAFKA is a registered trademark of The Apache Software Foundation. KNet has no affiliation with and is not endorsed by The Apache Software Foundation. \ No newline at end of file +KAFKA is a registered trademark of The Apache Software Foundation. KNet has no affiliation with and is not endorsed by The Apache Software Foundation. diff --git a/src/net/KNet/KNet.csproj b/src/net/KNet/KNet.csproj index 3e3cfa58cc..52060f4b2d 100644 --- a/src/net/KNet/KNet.csproj +++ b/src/net/KNet/KNet.csproj @@ -18,7 +18,7 @@ - + All None diff --git a/src/net/KNetCLI/KNetCLI.nuspec b/src/net/KNetCLI/KNetCLI.nuspec index 5ba34cb93c..46afcc4898 100644 --- a/src/net/KNetCLI/KNetCLI.nuspec +++ b/src/net/KNetCLI/KNetCLI.nuspec @@ -2,7 +2,7 @@ MASES.KNetCLI - 1.5.1 + 1.5.2 KNetCLI - KNet command line interface MASES s.r.l. MASES s.r.l. diff --git a/src/net/KNetConnect/KNetConnect.nuspec b/src/net/KNetConnect/KNetConnect.nuspec index a2ebcb5335..ae5d2d1c37 100644 --- a/src/net/KNetConnect/KNetConnect.nuspec +++ b/src/net/KNetConnect/KNetConnect.nuspec @@ -2,7 +2,7 @@ MASES.KNetConnect - 1.5.1 + 1.5.2 KNetConnect - KNet Connect command line interface MASES s.r.l. MASES s.r.l. diff --git a/src/net/KNetPS/ClientCmdlet/GetConsumerRecordCmdletCommand.cs b/src/net/KNetPS/ClientCmdlet/GetConsumerRecordCmdletCommand.cs index 8f40a17bed..a531f0105d 100644 --- a/src/net/KNetPS/ClientCmdlet/GetConsumerRecordCmdletCommand.cs +++ b/src/net/KNetPS/ClientCmdlet/GetConsumerRecordCmdletCommand.cs @@ -83,7 +83,7 @@ protected override void ProcessCommand() foreach (IJavaObject item in consumerRecords as IEnumerable) { - var res = JVMBridgeBase.Wraps(consumerRecordType, item); + var res = JVMBridgeBase.Wraps(consumerRecordType, item, JVMBridgeBase.ClassNameOf()); WriteObject(res); } } diff --git a/src/net/KNetPS/KNetPS.csproj b/src/net/KNetPS/KNetPS.csproj index 7659c5a1ea..64c76e18b0 100644 --- a/src/net/KNetPS/KNetPS.csproj +++ b/src/net/KNetPS/KNetPS.csproj @@ -37,7 +37,7 @@ - + All diff --git a/src/net/KNetPS/MASES.KNetPS.psd1 b/src/net/KNetPS/MASES.KNetPS.psd1 index 0c8dc166ce..8338614b7e 100644 --- a/src/net/KNetPS/MASES.KNetPS.psd1 +++ b/src/net/KNetPS/MASES.KNetPS.psd1 @@ -8,7 +8,7 @@ RootModule = 'MASES.KNetPS.psm1' -ModuleVersion = '1.5.1' +ModuleVersion = '1.5.2' # CompatiblePSEditions = @() diff --git a/src/net/KNetPS/MASES.KNetPSCore.psd1 b/src/net/KNetPS/MASES.KNetPSCore.psd1 index 5e794c6f6b..861f0eb28c 100644 --- a/src/net/KNetPS/MASES.KNetPSCore.psd1 +++ b/src/net/KNetPS/MASES.KNetPSCore.psd1 @@ -10,7 +10,7 @@ ModuleToProcess = 'MASES.KNetPS.dll' # Version number of this module. -ModuleVersion = '1.5.1' +ModuleVersion = '1.5.2' # ID used to uniquely identify this module GUID = 'F7C13891-7BC6-4025-ACF5-04509852F87D' diff --git a/src/net/KNetPS/MASES.KNetPSFramework.psd1 b/src/net/KNetPS/MASES.KNetPSFramework.psd1 index d3112c00f5..4268ecd010 100644 --- a/src/net/KNetPS/MASES.KNetPSFramework.psd1 +++ b/src/net/KNetPS/MASES.KNetPSFramework.psd1 @@ -10,7 +10,7 @@ ModuleToProcess = 'MASES.KNetPS.dll' # Version number of this module. -ModuleVersion = '1.5.1' +ModuleVersion = '1.5.2' # ID used to uniquely identify this module GUID = '5E883DB0-584F-4F8E-8D65-2AAB24B491D8' diff --git a/src/net/templates/templates/knetConnectSink/knetConnectSink.csproj b/src/net/templates/templates/knetConnectSink/knetConnectSink.csproj index 6ef20c65a9..3e0e5ce1a4 100644 --- a/src/net/templates/templates/knetConnectSink/knetConnectSink.csproj +++ b/src/net/templates/templates/knetConnectSink/knetConnectSink.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/net/templates/templates/knetConnectSource/knetConnectSource.csproj b/src/net/templates/templates/knetConnectSource/knetConnectSource.csproj index a9bc2888ba..a0cef2861a 100644 --- a/src/net/templates/templates/knetConnectSource/knetConnectSource.csproj +++ b/src/net/templates/templates/knetConnectSource/knetConnectSource.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/net/templates/templates/knetConsumerApp/knetConsumerApp.csproj b/src/net/templates/templates/knetConsumerApp/knetConsumerApp.csproj index 70035dcb1c..c3d12065b2 100644 --- a/src/net/templates/templates/knetConsumerApp/knetConsumerApp.csproj +++ b/src/net/templates/templates/knetConsumerApp/knetConsumerApp.csproj @@ -13,6 +13,6 @@ - + diff --git a/src/net/templates/templates/knetPipeStreamApp/knetPipeStreamApp.csproj b/src/net/templates/templates/knetPipeStreamApp/knetPipeStreamApp.csproj index 70035dcb1c..c3d12065b2 100644 --- a/src/net/templates/templates/knetPipeStreamApp/knetPipeStreamApp.csproj +++ b/src/net/templates/templates/knetPipeStreamApp/knetPipeStreamApp.csproj @@ -13,6 +13,6 @@ - + diff --git a/src/net/templates/templates/knetProducerApp/knetProducerApp.csproj b/src/net/templates/templates/knetProducerApp/knetProducerApp.csproj index 70035dcb1c..c3d12065b2 100644 --- a/src/net/templates/templates/knetProducerApp/knetProducerApp.csproj +++ b/src/net/templates/templates/knetProducerApp/knetProducerApp.csproj @@ -13,6 +13,6 @@ - +