1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.execution.scope.internal;
20
21 import com.google.inject.AbstractModule;
22 import org.apache.maven.api.plugin.Log;
23 import org.apache.maven.execution.scope.MojoExecutionScoped;
24 import org.apache.maven.plugin.MojoExecution;
25 import org.apache.maven.project.MavenProject;
26
27
28
29
30 public class MojoExecutionScopeModule extends AbstractModule {
31 protected final MojoExecutionScope scope;
32
33 public MojoExecutionScopeModule(MojoExecutionScope scope) {
34 this.scope = scope;
35 }
36
37 @Override
38 protected void configure() {
39 bindScope(MojoExecutionScoped.class, scope);
40
41 bind(MojoExecutionScope.class).toInstance(scope);
42 bind(MavenProject.class)
43 .toProvider(MojoExecutionScope.seededKeyProvider(MavenProject.class))
44 .in(scope);
45 bind(MojoExecution.class)
46 .toProvider(MojoExecutionScope.seededKeyProvider(MojoExecution.class))
47 .in(scope);
48 bind(Log.class)
49 .toProvider(MojoExecutionScope.seededKeyProvider(Log.class))
50 .in(scope);
51 bind(org.apache.maven.api.Project.class)
52 .toProvider(MojoExecutionScope.seededKeyProvider(org.apache.maven.api.Project.class))
53 .in(scope);
54 bind(org.apache.maven.api.MojoExecution.class)
55 .toProvider(MojoExecutionScope.seededKeyProvider(org.apache.maven.api.MojoExecution.class))
56 .in(scope);
57 }
58 }