Giter VIP home page Giter VIP logo

cnpm's People

Contributors

alexeykostin88 avatar chak3r avatar gshep avatar mr-bit avatar shkarlatov avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

gshep

cnpm's Issues

Investigate xml/json

Try to chage description of package from call NPM_ADD_PACKAGE to package info by xml/json.
And call NPM_ADD_PACKAGE with this info.

Add delimiter to package name

set(
    PACKAGE_NAME
    ${NAME}-${VERSION}-${ARCHITECTURE}-${BUILD_NUMBER}${TAG}"
)

Add separator ("-") between ${BUILD_NUMBER} and ${TAG}
If the ${TAG} contains digits, it will not be possible to get the ${BUILD_NUMBER}

cnpm_add_package2

there is a need to get some inforamtion about package. For example, we use msvs-2019 package that checks the build environemnt. On CI several VSs installed so we need to select the right one.

special processing for corrupted local packages

If there are already some packages in local CNPM root and they are corrupted somehow (partially downloaded, wrong checksum, etc) then:

  1. remove the package(s) if it wasn't extracted correctly;
  2. show corresponding message. If the package(s) was downloaded during the current process then in addition show advise to check the package(s) on the server;
  3. stop CMake (fatal_error in previous step). User has to rerun CMake.

extraction failed if there is already a package in the root

-- stderr =
-- after extracting; status = 0
CMake Error at cmake/npm/NPM_PREPARE_PACKAGE.cmake:238 (file):
  file RENAME failed to rename

    D:/npm_env/tmp-36wEK/qt-5.9.9-amd64-2sdk18362_vsbt19

  to

    D:/npm_env/qt-5.9.9-amd64-2sdk18362_vsbt19

  because: No such file or directory

Call Stack (most recent call first):
  cmake/npm/CNPM_PREPARE_PACKAGES.cmake:211 (NPM_PREPARE_PACKAGE)
  CMakeLists.txt:311 (CNPM_PREPARE_PACKAGES)


CMake Error at cmake/npm/CNPM_PREPARE_PACKAGES.cmake:229 (include):
  include could not find load file:

    D:/npm_env/qt-5.9.9-amd64-2sdk18362_vsbt19/package.cmake
Call Stack (most recent call first):
  CMakeLists.txt:311 (CNPM_PREPARE_PACKAGES)

use prefix CNPM in API

  1. remove unnecessary set_architecture
  2. rename NastyPackageManager.cmake -> Include.cmake
  3. move tests to cnpm-tests
  4. rename all public vars NPM_* -> CNPM_*
  5. rename all public funcs NPM_* -> CNPM_*
  6. edit all logging and replace "NPM_* ..." -> "CNPM_* ..."
  7. update README.md

Extracting a package interrupted

if extracting a package is interrupted there should be no package folder in CNPM_ROOT.

There may be created corrupted package folders at the moment.

CNPM_ADD_PACKAGE: Tag not case sensitive

The CNPM_ADD_PACKAGE function is case-insensitive in the Tag field.
The string from the tag is converted to lowercase and fails to download the package.
At the moment, you must name the package in lowercase for correct operation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.