aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java5
3 files changed, 22 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
index 6c9800fbc8..2c4dccca31 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
@@ -214,6 +214,15 @@ public class ObjcCommandLineOptions extends FragmentOptions {
)
public boolean deviceDebugEntitlements;
+ @Option(
+ name = "deprecated_generate_xcode_project",
+ defaultValue = "true",
+ category = "flags",
+ help =
+ "If set, will generate xcode project for targets that support this. Will be removed soon."
+ )
+ public boolean generateXcodeProject;
+
/**
* Specifies the circumstances under which a CROSSTOOL is used for objc in this configuration.
*/
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
index 3e4c260c8c..fdb9985d86 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
@@ -82,6 +82,7 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
private final HeaderDiscovery.DotdPruningMode dotdPruningPlan;
private final boolean experimentalHeaderThinning;
private final Label objcHeaderScannerTool;
+ private final boolean generateXcodeProject;
ObjcConfiguration(ObjcCommandLineOptions objcOptions, BuildConfiguration.Options options,
@Nullable BlazeDirectories directories) {
@@ -122,6 +123,7 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
: HeaderDiscovery.DotdPruningMode.DO_NOT_USE;
this.experimentalHeaderThinning = objcOptions.experimentalObjcHeaderThinning;
this.objcHeaderScannerTool = objcOptions.objcHeaderScannerTool;
+ this.generateXcodeProject = objcOptions.generateXcodeProject;
}
/**
@@ -355,4 +357,11 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
public Label getObjcHeaderScannerTool() {
return objcHeaderScannerTool;
}
+
+ /**
+ * Returns {@code true} if an xcodegen project should be added to a target's files to build.
+ */
+ public boolean generateXcodeProject() {
+ return this.generateXcodeProject;
+ }
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
index 9d75d1168e..0be33e256c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
@@ -87,7 +87,10 @@ public final class XcodeSupport {
*/
XcodeSupport addFilesToBuild(NestedSetBuilder<Artifact> filesToBuild)
throws InterruptedException {
- filesToBuild.add(ruleContext.getImplicitOutputArtifact(PBXPROJ));
+ if (ObjcRuleClasses.objcConfiguration(ruleContext).generateXcodeProject()) {
+ filesToBuild.add(ruleContext.getImplicitOutputArtifact(PBXPROJ));
+ }
+
return this;
}