This is an automated email from the ASF dual-hosted git repository. bbejeck pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push: new 4cae452 MINOR: Add verification step for Streams archetype to Jenkins build (#6431) 4cae452 is described below commit 4cae4523fc04597814d85c1484ec67d8cadc2256 Author: Matthias J. Sax <mj...@apache.org> AuthorDate: Thu Mar 21 12:51:18 2019 -0700 MINOR: Add verification step for Streams archetype to Jenkins build (#6431) Updates ./jenkins.sh to build stream archetype and install it in local maven cache. Afterward, archetype is used to create a new maven project and maven project is compiled for verification. Reviewers: Guozhang Wang <wangg...@gmail.com>, John Roesler <j...@confluent.io>, Bill Bejeck <bbej...@gmail.com> --- docs/streams/tutorial.html | 8 ++++++-- jenkins.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/docs/streams/tutorial.html b/docs/streams/tutorial.html index 0006e3e..c5db280 100644 --- a/docs/streams/tutorial.html +++ b/docs/streams/tutorial.html @@ -74,8 +74,12 @@ </pre> <p> - The <code>pom.xml</code> file included in the project already has the Streams dependency defined, - and there are already several example programs written with Streams library under <code>src/main/java</code>. + The <code>pom.xml</code> file included in the project already has the Streams dependency defined. + Note, that the generated <code>pom.xml</code> targets Java 8, and does not work with higher Java versions. + </p> + + <p> + There are already several example programs written with Streams library under <code>src/main/java</code>. Since we are going to start writing such programs from scratch, we can now delete these examples: </p> diff --git a/jenkins.sh b/jenkins.sh index 5d549fe..6f94134 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -28,3 +28,45 @@ ./gradlew unitTest integrationTest \ --profile --no-daemon --continue -PtestLoggingEvents=started,passed,skipped,failed "$@" \ || { echo 'Test steps failed'; exit 1; } + +# Verify that Kafka Streams archetype compiles +if [ $JAVA_HOME = "/home/jenkins/tools/java/latest11" ] ; then + echo "Skipping Kafka Streams archetype test for Java 11" + exit 0 +fi + +./gradlew streams:install clients:install connect:json:install connect:api:install \ + || { echo 'Could not install kafka-streams.jar (and dependencies) locally`'; exit 1; } + +version=`grep "^version=" gradle.properties | cut -d= -f 2` \ + || { echo 'Could not get version from `gradle.properties`'; exit 1; } + +cd streams/quickstart \ + || { echo 'Could not change into directory `streams/quickstart`'; exit 1; } + +# variable $MAVEN_LATEST__HOME is provided by Jenkins (see build configuration) +mvn=$MAVEN_LATEST__HOME/bin/mvn + +$mvn clean install -Dgpg.skip \ + || { echo 'Could not `mvn install` streams quickstart archetype'; exit 1; } + +mkdir test-streams-archetype && cd test-streams-archetype \ + || { echo 'Could not create test directory for stream quickstart archetype'; exit 1; } + +echo "Y" | $mvn archetype:generate \ + -DarchetypeCatalog=local \ + -DarchetypeGroupId=org.apache.kafka \ + -DarchetypeArtifactId=streams-quickstart-java \ + -DarchetypeVersion=$version \ + -DgroupId=streams.examples \ + -DartifactId=streams.examples \ + -Dversion=0.1 \ + -Dpackage=myapps \ + || { echo 'Could not create new project using streams quickstart archetype'; exit 1; } + +cd streams.examples \ + || { echo 'Could not change into directory `streams.examples`'; exit 1; } + +$mvn compile \ + || { echo 'Could not compile streams quickstart archetype project'; exit 1; } +