I mean to reorganize the control flow in to this order which should work
for both of us:

1.

List<File> dependenciesToScan =
    DependencyScanner.filter( project.getTestArtifacts(),
Arrays.asList( getDependenciesToScan() ) );
DependencyScanner scanner = new DependencyScanner( dependenciesToScan,
getIncludedAndExcludedTests() );
scanner.scan(); // !!! not to return yet !!!

2.

for ( MavenProject mavenProject : session.getSortedProjects() )
{

IF groupId:artifactId IS NOT IN project.getTestArtifacts() THEN =>
additionally scan it and aggregate in to one single result

}








On Tue, Aug 29, 2017 at 2:48 PM, owenfarrell <[email protected]> wrote:

> Github user owenfarrell commented on a diff in the pull request:
>
>     https://github.com/apache/maven-surefire/pull/157#
> discussion_r135778722
>
>     --- Diff: maven-surefire-common/src/main/java/org/apache/maven/
> plugin/surefire/AbstractSurefireMojo.java ---
>     @@ -847,12 +847,31 @@ private DefaultScanResult scanDependencies()
>              {
>                  try
>                  {
>     +                DefaultScanResult scanResult = new DefaultScanResult(
> Collections.EMPTY_LIST );
>     +
>     +                List<String> dependenciesToScan = new ArrayList();
>     +                Collections.addAll( dependenciesToScan,
> getDependenciesToScan() );
>     +                TestListResolver includedAndExcludedTests =
> getIncludedAndExcludedTests();
>     +
>     +                for ( MavenProject mavenProject :
> session.getSortedProjects() )
>     +                {
>     +                    String groupArtifactId =
> mavenProject.getGroupId() + ":" + mavenProject.getArtifactId();
>     +                    if ( dependenciesToScan.removeAll(
> Collections.singleton( groupArtifactId ) ) )
>     +                    {
>     +                        File outputDirectoryFile = new File(
> mavenProject.getBuild().getOutputDirectory() );
>     +                        DirectoryScanner scanner =
>     +                                new DirectoryScanner(
> outputDirectoryFile, includedAndExcludedTests );
>     +                        scanResult = scanResult.append(
> scanner.scan() );
>     +                    }
>     +                }
>     +
>                      // @TODO noinspection unchecked, check MavenProject
> 3.x for Generics in surefire:3.0
>                      @SuppressWarnings( "unchecked" )
>     -                List<File> dependenciesToScan =
>     -                    DependencyScanner.filter(
> project.getTestArtifacts(), Arrays.asList( getDependenciesToScan() ) );
>     -                DependencyScanner scanner = new DependencyScanner(
> dependenciesToScan, getIncludedAndExcludedTests() );
>     -                return scanner.scan();
>     +                List<File> dependenciesToScanFile =
>     +                        DependencyScanner.filter(
> project.getTestArtifacts(), dependenciesToScan );
>     --- End diff --
>
>     Locally staged updates to reflect your generics comments. But I don't
> follow what you're asking for here.
>
>     [Per the documentation](https://maven.apache.org/surefire/maven-
> surefire-plugin/test-mojo.html#dependenciesToScan), the
> dependenciesToScan property doesn't support classifiers - just group ID and
> artifact ID. So I didn't add any logic around classifier resolution. Is
> that what you were expecting?
>
>
> ---
> If your project is set up for it, you can reply to this email and have your
> reply appear on GitHub as well. If your project does not have this feature
> enabled and wishes so, or if the feature is enabled but not working, please
> contact infrastructure at [email protected] or file a JIRA ticket
> with INFRA.
> ---
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Cheers
Tibor

Reply via email to