Merge changes I3079cb4e,I55a786e9
* changes: Have pom2mk list all duplicates modules Have pom2mk include runtime deps too
This commit is contained in:
@@ -89,6 +89,16 @@ var sdkVersion string
|
||||
var useVersion string
|
||||
var staticDeps bool
|
||||
|
||||
func InList(s string, list []string) bool {
|
||||
for _, l := range list {
|
||||
if l == s {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
type Dependency struct {
|
||||
XMLName xml.Name `xml:"dependency"`
|
||||
|
||||
@@ -139,19 +149,19 @@ func (p Pom) MkName() string {
|
||||
}
|
||||
|
||||
func (p Pom) MkJarDeps() []string {
|
||||
return p.MkDeps("jar", "compile")
|
||||
return p.MkDeps("jar", []string{"compile", "runtime"})
|
||||
}
|
||||
|
||||
func (p Pom) MkAarDeps() []string {
|
||||
return p.MkDeps("aar", "compile")
|
||||
return p.MkDeps("aar", []string{"compile", "runtime"})
|
||||
}
|
||||
|
||||
// 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 {
|
||||
func (p Pom) MkDeps(typeExt string, scopes []string) []string {
|
||||
var ret []string
|
||||
for _, d := range p.Dependencies {
|
||||
if d.Type != typeExt || d.Scope != scope {
|
||||
if d.Type != typeExt || !InList(d.Scope, scopes) {
|
||||
continue
|
||||
}
|
||||
name := rewriteNames.MavenToMk(d.GroupId, d.ArtifactId)
|
||||
@@ -350,6 +360,7 @@ The makefile is written to stdout, to be put in the current directory (often as
|
||||
|
||||
poms := []*Pom{}
|
||||
modules := make(map[string]*Pom)
|
||||
duplicate := false
|
||||
for _, filename := range filenames {
|
||||
pom, err := parse(filename)
|
||||
if err != nil {
|
||||
@@ -363,12 +374,15 @@ The makefile is written to stdout, to be put in the current directory (often as
|
||||
|
||||
if old, ok := modules[key]; ok {
|
||||
fmt.Fprintln(os.Stderr, "Module", key, "defined twice:", old.PomFile, pom.PomFile)
|
||||
os.Exit(1)
|
||||
duplicate = true
|
||||
}
|
||||
|
||||
modules[key] = pom
|
||||
}
|
||||
}
|
||||
if duplicate {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
for _, pom := range poms {
|
||||
pom.FixDeps(modules)
|
||||
|
Reference in New Issue
Block a user