[ https://issues.apache.org/jira/browse/SUREFIRE-1383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16071418#comment-16071418 ]
ASF GitHub Bot commented on SUREFIRE-1383: ------------------------------------------ Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/157#discussion_r125169703 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java --- @@ -847,12 +847,33 @@ private DefaultScanResult scanDependencies() { try { + DefaultScanResult scanResult = new DefaultScanResult( Collections.EMPTY_LIST ); + + List<String> dependenciesToScanList = new ArrayList( Arrays.asList( getDependenciesToScan() ) ); + TestListResolver includedAndExcludedTests = getIncludedAndExcludedTests(); + + for ( MavenProject mavenProject : session.getSortedProjects() ) + { + String groupArtifactId = new StringBuilder( mavenProject.getGroupId() ).append( ":" ) + .append( mavenProject.getArtifactId() ).toString(); + if ( dependenciesToScanList.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> dependenciesToScanFileList = --- End diff -- `dependenciesToScanFileList` already contains plural. Pls rename `dependenciesToScanFileList` to `dependenciesToScanFile`. > dependenciesToScan Does Not Leverage Classpath Elements > -------------------------------------------------------- > > Key: SUREFIRE-1383 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1383 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin > Affects Versions: 2.20 > Reporter: Owen Farrell > Fix For: Backlog > > Attachments: scanned-dependencies-sample.zip > > > The <dependenciesToScan> configuration attribute relies solely on installed > artifacts. This is an issue when the targeted dependencies were built as part > of the current session. The net result is that stale artifacts are used (i.e. > if the dependency has changed since it was last installed) or the tests are > not executed at all (if the dependency has not been previously installed. > Attached is a sample project that illustrates this issue: > Given I have a multi-module project > And the first module built includes test classes as part of the project > artifact > And subsequent modules scan the first for unit tests to execute > When I execute the _*test*_ goal (prior to any install) > Then the build should succeed > And tests should be executed with each module -- This message was sent by Atlassian JIRA (v6.4.14#64029)