[ 
https://issues.apache.org/jira/browse/MCOMPILER-429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17198469#comment-17198469
 ] 

Robert Scholte commented on MCOMPILER-429:
------------------------------------------

I haven't looked into detail, but the comment of [~guyv] makes sense.
With the introduction of modules in Java 9 we made sure that testing still 
works.
However, it now becomes clear there's an important difference between unittest 
and integration testing.
For unittesting (where classes must be in the same package to test package 
private methods) there's no need to add a module descriptor, Maven will handle 
the correct modulepath/classpath.
For integration testing you should a different package and might add a module 
descriptor.

> CLONE - Unable to compile modularized test code depending on test-jar
> ---------------------------------------------------------------------
>
>                 Key: MCOMPILER-429
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-429
>             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: Shawn Kittelson
>            Assignee: Robert Scholte
>            Priority: Blocker
>         Attachments: maven-compiler-plugin.MCOMPILER-372.patch, 
> 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
(v8.3.4#803005)

Reply via email to