@@ -11,6 +11,11 @@ repositories {
1111 jcenter()
1212}
1313
14+ configurations {
15+ documentation
16+ assets
17+ }
18+
1419dependencies {
1520 compileOnly " org.apache.kafka:connect-api:2.1.0"
1621 compile (" com.marklogic:ml-javaclient-util:3.10.0" ) {
@@ -29,6 +34,13 @@ dependencies {
2934 testRuntime " ch.qos.logback:logback-classic:1.1.8"
3035 testRuntime group : " org.slf4j" , name : " jcl-over-slf4j" , version : " 1.7.22"
3136 testRuntime group : " org.slf4j" , name : " slf4j-api" , version : " 1.7.22"
37+
38+ documentation files(' LICENSE.txt' )
39+ documentation files(' NOTICE.txt' )
40+ documentation files(' README.md' )
41+
42+ assets files(' MarkLogic_logo.png' )
43+ assets files(' apache_logo.png' )
3244}
3345
3446// Needed by Gradle 4.6+ - see https://www.petrikainulainen.net/programming/testing/junit-5-tutorial-running-unit-tests-with-gradle/
@@ -57,4 +69,70 @@ task copyPropertyFilesToKafka(type: Copy) {
5769task deploy {
5870 description = " Used for local development and testing; builds the jar and copies it and the properties files to your local Kafka install"
5971 dependsOn = [" jar" , " copyJarToKafka" , " copyPropertyFilesToKafka" ]
72+ }
73+
74+ // Tasks for building the archive required for submitting to the Confluence Connector Hub
75+ task connectorArchive_CopyManifestToBuildDirectory (type : Copy ) {
76+ description = " Copy the project manifest into the root folder"
77+ group = ' connector archive'
78+
79+ from ' .'
80+ include ' manifest.json'
81+ into ' build/connectorArchive'
82+ }
83+
84+ task connectorArchive_CopyAssetsToBuildDirectory (type : Copy ) {
85+ description = " Copy the project assets into the assets folder"
86+ group = ' connector archive'
87+
88+ from configurations. assets
89+ into ' build/connectorArchive/assets'
90+ }
91+
92+ task connectorArchive_CopyEtcToBuildDirectory (type : Copy ) {
93+ description = " Copy the project support files into the etc folder"
94+ group = ' connector archive'
95+
96+ from ' config'
97+ include ' *'
98+ into ' build/connectorArchive/etc'
99+ }
100+
101+ task connectorArchive_CopyDocumentationToBuildDirectory (type : Copy ) {
102+ description = " Copy the project documentation into the doc folder"
103+ group = ' connector archive'
104+
105+ from configurations. documentation
106+ into ' build/connectorArchive/doc'
107+ }
108+
109+ task connectorArchive_CopyDependenciesToBuildDirectory (type : Copy ) {
110+ description = " Copy the dependency jars into the lib folder"
111+ group = ' connector archive'
112+ dependsOn = [jar]
113+
114+ from jar
115+ from configurations. compile
116+ into ' build/connectorArchive/lib'
117+ }
118+
119+ task connectorArchive_BuildDirectory () {
120+ description = " Build the directory that will be used to create the Kafka Connector Archive"
121+ dependsOn = [connectorArchive_CopyManifestToBuildDirectory,
122+ connectorArchive_CopyDependenciesToBuildDirectory,
123+ connectorArchive_CopyDocumentationToBuildDirectory,
124+ connectorArchive_CopyEtcToBuildDirectory,
125+ connectorArchive_CopyAssetsToBuildDirectory]
126+ group = ' connector archive'
127+ }
128+
129+ task connectorArchive (type : Zip , dependsOn : connectorArchive_BuildDirectory) {
130+ description = ' Build a Connector Hub for the Confluent Connector Hub'
131+ group = ' connector archive'
132+
133+ from ' build/connectorArchive'
134+ include ' *'
135+ include ' */*'
136+ archiveName ' confluentinc-kafka-marklogic-connector-0.1.0.zip'
137+ destinationDir(file(' build/distro' ))
60138}
0 commit comments