summaryrefslogtreecommitdiffstats
path: root/tools/devassistant/assistants/crt/c/openlmi.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'tools/devassistant/assistants/crt/c/openlmi.yaml')
-rw-r--r--tools/devassistant/assistants/crt/c/openlmi.yaml87
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.'