diff options
| author | 2022-08-03 17:13:06 +0000 | |
|---|---|---|
| committer | 2022-08-03 17:13:06 +0000 | |
| commit | c31778ffbcff13aab48c4d4c36e1a3fb9872272d (patch) | |
| tree | 52e02e12dba8cbc19bc1b8e341a4b5de913ef3f2 /java/java_test.go | |
| parent | fb845984df736f1c07150d4c8424b2f143f8886b (diff) | |
| parent | 277795cb4f615dcda45452e570069274e16542e1 (diff) | |
Merge "add java_import to mixed build"
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/java/java_test.go b/java/java_test.go index 32b0b0f68..9e5cf0cf2 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1667,3 +1667,48 @@ func TestDataDeviceBinsBuildsDeviceBinary(t *testing.T) {  		})  	}  } + +func TestImportMixedBuild(t *testing.T) { +	bp := ` +		java_import { +			name: "baz", +			jars: [ +				"test1.jar", +				"test2.jar", +			], +			bazel_module: { label: "//foo/bar:baz" }, +		} +	` + +	ctx := android.GroupFixturePreparers( +		prepareForJavaTest, +		android.FixtureModifyConfig(func(config android.Config) { +			config.BazelContext = android.MockBazelContext{ +				OutputBaseDir: "outputbase", +				LabelToOutputFiles: map[string][]string{ +					"//foo/bar:baz": []string{"test1.jar", "test2.jar"}, +				}, +			} +		}), +	).RunTestWithBp(t, bp) + +	bazMod := ctx.ModuleForTests("baz", "android_common").Module() +	producer := bazMod.(android.OutputFileProducer) +	expectedOutputFiles := []string{".intermediates/baz/android_common/bazelCombined/baz.jar"} + +	outputFiles, err := producer.OutputFiles("") +	if err != nil { +		t.Errorf("Unexpected error getting java_import outputfiles %s", err) +	} +	actualOutputFiles := android.NormalizePathsForTesting(outputFiles) +	android.AssertDeepEquals(t, "Output files are produced", expectedOutputFiles, actualOutputFiles) + +	javaInfoProvider := ctx.ModuleProvider(bazMod, JavaInfoProvider) +	javaInfo, ok := javaInfoProvider.(JavaInfo) +	if !ok { +		t.Error("could not get JavaInfo from java_import module") +	} +	android.AssertDeepEquals(t, "Header JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.HeaderJars)) +	android.AssertDeepEquals(t, "Implementation/Resources JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.ImplementationAndResourcesJars)) +	android.AssertDeepEquals(t, "Implementation JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.ImplementationJars)) +} |