diff options
author | Ulf Adams <ulfjack@google.com> | 2016-04-18 12:37:58 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-04-18 14:56:41 +0000 |
commit | 1badd7cf65e39b35df7dd578ba6416eb7ba4d96c (patch) | |
tree | 079f3a8fb888b4090abe22d149b5efe5350da7bf /src/main/java/com/google/devtools/build | |
parent | 5834e2b071cb4cdbaea705551140e9b72adee411 (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.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java | 30 |
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) { |