summaryrefslogtreecommitdiff
path: root/trunk/qpid/java/genpom
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/qpid/java/genpom')
-rwxr-xr-xtrunk/qpid/java/genpom150
1 files changed, 0 insertions, 150 deletions
diff --git a/trunk/qpid/java/genpom b/trunk/qpid/java/genpom
deleted file mode 100755
index e3b89d0568..0000000000
--- a/trunk/qpid/java/genpom
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/usr/bin/python
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-import sys, re, os, mllib, optparse
-
-def die(msg):
- print >> sys.stderr, msg
- sys.exit(1)
-
-parser = optparse.OptionParser(usage="usage: %prog [options] JARs ...",
- description="Generates a pom.")
-parser.add_option("-n", "--name")
-parser.add_option("-g", "--group")
-parser.add_option("-a", "--artifact")
-parser.add_option("-v", "--version")
-parser.add_option("-d", "--description", default="")
-parser.add_option("-u", "--url", default="")
-parser.add_option("-i", "--ignore", action="store_true", help="ignore missing poms")
-parser.add_option("-s", "--search-path", action="append",
- help="the path to search for poms")
-parser.add_option("-S", "--scope", metavar="ARTIFACT=SCOPE", action="append",
- default=[],
- help="specify scope for an artifact")
-parser.add_option("-o", "--output")
-
-opts, jars = parser.parse_args()
-
-if opts.search_path is None:
- path=["%s/.m2" % os.environ["HOME"]]
-else:
- path = []
- for p in opts.search_path:
- path.extend(p.split(":"))
-
-expanded_path = []
-for p in path:
- os.path.walk(p, lambda a, d, fs: expanded_path.append(d), None)
-
-if opts.group is None:
- die("the group option is required")
-
-if opts.version is None:
- die("the version option is required")
-
-if opts.name is None and opts.artifact is None:
- die("one of name or artifact must be supplied")
-
-if opts.name is None:
- opts.name = opts.artifact
-
-if opts.artifact is None:
- opts.artifact = opts.name
-
-def lookup(pom, attr):
- nd = pom["project"][attr]
- if nd is None:
- nd = pom["project/parent"][attr]
- if nd is None:
- return None
- return nd.text()
-
-def search(path, file):
- for d in path:
- f = os.path.join(d, file)
- if os.path.exists(f):
- return mllib.xml_parse(f)
-
-scopes = {}
-for s in opts.scope:
- m = re.match(r"(.*)=(.*)", s)
- if not m:
- die("bad scope specifier: %s" % s)
- scopes[m.group(1)] = m.group(2)
-
-deps = []
-for jar in jars:
- base, ext = os.path.splitext(os.path.basename(jar))
- pom = search(expanded_path, "%s.pom" % base)
- if pom is None:
- if opts.ignore:
- continue
- else:
- die("unable to locate pom for %s" % jar)
- group = lookup(pom, "groupId")
- artifactId = lookup(pom, "artifactId")
- version = lookup(pom, "version")
- deps.append("""
- <dependency>
- <groupId>%s</groupId>
- <artifactId>%s</artifactId>
- <version>%s</version>
- <scope>%s</scope>
- </dependency>
-""" % (group, artifactId, version,
- scopes.get(artifactId, "compile")))
-
-TEMPLATE = """<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
- <modelVersion>4.0.0</modelVersion>
- <groupId>%(group)s</groupId>
- <artifactId>%(artifact)s</artifactId>
- <version>%(version)s</version>
- <name>%(name)s</name>
- <url>%(url)s</url>
- <description>%(description)s</description>
- <organization>
- <name>The Apache Software Foundation</name>
- <url>http://www.apache.org</url>
- </organization>
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>/LICENSE.txt</url>
- </license>
- </licenses>
- <dependencies>
- %(dependencies)s
- </dependencies>
-</project>
-"""
-
-vars = {}
-vars.update(opts.__dict__)
-vars["dependencies"] = "".join(deps)
-
-if opts.output is None:
- out = sys.stdout
-else:
- out = open(opts.output, "w")
-out.write(TEMPLATE % vars)
-out.close()