blob: cc50d71daa8c17fbec7e68684a274e66fc921dc8 [file] [log] [blame]
// Copyright 2023 The Bazel Authors. 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.actions;
import static com.google.common.base.Preconditions.checkNotNull;
import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.skyframe.ActionExecutionValue;
/** Posted during the build when an action was shared. */
public final class SharedActionEvent implements Postable {
private final ActionExecutionValue executed;
private final ActionExecutionValue transformed;
public SharedActionEvent(ActionExecutionValue executed, ActionExecutionValue transformed) {
this.executed = checkNotNull(executed);
this.transformed = checkNotNull(transformed);
}
/** Returns the {@link ActionExecutionValue} for the action that was actually executed. */
public ActionExecutionValue getExecuted() {
return executed;
}
/**
* Returns the {@link ActionExecutionValue} that was derived from calling {@link
* ActionExecutionValue#transformForSharedAction} on {@link #getExecuted}.
*/
public ActionExecutionValue getTransformed() {
return transformed;
}
}