From 1572344e14751960111c30eddec04f59f868cec7 Mon Sep 17 00:00:00 2001 From: Philipp Wollermann Date: Mon, 29 Jun 2015 13:59:45 +0000 Subject: Split sandbox code from standalone module. -- MOS_MIGRATED_REVID=97126283 --- .../lib/sandbox/SandboxActionContextConsumer.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextConsumer.java (limited to 'src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextConsumer.java') diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextConsumer.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextConsumer.java new file mode 100644 index 0000000000..657fb8f73d --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxActionContextConsumer.java @@ -0,0 +1,47 @@ +// Copyright 2015 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package com.google.devtools.build.lib.sandbox; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMap.Builder; +import com.google.devtools.build.lib.actions.ActionContextConsumer; +import com.google.devtools.build.lib.actions.Executor.ActionContext; +import com.google.devtools.build.lib.actions.SpawnActionContext; +import com.google.devtools.build.lib.util.OS; + +import java.util.Map; + +/** + * {@link ActionContextConsumer} that requests the action contexts necessary for sandboxed + * execution. + */ +public class SandboxActionContextConsumer implements ActionContextConsumer { + + @Override + public Map getSpawnActionContexts() { + return ImmutableMap.of(); + } + + @Override + public Map, String> getActionContexts() { + Builder, String> contexts = ImmutableMap.builder(); + + if (OS.getCurrent() == OS.LINUX) { + contexts.put(SpawnActionContext.class, "sandboxed"); + } + + return contexts.build(); + } + +} -- cgit v1.2.3