Merges branch sol006 into master
[osm/osmclient.git] / snap / snapcraft.yaml
1 ---
2 ##
3 # Copyright 2020 ETSI
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
8 #
9 #         http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
15 # under the License.
16 ##
17 name: osmclient
18 base: core18
19 version: git
20 summary: A python client for orchestrating OSM
21 description: |
22   A python client for orchestrating Open Source Mano (OSM).
23
24 grade: stable
25
26 confinement: strict
27
28 environment:
29   LC_ALL: C.UTF-8
30   LANG: C.UTF-8
31
32 apps:
33   osm:
34     command: usr/bin/python3 $SNAP/usr/local/bin/osm
35     plugs:
36       - network
37       - home
38       - ssh-public-keys
39     environment:
40       PATH: $SNAP/usr/bin:$SNAP/bin/:$PATH
41       PYTHONPATH: $SNAP/usr/lib/python3/dist-packages:$PYTHONPATH
42       MAGIC: $SNAP/usr/share/file/magic.mgc
43
44 parts:
45   client:
46     plugin: dump
47     source: .
48     build-environment:
49       - PATH: "$PATH:$SNAPCRAFT_PART_INSTALL/usr/local/bin"
50     build-packages:
51       - gcc
52       - git
53       - make
54       - wget
55     stage-packages:
56       - libmagic1
57       - python3
58       - python3-dev
59       - python3-pip
60       - python3-pycurl
61       - python3-setuptools
62     override-build: |
63       $SNAPCRAFT_PART_INSTALL/usr/bin/pip3 install wheel
64       $SNAPCRAFT_PART_INSTALL/usr/bin/pip3 install pyang
65       $SNAPCRAFT_PART_INSTALL/usr/bin/pip3 install pyangbind
66       PATH="$PATH:$SNAPCRAFT_PART_INSTALL/usr/local/bin"
67       BRANCH_OR_TAG=`git symbolic-ref -q --short HEAD || git describe --tags --exact-match 2>/dev/null || echo $BRANCH`
68       git clone https://osm.etsi.org/gerrit/osm/IM.git
69       cd IM/
70       git checkout $BRANCH_OR_TAG
71       $SNAPCRAFT_PART_INSTALL/usr/bin/pip3 install .
72       cd ../ && rm -rf IM/
73       $SNAPCRAFT_PART_INSTALL/usr/bin/pip3 install .
74       rm -rf .tox
75       snapcraftctl build