We currently have 1 project in GIT containing multiple topologies. With this model, I use 1 compiled artifact containing several “topology” classes, each with a main method to configure, build, and submit the topology. Some of these topologies share some common components (bolt classes, util classes, etc…).
I do not necessarily need to deploy the newest version of each topology ever time we release code. Here are couple of options I have thought of: * Break up project into a parent module, keeping 1 GIT repo, with a child module for common components and child for each topology. * Break the common code into a GIT repo, then each topology into a GIT repo (don’t really wanna do this one at all). * Have the gradle build create a JAR per topology, using exclusion/inclusion in gradle a task. I see PROs and CONs to each approach. I am curious as to how others are maintaining this model. Do you have a separate compiled artifact for each topology? Do you use a similar approach to ours? Thanks in advance…
