Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 479e1e4f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes from topic "revert-2786699-import-sdk-version-none-WYNCDQGHTE"...

Merge changes from topic "revert-2786699-import-sdk-version-none-WYNCDQGHTE" into main am: 8e592ad1

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2796694



Change-Id: I1e10e6c0e51430e30823274460ef6d76a802025b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 17950397 8e592ad1
Loading
Loading
Loading
Loading
+21 −29
Original line number Diff line number Diff line
@@ -52,15 +52,13 @@ java_import {
}
`,
		ExpectedBazelTargets: []string{
			MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{
				"srcs": `["import.jar"]`,
			}),
			MakeBazelTarget("java_import", "example_import", AttrNameToString{
				"jars": `[":example_import-jars"]`,
				"jars": `["import.jar"]`,
			}),
			MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{
				"jars":      `[":example_import-jars"]`,
			MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{
				"exports":     `[":example_import"]`,
				"neverlink":   `True`,
				"sdk_version": `"none"`,
			}),
		}})
}
@@ -88,19 +86,17 @@ java_import {
}
`,
		ExpectedBazelTargets: []string{
			MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{
				"srcs": `select({
			MakeBazelTarget("java_import", "example_import", AttrNameToString{
				"jars": `select({
        "//build/bazel_common_rules/platforms/os:android": ["android.jar"],
        "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux.jar"],
        "//conditions:default": [],
    })`,
			}),
			MakeBazelTarget("java_import", "example_import", AttrNameToString{
				"jars": `[":example_import-jars"]`,
			}),
			MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{
				"jars":      `[":example_import-jars"]`,
			MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{
				"exports":     `[":example_import"]`,
				"neverlink":   `True`,
				"sdk_version": `"none"`,
			}),
		}})
}
@@ -121,15 +117,13 @@ java_import_host {
}
`,
		ExpectedBazelTargets: []string{
			MakeBazelTarget("filegroup", "example_import-jars", AttrNameToString{
				"srcs": `["import.jar"]`,
			}),
			MakeBazelTarget("java_import", "example_import", AttrNameToString{
				"jars": `[":example_import-jars"]`,
				"jars": `["import.jar"]`,
			}),
			MakeBazelTarget("java_import", "example_import-neverlink", AttrNameToString{
				"jars":      `[":example_import-jars"]`,
			MakeBazelTarget("java_library", "example_import-neverlink", AttrNameToString{
				"exports":     `[":example_import"]`,
				"neverlink":   `True`,
				"sdk_version": `"none"`,
			}),
		}})
}
@@ -148,15 +142,13 @@ func TestJavaImportSameNameAsJavaLibrary(t *testing.T) {
}
`,
		ExpectedBazelTargets: []string{
			MakeBazelTarget("filegroup", "test_lib-jars", AttrNameToString{
				"srcs": `["test.jar"]`,
			}),
			MakeBazelTarget("java_import", "test_lib", AttrNameToString{
				"jars": `[":test_lib-jars"]`,
				"jars": `["test.jar"]`,
			}),
			MakeBazelTarget("java_import", "test_lib-neverlink", AttrNameToString{
				"jars":      `[":test_lib-jars"]`,
			MakeBazelTarget("java_library", "test_lib-neverlink", AttrNameToString{
				"exports":     `[":test_lib"]`,
				"neverlink":   `True`,
				"sdk_version": `"none"`,
			}),
		},
	}, func(ctx android.RegistrationContext) {
+15 −32
Original line number Diff line number Diff line
@@ -2971,10 +2971,6 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext
		// TODO(b/297356582): handle core_platform in bp2build
		ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version core_platform")
		return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false
	} else if proptools.String(m.deviceProperties.Sdk_version) == "none" {
		// TODO(b/297356703): handle system_modules
		ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version none")
		return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false
	}

	archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{})
@@ -3409,14 +3405,9 @@ func createLibraryTarget(ctx android.Bp2buildMutatorContext, libInfo libraryCrea
	return libName
}

type importAttributes struct {
type bazelJavaImportAttributes struct {
	Jars    bazel.LabelListAttribute
	Exports bazel.LabelListAttribute
	Neverlink *bool
}

type filegroupAttrs struct {
	Srcs bazel.LabelListAttribute
}

// java_import bp2Build converter.
@@ -3432,36 +3423,28 @@ func (i *Import) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) {
		}
	}

	name := android.RemoveOptionalPrebuiltPrefix(i.Name())
	filegroupTargetName := name + "-jars"

	ctx.CreateBazelTargetModule(
		bazel.BazelTargetModuleProperties{
			Rule_class:        "filegroup",
			Bzl_load_location: "//build/bazel/rules:filegroup.bzl",
		},
		android.CommonAttributes{Name: filegroupTargetName},
		&filegroupAttrs{
			Srcs: jars,
		},
	)

	attrs := &importAttributes{
		Jars: bazel.MakeSingleLabelListAttribute(bazel.Label{Label: ":" + filegroupTargetName}),
	attrs := &bazelJavaImportAttributes{
		Jars: jars,
	}
	props := bazel.BazelTargetModuleProperties{
		Rule_class:        "java_import",
		Bzl_load_location: "//build/bazel/rules/java:import.bzl",
	}

	name := android.RemoveOptionalPrebuiltPrefix(i.Name())

	ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: name}, attrs)

	neverlinkAttrs := &importAttributes{
		Jars:      attrs.Jars,
		Neverlink: proptools.BoolPtr(true),
	neverlink := true
	neverlinkAttrs := &javaLibraryAttributes{
		Neverlink: bazel.BoolAttribute{Value: &neverlink},
		Exports:   bazel.MakeSingleLabelListAttribute(bazel.Label{Label: ":" + name}),
		javaCommonAttributes: &javaCommonAttributes{
			Sdk_version: bazel.StringAttribute{Value: proptools.StringPtr("none")},
		},
	}
	ctx.CreateBazelTargetModule(
		props,
		javaLibraryBazelTargetModuleProperties(),
		android.CommonAttributes{Name: name + "-neverlink"},
		neverlinkAttrs)
}