Giter Site home page Giter Site logo

pandademic / cello Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 5.81 MB

Fast , simple package management!

License: MIT License

Ruby 89.31% Batchfile 2.98% Dockerfile 7.70%
ruby open-source rubylang package-manager-tool package-managers cello package-manager

cello's Introduction

Cello

Cello is the package manager for people who crave a small , simple , extensible , package manager.


⚠️ This repo is kept for archival purposes only⚠️. See the section titled "The Future"


MIT License

Features

  • 🐞 small , 1.17 KB large
  • 😃 easy install & usage
  • 🚀 build you own database of packages , similar to scoop's buckets

Installation

Linux:


prerequisites


  • ruby 2.6 or higher
  • latest production zip.:warning: Nothing but the latest is supported
  • bundler gem

  • extract the file called cello.rb & the gemfile into your home directory
  • in your .bashrc or .zshrc add:
alias Cello ="ruby ~/cello.rb" 
  • if using fish , in your config.fish add:
alias Cello "ruby ~/cello.rb"
  • and then run
bundle install

to install dependencies.

  • Delete the gemfile
  • You should now be able to use Cello. Try:
Cello add getting-started

macos


prereqisites


  • extract the file called cello.rb & the gemfile into your home directory
  • in your .bashrc or .zshrc add:
alias Cello ="ruby ~/cello.rb" 
  • if using fish , in your config.fish add:
alias Cello "ruby ~/cello.rb"
  • and then run
bundle install

to install dependencies.

  • Delete the gemfile
  • You should now be able to use Cello. Try:
Cello add getting-started --main

windows


prereqisutes


  • ruby 2.6 or higher
  • Cello production zip
  • Cello.bat from the /tools/install/ dir
  • bundler gem

  • Extract the cello.rb & the gemfile into your home directory.
  • run sh bundle install
  • delete the gemfile.
  • you should be good to use Cello!

Usage/Examples


A Cello command consist's of 4 parts:

  • the command , always Cello
  • the call , something like add
  • the package the name of the package
  • the tray essentialy the database of your choice , a github repo of ini files . The tray is either main or AuthorsGHUsername/TheirRepoName in format : username/repo . With a -- in front. Ex: cello add getting-started --main

License

MIT

The Future

Sometime (soon, as of july 2022) in the future , cello will be re-written. Stay tuned for that!

cello's People

Contributors

code-factor avatar depfu[bot] avatar pandademic avatar

Stargazers

 avatar

Watchers

 avatar

cello's Issues

TODO

CodeFactor

Dockerfile improvments

command bob works for some reason

Getting /usr/lib/ruby/3.0.0/open-uri.rb:364:in open_http': 404 Not Found (OpenURI::HTTPError) from /usr/lib/ruby/3.0.0/open-uri.rb:741:in buffer_open' from /usr/lib/ruby/3.0.0/open-uri.rb:212:in block in open_loop' from /usr/lib/ruby/3.0.0/open-uri.rb:210:in catch' from /usr/lib/ruby/3.0.0/open-uri.rb:210:in open_loop' from /usr/lib/ruby/3.0.0/open-uri.rb:151:in open_uri' from /usr/lib/ruby/3.0.0/open-uri.rb:721:in open' from /usr/lib/ruby/3.0.0/open-uri.rb:29:in open' from /home/dada/Latte/core/latte.rb:15:in getPkgfile' from /home/dada/Latte/core/latte.rb:11:in findPkg' from /home/dada/Latte/core/latte.rb:43:in `

'

3.0 ci

/opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:364:in open_http': 404 Not Found (OpenURI::HTTPError) from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:741:in buffer_open'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:212:in block in open_loop' from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:210:in catch'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:210:in open_loop' from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:151:in open_uri'
from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:721:in open' from /opt/hostedtoolcache/Ruby/3.0.2/x64/lib/ruby/3.0.0/open-uri.rb:29:in open'
from core/latte.rb:16:in getPkgfile' from core/latte.rb:11:in findPkg'
from core/latte.rb:52:in `

'

