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 java.util.ArrayList;
22 import java.util.List;
23 import java.util.Map;
24
25 import org.apache.maven.execution.MavenSession;
26 import org.apache.maven.toolchain.model.ToolchainModel;
27 import org.codehaus.plexus.component.annotations.Component;
28
29
30
31
32
33 @Component(role = ToolchainManagerPrivate.class)
34 public class DefaultToolchainManagerPrivate extends DefaultToolchainManager implements ToolchainManagerPrivate {
35
36 @Override
37 public ToolchainPrivate[] getToolchainsForType(String type, MavenSession context)
38 throws MisconfiguredToolchainException {
39 List<ToolchainPrivate> toRet = new ArrayList<>();
40
41 ToolchainFactory fact = factories.get(type);
42 if (fact == null) {
43 logger.error("Missing toolchain factory for type: " + type + ". Possibly caused by misconfigured project.");
44 } else {
45 List<ToolchainModel> availableToolchains =
46 context.getRequest().getToolchains().get(type);
47
48 if (availableToolchains != null) {
49 for (ToolchainModel toolchainModel : availableToolchains) {
50 toRet.add(fact.createToolchain(toolchainModel));
51 }
52 }
53
54
55 ToolchainPrivate tool = fact.createDefaultToolchain();
56 if (tool != null) {
57 toRet.add(tool);
58 }
59 }
60
61 return toRet.toArray(new ToolchainPrivate[0]);
62 }
63
64 @Override
65 public void storeToolchainToBuildContext(ToolchainPrivate toolchain, MavenSession session) {
66 Map<String, Object> context = retrieveContext(session);
67 context.put(getStorageKey(toolchain.getType()), toolchain.getModel());
68 }
69 }