[Created] (MCOMPILER-372) Unable to compile modularized test code depending on test-jar

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Created] (MCOMPILER-372) Unable to compile modularized test code depending on test-jar

JIRA jira@apache.org
Jeronimo Backes created MCOMPILER-372:
-----------------------------------------

             Summary: Unable to compile modularized test code depending on test-jar
                 Key: MCOMPILER-372
                 URL: https://issues.apache.org/jira/browse/MCOMPILER-372
             Project: Maven Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.8.0
         Environment: Manjaro Linux 64 bit, Open JDK 11, Apache-Maven-3.6.0
            Reporter: Jeronimo Backes
         Attachments: univocity-all.zip

I'm refactoring [univocity-parsers|https://github.com/uniVocity/univocity-parsers] into multiple projects with modules (attached a zip with everything I got)

However I'm unable to reliably build the attached project with its unit tests. Unpack then cd into "univocity-all-parent", then run "mvn clean install".

 

All projects generate test-jars, but for some reason class *com.univocity.parsers.core.routine.ResultSetWritingRoutine* inside "univocity-parsers-core/src/test/java/" is not found when compiling the tests of projects "univocity-csv", "univocity-tsv" and "univocity-fixedwidth".

 

Interestingly, the issue doesn't seem to be consistent as I got "univocity-csv" and "univocity-tsv" building without errors a few times. "univocity-fixedwidth" however failed consistently every single time.

Some of the errors I get are:

{{[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile (default-testCompile) on project univocity-csv: Compilation failure: Compilation failure: }}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[27,49] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetWritingRoutine}}
{{[ERROR]   location: package com.univocity.parsers.core.routine}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[681,17] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetWritingRoutine}}
{{[ERROR]   location: class com.univocity.csv.CsvWriterTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[681,52] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetWritingRoutine}}
{{[ERROR]   location: class com.univocity.csv.CsvWriterTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[691,17] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetTest}}
{{[ERROR]   location: class com.univocity.csv.CsvWriterTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[691,45] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetTest}}
{{[ERROR]   location: class com.univocity.csv.CsvWriterTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[123,17] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetWritingRoutine}}
{{[ERROR]   location: class com.univocity.csv.routine.CsvRoutinesTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[123,52] cannot find symbol}}
{{[ERROR]   symbol:   class ResultSetWritingRoutine}}
{{[ERROR]   location: class com.univocity.csv.routine.CsvRoutinesTest}}
{{[ERROR] /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[124,68] package ResultSetWritingRoutine does not exist}}

 

I was also getting errors saying that the "Example" class was not found, or that the "printAndValidate" method was not found (that one comes from the univocity-output-tester dependency)..

 

There's something very weird going on and it's not consistently reproducible. If you for example change the code in the failing tests use "*import static com.univocity.parsers.core.routine.ResultSetWritingRoutine.** " you may get a different set of errors. It's pretty intractable.

I hope this provides enough information, let me know if you need anything else.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)