Skip to content

Commit

Permalink
Flip default value of --experimental_shortened_obj_file_path to true
Browse files Browse the repository at this point in the history
RELNOTES:
Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default.
PiperOrigin-RevId: 191958480
  • Loading branch information
meteorcloudy authored and Copybara-Service committed Apr 6, 2018
1 parent ee6225d commit 3ab52e6
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 105 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ public LipoModeConverter() {

@Option(
name = "experimental_shortened_obj_file_path",
defaultValue = "false",
defaultValue = "true",
documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS,
effectTags = {OptionEffectTag.ACTION_COMMAND_LINES, OptionEffectTag.AFFECTS_OUTPUTS},
help =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,13 +139,14 @@ public void testActionConflictInDependencyImpliesTopLevelTargetFailure() throws
return;
}
useConfiguration("--cpu=k8");
scratch.file("conflict/BUILD",
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])",
"cc_binary(name='foo', deps=['x'], data=['_objs/x/conflict/foo.pic.o'])");
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])",
"cc_binary(name='foo', deps=['x'], data=['_objs/x/foo.pic.o'])");
reporter.removeHandler(failFastHandler); // expect errors
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:foo");
assertContainsEvent("file 'conflict/_objs/x/conflict/foo.pic.o' " + CONFLICT_MSG);
assertContainsEvent("file 'conflict/_objs/x/foo.pic.o' " + CONFLICT_MSG);
assertThat(getAnalysisResult().getTargetsToBuild()).isEmpty();
}

