Adding means to build pom files for publishing to Maven repository.
Change-Id: Ife5b8570652e9b35744a4276c0896c69c4f5dcf3
diff --git a/tools/build/bazel/pom_generator.py b/tools/build/bazel/pom_generator.py
new file mode 100755
index 0000000..2e16f49
--- /dev/null
+++ b/tools/build/bazel/pom_generator.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python
+"""
+ Copyright 2018-present Open Networking Foundation
+
+ Licensed 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.
+"""
+
+POM_HEADER = '''\
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-base</artifactId>
+ <version>1</version>
+ </parent>'''
+POM_FOOTER = '</project>\n'
+
+ID_BLOCK = '''
+ <groupId>%s</groupId>
+ <artifactId>%s</artifactId>
+ <version>%s</version>
+ <name>%s</name>
+'''
+
+DEPENDENCIES_HEADER = ' <dependencies>\n'
+DEPENDENCIES_FOOTER = ' </dependencies>\n'
+
+DEPENDENCY_BLOCK = ''' <dependency>
+ <groupId>%s</groupId>
+ <artifactId>%s</artifactId>
+ <version>%s</version>
+ </dependency>
+'''
+
+def write(name, msg):
+ if name is not None:
+ with open(name, "w") as file:
+ file.write(msg)
+ else:
+ print msg
+
+
+def write_pom(output, coords, deps):
+ mvn = coords.split(':')
+ lines = POM_HEADER
+ lines += ID_BLOCK % (mvn[1], mvn[2], mvn[3], mvn[2])
+ lines += DEPENDENCIES_HEADER
+
+ for dep in deps:
+ mvn = dep.split(':')
+ lines += DEPENDENCY_BLOCK % (mvn[1], mvn[2], mvn[len(mvn)-1])
+
+ lines += DEPENDENCIES_FOOTER
+ lines += POM_FOOTER
+ write(output, lines)
+
+if __name__ == '__main__':
+ import sys
+
+ if len(sys.argv) < 3:
+ print 'usage: pom_generator pom.xml maven_coords dep_coords1 dep_coords2 ...'
+ sys.exit(1)
+
+ output = sys.argv[1]
+ coords = sys.argv[2]
+ deps = sys.argv[3:]
+
+ write_pom(output, coords, deps)