Closed psuzzi closed 2 months ago
Here is the current status of the relevant dependencies, where local projects are in blue, printed using the depgraph generator:
Based on analysis, we could:
parse-test-common
of potentially conflicting dependenciesparse-test-common
parse-test-*
projects (which depend only on common)parse-test-benchmark
project
This maven project has a centralized benchmark structure.
This means the
parse-test-benchmark
depends on all the 'parse-test-*project and on the
parse-test-commonSo doing, the
parse-test-benchmark` pulls all the libraries from the other projects, and a lib conflict is unavoidable. We could fix the behaviour by reversing the dependency chain.So, we could have the
parse-test-benchmark
as a dependency for all the parser projects, in the same way the parser projects depend onparse-test-common
, as long as theparse-test-benchmark
does not bring in any parser dependency. One of the current issues, is theArithmeticExprGrammarFuzzer
is actually using Antlr v4, in order to verify the generated samples are correct. So, the benchmark has this dependency to Antlr4, that we should remove.So for the refactoring, we should proceed as follows:
parse-test-benchmark
(parser) dependencies from the
parse-test-benchmark`parse-test-benchmark
can be imported and used by the parsersThis should enable the addition of multiple parser benchmarks, even with different library versions.