Hey,

I work on an extension of the Apache Wayang API with the goal of using a
Kafka Source in the JavaPlanBuilder.

Hence I created a function to create a DataQuantaBuilder which can get
records from a Kafka topic using simple Kafka text messages as a record.

My observation is:

The Apache Wayang assembly does not contain the freshly compiled
JavaPlanBuilder class file, but rather an older version of it.
As a result I can't use my fresh function.

Diving into the topic brings the following insights:

We can see the correctly compiled Java class (verified with a decompiler)
in the project named
./wayang-api/wayang-api-scala-java/wayang-api-scala-java_2.12/target/classes
...

When I compile the wayang-api-scala-java module, I get the right classes.
But using the maven commands for building the assembly gives us outdated
classes.
Here is a mismatch.

Now I did the following:

On top level:

./mvnw clean
./mvnw compile
- manually delete the target folder in wayang-assembly
./mvnw compile package -pl :wayang-assembly -Pdistribution -U
           ^------ here I skip the clean ....

And also now, even with the correct class file in the wayang-api-scala-java
module, the assembly is built from the wrong JAR file.

I will try with our release candidate 1.0.0.
My assumption is, that since maven can't load a JAR vor that version, it
also can't use an outdated JAR in the assembly module.
It would be a workaround still, but then we would have located the problem
inside the assembly module - based on my current understanding.

That's all for now,
I keep you informed after the next series of tests.

Cheers,
Mirko



-- 

Dr. rer. nat. Mirko Kämpf
Müchelner Str. 23
06259 Frankleben

Reply via email to