diff options
Diffstat (limited to 'tools/devassistant/assistants/crt/c/openlmi.yaml')
-rw-r--r-- | tools/devassistant/assistants/crt/c/openlmi.yaml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/tools/devassistant/assistants/crt/c/openlmi.yaml b/tools/devassistant/assistants/crt/c/openlmi.yaml new file mode 100644 index 0000000..d9d81a5 --- /dev/null +++ b/tools/devassistant/assistants/crt/c/openlmi.yaml @@ -0,0 +1,87 @@ +openlmi: + fullname: OpenLMI + description: OpenLMI assistant will help you create an OpenLMI provider and install necessary dependencies. + + dependencies: + - use: super.dependencies + - rpm: ['gcc', 'glibc-devel', 'openlmi-providers-devel', 'openlmi-indicationmanager-libs-devel', 'python-sphinx-theme-openlmi', 'cmake', 'sblim-cmpi-devel', 'konkretcmpi-devel'] + + dependencies_eclipse: + - use: eclipse.dependencies_c + + dependencies_vim: + - use: vim.dependencies + + args: +# name: +# use: common_args + + vim: + snippet: vim + + eclipse: + snippet: eclipse + + github: + snippet: common_args + + files: + csources: &csources + source: . + + run: + - $dirname: $(dirname "$name") + - $basename: $(basename "$name") + - $lbasename: $(basename "$name" | tr '[A-Z]' '[a-z]') + - log_i: "Project name will be converted to lowercase letters ($lbasename)" + - $lowername: $(echo "$dirname/$lbasename") + - if not $(ls "$lowername"): + - log_i: 'Copying c source tree to project destination' + - cl_i: cp -r *csources "$lowername" + - dda_c: "$lowername" + - cl: cd "$lowername" + + # for some reason the \n newlines are often parsed badly (ignored), this doesn't seem to happen with \r newlines + # https://bugzilla.redhat.com/show_bug.cgi?id=1061207 + - for $i in $(find -type f -name '*.tpl' -printf '%p\r'): + - log_i: "Processing file $i..." + - jinja_render: + template: + source: $i + destination: $(pwd) + data: + PROJECT_NAME: $basename + + - cl: for j in `find -name '*{{PROJECT_NAME}}*'`; do mv "$j" "`echo $j | sed 's/{{PROJECT_NAME}}/$basename/'`"; done + - cl: find -name '*.tpl' -delete + - use: git_init_add_commit + - else: + - cl: cd "$lowername" + - log_i: 'Project already exists' + + - log_i: 'Running cmake' + - cl_i: mkdir build + - cl_i: cd build + - cl_i: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=0 + - cl_i: make clean + - log_i: 'Compiling sources' + - cl_i: make + - cl_i: cd .. + - if defined $vim: + - use: vim.run + - if $eclipse: + - use: eclipse.run_c + - if defined $github: + - log_i: "Push to GitHub repository" + - github: create_and_push + + - log_i: 'OpenLMI provider sources have been generated, remember it''s just a skeleton' + - log_i: 'that should be filled in order to make the provider usable. Specifically classes' + - log_i: 'in MOF files and corresponding code in the generated skeleton.' + - log_i: '' + - log_i: 'Have a look at http://www.openlmi.org/development website for further instructions' + - log_i: 'and examples.' + - log_i: '' + - log_i: 'To install the sources, run "make install" in the build directory. Provider' + - log_i: 'registration is need to be done as a next step, have a look at "make help" and' + - log_i: 'related "register-XXX" and "unregister-XXX" make targets.' |