Additional properties are not allowed ('filesets' was unexpected)


#1

Hi all!
I got this error:


Starting snapcraft 3.4.1 from /snap/snapcraft/2900/lib/python3.5/site-packages/snapcraft/cli.
Parts dir /home/szyk/!-EnergoKod/Textprofan2/parts
Stage dir /home/szyk/!-EnergoKod/Textprofan2/stage
Prime dir /home/szyk/!-EnergoKod/Textprofan2/prime
Using 'snap/snapcraft.yaml': Project assets will be searched for from the 'snap' directory.
snapcraft is running as a snap True, SNAP_NAME set to 'snapcraft'
Traceback (most recent call last):
  File "/snap/snapcraft/2900/lib/python3.5/site-packages/snapcraft/project/_schema.py", line 69, in validate
    self._snapcraft, self._schema, format_checker=format_check
  File "/snap/snapcraft/2900/lib/python3.5/site-packages/jsonschema/validators.py", line 478, in validate
    cls(schema, *args, **kwargs).validate(instance)
  File "/snap/snapcraft/2900/lib/python3.5/site-packages/jsonschema/validators.py", line 123, in validate
    raise error
jsonschema.exceptions.ValidationError: Additional properties are not allowed ('filesets' was unexpected)

for this snapcraft.yaml file:


name: textprofan2
version: '2.6'
summary: Textprofan2 is a simple programmer text editor
description: |
    Textprofan2 is a simple programmer text editor writen in Qt in monolithic style.
#icon: usr/share/Textprofan2/Images/Textprofan3Logo.svg
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
base: core18

apps:
    textprofan2:
        command: desktop-launch $SNAP/bin/Textprofan2
        desktop: share/Textprofan2/Txt/Textprofan2.desktop
        environment:
            LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
filesets:
    share:
    - Csv/*
    - Dictionaries/*
    - Images/*
    - Txt/



parts:
    energo-kod-tools:
        plugin: cmake
        source: ./Libs/EnergoKodTools
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        after: [desktop-qt5]

    energo-kod-editor1:
        plugin: cmake
        source: ./Libs/EnergoKodEditor1
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        after: [desktop-qt5, energo-kod-tools, extra-cmake-modules, kf5-syntax-highlighting, qtcsv, hunspell]

    extra-cmake-modules:
        plugin: cmake
        source: ./Libs/3rdparty/KSyntaxHighlighter/extra-cmake-modules
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        after: [desktop-qt5]

    kf5-syntax-highlighting:
        after: [extra-cmake-modules]
        plugin: cmake
        source: ./Libs/3rdparty/KSyntaxHighlighter/syntax-highlighting
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        after: [desktop-qt5]
        configflags:
        - -DCMAKE_PREFIX_PATH=/root/parts/extra-cmake-modules/install/share/ECM/cmake/
#        - -DCMAKE_PREFIX_PATH=$SNAPCRAFT_STAGE/share/ECM

    qtcsv:
        plugin: cmake
        source: ./Libs/3rdparty/qtcsv
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        after: [desktop-qt5]

    hunspell:
        plugin: cmake
        source: ./Libs/3rdparty/Hunspell
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev

    desktop-qt5:
      source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
      source-subdir: qt
      plugin: make
      make-parameters: ["FLAVOR=qt5"]
      build-packages:
        - qtbase5-dev
        - dpkg-dev
      stage-packages:
        - libxkbcommon0
        - ttf-ubuntu-font-family
        - dmz-cursor-theme
        - light-themes
        - adwaita-icon-theme
        - gnome-themes-standard
        - shared-mime-info
        - libqt5gui5
        - libgdk-pixbuf2.0-0
        - libqt5svg5 # for loading icon themes which are svg
        - try: [appmenu-qt5] # not available on core18
        - locales-all

    textprofan2:
        after: [desktop-qt5, energo-kod-tools, energo-kod-editor1, extra-cmake-modules, kf5-syntax-highlighting, qtcsv, hunspell]
        plugin: cmake
        source: .
        source-type: local
        build-packages:
        - build-essential
        - qttools5-dev
        override-build: |
          snapcraftctl build
          pwd
          cp ./Textprofan2 $SNAPCRAFT_PART_INSTALL/bin/.
        stage-packages:
        - libqt5core5a
        - libqt5network5
        - libqt5printsupport5
        - libxcomposite1
        - libxcursor1
        - libxinerama1
        - libxrandr2
        - libatk1.0-0
        - libgtk2.0-0
        organize:
            Csv/*: usr/share/Textprofan2/Csv
            Dictionaries/*: usr/share/Textprofan2/Dictionaries
            Images/*: usr/share/Textprofan2/Images
            Txt/*: usr/share/Textprofan2/Txt
        filesets:
            resources:
            - usr/share/Textprofan2/*
        prime:
            - $resources
        stage:
            - $resources

Any idea what is wrong in this file?


#2

Hello!

I can help, the filesets keyword is a per part keyword and does not live top level so should live within the part where it applies.