1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.toolchain;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.Map;
27
28 import org.apache.maven.execution.MavenSession;
29 import org.apache.maven.toolchain.model.ToolchainModel;
30
31
32
33
34
35 @Singleton
36 @Named
37 public class DefaultToolchainManagerPrivate extends DefaultToolchainManager implements ToolchainManagerPrivate {
38
39 @Override
40 public ToolchainPrivate[] getToolchainsForType(String type, MavenSession context)
41 throws MisconfiguredToolchainException {
42 List<ToolchainPrivate> toRet = new ArrayList<>();
43
44 ToolchainFactory fact = factories.get(type);
45 if (fact == null) {
46 logger.error("Missing toolchain factory for type: " + type + ". Possibly caused by misconfigured project.");
47 } else {
48 List<ToolchainModel> availableToolchains =
49 context.getRequest().getToolchains().get(type);
50
51 if (availableToolchains != null) {
52 for (ToolchainModel toolchainModel : availableToolchains) {
53 toRet.add(fact.createToolchain(toolchainModel));
54 }
55 }
56
57
58 ToolchainPrivate tool = fact.createDefaultToolchain();
59 if (tool != null) {
60 toRet.add(tool);
61 }
62 }
63
64 return toRet.toArray(new ToolchainPrivate[0]);
65 }
66
67 @Override
68 public void storeToolchainToBuildContext(ToolchainPrivate toolchain, MavenSession session) {
69 Map<String, Object> context = retrieveContext(session);
70 context.put(getStorageKey(toolchain.getType()), toolchain.getModel());
71 }
72 }