diff options
author | 2017-08-23 19:32:49 +0200 | |
---|---|---|
committer | 2017-08-24 13:58:50 +0200 | |
commit | 7a7c41d7d342cd427e74f091b55690eed13e280d (patch) | |
tree | 9dff41110751ad6e1a0b0a12e15a11e8d8f8e9ac /src/test/java/com/google/devtools | |
parent | 49bb72377153fc208708267f90791644f389bd31 (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.java | 57 |
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"))); |