Skip to content

Commit

Permalink
MINOR: Add verification step for Streams archetype to Jenkins build (#…
Browse files Browse the repository at this point in the history
…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 <wangguoz@gmail.com>, John Roesler <john@confluent.io>,  Bill Bejeck <bbejeck@gmail.com>
  • Loading branch information
mjsax authored and bbejeck committed Mar 21, 2019
1 parent 6217178 commit 4cae452
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 2 deletions.
8 changes: 6 additions & 2 deletions docs/streams/tutorial.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,12 @@ <h4><a id="tutorial_maven_setup" href="#tutorial_maven_setup">Setting up a Maven
</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>

Expand Down
42 changes: 42 additions & 0 deletions jenkins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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; }

0 comments on commit 4cae452

Please sign in to comment.