|
3 | 3 | <div id="pmp-toc"></div> |
4 | 4 |
|
5 | 5 | While every attempt is made to ensure this plugin is as functional and complete as possible, |
6 | | -some known issues exist. |
| 6 | +some known issues may exist. Any actively known issues will be documented on this page when they are found. |
7 | 7 |
|
8 | | -## Plexus and Maven |
| 8 | +If you have found a problem. Please [raise an issue on GitHub](https://github.com/ascopes/protobuf-maven-plugin/issues). |
9 | 9 |
|
10 | | -Prior to Maven 3.9, a component named `plexus-tools` was included by Apache |
11 | | -Maven at runtime. The component is used by Maven plugin internals. In v3.9.0 of |
12 | | -Maven, this was removed. Some older Maven plugins may still need this dependency |
13 | | -to work. The protobuf-maven-plugin does not require this to operate in normal cases. |
14 | | - |
15 | | -Under some conditions, it appears that the use of certain other plugins or |
16 | | -extensions triggers an issue within Maven where `plexus-utils` becomes a requirement. |
17 | | -A current known case occurs when users make use of the Maven Cache Extension. The |
18 | | -following error may be observed if this issue is encountered: |
19 | | - |
20 | | -```plaintext |
21 | | -[ERROR] org.apache.maven.plugin.PluginContainerException: Unable to load the mojo 'generate' (or one of its required components) from the plugin 'io.github.ascopes:protobuf-maven-plugin:2.7.0': com.google.inject.ProvisionException: Unable to provision, see the following errors: |
22 | | -[ERROR] |
23 | | -[ERROR] 1) [Guice/ErrorInCustomProvider]: IllegalStateException |
24 | | -[ERROR] at MojoExecutionScopeModule.configure(MojoExecutionScopeModule.java:50) |
25 | | -[ERROR] \_ installed by: WireModule -> MojoExecutionScopeModule |
26 | | -[ERROR] at TemporarySpace.<init>(TemporarySpace.java:45) |
27 | | -[ERROR] \_ for 2nd parameter |
28 | | -[ERROR] at UrlResourceFetcher.<init>(UrlResourceFetcher.java:65) |
29 | | -[ERROR] \_ for 1st parameter |
30 | | -[ERROR] at ProtocResolver.<init>(ProtocResolver.java:63) |
31 | | -[ERROR] \_ for 5th parameter |
32 | | -[ERROR] at ProtobufBuildOrchestrator.<init>(ProtobufBuildOrchestrator.java:71) |
33 | | -[ERROR] \_ for 2nd parameter |
34 | | -[ERROR] at AbstractGenerateMojo.sourceCodeGenerator(AbstractGenerateMojo.java:71) |
35 | | -[ERROR] \_ for field sourceCodeGenerator |
36 | | -[ERROR] while locating MainGenerateMojo |
37 | | -[ERROR] at ClassRealm[plugin>io.github.ascopes:protobuf-maven-plugin:2.7.0, parent: ClassLoaders$AppClassLoader@531d72ca] |
38 | | -[ERROR] \_ installed by: WireModule -> PlexusBindingModule |
39 | | -[ERROR] while locating Mojo annotated with @Named("io.github.ascopes:protobuf-maven-plugin:2.7.0:generate") |
40 | | -``` |
41 | | - |
42 | | -Note that other errors like this may also occur. |
43 | | - |
44 | | -The workaround for now appears to be to include `plexus-utils` explicitly as a dependency of this plugin: |
45 | | - |
46 | | -```xml |
47 | | -<plugin> |
48 | | - <groupId>io.github.ascopes</groupId> |
49 | | - <artifactId>protobuf-maven-plugin</artifactId> |
50 | | - <version>...</version> |
51 | | - |
52 | | - <configuration>...</configuration> |
53 | | - <executions>...</executions> |
54 | | - |
55 | | - <dependencies> |
56 | | - <dependency> |
57 | | - <groupId>org.codehaus.plexus</groupId> |
58 | | - <artifactId>plexus-utils</artifactId> |
59 | | - <version>4.0.2</version> |
60 | | - </dependency> |
61 | | - </dependencies> |
62 | | -</plugin> |
63 | | -``` |
64 | | - |
65 | | -See [GH-472](https://github.com/ascopes/protobuf-maven-plugin/issues/472) for tracking |
66 | | -this issue. |
67 | | - |
68 | | -## Heap exhaustion under some configurations |
69 | | - |
70 | | -[GH-596](https://github.com/ascopes/protobuf-maven-plugin/issues/596) tracks an issue |
71 | | -some users have raised when utilising large numbers of dependencies in their projects. |
72 | | -The issue results in Eclipse Aether APIs exhausting heap memory, but so far appears |
73 | | -to only occur if invoking Maven via IntelliJ IDEA. |
74 | | - |
75 | | -We suspect this is an issue with Eclipse Aether itself, which is provided by Maven to |
76 | | -allow plugins to perform custom dependency resolution. |
77 | | - |
78 | | -The v2.13.0 release of this Maven plugin has moved most of the dependency resolution over |
79 | | -to Maven to perform prior to invoking the plugin, but we still do not have a working |
80 | | -reproduction of this issue at the time of writing. If you are able to provide a minimal working |
81 | | -reproduction, please submit it at the link above. |
| 10 | +Note that any issues fixed in newer versions of both this software and other pieces of software |
| 11 | +will not be documented here. Please ensure you are using the latest version of dependencies and |
| 12 | +plugins where possible prior to raising an issue. |
0 commit comments