| /* |
| * Copyright 2013-present Facebook, Inc. |
| * |
| * 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.facebook.buck.rules; |
| |
| import com.facebook.buck.model.BuildTarget; |
| import com.facebook.buck.util.BuckConstant; |
| |
| import java.nio.file.Path; |
| import java.nio.file.Paths; |
| |
| /** |
| * Shared utilities for {@link BuildInfoRecorder} and {@link OnDiskBuildInfo}. |
| */ |
| class BuildInfo { |
| |
| /** |
| * Key for {@link OnDiskBuildInfo} to identify the RuleKey for a build rule. |
| */ |
| static final String METADATA_KEY_FOR_RULE_KEY = "RULE_KEY"; |
| |
| /** |
| * Key for {@link OnDiskBuildInfo} to identify the RuleKey without deps for a build rule. |
| */ |
| static final String METADATA_KEY_FOR_RULE_KEY_WITHOUT_DEPS = "RULE_KEY_NO_DEPS"; |
| |
| /** Utility class: do not instantiate. */ |
| private BuildInfo() {} |
| |
| /** |
| * Returns the path to a directory where metadata files for a build rule with the specified |
| * target should be stored. |
| * @return A path relative to the project root that includes a trailing slash. |
| */ |
| static Path getPathToMetadataDirectory(BuildTarget target) { |
| return Paths.get(String.format("%s/%s.%s/metadata/", |
| BuckConstant.BIN_DIR, |
| target.getBasePathWithSlash(), |
| target.getShortName())); |
| } |
| } |