v2.0 error

Instead of always errors :
sh no such file or directory [INSTALL COMMAND IN PACKAGE FILE]
in the case of get-started:
sh: line 1: wget https://raw.githubusercontent.com/Pandademic/Latte/master/docs/welcome.txt: No such file or directory

FLOG SCORE

64.4: flog total
16.1: flog/method average

21.1: Pkg::downloadLatest              ./core/cello.rb:32-46
19.6: main#none

TODO: all platform ci

  • ubuntu 2.6 ci
  • ubuntu 2.7 ci
  • ubuntu 3.0 ci
  • windows 2.6 ci
  • windows 2.7 ci
  • windows 3.0 ci
  • macos 2.6 ci
  • macos 2.7 ci
  • macos 3.0 ci

change contribution file

Currently , we use Emojis (🐛) to show commit type in the commit message.(:bug:=bugfix).Change this to words(BUGFIX: fix #1010111, NEWFILE: bob.md)

Fix 'Unused method argument - `query`. If it's necessary, use `_` or `_query` as an argument name to indicate that it won't be used. You can also write as `findPkg(*)` if you want the method to accept any arguments but don't care about them.' issue in core\cello.rb

CodeFactor found an issue: Unused method argument - query. If it's necessary, use _ or _query as an argument name to indicate that it won't be used. You can also write as findPkg(*) if you want the method to accept any arguments but don't care about them.

It's currently on:
core\cello.rb:8
Commit 680db8a

Wget instead of install command

Describe the bug
When you install a Package that uses the new install commands it continues to use WGET instead of running the command

To Reproduce
Steps to reproduce the behavior:
**NOTE: this won't show the bug if you have brew already , so trying it out on a virtual machine may be a good idea **
run sh latte install brew
2. then try using the brew command
What should happen is that :

system($isc.to_s)

What actually happens:

 puts 'running Install command as specified in Pkgfile'

core/latte.rb:27:in `<main>': uninitialized constant Mycase (NameError)

Errors with: core/latte.rb:27:in `

': uninitialized constant Mycase (NameError) 😕

To Reproduce
Steps to reproduce the behavior:

  1. clone repo
  2. run 'ruby core/latte.rb help'
  3. See error

Expected behavior
error that should show:
core/latte.rb:27:in `

': uninitialized constant Mycase (NameError)

**or : **
1.Make a pull request
2. Link this issue
3. open in gitpod and edit

TODO: fix reek errors

core/cello.rb -- 8 warnings:
[32]:TooManyStatements: Pkg#self.downloadLatest has approx 11 statements [https://github.com/troessner/reek/blob/v6.0.6/docs/Too-Many-Statements.md]
[16]:TooManyStatements: Pkg#self.getPkgfile has approx 8 statements [https://github.com/troessner/reek/blob/v6.0.6/docs/Too-Many-Statements.md]
[32]:UncommunicativeMethodName: Pkg#self.downloadLatest has the name 'downloadLatest' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Method-Name.md]
[16]:UncommunicativeMethodName: Pkg#self.getPkgfile has the name 'getPkgfile' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Method-Name.md]
[8]:UncommunicativeMethodName: Pkg#self.parsePkgName has the name 'parsePkgName' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Method-Name.md]
[42]:UncommunicativeVariableName: Pkg has the variable name '@isc' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Variable-Name.md]
[38]:UncommunicativeVariableName: Pkg has the variable name '@rurl' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Variable-Name.md]
[18, 20]:UncommunicativeVariableName: Pkg#self.getPkgfile has the variable name 'packageFileURL' [https://github.com/troessner/reek/blob/v6.0.6/docs/Uncommunicative-Variable-Name.md]

Fix 3 Style, 6 Maintainability issues in multiple files

CodeFactor found multiple issues:

Do not introduce global variables.

COPY to a relative destination without WORKDIR set.

Do not use apt as it is meant to be a end-user tool, use apt-get or apt-cache instead

Multiple consecutive RUN instructions. Consider consolidation.

Trailing spaces

Missing frozen string literal comment.

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.