aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2016-04-18 12:37:58 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-04-18 14:56:41 +0000
commit1badd7cf65e39b35df7dd578ba6416eb7ba4d96c (patch)
tree079f3a8fb888b4090abe22d149b5efe5350da7bf /src/main/java/com/google/devtools/build
parent5834e2b071cb4cdbaea705551140e9b72adee411 (diff)
Remove directories field from MavenServerFunction.
-- MOS_MIGRATED_REVID=120114796
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java30
2 files changed, 16 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java b/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java
index 503e24fdc8..5c517641ce 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java
@@ -171,7 +171,7 @@ public class BazelRepositoryModule extends BlazeModule {
SkyFunctions.REPOSITORY_DIRECTORY,
new RepositoryDelegatorFunction(
repositoryHandlers, skylarkRepositoryFunction, isFetch));
- builder.put(MavenServerFunction.NAME, new MavenServerFunction(directories));
+ builder.put(MavenServerFunction.NAME, new MavenServerFunction());
return builder.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
index b2280fa447..73bfe2682c 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.rules.repository.RepositoryFunction;
import com.google.devtools.build.lib.rules.repository.RepositoryFunction.RepositoryFunctionException;
import com.google.devtools.build.lib.rules.repository.RepositoryFunction.RepositoryNotFoundException;
import com.google.devtools.build.lib.skyframe.FileValue;
+import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.vfs.Path;
@@ -59,10 +60,7 @@ public class MavenServerFunction implements SkyFunction {
private static final String USER_KEY = "user";
private static final String SYSTEM_KEY = "system";
- private final BlazeDirectories directories;
-
- public MavenServerFunction(BlazeDirectories directories) {
- this.directories = directories;
+ public MavenServerFunction() {
}
@Nullable
@@ -70,14 +68,15 @@ public class MavenServerFunction implements SkyFunction {
public SkyValue compute(SkyKey skyKey, Environment env)
throws SkyFunctionException {
String repository = (String) skyKey.argument();
- Rule repositoryRule;
+ Rule repositoryRule = null;
try {
- repositoryRule = RepositoryFunction.getRule(repository, env);
- if (repositoryRule == null) {
- return null;
- }
+ repositoryRule = RepositoryFunction.getRule(repository, env);
} catch (RepositoryNotFoundException ex) {
- repositoryRule = null;
+ // Ignored. We throw a new one below.
+ }
+ BlazeDirectories directories = PrecomputedValue.BLAZE_DIRECTORIES.get(env);
+ if (env.valuesMissing()) {
+ return null;
}
String serverName;
String url;
@@ -86,7 +85,7 @@ public class MavenServerFunction implements SkyFunction {
&& repositoryRule.getRuleClass().equals(MavenServerRule.NAME);
if (!foundRepoRule) {
if (repository.equals(MavenServerValue.DEFAULT_ID)) {
- settingsFiles = getDefaultSettingsFile(env);
+ settingsFiles = getDefaultSettingsFile(directories, env);
serverName = MavenServerValue.DEFAULT_ID;
url = MavenConnector.getMavenCentralRemote().getUrl();
} else {
@@ -100,7 +99,7 @@ public class MavenServerFunction implements SkyFunction {
url = mapper.get("url", Type.STRING);
if (!mapper.has("settings_file", Type.STRING)
|| mapper.get("settings_file", Type.STRING).isEmpty()) {
- settingsFiles = getDefaultSettingsFile(env);
+ settingsFiles = getDefaultSettingsFile(directories, env);
} else {
PathFragment settingsFilePath = new PathFragment(mapper.get("settings_file", Type.STRING));
RootedPath settingsPath = RootedPath.toRootedPath(
@@ -175,7 +174,8 @@ public class MavenServerFunction implements SkyFunction {
return new MavenServerValue(serverName, url, server, fingerprintBytes);
}
- private Map<String, FileValue> getDefaultSettingsFile(Environment env) {
+ private Map<String, FileValue> getDefaultSettingsFile(
+ BlazeDirectories directories, Environment env) {
// The system settings file is at $M2_HOME/conf/settings.xml.
String m2Home = System.getenv("M2_HOME");
ImmutableList.Builder<SkyKey> settingsFilesBuilder = ImmutableList.builder();
@@ -199,11 +199,11 @@ public class MavenServerFunction implements SkyFunction {
settingsFilesBuilder.add(userKey);
}
- ImmutableList settingsFiles = settingsFilesBuilder.build();
+ ImmutableList<SkyKey> settingsFiles = settingsFilesBuilder.build();
if (settingsFiles.isEmpty()) {
return ImmutableMap.of();
}
- Map<SkyKey, SkyValue> values = env.getValues(settingsFilesBuilder.build());
+ Map<SkyKey, SkyValue> values = env.getValues(settingsFiles);
ImmutableMap.Builder<String, FileValue> settingsBuilder = ImmutableMap.builder();
for (Map.Entry<SkyKey, SkyValue> entry : values.entrySet()) {
if (entry.getValue() == null) {