Abel Salgado Romero created MSITE-849:
-----------------------------------------

             Summary: Unable to inject MavenProject when using `mvn site:run`
                 Key: MSITE-849
                 URL: https://issues.apache.org/jira/browse/MSITE-849
             Project: Maven Site Plugin
          Issue Type: New Feature
    Affects Versions: 3.8.2, 3.7.1
            Reporter: Abel Salgado Romero


In https://github.com/asciidoctor/asciidoctor-maven-plugin we inject a 
MavenProject to obtain addition configurations from the pom.xml 
(https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/a4d86a949643ab68c124fd4c1b9b936412637d93/src/main/java/org/asciidoctor/maven/site/AsciidoctorDoxiaParser.java#L54).
This works fine with {{site:site}}, but when using {{site:run}} and accessing 
one of the Asciidoc generated pages we get the error below.
I saw that:
* The error occurs when trying to retrieve the instance of the MavenProject.
* Behavior is the same if I directly inject the MavenProject instead of using a 
provider. That is, {{site:site}} works, {{site:run}} fails because it cannot 
find the instance.


{code:java}
HTTP ERROR 500

Problem accessing /hello.html. Reason:

    Server Error

Caused by:

com.google.inject.ProvisionException: Unable to provision, see the following 
errors:

1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot 
access Key[type=org.apache.maven.project.MavenProject, annotation=[none]] 
outside of a scoping block
  at 
org.apache.maven.execution.scope.internal.MojoExecutionScopeModule.configure(MojoExecutionScopeModule.java:55)
 (via modules: org.eclipse.sisu.wire.WireModule -> 
org.apache.maven.execution.scope.internal.MojoExecutionScopeModule)
  while locating org.apache.maven.project.MavenProject

1 error
        at 
com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
        at 
org.asciidoctor.maven.site.AsciidoctorDoxiaParser.parse(AsciidoctorDoxiaParser.java:78)
        at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:65)
{code}


* How to reproduce:
# clone https://github.com/asciidoctor/asciidoctor-maven-examples
# cd asciidoc-maven-site-example
# Access {{http://localhost:8080/hello.html}}


* Env:

{code}
$ mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 
2019-04-04T21:00:29+02:00)
Maven home: /home/----/.sdkman/candidates/maven/current
Java version: 1.8.0_222, vendor: AdoptOpenJDK, runtime: 
/home/-----/.sdkman/candidates/java/8.0.222.hs-adpt/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.1.21-1-manjaro", arch: "amd64", family: "unix
{code}




--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to