Giter Site home page Giter Site logo

bincrafters / templates Goto Github PK

View Code? Open in Web Editor NEW
75.0 11.0 19.0 242 KB

Collection of Conan recipe + CI templates

License: MIT License

Python 87.09% CMake 10.21% C++ 2.71%
conan template ci appveyor azure azure-pipelines gha github-actions templates azp

templates's Introduction

Templates for Conan

This repository contains "templates" for Git repositories hosting Conan recipes and related files for setting up Continuous Integration services and GitHub. Please report questions or problems here:

https://github.com/bincrafters/community/issues/new

Getting Files

Click on the following link to directly create a new GitHub repository with our templates:

alternatively, you can clone this repository and manually copy all the files to a new repository.

Adapt The Template

Thoroughly review the following files, and edit any lines necessary:

  1. Choose the right folder in recipes/ - depending on the type of software you want to package - a regular library, a header-only project or an executable/installer-only project
  2. Rename the respective folder to the name of your new package (e.g. rename default to sdl) - delete the other unused folders
  3. Now edit the files in your new folder as described in the following steps
  4. config.yml - Replace the version
  5. conandata.yml - Replace version, download url and the SHA256 checksum (explanation)
  6. conanfile.py - Virtually every line may need editing
  7. test_package/ - Write a minimal test case
  8. Test your recipe locally by running e.g. conan create . <libname>/<version>@<your-name>/stable
  9. README.md - You probably want to edit this Readme to tell your users what they can find in your repository
  10. Commit your work to git

If you want to add more Conan recipes in the future, copy the fitting recipes/ subfolder again in your repository and repeat the steps above. You can have an arbitrary amount of recipes in a single repository.

Maintaining Templates

These templates will always contain some duplicate content. When a change is required, the most thorough and efficient approach is to use a mechanism which lets you search/find/replace all instances of a particular piece of text in all files at one time. Most graphical text editors have a feature for this, and command-line tools like sed are also capable of doing this. However, the differences between the templates are often subtle and intentional, so most changes should be considered separately in the context of the template. Use your best judgement to avoid mistakes.

templates's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.