blob: 8953e11a3a4c5c4f64b3172515b99908f0ecdd76 [file] [log] [blame]
/*
* Copyright 2014-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;
import com.facebook.buck.model.BuildTarget;
import com.facebook.buck.rules.Label;
import com.facebook.buck.rules.SourcePath;
import com.facebook.buck.rules.coercer.Either;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSortedSet;
public final class AppleTestBuilder
extends AbstractAppleNativeTargetBuilder<AppleTestDescription.Arg, AppleTestBuilder> {
@Override
protected AppleTestBuilder getThis() {
return this;
}
protected AppleTestBuilder(BuildTarget target) {
super(createDescription(), target);
}
public static AppleTestBuilder createBuilder(BuildTarget target) {
return new AppleTestBuilder(target);
}
public AppleTestBuilder setContacts(Optional<ImmutableSortedSet<String>> contacts) {
arg.contacts = contacts;
return this;
}
public AppleTestBuilder setLabels(Optional<ImmutableSortedSet<Label>> labels) {
arg.labels = labels;
return this;
}
public AppleTestBuilder setExtension(Either<AppleBundleExtension, String> extension) {
arg.extension = extension;
return this;
}
public AppleTestBuilder setXcodeProductType(Optional<String> xcodeProductType) {
arg.xcodeProductType = xcodeProductType;
return this;
}
public AppleTestBuilder infoPlist(Optional<SourcePath> infoPlist) {
arg.infoPlist = infoPlist;
return this;
}
public AppleTestBuilder setCanGroup(Optional<Boolean> value) {
arg.canGroup = value;
return this;
}
private static AppleTestDescription createDescription() {
return new AppleTestDescription(FakeAppleRuleDescriptions.LIBRARY_DESCRIPTION);
}
}