diff options
Diffstat (limited to 'third_party/java/buck-ios-support/java/com/facebook/buck/apple/xcode/xcodeproj/PBXReference.java')
-rw-r--r-- | third_party/java/buck-ios-support/java/com/facebook/buck/apple/xcode/xcodeproj/PBXReference.java | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/third_party/java/buck-ios-support/java/com/facebook/buck/apple/xcode/xcodeproj/PBXReference.java b/third_party/java/buck-ios-support/java/com/facebook/buck/apple/xcode/xcodeproj/PBXReference.java deleted file mode 100644 index a7bed6d35b..0000000000 --- a/third_party/java/buck-ios-support/java/com/facebook/buck/apple/xcode/xcodeproj/PBXReference.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * 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.apple.xcode.xcodeproj; - -import com.facebook.buck.apple.xcode.XcodeprojSerializer; -import com.google.common.base.CharMatcher; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; - -import javax.annotation.Nullable; - -/** - * Superclass for file, directories, and groups. Xcode's virtual file hierarchy are made of these - * objects. - */ -public class PBXReference extends PBXContainerItem { - public enum SourceTree { - /** - * Relative to the path of the group containing this. - */ - GROUP("<group>"), - - /** - * Absolute system path. - */ - ABSOLUTE("<absolute>"), - /** - * Relative to the build setting {@code BUILT_PRODUCTS_DIR}. - */ - BUILT_PRODUCTS_DIR("BUILT_PRODUCTS_DIR"), - - /** - * Relative to the build setting {@code SDKROOT}. - */ - SDKROOT("SDKROOT"), - - /** - * Relative to the directory containing the project file {@code SOURCE_ROOT}. - */ - SOURCE_ROOT("SOURCE_ROOT"), - - /** - * Relative to the Developer content directory inside the Xcode application - * (e.g. {@code /Applications/Xcode.app/Contents/Developer}). - */ - DEVELOPER_DIR("DEVELOPER_DIR"), - ; - - private final String rep; - - SourceTree(String str) { - rep = str; - } - - @Override - public String toString() { - return rep; - } - - /** - * Return a sourceTree given a build setting that is typically used as a source tree prefix. - * - * The build setting may be optionally prefixed by '$' which will be stripped. - */ - public static Optional<SourceTree> fromBuildSetting(String buildSetting) { - switch (CharMatcher.is('$').trimLeadingFrom(buildSetting)) { - case "BUILT_PRODUCTS_DIR": - return Optional.of(BUILT_PRODUCTS_DIR); - case "SDKROOT": - return Optional.of(SDKROOT); - case "SOURCE_ROOT": - return Optional.of(SOURCE_ROOT); - case "DEVELOPER_DIR": - return Optional.of(DEVELOPER_DIR); - default: - return Optional.absent(); - } - } - } - - private final String name; - @Nullable private String path; - - /** - * The "base" path of the reference. The absolute path is resolved by prepending the resolved - * base path. - */ - private SourceTree sourceTree; - - public PBXReference(String name, @Nullable String path, SourceTree sourceTree) { - this.name = Preconditions.checkNotNull(name); - this.path = path; - this.sourceTree = Preconditions.checkNotNull(sourceTree); - } - - public String getName() { - return name; - } - - @Nullable - public String getPath() { - return path; - } - public void setPath(String v) { - path = v; - } - public SourceTree getSourceTree() { - return sourceTree; - } - public void setSourceTree(SourceTree v) { - sourceTree = v; - } - - @Override - public String isa() { - return "PBXReference"; - } - - @Override - public int stableHash() { - return name.hashCode(); - } - - @Override - public void serializeInto(XcodeprojSerializer s) { - super.serializeInto(s); - - s.addField("name", name); - if (path != null) { - s.addField("path", path); - } - s.addField("sourceTree", sourceTree.toString()); - } - - @Override - public String toString() { - return String.format( - "%s name=%s path=%s sourceTree=%s", - super.toString(), - getName(), - getPath(), - getSourceTree()); - } -} |