diff options
author | 2016-07-05 08:13:41 +0000 | |
---|---|---|
committer | 2016-07-05 10:27:20 +0000 | |
commit | e8d9c4cb9b7ce0a41cde67622997a86be876ede9 (patch) | |
tree | 245e73e58177ef4780622dc65cd3570a4565a2c1 /src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java | |
parent | 66d8dd8baf1d1de4834f327e05a1deddae5c7b94 (diff) |
Rewrite workspace creation to use a builder class.
An instance of the builder is passed to all modules, which can each add / set
things on the builder. This reduces the BlazeModule API surface, while also
being more flexible for future changes.
--
MOS_MIGRATED_REVID=126613981
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java | 23 |
1 files changed, 7 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 3c51885c60..12c4bd208e 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 @@ -56,12 +56,11 @@ import com.google.devtools.build.lib.runtime.BlazeCommand; import com.google.devtools.build.lib.runtime.BlazeModule; import com.google.devtools.build.lib.runtime.Command; import com.google.devtools.build.lib.runtime.CommandEnvironment; +import com.google.devtools.build.lib.runtime.WorkspaceBuilder; import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker; import com.google.devtools.build.lib.util.AbruptExitException; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; -import com.google.devtools.build.skyframe.SkyFunction; -import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.common.options.OptionsProvider; @@ -133,8 +132,12 @@ public class BazelRepositoryModule extends BlazeModule { }; @Override - public Iterable<SkyValueDirtinessChecker> getCustomDirtinessCheckers() { - return ImmutableList.of(REPOSITORY_VALUE_CHECKER); + public void workspaceInit(BlazeDirectories directories, WorkspaceBuilder builder) { + builder.addCustomDirtinessChecker(REPOSITORY_VALUE_CHECKER); + // Create the repository function everything flows through. + builder.addSkyFunction(SkyFunctions.REPOSITORY, new RepositoryLoaderFunction()); + builder.addSkyFunction(SkyFunctions.REPOSITORY_DIRECTORY, delegator); + builder.addSkyFunction(MavenServerFunction.NAME, new MavenServerFunction()); } @Override @@ -164,18 +167,6 @@ public class BazelRepositoryModule extends BlazeModule { } @Override - public ImmutableMap<SkyFunctionName, SkyFunction> getSkyFunctions(BlazeDirectories directories) { - ImmutableMap.Builder<SkyFunctionName, SkyFunction> builder = ImmutableMap.builder(); - - // Create the repository function everything flows through. - builder.put(SkyFunctions.REPOSITORY, new RepositoryLoaderFunction()); - - builder.put(SkyFunctions.REPOSITORY_DIRECTORY, delegator); - builder.put(MavenServerFunction.NAME, new MavenServerFunction()); - return builder.build(); - } - - @Override public void beforeCommand(Command command, CommandEnvironment env) throws AbruptExitException { delegator.setClientEnvironment(env.getClientEnv()); skylarkRepositoryFunction.setCommandEnvironment(env); |