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

Commit 6bd35eb6 authored by Alan Viverette's avatar Alan Viverette
Browse files

Use "jar" as default type, "compile" as default scope

Only include dependencies for scope "compile."

Bug: 73263586
Test: ./update_current.py -s -t <build-id>
Change-Id: I2ac6055cb4c1ad1f8d7924869f54f50e5e662742
parent f91a08ca
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ type Dependency struct {
	ArtifactId string `xml:"artifactId"`
	Version    string `xml:"version"`
	Type       string `xml:"type"`

	Scope      string `xml:"scope"`
}

@@ -140,17 +139,19 @@ func (p Pom) MkName() string {
}

func (p Pom) MkJarDeps() []string {
	return p.MkDeps("jar")
	return p.MkDeps("jar", "compile")
}

func (p Pom) MkAarDeps() []string {
	return p.MkDeps("aar")
	return p.MkDeps("aar", "compile")
}

func (p Pom) MkDeps(typeExt string) []string {
// MkDeps obtains dependencies filtered by type and scope. The results of this
// method are formatted as Make targets, e.g. run through MavenToMk rules.
func (p Pom) MkDeps(typeExt string, scope string) []string {
	var ret []string
	for _, d := range p.Dependencies {
		if d.Type != typeExt {
		if d.Type != typeExt || d.Scope != scope {
			continue
		}
		name := rewriteNames.MavenToMk(d.GroupId, d.ArtifactId)
@@ -164,13 +165,22 @@ func (p Pom) SdkVersion() string {
	return sdkVersion
}

func (p *Pom) FixDepTypes(modules map[string]*Pom) {
func (p *Pom) FixDeps(modules map[string]*Pom) {
	for _, d := range p.Dependencies {
		if d.Type != "" {
			continue
		}
		if d.Type == "" {
			if depPom, ok := modules[d.MkName()]; ok {
				// We've seen the POM for this dependency, use its packaging
				// as the dependency type rather than Maven spec default.
				d.Type = depPom.Packaging
			} else {
				// Dependency type was not specified and we don't have the POM
				// for this artifact, use the default from Maven spec.
				d.Type = "jar"
			}
		}
		if d.Scope == "" {
			// Scope was not specified, use the default from Maven spec.
			d.Scope = "compile"
		}
	}
}
@@ -360,7 +370,7 @@ The makefile is written to stdout, to be put in the current directory (often as
	}

	for _, pom := range poms {
		pom.FixDepTypes(modules)
		pom.FixDeps(modules)
	}

	fmt.Println("# Automatically generated with:")