Giter VIP home page Giter VIP logo

colcon-metadata's Introduction

colcon-common-extensions

A meta package aggregating colcon-core as well as a set of common extensions.

colcon-metadata's People

Contributors

cottsay avatar dirk-thomas avatar jacobperron avatar mikaelarguedas avatar nuclearsandwich avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

colcon-metadata's Issues

Colcon metas regex support.

I am trying to use a colcon.meta file and I require to pass a flag to several of my packages. It is the same flag for a subset of my packages.
Is there any chance to have the ability to use a regular expression pattern either in the place of a name or a different mode: "pattern"?

{
    "names":{
        ".*_no_shared":{
            "cmake-args":[
                "-DBUILD_SHARED_LIBS=OFF",
            ]
        }
}
{
    "pattern":{
        ".*_no_shared":{
            "cmake-args":[
                "-DBUILD_SHARED_LIBS=OFF",
            ]
        }
}

Is there anything in colcon that covers my requirement?
I would be happy to help with this with a PR.

Multiple meta files behavior

Hi, I would like to know which is the default behavior when multiple .meta files are used when calling the build. For example if I call colcon build --metas conf1.meta conf2.meta with the following files:

conf1.meta

{
    "names": {
        "package1": {
            "cmake-args": [
                "-DOPTION_1=1",
                "-DOPTION_2=2",
                "-DOPTION_3=3",
            ]
        }
    }
}

conf2.meta

{
    "names": {
        "package1": {
            "cmake-args": [
                "-DOPTION_2=22",
                "-DOPTION_4=4",
            ]
        }
    }
}

Are all the options being merged and duplicated ones being overwritted with order-based priority?

Thanks

colcon.pkg do not use symlink-install

Hello,

I'm trying to create a colcon.pkg file to give default command line arguments to my package. I saw this issue: colcon/colcon-core#111 but I still have some problems. I want to specify that my launch package use the option --symlink-install. When I do colcon build --symlink-install, I get effectively symlink on my package. When i try to put it in my colcon.pkg to affect only this package and not whole workspace, this option seems to be ignored

My colcon.pkg file:

{
  "symlink-install": true,
}

Can you help me find what I do wrong ?
Thanks !

Suggestion: `colcon.meta` support multiple targets

Good morning,

I would like to contribute with a suggestions that I (and many of my colleagues) think that it would be an incredibly useful feature (and not very hard to implement).

Current behaviour

colcon.meta allows to set names and paths to find ONE packages and add compilation flags to it.

New desired behaviour

Allow to set compilation flags for many packages at the same time, by using a wildcard, regex or a new parameter in json file to specify which ones.

Example

Current:

{
  "names":
  {
    "package1":
    {
      "cmake-args":
      [
        "-DCMAKE_BUILD_TYPE=Debug"
      ]
    },
    "package2":
    {
      "cmake-args":
      [
        "-DCMAKE_BUILD_TYPE=Debug"
      ]
    }
  }
}

Desired:

{
  "names":
  {
    "package*":
    {
      "cmake-args":
      [
        "-DCMAKE_BUILD_TYPE=Debug"
      ]
    }
  }
}

Provide a remove verb

Users can add metadata repositories via commandline but currently cannot remove them and have to go remove / edit the metadata_repositories.yaml by hand

Unable to remap a name with colcon.meta for Eigen3

Context

I've downloaded Eigen 3.3

eigen: { type: 'git', url: 'https://gitlab.com/libeigen/eigen.git', version: '3.3' }

into the source workspace alongside other ament packages. Colcon discovers the package and can compile it, but it needs to be inserted into the colcon build graph so that it gets built prior to packages that depend on it (e.g. sophus). These packages use the eigen key for discover, but colcon, by default, discovers Eigen3 as the key since that is the cmake name of the project. Hence, need to remap the name.

What Works

Using a colcon.pkg file, with remapped name (and incidentally, some cmake args to customise the build).

name: "eigen"
type: cmake
"cmake-args":
  - "-DBUILD_TESTING=OFF"
  - "-DEIGEN_TEST_NOQT=ON"

What doesn't work

Using a colcon.meta file placed one down from the src directory (default lookup point). Colcon does detect this (I can introduce a parsing error failure by putting incorrect syntax into the file), even applies the cmake-args if I use Eigen3 as the name, but it doesn't remap the name with:

names:
    "Eigen3":
        name: "eigen"
        type: cmake
        "cmake-args":
            - "-DBUILD_TESTING=OFF"
            - "-DEIGEN_TEST_NOQT=ON"

Note, using paths (i.e. src/eigen) does not work either.

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.