blob: d9d81a51e84856f29d1520ec28a4198c33c2ae87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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.'
|