use of com.google.devtools.intellij.ideinfo.IntellijIdeInfo.TargetIdeInfo in project bazel by bazelbuild.
the class AndroidStudioInfoAspectTest method testSimpleCCLibrary.
@Test
public void testSimpleCCLibrary() throws Exception {
scratch.file("com/google/example/BUILD", "cc_library(", " name = 'simple',", " srcs = ['simple/simple.cc'],", " hdrs = ['simple/simple.h'],", ")");
Map<String, TargetIdeInfo> targetIdeInfos = buildIdeInfo("//com/google/example:simple");
assertThat(targetIdeInfos).hasSize(2);
TargetIdeInfo targetIdeInfo = getTargetIdeInfoAndVerifyLabel("//com/google/example:simple", targetIdeInfos);
ArtifactLocation location = targetIdeInfo.getBuildFileArtifactLocation();
assertThat(Paths.get(location.getRelativePath()).toString()).isEqualTo(Paths.get("com/google/example/BUILD").toString());
assertThat(targetIdeInfo.getKindString()).isEqualTo("cc_library");
assertThat(targetIdeInfo.getDependenciesCount()).isEqualTo(1);
assertThat(relativePathsForCSourcesOf(targetIdeInfo)).containsExactly("com/google/example/simple/simple.cc");
assertThat(targetIdeInfo.hasCIdeInfo()).isTrue();
assertThat(targetIdeInfo.hasJavaIdeInfo()).isFalse();
assertThat(targetIdeInfo.hasAndroidIdeInfo()).isFalse();
CIdeInfo cTargetIdeInfo = targetIdeInfo.getCIdeInfo();
assertThat(cTargetIdeInfo.getTargetCoptList()).isEmpty();
assertThat(cTargetIdeInfo.getTargetDefineList()).isEmpty();
assertThat(cTargetIdeInfo.getTargetIncludeList()).isEmpty();
ProtocolStringList transQuoteIncludeDirList = cTargetIdeInfo.getTransitiveQuoteIncludeDirectoryList();
assertThat(transQuoteIncludeDirList).contains(".");
assertThat(targetIdeInfo.getJavaIdeInfo().getJarsList()).isEmpty();
assertThat(getIdeResolveFiles()).containsExactly("com/google/example/simple/simple.h");
}
use of com.google.devtools.intellij.ideinfo.IntellijIdeInfo.TargetIdeInfo in project bazel by bazelbuild.
the class AndroidStudioInfoAspectTest method testTransitiveCLibraryWithCompilerFlags.
@Test
public void testTransitiveCLibraryWithCompilerFlags() throws Exception {
scratch.file("com/google/example/BUILD", "cc_library(", " name = 'lib2',", " srcs = ['lib2/lib2.cc'],", " hdrs = ['lib2/lib2.h'],", " copts = ['-v23', '-DDEV'],", ")", "cc_library(", " name = 'lib1',", " srcs = ['lib1/lib1.cc'],", " hdrs = ['lib1/lib1.h'],", " copts = ['-DGOPT', '-Ifoo/baz/'],", " deps = [':lib2'],", ")");
Map<String, TargetIdeInfo> targetIdeInfos = buildIdeInfo("//com/google/example:lib1");
assertThat(targetIdeInfos).hasSize(3);
TargetIdeInfo lib1 = getTargetIdeInfoAndVerifyLabel("//com/google/example:lib1", targetIdeInfos);
assertThat(lib1.hasCIdeInfo()).isTrue();
CIdeInfo cTargetIdeInfo = lib1.getCIdeInfo();
assertThat(cTargetIdeInfo.getTargetCoptList()).containsExactly("-DGOPT", "-Ifoo/baz/");
// Make sure our understanding of where this attributes show up in other providers is correct.
Entry<String, TargetIdeInfo> toolchainEntry = getCcToolchainRuleAndVerifyThereIsOnlyOne(targetIdeInfos);
TargetIdeInfo toolchainInfo = toolchainEntry.getValue();
assertThat(toolchainInfo.hasCToolchainIdeInfo()).isTrue();
CToolchainIdeInfo cToolchainIdeInfo = toolchainInfo.getCToolchainIdeInfo();
ProtocolStringList baseCompilerOptionList = cToolchainIdeInfo.getBaseCompilerOptionList();
assertThat(baseCompilerOptionList).doesNotContain("-DGOPT");
assertThat(baseCompilerOptionList).doesNotContain("-Ifoo/baz/");
assertThat(baseCompilerOptionList).doesNotContain("-v23");
assertThat(baseCompilerOptionList).doesNotContain("-DDEV");
ProtocolStringList cOptionList = cToolchainIdeInfo.getCOptionList();
assertThat(cOptionList).doesNotContain("-DGOPT");
assertThat(cOptionList).doesNotContain("-Ifoo/baz/");
assertThat(cOptionList).doesNotContain("-v23");
assertThat(cOptionList).doesNotContain("-DDEV");
ProtocolStringList cppOptionList = cToolchainIdeInfo.getCppOptionList();
assertThat(cppOptionList).doesNotContain("-DGOPT");
assertThat(cppOptionList).doesNotContain("-Ifoo/baz/");
assertThat(cppOptionList).doesNotContain("-v23");
assertThat(cppOptionList).doesNotContain("-DDEV");
}
use of com.google.devtools.intellij.ideinfo.IntellijIdeInfo.TargetIdeInfo in project bazel by bazelbuild.
the class AndroidStudioInfoAspectTest method testSimpleCCLibraryForCCToolchainExistence.
@Test
public void testSimpleCCLibraryForCCToolchainExistence() throws Exception {
scratch.file("com/google/example/BUILD", "cc_library(", " name = 'simple',", " srcs = ['simple/simple.cc'],", " hdrs = ['simple/simple.h'],", ")");
Map<String, TargetIdeInfo> targetIdeInfos = buildIdeInfo("//com/google/example:simple");
assertThat(targetIdeInfos).hasSize(2);
TargetIdeInfo target = getTargetIdeInfoAndVerifyLabel("//com/google/example:simple", targetIdeInfos);
Entry<String, TargetIdeInfo> toolchainEntry = getCcToolchainRuleAndVerifyThereIsOnlyOne(targetIdeInfos);
TargetIdeInfo toolchainInfo = toolchainEntry.getValue();
ArtifactLocation location = target.getBuildFileArtifactLocation();
assertThat(Paths.get(location.getRelativePath()).toString()).isEqualTo(Paths.get("com/google/example/BUILD").toString());
assertThat(target.hasCIdeInfo()).isTrue();
assertThat(target.getDependenciesList()).hasSize(1);
assertThat(toolchainInfo.hasCToolchainIdeInfo()).isTrue();
}
use of com.google.devtools.intellij.ideinfo.IntellijIdeInfo.TargetIdeInfo in project bazel by bazelbuild.
the class AndroidStudioInfoAspectTest method testJavaLibraryDoesNotHaveCInfo.
@Test
public void testJavaLibraryDoesNotHaveCInfo() throws Exception {
scratch.file("com/google/example/BUILD", "java_library(", " name = 'simple',", " srcs = ['simple/Simple.java']", ")");
Map<String, TargetIdeInfo> targetIdeInfos = buildIdeInfo("//com/google/example:simple");
TargetIdeInfo targetIdeInfo = getTargetIdeInfoAndVerifyLabel("//com/google/example:simple", targetIdeInfos);
assertThat(targetIdeInfo.hasCIdeInfo()).isFalse();
}
use of com.google.devtools.intellij.ideinfo.IntellijIdeInfo.TargetIdeInfo in project bazel by bazelbuild.
the class AndroidStudioInfoAspectTest method testAndroidLibraryWithoutAidlHasNoIdlJars.
@Test
public void testAndroidLibraryWithoutAidlHasNoIdlJars() throws Exception {
scratch.file("java/com/google/example/BUILD", "android_library(", " name = 'no_idl',", " srcs = ['Test.java'],", ")");
String noIdlTarget = "//java/com/google/example:no_idl";
Map<String, TargetIdeInfo> targetIdeInfos = buildIdeInfo(noIdlTarget);
TargetIdeInfo noIdlTargetIdeInfo = getTargetIdeInfoAndVerifyLabel(noIdlTarget, targetIdeInfos);
assertThat(noIdlTargetIdeInfo.getAndroidIdeInfo().getHasIdlSources()).isFalse();
}
Aggregations