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

Commit 218964e7 authored by Jeongik Cha's avatar Jeongik Cha Committed by android-build-merger
Browse files

Merge "Enforce hidden api usage in vendor (soong)" am: e65d84c8

am: 7a22534a

Change-Id: Iffbacc0f98fb208e6f71919bcefa19cb0e57efca
parents e34e7eac 7a22534a
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -510,7 +510,7 @@ type AARImport struct {
}
}


func (a *AARImport) sdkVersion() string {
func (a *AARImport) sdkVersion() string {
	return String(a.properties.Sdk_version)
	return proptools.StringDefault(a.properties.Sdk_version, defaultSdkVersion(a))
}
}


func (a *AARImport) minSdkVersion() string {
func (a *AARImport) minSdkVersion() string {
+2 −1
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@ import (
	"strings"
	"strings"


	"github.com/google/blueprint"
	"github.com/google/blueprint"
	"github.com/google/blueprint/proptools"
)
)


var (
var (
@@ -520,7 +521,7 @@ func JavadocHostFactory() android.Module {
var _ android.OutputFileProducer = (*Javadoc)(nil)
var _ android.OutputFileProducer = (*Javadoc)(nil)


func (j *Javadoc) sdkVersion() string {
func (j *Javadoc) sdkVersion() string {
	return String(j.properties.Sdk_version)
	return proptools.StringDefault(j.properties.Sdk_version, defaultSdkVersion(j))
}
}


func (j *Javadoc) minSdkVersion() string {
func (j *Javadoc) minSdkVersion() string {
+14 −2
Original line number Original line Diff line number Diff line
@@ -423,6 +423,18 @@ var (
	usesLibTag            = dependencyTag{name: "uses-library"}
	usesLibTag            = dependencyTag{name: "uses-library"}
)
)


func defaultSdkVersion(ctx checkVendorModuleContext) string {
	if ctx.SocSpecific() || ctx.DeviceSpecific() {
		return "system_current"
	}
	return ""
}

type checkVendorModuleContext interface {
	SocSpecific() bool
	DeviceSpecific() bool
}

type sdkDep struct {
type sdkDep struct {
	useModule, useFiles, useDefaultLibs, invalidVersion bool
	useModule, useFiles, useDefaultLibs, invalidVersion bool


@@ -462,7 +474,7 @@ func (j *Module) shouldInstrumentStatic(ctx android.BaseModuleContext) bool {
}
}


func (j *Module) sdkVersion() string {
func (j *Module) sdkVersion() string {
	return String(j.deviceProperties.Sdk_version)
	return proptools.StringDefault(j.deviceProperties.Sdk_version, defaultSdkVersion(j))
}
}


func (j *Module) minSdkVersion() string {
func (j *Module) minSdkVersion() string {
@@ -1862,7 +1874,7 @@ type Import struct {
}
}


func (j *Import) sdkVersion() string {
func (j *Import) sdkVersion() string {
	return String(j.properties.Sdk_version)
	return proptools.StringDefault(j.properties.Sdk_version, defaultSdkVersion(j))
}
}


func (j *Import) minSdkVersion() string {
func (j *Import) minSdkVersion() string {
+26 −0
Original line number Original line Diff line number Diff line
@@ -286,6 +286,32 @@ func TestSimple(t *testing.T) {
	}
	}
}
}


func TestSdkVersion(t *testing.T) {
	ctx := testJava(t, `
		java_library {
			name: "foo",
			srcs: ["a.java"],
			vendor: true,
		}

		java_library {
			name: "bar",
			srcs: ["b.java"],
		}
	`)

	foo := ctx.ModuleForTests("foo", "android_common").Module().(*Library)
	bar := ctx.ModuleForTests("bar", "android_common").Module().(*Library)

	if foo.sdkVersion() != "system_current" {
		t.Errorf("If sdk version of vendor module is empty, it must change to system_current.")
	}

	if bar.sdkVersion() != "" {
		t.Errorf("If sdk version of non-vendor module is empty, it keeps empty.")
	}
}

func TestArchSpecific(t *testing.T) {
func TestArchSpecific(t *testing.T) {
	ctx := testJava(t, `
	ctx := testJava(t, `
		java_library {
		java_library {