This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch MJAVADOC-568 in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
commit 0c0b08b5aac29c635f2a860ebaedb59fccffed7b Author: rfscholte <[email protected]> AuthorDate: Thu Feb 7 23:40:16 2019 +0100 [MJAVADOC-568] javadoc:jar fails when project has Automatic-Module-Name and (implicit) uses offlinelinks with element-list --- pom.xml | 2 +- .../invoker.properties | 19 ++ .../module1/pom.xml | 33 +++ .../module1/src/main/java/module-info.java | 23 ++ .../module1/src/main/java/module1/Module1.java | 28 +++ .../module2/pom.xml | 91 ++++++++ .../module2/src/main/java/module2/Module2.java | 30 +++ .../MJAVADOC-568_export-to-testcase/pom.xml | 78 +++++++ .../maven/plugins/javadoc/AbstractJavadocMojo.java | 232 +++++++++++---------- .../plugins/javadoc/resolver/ResourceResolver.java | 15 +- .../aggregate-resources-test-plugin-config.xml | 1 + .../aggregate-test-plugin-config.xml | 1 + .../custom-configuration-plugin-config.xml | 3 + .../default-configuration-plugin-config.xml | 3 + .../docfiles-test/docfiles-test-plugin-config.xml | 3 + .../docfiles-with-java-test-plugin-config.xml | 3 + .../doclet-path-test-plugin-config.xml | 3 + .../unit/doclet-test/doclet-test-plugin-config.xml | 3 + .../file-include-exclude-plugin-config.xml | 3 + .../header-footer-test-plugin-config.xml | 3 + src/test/resources/unit/helpfile-test/pom.xml | 3 + .../javaHome-test/javaHome-test-plugin-config.xml | 3 + .../javadocjar-archive-config.xml | 3 + .../javadocjar-default-plugin-config.xml | 3 + .../javadocjar-failonerror-plugin-config.xml | 3 + .../javadocjar-invalid-destdir-plugin-config.xml | 3 + .../unit/jdk5-test/jdk5-test-plugin-config.xml | 3 + .../unit/jdk6-test/jdk6-test-plugin-config.xml | 3 + .../newline-test/newline-test-plugin-config.xml | 3 + .../optionsumlautencoding-test-plugin-config.xml | 3 + .../unit/proxy-test/proxy-test-plugin-config.xml | 3 + .../quotedpath-test-plugin-config.xml | 3 + .../resources-test-plugin-config.xml | 3 + .../resources-with-excludes-test-plugin-config.xml | 3 + .../resources/unit/stylesheetfile-test/pom.xml | 3 + .../subpackages-test-plugin-config.xml | 3 + .../unit/tag-test/tag-test-plugin-config.xml | 3 + .../unit/taglet-test/taglet-test-plugin-config.xml | 3 + .../tagletArtifacts-test-plugin-config.xml | 3 + .../test-javadoc-test-plugin-config.xml | 3 + ...rong-locale-with-variant-test-plugin-config.xml | 3 + 41 files changed, 516 insertions(+), 124 deletions(-) diff --git a/pom.xml b/pom.xml index 87275ed..334107f 100644 --- a/pom.xml +++ b/pom.xml @@ -240,7 +240,7 @@ under the License. <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-java</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/invoker.properties b/src/it/projects/MJAVADOC-568_export-to-testcase/invoker.properties new file mode 100644 index 0000000..72b9484 --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/invoker.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +invoker.java.version = 9+ +invoker.goals= package javadoc:jar javadoc:aggregate \ No newline at end of file diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/module1/pom.xml b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/pom.xml new file mode 100644 index 0000000..44b98b0 --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/pom.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>testcase</groupId> + <artifactId>root</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>mjavadoc569.module1</artifactId> + +</project> \ No newline at end of file diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module-info.java b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module-info.java new file mode 100644 index 0000000..5bfee2c --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module-info.java @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +module mjavadoc569.module1 +{ + exports module1 to mjavadoc569.module2; +} \ No newline at end of file diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module1/Module1.java b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module1/Module1.java new file mode 100644 index 0000000..daeae13 --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/module1/src/main/java/module1/Module1.java @@ -0,0 +1,28 @@ +package module1; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +public final class Module1 +{ + public String getName() + { + return null; + } +} diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/module2/pom.xml b/src/it/projects/MJAVADOC-568_export-to-testcase/module2/pom.xml new file mode 100644 index 0000000..124211b --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/module2/pom.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>testcase</groupId> + <artifactId>root</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>mjavadoc569.module2</artifactId> +<!-- <packaging>maven-plugin</packaging> --> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <archive> + <manifestEntries> + <Automatic-Module-Name>mjavadoc569.module2</Automatic-Module-Name> + </manifestEntries> + </archive> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-plugin-plugin</artifactId> + <version>3.6.0</version> + <executions> + <execution> + <id>default-descriptor</id> + <phase>process-classes</phase> + </execution> +<!-- <execution> --> +<!-- <id>help-descriptor</id> --> +<!-- <goals> --> +<!-- <goal>helpmojo</goal> --> +<!-- </goals> --> +<!-- </execution> --> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <executions> + <execution> + <id>default-jar</id> + <goals> + <goal>jar</goal> + </goals> + <configuration> + <show>public</show> + <doctitle>My custom title</doctitle> + <windowtitle>My custom title</windowtitle> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>mjavadoc569.module1</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> +</project> \ No newline at end of file diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/module2/src/main/java/module2/Module2.java b/src/it/projects/MJAVADOC-568_export-to-testcase/module2/src/main/java/module2/Module2.java new file mode 100644 index 0000000..b541b42 --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/module2/src/main/java/module2/Module2.java @@ -0,0 +1,30 @@ +package module2; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import module1.Module1; + +public final class Module2 +{ + public Module1 createModule1() + { + return null; + } +} diff --git a/src/it/projects/MJAVADOC-568_export-to-testcase/pom.xml b/src/it/projects/MJAVADOC-568_export-to-testcase/pom.xml new file mode 100644 index 0000000..5c7b67e --- /dev/null +++ b/src/it/projects/MJAVADOC-568_export-to-testcase/pom.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>testcase</groupId> + <artifactId>root</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>pom</packaging> + + <url>https://issues.apache.org/jira/browse/MJAVADOC-569</url> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.0</version> + <configuration> + <release>9</release> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>@project.version@</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <show>public</show> + <doctitle>My custom title</doctitle> + <windowtitle>My custom title</windowtitle> + + <debug>true</debug> + <additionalOptions> + <option>--add-modules</option> + <option>java.xml</option> + </additionalOptions> + </configuration> + </plugin> + </plugins> + </build> + <modules> + <module>module1</module> + <module>module2</module> + </modules> + +</project> \ No newline at end of file diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java index a98a48c..f77a541 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java @@ -115,7 +115,6 @@ import java.net.URLClassLoader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Arrays; @@ -1789,7 +1788,11 @@ public abstract class AbstractJavadocMojo protected File getArtifactFile( MavenProject project ) { - if ( project.getArtifact() != null ) + if ( !isAggregator() && isTest() ) + { + return null; + } + else if ( project.getArtifact() != null ) { return project.getArtifact().getFile(); } @@ -2274,8 +2277,12 @@ public abstract class AbstractJavadocMojo sourcePaths.addAll( l ); } } - mappedSourcePaths.put( ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ), - sourcePaths ); + if ( !sourcePaths.isEmpty() ) + { + mappedSourcePaths.put( ArtifactUtils.versionlessKey( project.getGroupId(), + project.getArtifactId() ), + sourcePaths ); + } } if ( includeDependencySources ) @@ -4418,7 +4425,7 @@ public abstract class AbstractJavadocMojo if ( mainDescriptor != null && !isTest() ) { ResolvePathsRequest<File> request = - ResolvePathsRequest.withFiles( Collections.<File>emptyList() ). + ResolvePathsRequest.ofFiles( Collections.<File>emptyList() ). setMainModuleDescriptor( mainDescriptor ); try @@ -4880,27 +4887,59 @@ public abstract class AbstractJavadocMojo addArgIf( arguments, breakiterator, "-breakiterator", SINCE_JAVADOC_1_5 ); } - Map<String, MavenProject> reactorKeys = new HashMap<>( session.getProjects().size() ); - for ( MavenProject reactorProject : session.getProjects() ) + Map<String, MavenProject> reactorKeys = new HashMap<>( reactorProjects.size() ); + for ( MavenProject reactorProject : reactorProjects ) { reactorKeys.put( ArtifactUtils.versionlessKey( reactorProject.getGroupId(), reactorProject.getArtifactId() ), reactorProject ); } - Collection<String> additionalModules = new ArrayList<>(); + Map<String, JavaModuleDescriptor> allModuleDescriptors = new HashMap<>(); - boolean containsModuleDescriptor = false; - for ( Collection<Path> sourcepaths : allSourcePaths.values() ) + for ( Map.Entry<String, Collection<Path>> entry : allSourcePaths.entrySet() ) { - if ( findMainDescriptor( sourcepaths ) != null ) + MavenProject entryProject = reactorKeys.get( entry.getKey() ); + + File artifactFile; + if ( entryProject != null ) { - containsModuleDescriptor = true; - break; + artifactFile = getArtifactFile( entryProject ); + } + else + { + artifactFile = project.getArtifactMap().get( entry.getKey() ).getFile(); + } + ResolvePathResult resolvePathResult = getResolvePathResult( artifactFile ); + + if ( resolvePathResult == null || resolvePathResult.getModuleNameSource() == ModuleNameSource.FILENAME ) + { + File moduleDescriptor = findMainDescriptor( entry.getValue() ); + + if ( moduleDescriptor != null ) + { + try + { + allModuleDescriptors.put( entry.getKey(), + locationManager.parseModuleDescriptor( moduleDescriptor ).getModuleDescriptor() ); + } + catch ( IOException e ) + { + throw new MavenReportException( e.getMessage(), e ); + } + } + } + else + { + allModuleDescriptors.put( entry.getKey(), resolvePathResult.getModuleDescriptor() ); } } + + Collection<String> additionalModules = new ArrayList<>(); + + ResolvePathResult mainResolvePathResult = null; Path moduleSourceDir = null; - if ( containsModuleDescriptor && allSourcePaths.size() > 1 ) + if ( javadocRuntimeVersion.isAtLeast( "9" ) && !allModuleDescriptors.isEmpty() ) { Collection<String> unnamedProjects = new ArrayList<>(); for ( Map.Entry<String, Collection<Path>> projectSourcepaths : allSourcePaths.entrySet() ) @@ -4908,7 +4947,7 @@ public abstract class AbstractJavadocMojo MavenProject aggregatedProject = reactorKeys.get( projectSourcepaths.getKey() ); if ( aggregatedProject != null ) { - String moduleName = null; + ResolvePathResult result = null; // Prefer jar over outputDirectory, since it may may contain an automatic module name File artifactFile = getArtifactFile( aggregatedProject ); @@ -4917,7 +4956,7 @@ public abstract class AbstractJavadocMojo ResolvePathRequest<File> request = ResolvePathRequest.ofFile( artifactFile ); try { - moduleName = locationManager.resolvePath( request ).getModuleDescriptor().name(); + result = locationManager.resolvePath( request ); } catch ( RuntimeException e ) { @@ -4938,14 +4977,9 @@ public abstract class AbstractJavadocMojo if ( moduleDescriptor != null ) { - ResolvePathsRequest<File> request = - ResolvePathsRequest.ofFiles( Collections.<File>emptyList() ) - .setMainModuleDescriptor( moduleDescriptor ); - try { - moduleName = - locationManager.resolvePaths( request ).getMainModuleDescriptor().name(); + result = locationManager.parseModuleDescriptor( moduleDescriptor ); } catch ( IOException e ) { @@ -4954,20 +4988,20 @@ public abstract class AbstractJavadocMojo } } - if ( moduleName != null ) + if ( result != null && result.getModuleDescriptor() != null ) { moduleSourceDir = javadocOutputDirectory.toPath().resolve( "src" ); try { moduleSourceDir = Files.createDirectories( moduleSourceDir ); - - additionalModules.add( moduleName ); - - addArgIfNotEmpty( arguments, "--patch-module", moduleName + '=' + + additionalModules.add( result.getModuleDescriptor().name() ); + + addArgIfNotEmpty( arguments, "--patch-module", result.getModuleDescriptor().name() + '=' + JavadocUtil.quotedPathArgument( getSourcePath( projectSourcepaths.getValue() ) ), false, false ); - Path modulePath = moduleSourceDir.resolve( moduleName ); + Path modulePath = moduleSourceDir.resolve( result.getModuleDescriptor().name() ); if ( !Files.isDirectory( modulePath ) ) { Files.createDirectory( modulePath ); @@ -4978,10 +5012,15 @@ public abstract class AbstractJavadocMojo throw new MavenReportException( e.getMessage(), e ); } } - else + else { unnamedProjects.add( projectSourcepaths.getKey() ); } + + if ( aggregatedProject.equals( getProject() ) ) + { + mainResolvePathResult = result; + } } else { @@ -5002,97 +5041,47 @@ public abstract class AbstractJavadocMojo } throw new MavenReportException( "Aggregator report contains named and unnamed modules" ); } + + if ( mainResolvePathResult != null + && ModuleNameSource.MANIFEST.equals( mainResolvePathResult.getModuleNameSource() ) ) + { + arguments.add( "--add-modules" ); + arguments.add( "ALL-MODULE-PATH" ); + } } - - - ResolvePathResult resolvePathResult = getResolvePathResult( getArtifactFile( getProject() ) ); - - // MJAVADOC-506 - File moduleDescriptorSource = null; - if ( resolvePathResult == null || resolvePathResult.getModuleNameSource() == ModuleNameSource.FILENAME ) + + // MJAVADOC-506 + boolean moduleDescriptorSource = false; + for ( Path sourcepath : sourcePaths ) { - Collection<Path> roots = new ArrayList<>(); - for ( String path : getProjectSourceRoots( getProject() ) ) + if ( Files.isRegularFile( sourcepath.resolve( "module-info.java" ) ) ) { - roots.add( Paths.get( path ) ); + moduleDescriptorSource = true; + break; } - - moduleDescriptorSource = findMainDescriptor( roots ); } - - boolean isExplicitModuleName = - resolvePathResult != null && ( resolvePathResult.getModuleNameSource() == ModuleNameSource.MODULEDESCRIPTOR - || resolvePathResult.getModuleNameSource() == ModuleNameSource.MANIFEST ); - + if ( javadocRuntimeVersion.isAtLeast( "9" ) - && ( isAggregator() || isExplicitModuleName || moduleDescriptorSource != null ) + && ( isAggregator() || ( mainResolvePathResult != null + && ModuleNameSource.MODULEDESCRIPTOR.equals( mainResolvePathResult.getModuleNameSource() ) ) ) && !isTest() ) { ResolvePathsRequest<File> request = ResolvePathsRequest.ofFiles( getPathElements() ); - if ( moduleDescriptorSource != null ) - { - request.setMainModuleDescriptor( moduleDescriptorSource ); - } - else if ( resolvePathResult != null ) + if ( mainResolvePathResult != null ) { - request.setModuleDescriptor( resolvePathResult.getModuleDescriptor() ); + request.setModuleDescriptor( mainResolvePathResult.getModuleDescriptor() ); } - - if ( resolvePathResult != null && resolvePathResult.getModuleNameSource() == ModuleNameSource.MANIFEST ) - { - // represent --add-modules - List<String> addModules = new ArrayList<>(); - - // scan for element-list in offline links - for ( OfflineLink link : offlineLinks ) - { - if ( link.equals( getDefaultJavadocApiLink() ) ) - { - continue; - } - - Path elementList = Paths.get( link.getLocation(), "element-list" ); - if ( Files.isRegularFile( elementList ) ) - { - try - { - List<String> lines = Files.readAllLines( elementList, StandardCharsets.UTF_8 ); - - for ( String line : lines ) - { - if ( line.startsWith( "module:" ) ) - { - addModules.add( line.substring( "module:".length() ) ); - } - } - } - catch ( IOException e ) - { - // noop - } - } - } - additionalModules.addAll( addModules ); - - String addModulesLine = StringUtils.join( addModules.iterator(), "," ); - addArgIfNotEmpty( arguments, "--add-modules", JavadocUtil.quotedPathArgument( addModulesLine ), - false, false ); - } - - request.setAdditionalModules( additionalModules ); + request.setAdditionalModules( additionalModules ); + try { ResolvePathsResult<File> result = locationManager.resolvePaths( request ); Set<File> modulePathElements = new HashSet<>( result.getModulepathElements().keySet() ) ; - if ( allSourcePaths.size() > 1 ) - { - // Probably required due to bug in javadoc (Java 9+) - modulePathElements.addAll( getProjectBuildOutputDirs( getProject() ) ); - } + modulePathElements.addAll( getProjectBuildOutputDirs( getProject() ) ); Collection<File> classPathElements = new ArrayList<>( result.getClasspathElements().size() ); for ( File file : result.getClasspathElements() ) @@ -5121,6 +5110,19 @@ public abstract class AbstractJavadocMojo throw new MavenReportException( e.getMessage(), e ); } } + else if ( javadocRuntimeVersion.isAtLeast( "9" ) && ( mainResolvePathResult != null + && ModuleNameSource.MANIFEST.equals( mainResolvePathResult.getModuleNameSource() ) ) && !isTest() ) + { + List<File> modulePathFiles = new ArrayList<>( getPathElements() ); + modulePathFiles.add( project.getArtifact().getFile() ); + String modulepath = StringUtils.join( modulePathFiles.iterator(), File.pathSeparator ); + addArgIfNotEmpty( arguments, "--module-path", JavadocUtil.quotedPathArgument( modulepath ) , false, false ); + } + else if ( javadocRuntimeVersion.isAtLeast( "9" ) && moduleDescriptorSource && !isTest() ) + { + String modulepath = StringUtils.join( getPathElements().iterator(), File.pathSeparator ); + addArgIfNotEmpty( arguments, "--module-path", JavadocUtil.quotedPathArgument( modulepath ) , false, false ); + } else { String classpath = StringUtils.join( getPathElements().iterator(), File.pathSeparator ); @@ -5172,16 +5174,17 @@ public abstract class AbstractJavadocMojo sourcepath = StringUtils.join( sourcePaths.iterator(), File.pathSeparator ); } - if ( moduleSourceDir != null ) - { - addArgIfNotEmpty( arguments, "--module-source-path", - JavadocUtil.quotedPathArgument( moduleSourceDir.toString() ) ); - } - else + if ( moduleSourceDir == null ) { addArgIfNotEmpty( arguments, "-sourcepath", JavadocUtil.quotedPathArgument( getSourcePath( sourcePaths ) ), false, false ); } + else if ( mainResolvePathResult == null + || ModuleNameSource.MODULEDESCRIPTOR.equals( mainResolvePathResult.getModuleNameSource() ) ) + { + addArgIfNotEmpty( arguments, "--module-source-path", + JavadocUtil.quotedPathArgument( moduleSourceDir.toString() ) ); + } if ( StringUtils.isNotEmpty( sourcepath ) && isJavaDocVersionAtLeast( SINCE_JAVADOC_1_5 ) ) @@ -5212,6 +5215,12 @@ public abstract class AbstractJavadocMojo try { resolvePathResult = locationManager.resolvePath( resolvePathRequest ); + + // happens when artifactFile is a directory without module descriptor + if ( resolvePathResult.getModuleDescriptor() == null ) + { + return null; + } } catch ( IOException | RuntimeException /* e.g java.lang.module.FindException */ e ) { @@ -5225,14 +5234,13 @@ public abstract class AbstractJavadocMojo return resolvePathResult; } - private File findMainDescriptor( Collection<Path> roots ) + private File findMainDescriptor( Collection<Path> roots ) throws MavenReportException { - for ( Path root : roots ) + for ( Map.Entry<Path, Collection<String>> entry : getFiles( roots ).entrySet() ) { - File descriptorFile = root.resolve( "module-info.java" ).toAbsolutePath().toFile(); - if ( descriptorFile.exists() ) + if ( entry.getValue().contains( "module-info.java" ) ) { - return descriptorFile; + return entry.getKey().resolve( "module-info.java" ).toFile(); } } return null; diff --git a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java index 99034b2..d128648 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.javadoc.resolver; * under the License. */ -import static org.codehaus.plexus.util.IOUtil.close; import java.io.File; import java.io.FileInputStream; @@ -214,13 +213,10 @@ public final class ResourceResolver extends AbstractLogEnabled continue; } - FileInputStream stream = null; - try + + try ( FileInputStream stream = new FileInputStream( optionsFile ) ) { - stream = new FileInputStream( optionsFile ); JavadocOptions options = new JavadocOptionsXpp3Reader().read( stream ); - stream.close(); - stream = null; bundles.add( new JavadocBundle( options, new File( project.getBasedir(), options.getJavadocResourcesDirectory() ) ) ); } @@ -231,10 +227,6 @@ public final class ResourceResolver extends AbstractLogEnabled + e.getMessage(), e ); throw error; } - finally - { - close( stream ); - } } return bundles; @@ -422,7 +414,8 @@ public final class ResourceResolver extends AbstractLogEnabled unArchiver.extract(); - result.add( new AbstractMap.SimpleEntry<>( a.getDependencyConflictId(), d.toPath().toAbsolutePath() ) ); + result.add( new AbstractMap.SimpleEntry<>( key( a.getGroupId(), a.getArtifactId() ), + d.toPath().toAbsolutePath() ) ); } catch ( final NoSuchArchiverException e ) { diff --git a/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml b/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml index 1d05b2e..4b8fd43 100644 --- a/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml +++ b/src/test/resources/unit/aggregate-resources-test/aggregate-resources-test-plugin-config.xml @@ -40,6 +40,7 @@ under the License. <javadocOptionsDir>${basedir}/target/test/unit/aggregate-resources-test/target/javadoc-bundle-options</javadocOptionsDir> <windowtitle>Maven Javadoc Plugin aggregate resources 1.0-SNAPSHOT API</windowtitle> <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateResourcesTestMavenProjectStub"/> <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateResourcesProject1TestMavenProjectStub"/> <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateResourcesProject2TestMavenProjectStub"/> </reactorProjects> diff --git a/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml b/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml index eb7feb8..38c4014 100644 --- a/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml +++ b/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml @@ -64,6 +64,7 @@ under the License. <version>true</version> <windowtitle>Maven Javadoc Plugin Aggregate Test 1.0-SNAPSHOT API</windowtitle> <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateTestMavenProjectStub"/> <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateProject1TestMavenProjectStub"/> <project implementation="org.apache.maven.plugins.javadoc.stubs.AggregateProject2TestMavenProjectStub"/> </reactorProjects> diff --git a/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml b/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml index 2400b67..097a1d2 100644 --- a/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml +++ b/src/test/resources/unit/custom-configuration/custom-configuration-plugin-config.xml @@ -103,6 +103,9 @@ under the License. <excludePackageNames>*.exclude2:custom.configuration.exclude1.*</excludePackageNames> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.CustomConfigurationMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml b/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml index a857351..3a1a1e5 100644 --- a/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml +++ b/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml @@ -65,6 +65,9 @@ under the License. <debug>true</debug> <failOnError>true</failOnError> <detectJavaApiLink>true</detectJavaApiLink> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DefaultConfigurationMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml b/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml index a42c8c8..ee16ed3 100644 --- a/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml +++ b/src/test/resources/unit/docfiles-test/docfiles-test-plugin-config.xml @@ -65,6 +65,9 @@ under the License. <excludedocfilessubdir>excluded-dir1:excluded-dir2</excludedocfilessubdir> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DocfilesTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml b/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml index d148f6d..c8fdaa5 100644 --- a/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml +++ b/src/test/resources/unit/docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml @@ -65,6 +65,9 @@ under the License. <docfilessubdirs>true</docfilessubdirs> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DocfilesWithJavaTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml b/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml index fd60f5c..48013b0 100644 --- a/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml +++ b/src/test/resources/unit/doclet-path-test/doclet-path-test-plugin-config.xml @@ -77,6 +77,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Doclet Path Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DocletPathTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml b/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml index 6044418..bd72bce 100644 --- a/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml +++ b/src/test/resources/unit/doclet-test/doclet-test-plugin-config.xml @@ -70,6 +70,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Doclet Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DocletTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml b/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml index 9b5b261..27ace18 100644 --- a/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml +++ b/src/test/resources/unit/file-include-exclude-test/file-include-exclude-plugin-config.xml @@ -68,6 +68,9 @@ under the License. </sourceFileExcludes> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.SubpackagesTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml b/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml index f483601..b1a415b 100644 --- a/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml +++ b/src/test/resources/unit/header-footer-test/header-footer-test-plugin-config.xml @@ -66,6 +66,9 @@ under the License. <quiet>true</quiet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.HeaderFooterTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/helpfile-test/pom.xml b/src/test/resources/unit/helpfile-test/pom.xml index 7fd4f61..d3cd157 100644 --- a/src/test/resources/unit/helpfile-test/pom.xml +++ b/src/test/resources/unit/helpfile-test/pom.xml @@ -66,6 +66,9 @@ under the License. <debug>true</debug> <failOnError>true</failOnError> <stylesheet>java</stylesheet> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.HelpFileMavenProjectStub"/> + </reactorProjects> </configuration> <dependencies> <dependency> diff --git a/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml b/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml index 1bec303..b677a8a 100644 --- a/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml +++ b/src/test/resources/unit/javaHome-test/javaHome-test-plugin-config.xml @@ -64,6 +64,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Java Home Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.DefaultConfigurationMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml b/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml index 934f133..967e79d 100644 --- a/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml +++ b/src/test/resources/unit/javadocjar-archive-config/javadocjar-archive-config.xml @@ -76,6 +76,9 @@ under the License. <archive> <addMavenDescriptor>true</addMavenDescriptor> </archive> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarArchiveConfigProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml b/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml index 640ee5e..ca52555 100644 --- a/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml +++ b/src/test/resources/unit/javadocjar-default/javadocjar-default-plugin-config.xml @@ -73,6 +73,9 @@ under the License. <version>true</version> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarDefaultMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml b/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml index 2903dcb..f74c496 100644 --- a/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml +++ b/src/test/resources/unit/javadocjar-failonerror/javadocjar-failonerror-plugin-config.xml @@ -72,6 +72,9 @@ under the License. <version>true</version> <debug>true</debug> <failOnError>false</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarFailOnErrorMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml b/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml index 87915df..f3b8618 100644 --- a/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml +++ b/src/test/resources/unit/javadocjar-invalid-destdir/javadocjar-invalid-destdir-plugin-config.xml @@ -68,6 +68,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Javadoc Jar Invalid Destdir Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.JavadocJarInvalidDestdirMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml b/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml index fb33138..3e3ce3b 100644 --- a/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml +++ b/src/test/resources/unit/jdk5-test/jdk5-test-plugin-config.xml @@ -47,6 +47,9 @@ under the License. <quiet>true</quiet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.Jdk5TestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml b/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml index 1fe4f49..890041b 100644 --- a/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml +++ b/src/test/resources/unit/jdk6-test/jdk6-test-plugin-config.xml @@ -76,6 +76,9 @@ under the License. <stylesheet>java</stylesheet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.Jdk6TestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/newline-test/newline-test-plugin-config.xml b/src/test/resources/unit/newline-test/newline-test-plugin-config.xml index ecdf7bc..e2cf55b 100644 --- a/src/test/resources/unit/newline-test/newline-test-plugin-config.xml +++ b/src/test/resources/unit/newline-test/newline-test-plugin-config.xml @@ -83,6 +83,9 @@ Copyright 2005, <quiet>true</quiet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.NewlineTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml b/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml index eed07c7..3a242f0 100644 --- a/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml +++ b/src/test/resources/unit/optionsumlautencoding-test/optionsumlautencoding-test-plugin-config.xml @@ -66,6 +66,9 @@ under the License. <debug>true</debug> <failOnError>true</failOnError> <detectJavaApiLink>true</detectJavaApiLink> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.OptionsUmlautEncodingMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml b/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml index 4f54793..b39866f 100644 --- a/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml +++ b/src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml @@ -48,6 +48,9 @@ under the License. <quiet>true</quiet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.ProxyTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/quotedpath'test/quotedpath-test-plugin-config.xml b/src/test/resources/unit/quotedpath'test/quotedpath-test-plugin-config.xml index 826f676..aa04cff 100644 --- a/src/test/resources/unit/quotedpath'test/quotedpath-test-plugin-config.xml +++ b/src/test/resources/unit/quotedpath'test/quotedpath-test-plugin-config.xml @@ -64,6 +64,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Quoted Path Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.QuotedPathMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/resources-test/resources-test-plugin-config.xml b/src/test/resources/unit/resources-test/resources-test-plugin-config.xml index 9d1c641..a3008d8 100644 --- a/src/test/resources/unit/resources-test/resources-test-plugin-config.xml +++ b/src/test/resources/unit/resources-test/resources-test-plugin-config.xml @@ -48,6 +48,9 @@ under the License. <docfilessubdirs>true</docfilessubdirs> <stylesheet>java</stylesheet> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.ResourcesTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml b/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml index 908c43b..117895c 100644 --- a/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml +++ b/src/test/resources/unit/resources-with-excludes-test/resources-with-excludes-test-plugin-config.xml @@ -49,6 +49,9 @@ under the License. <excludedocfilessubdir>test</excludedocfilessubdir> <stylesheet>java</stylesheet> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.ResourcesWithExcludesTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/stylesheetfile-test/pom.xml b/src/test/resources/unit/stylesheetfile-test/pom.xml index 1c0ca02..0caded2 100644 --- a/src/test/resources/unit/stylesheetfile-test/pom.xml +++ b/src/test/resources/unit/stylesheetfile-test/pom.xml @@ -65,6 +65,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Stylesheetfile Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.StylesheetFileMavenProjectStub"/> + </reactorProjects> </configuration> <dependencies> <dependency> diff --git a/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml b/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml index ec0ba80..2ec1e04 100644 --- a/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml +++ b/src/test/resources/unit/subpackages-test/subpackages-test-plugin-config.xml @@ -67,6 +67,9 @@ under the License. <excludePackageNames>subpackages.test.excluded:subpackages.test.included.exclude</excludePackageNames> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.SubpackagesTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/tag-test/tag-test-plugin-config.xml b/src/test/resources/unit/tag-test/tag-test-plugin-config.xml index f6ecfa1..b49d504 100644 --- a/src/test/resources/unit/tag-test/tag-test-plugin-config.xml +++ b/src/test/resources/unit/tag-test/tag-test-plugin-config.xml @@ -60,6 +60,9 @@ under the License. <stylesheet>java</stylesheet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.TagTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml b/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml index a728d10..c9d3988 100644 --- a/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml +++ b/src/test/resources/unit/taglet-test/taglet-test-plugin-config.xml @@ -70,6 +70,9 @@ under the License. <windowtitle>Maven Javadoc Plugin Taglet Test 1.0-SNAPSHOT API</windowtitle> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.TagletTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml b/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml index 4882230..14fcb34 100644 --- a/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml +++ b/src/test/resources/unit/tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml @@ -76,6 +76,9 @@ under the License. <version>1.0</version> </tagletArtifact> </tagletArtifacts> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.TagletArtifactsMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml b/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml index 53d75b4..0cb21da 100644 --- a/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml +++ b/src/test/resources/unit/test-javadoc-test/test-javadoc-test-plugin-config.xml @@ -53,6 +53,9 @@ under the License. <stylesheet>java</stylesheet> <debug>true</debug> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.TestJavadocMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins> diff --git a/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml b/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml index f914972..55e8965 100644 --- a/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml +++ b/src/test/resources/unit/validate-options-test/wrong-locale-with-variant-test-plugin-config.xml @@ -45,6 +45,9 @@ under the License. <locale>fr_CA_wrong</locale> <stylesheet>java</stylesheet> <failOnError>true</failOnError> + <reactorProjects> + <project implementation="org.apache.maven.plugins.javadoc.stubs.WrongEncodingOptionsTestMavenProjectStub"/> + </reactorProjects> </configuration> </plugin> </plugins>