Expand All @@ -161,22 +162,23 @@ public void testActionConflictInDependencyImpliesTopLevelTargetFailure() throws
@Test
public void testNoActionConflictWithInvalidatedTarget() throws Exception {
useConfiguration("--cpu=k8");
scratch.file("conflict/BUILD",
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.o', srcs=['bar.cc'])");
"cc_binary(name='_objs/x/foo.o', srcs=['bar.cc'])");
update("//conflict:x");
ConfiguredTarget conflict = getConfiguredTarget("//conflict:x");
Action oldAction = getGeneratingAction(getBinArtifact("_objs/x/conflict/foo.pic.o", conflict));
Action oldAction = getGeneratingAction(getBinArtifact("_objs/x/foo.pic.o", conflict));
assertThat(oldAction.getOwner().getLabel().toString()).isEqualTo("//conflict:x");
scratch.overwriteFile("conflict/BUILD",
scratch.overwriteFile(
"conflict/BUILD",
"cc_library(name='newx', srcs=['foo.cc'])", // Rename target.
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
update(defaultFlags(), "//conflict:_objs/x/conflict/foo.pic.o");
ConfiguredTarget objsConflict = getConfiguredTarget("//conflict:_objs/x/conflict/foo.pic.o");
Action newAction =
getGeneratingAction(getBinArtifact("_objs/x/conflict/foo.pic.o", objsConflict));
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
update(defaultFlags(), "//conflict:_objs/x/foo.pic.o");
ConfiguredTarget objsConflict = getConfiguredTarget("//conflict:_objs/x/foo.pic.o");
Action newAction = getGeneratingAction(getBinArtifact("_objs/x/foo.pic.o", objsConflict));
assertThat(newAction.getOwner().getLabel().toString())
.isEqualTo("//conflict:_objs/x/conflict/foo.pic.o");
.isEqualTo("//conflict:_objs/x/foo.pic.o");
}

/**
Expand All @@ -189,13 +191,13 @@ public void testActionConflictCausesError() throws Exception {
return;
}
useConfiguration("--cpu=k8");
scratch.file("conflict/BUILD",
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
reporter.removeHandler(failFastHandler); // expect errors
update(defaultFlags().with(Flag.KEEP_GOING),
"//conflict:x", "//conflict:_objs/x/conflict/foo.pic.o");
assertContainsEvent("file 'conflict/_objs/x/conflict/foo.pic.o' " + CONFLICT_MSG);
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:_objs/x/foo.pic.o");
assertContainsEvent("file 'conflict/_objs/x/foo.pic.o' " + CONFLICT_MSG);
}

@Test
Expand All @@ -205,23 +207,23 @@ public void testNoActionConflictErrorAfterClearedAnalysis() throws Exception {
return;
}
useConfiguration("--cpu=k8");
scratch.file("conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
reporter.removeHandler(failFastHandler); // expect errors
update(defaultFlags().with(Flag.KEEP_GOING),
"//conflict:x", "//conflict:_objs/x/conflict/foo.pic.o");
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:_objs/x/foo.pic.o");
// We want to force a "dropConfiguredTargetsNow" operation, which won't inform the
// invalidation receiver about the dropped configured targets.
skyframeExecutor.clearAnalysisCache(
ImmutableList.<ConfiguredTarget>of(), ImmutableSet.<AspectValue>of());
assertContainsEvent("file 'conflict/_objs/x/conflict/foo.pic.o' " + CONFLICT_MSG);
assertContainsEvent("file 'conflict/_objs/x/foo.pic.o' " + CONFLICT_MSG);
eventCollector.clear();
scratch.overwriteFile("conflict/BUILD",
scratch.overwriteFile(
"conflict/BUILD",
"cc_library(name='x', srcs=['baz.cc'])",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
update(defaultFlags().with(Flag.KEEP_GOING),
"//conflict:x", "//conflict:_objs/x/conflict/foo.pic.o");
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:_objs/x/foo.pic.o");
assertNoEvents();
}

Expand All @@ -239,14 +241,11 @@ public void testConflictingArtifactsErrorWithNoListDetail() throws Exception {
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
reporter.removeHandler(failFastHandler); // expect errors
update(
defaultFlags().with(Flag.KEEP_GOING),
"//conflict:x",
"//conflict:_objs/x/conflict/foo.pic.o");
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:_objs/x/foo.pic.o");

assertContainsEvent("file 'conflict/_objs/x/conflict/foo.pic.o' " + CONFLICT_MSG);
assertContainsEvent("file 'conflict/_objs/x/foo.pic.o' " + CONFLICT_MSG);
assertDoesNotContainEvent("MandatoryInputs");
assertDoesNotContainEvent("Outputs");
}
Expand All @@ -266,13 +265,12 @@ public void testConflictingArtifactsWithListDetail() throws Exception {
"conflict/BUILD",
"cc_library(name='x', srcs=['foo1.cc', 'foo2.cc', 'foo3.cc', 'foo4.cc', 'foo5.cc'"
+ ", 'foo6.cc'])",
"genrule(name = 'foo', outs=['_objs/x/conflict/foo1.pic.o'], srcs=['foo1.cc', 'foo2.cc', "
"genrule(name = 'foo', outs=['_objs/x/foo1.pic.o'], srcs=['foo1.cc', 'foo2.cc', "
+ "'foo3.cc', 'foo4.cc', 'foo5.cc', 'foo6.cc'], cmd='', output_to_bindir=1)");
reporter.removeHandler(failFastHandler); // expect errors
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:foo");

Event event =
assertContainsEvent("file 'conflict/_objs/x/conflict/foo1.pic.o' " + CONFLICT_MSG);
Event event = assertContainsEvent("file 'conflict/_objs/x/foo1.pic.o' " + CONFLICT_MSG);
assertContainsEvent("MandatoryInputs");
assertContainsEvent("Outputs");

Expand All @@ -298,14 +296,14 @@ public void testActionConflictMarksTargetInvalid() throws Exception {
return;
}
useConfiguration("--cpu=k8");
scratch.file("conflict/BUILD",
scratch.file(
"conflict/BUILD",
"cc_library(name='x', srcs=['foo.cc'])",
"cc_binary(name='_objs/x/conflict/foo.o', srcs=['bar.cc'])");
"cc_binary(name='_objs/x/foo.o', srcs=['bar.cc'])");
reporter.removeHandler(failFastHandler); // expect errors
update(defaultFlags().with(Flag.KEEP_GOING),
"//conflict:x", "//conflict:_objs/x/conflict/foo.pic.o");
update(defaultFlags().with(Flag.KEEP_GOING), "//conflict:x", "//conflict:_objs/x/foo.pic.o");
ConfiguredTarget a = getConfiguredTarget("//conflict:x");
ConfiguredTarget b = getConfiguredTarget("//conflict:_objs/x/conflict/foo.pic.o");
ConfiguredTarget b = getConfiguredTarget("//conflict:_objs/x/foo.pic.o");
assertThat(hasTopLevelAnalysisError(a) ^ hasTopLevelAnalysisError(b)).isTrue();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -928,18 +928,18 @@ public void testPostProcessedConfigurableAttributes() throws Exception {
}
useConfiguration("--cpu=k8");
reporter.removeHandler(failFastHandler); // Expect errors from action conflicts.
scratch.file("conflict/BUILD",
scratch.file(
"conflict/BUILD",
"config_setting(name = 'a', values = {'test_arg': 'a'})",
"cc_library(name='x', srcs=select({':a': ['a.cc'], '//conditions:default': ['foo.cc']}))",
"cc_binary(name='_objs/x/conflict/foo.pic.o', srcs=['bar.cc'])");
AnalysisResult result = update(
defaultFlags().with(Flag.KEEP_GOING),
"//conflict:_objs/x/conflict/foo.pic.o",
"//conflict:x");
"cc_binary(name='_objs/x/foo.pic.o', srcs=['bar.cc'])");
AnalysisResult result =
update(
defaultFlags().with(Flag.KEEP_GOING), "//conflict:_objs/x/foo.pic.o", "//conflict:x");
assertThat(result.hasError()).isTrue();
// Expect to reach this line without a Precondition-triggered NullPointerException.
assertContainsEvent(
"file 'conflict/_objs/x/conflict/foo.pic.o' is generated by these conflicting actions");
"file 'conflict/_objs/x/foo.pic.o' is generated by these conflicting actions");
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public void testCcTargetsDependOnCcToolchainAutomatically() throws Exception {
.setList("copts", "foobar$(TARGET_CPU)")
.write();
CppCompileAction compileAction =
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cclib/cclib/a.o", cclibrary));
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cclib/a.o", cclibrary));
assertThat(compileAction.getArguments()).contains("foobarpiii");

ConfiguredTarget ccbinary =
Expand All @@ -133,7 +133,7 @@ public void testCcTargetsDependOnCcToolchainAutomatically() throws Exception {
.setList("copts", "foobar$(TARGET_CPU)")
.write();
compileAction =
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/ccbin/ccbin/a.o", ccbinary));
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/ccbin/a.o", ccbinary));
assertThat(compileAction.getArguments()).contains("foobarpiii");

ConfiguredTarget cctest =
Expand All @@ -142,7 +142,7 @@ public void testCcTargetsDependOnCcToolchainAutomatically() throws Exception {
.setList("copts", "foobar$(TARGET_CPU)")
.write();
compileAction =
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cctest/cctest/a.o", cctest));
(CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cctest/a.o", cctest));
assertThat(compileAction.getArguments()).contains("foobarpiii");
}
}
Loading

0 comments on commit 3ab52e6

Please sign in to comment.