aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar juliexxia <juliexxia@google.com>2017-08-23 19:32:49 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-24 13:58:50 +0200
commit7a7c41d7d342cd427e74f091b55690eed13e280d (patch)
tree9dff41110751ad6e1a0b0a12e15a11e8d8f8e9ac /src/test/java/com/google/devtools
parent49bb72377153fc208708267f90791644f389bd31 (diff)
Pull maven -src jars when available alongside jars re:
https://github.com/bazelbuild/bazel/issues/308 RELNOTES: None. PiperOrigin-RevId: 166219871
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java57
1 files changed, 46 insertions, 11 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java
index 37cfa8daa3..11dfdbbb2f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java
@@ -16,9 +16,10 @@ package com.google.devtools.build.lib.rules.repository;
import static com.google.common.truth.Truth.assertThat;
+import com.google.common.base.Optional;
import com.google.devtools.build.lib.bazel.repository.DecompressorDescriptor;
-import com.google.devtools.build.lib.bazel.repository.DecompressorValue;
import com.google.devtools.build.lib.bazel.repository.JarDecompressor;
+import com.google.devtools.build.lib.bazel.rules.workspace.MavenJarRule;
import com.google.devtools.build.lib.testutil.Scratch;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
@@ -32,35 +33,69 @@ import org.junit.runners.JUnit4;
*/
@RunWith(JUnit4.class)
public class JarDecompressorTest {
- private DecompressorDescriptor.Builder descriptorBuilder;
+ private DecompressorDescriptor.Builder jarDescriptorBuilder;
+ private DecompressorDescriptor.Builder srcjarDescriptorBuilder;
+ private JarDecompressor decompressor;
@Before
public void setUpFs() throws Exception {
Scratch fs = new Scratch();
Path dir = fs.dir("/whatever/external/tester");
Path jar = fs.file("/foo.jar", "I'm a jar");
+ Path srcjar = fs.file("/foo-sources.jar", "I'm a source jar");
FileSystemUtils.createDirectoryAndParents(dir);
- descriptorBuilder = DecompressorDescriptor.builder()
- .setDecompressor(JarDecompressor.INSTANCE)
- .setTargetName("tester")
- .setTargetKind("http_jar rule")
- .setRepositoryPath(dir)
- .setArchivePath(jar);
+ jarDescriptorBuilder =
+ DecompressorDescriptor.builder()
+ .setDecompressor(JarDecompressor.INSTANCE)
+ .setTargetName("tester")
+ .setTargetKind(MavenJarRule.NAME)
+ .setRepositoryPath(dir)
+ .setArchivePath(jar);
+ srcjarDescriptorBuilder =
+ DecompressorDescriptor.builder()
+ .setDecompressor(JarDecompressor.INSTANCE)
+ .setTargetName("tester")
+ .setTargetKind(MavenJarRule.NAME)
+ .setRepositoryPath(dir)
+ .setArchivePath(srcjar);
+ decompressor = (JarDecompressor) jarDescriptorBuilder.build().getDecompressor();
}
@Test
- public void testTargets() throws Exception {
- Path outputDir = DecompressorValue.decompress(descriptorBuilder.build());
+ public void testTargetsWithSources() throws Exception {
+ Path outputDir =
+ decompressor.decompressWithSrcjar(
+ jarDescriptorBuilder.build(), Optional.fromNullable(srcjarDescriptorBuilder.build()));
assertThat(outputDir.exists()).isTrue();
+ assertThat(outputDir.getRelative("jar/foo.jar").exists()).isTrue();
+ assertThat(outputDir.getRelative("jar/foo-sources.jar").exists()).isTrue();
String buildContent =
new String(FileSystemUtils.readContentAsLatin1(outputDir.getRelative("jar/BUILD.bazel")));
assertThat(buildContent).contains("java_import");
+ assertThat(buildContent).contains("srcjar = 'foo-sources.jar'");
assertThat(buildContent).contains("filegroup");
}
@Test
+ public void testTargetsWithoutSources() throws Exception {
+ Path outputDir =
+ decompressor.decompressWithSrcjar(jarDescriptorBuilder.build(), Optional.absent());
+ assertThat(outputDir.exists()).isTrue();
+ assertThat(outputDir.getRelative("jar/foo.jar").exists()).isTrue();
+ assertThat(outputDir.getRelative("jar/foo-sources.jar").exists()).isFalse();
+ String buildContent =
+ new String(FileSystemUtils.readContentAsLatin1(outputDir.getRelative("jar/BUILD.bazel")));
+ assertThat(buildContent).contains("java_import");
+ assertThat(buildContent).doesNotContain("srcjar = 'foo-sources.jar'");
+ assertThat(buildContent).contains("filegroup");
+ }
+
+ @Test
+ // Note: WORKSPACE gen is not affected by presence or absence of Optional arg to
+ // decompressWithSrcjar
public void testWorkspaceGen() throws Exception {
- Path outputDir = DecompressorValue.decompress(descriptorBuilder.build());
+ Path outputDir =
+ decompressor.decompressWithSrcjar(jarDescriptorBuilder.build(), Optional.absent());
assertThat(outputDir.exists()).isTrue();
String workspaceContent = new String(
FileSystemUtils.readContentAsLatin1(outputDir.getRelative("WORKSPACE")));