aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/package/karaf-assembly
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/package/karaf-assembly')
-rwxr-xr-xframework/src/onos/tools/package/karaf-assembly/onos-assembly.py80
-rw-r--r--framework/src/onos/tools/package/karaf-assembly/pom.xml84
2 files changed, 0 insertions, 164 deletions
diff --git a/framework/src/onos/tools/package/karaf-assembly/onos-assembly.py b/framework/src/onos/tools/package/karaf-assembly/onos-assembly.py
deleted file mode 100755
index 1e394bf6..00000000
--- a/framework/src/onos/tools/package/karaf-assembly/onos-assembly.py
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env python
-'''
- Builds synthetic feature file that includes all core, provider, and application
- features, so that we can pre-stage all bundles required to run ONOS off-line.
-'''
-
-import os
-import xml.etree.ElementTree as ET
-
-FEATURE_TAG = '{http://karaf.apache.org/xmlns/features/v1.2.0}feature'
-STAGED_REPOS = 'target/staged-repos.xml'
-
-if 'ONOS_ROOT' in os.environ:
- ONOS_ROOT = os.environ['ONOS_ROOT']
-else:
- # fallback to working directory if ONOS_ROOT is not set
- ONOS_ROOT = os.getcwd()
-
-def findFeatureFiles(path=ONOS_ROOT):
- #only descend into target directories that have pom
- for root, dirs, files in os.walk(path):
- if 'pom.xml' not in files:
- if 'target' in dirs:
- #pruning target dir with no pom.xml
- dirs.remove('target')
- if '/target' in root:
- if '/classes/' in root:
- #filter out features.xml for maven-plugin
- continue
- for f in files:
- if f.endswith('features.xml'):
- yield os.path.join(root, f)
-
-def featuresFromFile(file):
- features = []
- tree = ET.parse(file)
- root = tree.getroot()
- for feature in root.findall(FEATURE_TAG):
- features.append(feature.attrib['name'])
- return features
-
-if __name__ == '__main__':
- outputTree = ET.Element('features')
- uberFeature = ET.Element('feature', attrib={'name' : 'onos-uber-synthetic'})
- for file in findFeatureFiles():
- features = featuresFromFile(file)
- if len(features) > 0:
- ET.SubElement(outputTree, 'repository').text = 'file:%s' % file
- for feature in features:
- ET.SubElement(uberFeature, 'feature').text = feature
- outputTree.append(uberFeature)
-
- outputFile = os.path.join(os.path.dirname(os.path.realpath(__file__)), STAGED_REPOS)
- outputDir = os.path.dirname(outputFile)
- if not os.path.exists(outputDir):
- os.mkdir(outputDir)
- ET.ElementTree(outputTree).write(outputFile)
-
- import sys
- if '-d' in sys.argv:
- # -------- TODO for debug only --------
- def indent(elem, level=0):
- #function borrowed from: http://effbot.org/zone/element-lib.htm#prettyprint
- i = "\n" + level*" "
- if len(elem):
- if not elem.text or not elem.text.strip():
- elem.text = i + " "
- if not elem.tail or not elem.tail.strip():
- elem.tail = i
- for elem in elem:
- indent(elem, level+1)
- if not elem.tail or not elem.tail.strip():
- elem.tail = i
- else:
- if level and (not elem.tail or not elem.tail.strip()):
- elem.tail = i
-
- print 'Writing to file:', outputFile
- indent(outputTree)
- ET.dump(outputTree)
diff --git a/framework/src/onos/tools/package/karaf-assembly/pom.xml b/framework/src/onos/tools/package/karaf-assembly/pom.xml
deleted file mode 100644
index 4b47c0d1..00000000
--- a/framework/src/onos/tools/package/karaf-assembly/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- ~ Copyright 2014-2015 Open Networking Laboratory
- ~
- ~ 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.
- -->
-<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>
-
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-base</artifactId>
- <version>1</version>
- </parent>
-
- <groupId>org.onosproject</groupId>
- <artifactId>onos-assembly</artifactId>
- <version>1.0</version>
- <packaging>pom</packaging>
-
- <description>ONOS Apache Karaf assembly definitions</description>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.8</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <configuration>
- <target>
- <exec executable="python">
- <arg value="${basedir}/onos-assembly.py"/>
- </exec>
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <version>3.0.3</version>
-
- <executions>
- <execution>
- <id>features-add-to-repo</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>features-add-to-repository</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>file:${basedir}/target/staged-repos.xml</descriptor>
- </descriptors>
- <features>
- <feature>onos-uber-synthetic</feature>
- </features>
- <repository>target/repo</repository>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>