From 8ad581763e352360b87a32799822c311341acc89 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Wed, 6 Apr 2016 23:49:27 +0000 Subject: [PATCH] New code module generation script for ONL. Run as $ONL/tools/newmodule.py The new module is placed in the current working directory. --- tools/newmodule.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 tools/newmodule.py diff --git a/tools/newmodule.py b/tools/newmodule.py new file mode 100755 index 00000000..0ac2d599 --- /dev/null +++ b/tools/newmodule.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +################################################################ +# +# Copyright 2013, Big Switch Networks, Inc. +# +# Licensed under the Eclipse Public License, Version 1.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.eclipse.org/legal/epl-v10.html +# +# 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. +# +################################################################ +# +# This script generates a new code module and unit test build +# for this repository. +# +################################################################ + +import sys +import os + +# The root of the repository +ROOT = os.path.realpath("%s/.." % (os.path.dirname(__file__))) + +# Import infra +sys.path.append("%s/sm/infra/builder/unix/tools" % ROOT) + +# Import bigcode +sys.path.append("%s/sm/bigcode/tools" % ROOT) + +from modulegen import * + +# +# Import uCli support +# +from uclimod import * + + +if __name__ == "__main__": + + # Generate the module in the current directory. + ModuleGenerator.modulesBaseDir = "." + + # Use ONL config.mk in generated makefiles + GModuleMake.INIT_MK="$(ONL)/make/config.mk" + ModuleUnitTestTargetMake.INIT_MK="$(ONL)/make/config.mk" + + # + # Make it happen. + # + ModuleGenerator.main(globals().copy()) + + # Make sure the manifest gets regenerated. + os.system("rm -rf %s/make/module-manifest.mk" % ROOT) + + + + + + +