If you found some error or want append more information please add pull request in github or create new issues for ask or problem

wsjcpp

Yet another... C++ Source Package Manager.

Issues

You can add any issues on github: https://github.com/wsjcpp/wsjcpp/issues

Or write me an e-mail with topic: "wsjcpp" to mrseakg@gmail.com

I need your help with this project!
Please rate it with a star, follow updates notifications by clicking on "watch" button or just make a fork https://github.com/wsjcpp/wsjcpp
For submitting the official package into brew: "GitHub repository is not notable enough (<30 forks, <30 watchers and <75 stars)"

features - has implementation

all goals - not yet implemented


Install

MacOS: brew

Via brew To upgrade package:

MacOS: build from source code


Debian/Ubuntu: build && install from source code

Look on YouTube

Docker

Step 1. Install the latest docker into your system

Step 2. Pull a container with wsjcpp


Step 3. Change the directory to the one containing your project (cd ~/my-project)

Step 4. Run interactive command line container

Now you can use "wsjcpp" command and build/run your project


more dependencies in docker image

If you need more deb packages and programs than the image "sea5kg/wsjcpp:latest" contains, you can install it via apt, but don't forget that after restarting the container they will be lost.


To solve this problem you need to prepare Dockerfile.dev that looks something like this:


Now you can use "wsjcpp" command and build/run your project

Build your docker image:


Run container from your image (+ extend port):

Documentation

search packages in github

I think that better praxis is to add topic in the github repository: https://github.com/topics/wsjcpp-package

init new package

Then you need to specify several fields (or you can do it later in wsjcpp.yml): At this step different files will be generated (if they don't exist), eg:

Submit source packages into wsjcpp

At the moment, wsjcpp can work with public repositories in

Below you can see that it is easy to submit wsjcpp-package:

Step 1. Create "wsjcpp.yml" file with minimal content (please fill in the fields with your data) in your repository

Step 2. And add topic
"wsjcpp-package"
into your public github project

Step 3. Test installation of your project



wsjcpp info

Information about current package. Example:

wsjcpp distribution

Developer defines what exactly your package will distribute (without main/trash/unit-tests - only core code). Example:

wsjcpp unit-tests

Create unit-tests for your distributed files Example:

wsjcpp generate

Generate source code from templates supplied with packages Example:

wsjcpp resources

Convert binary or text resource files into C++ code Example:
How to use resources from code:

wsjcpp prepare

Prepare some usefull files

Contacts

E-mail: mrseakg@gmail.com

Telegram: https://t.me/wsjcpp

Official web-site: https://wsjcpp.org

GitHub: https://github.com/wsjcpp/wsjcpp


Ideas


idea: wsjcpp prepare deb-package
idea

Prepare folder with a deb package


idea: wsjcpp prepare ppa-package
idea

Prepare folder for a ppa source package


idea: wsjcpp prepare dockerfile
idea

Prepare sample Dockerfile for you package

GitHub Issue

idea: wsjcpp docs generate
idea

Scan sources and generate documentation like a doxygen

GitHub Issue

idea: web-dev-panel
idea

launch: wsjcpp web-dev-panel start --web ./web --project-dir ./project --port 8777

Or simply (default port: 8777): wsjcpp web-dev-panel start

missing package: wsjcpp-do-run-command

What will be done:
  • Simple web app
  • File tree of a project (exclude git maybe)
  • Code editor: using a CodeMirror
  • Command line web
  • Tabs: editor / console / test / packages / docs
  • Or buttons: build / run-unit-tests

GitHub Issue


idea: add support conan

1. Push/prepare package for conan.io

2. Install packages from conan.io



idea: wsjcpp clean

Call the script ./clean.sh

idea: wsjcpp install -g "url"

Add installation to global directory in system / or in home user directory

idea: wsjcpp install "git@github.com:...."

Add support of installation packages from private repository (with credentials https/ssh/git)

idea: wsjcpp server-origin start

Same "registry"

Web server for caching/registry source packages in local network (e.g. for use within your company)
Not implemented yet

what will be included:

тезисы

Он же билд сервер - для проверки пакетов (на основе докера)

Без авторизации - просто ссылка на репозиторий (github) и версию пакета (типа wsjcpp publish link : version) - также сохраняются все файлы для дистрибьюции - запрещена повторная заливка пакета

С авторизацией (простенькая) - загружается сорс код по файлово - то что в дистрибьюции - надо проработать протокол типа заливается вначале wsjcpp.yml - потом дозаливаются все остальные файлы

Регистрация только в ручном режиме - заходим в админку и добавляем пользователя с ролью девелопер

Состояние сборки и тестов (если не прошли тесты и сборка то пакет дропается с сервера а состояния остаются)

Хранятся последняя версия пакета а также версии на которые ссылаются предыдущие + хранятся unit-tests - весь остальной храм удаляется

Команды:

wsjcpp publish ссылка-на-гитхаб:бранч-или-тег

wsjcpp publish путь-до-локального-пакета

wsjcpp publish --origin ссылка-сервера-регистратора что-куда

если оригин не указан то используется дефолтный wsjcpp.org