All Projects → HaxeFoundation → Haxelib

HaxeFoundation / Haxelib

The Haxe library manager

Programming Languages

haxe
709 projects

Projects that are alternatives of or similar to Haxelib

Biddle
Self-hosted application distribution
Stars: ✭ 66 (-44.54%)
Mutual labels:  package-manager
Apt Offline
Offline APT Package Manager
Stars: ✭ 102 (-14.29%)
Mutual labels:  package-manager
Scarf
An experimental prototype of a package manager and packaging ecosystem. Currently being rebuilt.
Stars: ✭ 108 (-9.24%)
Mutual labels:  package-manager
Akku
Language package manager for Scheme. (Bug reports to: https://gitlab.com/akkuscm/akku)
Stars: ✭ 82 (-31.09%)
Mutual labels:  package-manager
Instawow
World of Warcraft add-on manager CLI and GUI
Stars: ✭ 98 (-17.65%)
Mutual labels:  package-manager
Pacui
Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur/Pamac-cli functionality in a simple UI
Stars: ✭ 103 (-13.45%)
Mutual labels:  package-manager
Bibliothecary
📔 Libraries.io Package Manager Manifest Parsers
Stars: ✭ 62 (-47.9%)
Mutual labels:  package-manager
Bpkg
Lightweight bash package manager
Stars: ✭ 1,601 (+1245.38%)
Mutual labels:  package-manager
Dotnet Unpkg
Pure .NET front-end HTML package management using unpkg.com as a source
Stars: ✭ 103 (-13.45%)
Mutual labels:  package-manager
Yarn
The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
Stars: ✭ 40,325 (+33786.55%)
Mutual labels:  package-manager
Pypi Server
Tornado based server like pypi.python.org. With caching from pypi.
Stars: ✭ 83 (-30.25%)
Mutual labels:  package-manager
Apk Tools
[MIRROR] Alpine package manager
Stars: ✭ 92 (-22.69%)
Mutual labels:  package-manager
Conda.jl
Conda managing Julia binary dependencies
Stars: ✭ 105 (-11.76%)
Mutual labels:  package-manager
Vpkg
An alternative package manager for V.
Stars: ✭ 78 (-34.45%)
Mutual labels:  package-manager
Pkgverse
📦🔭🌠 Create your own universe of packages à la tidyverse
Stars: ✭ 108 (-9.24%)
Mutual labels:  package-manager
Dnfdragora
dnfdragora is a dnf frontend based on libyui abstraction
Stars: ✭ 65 (-45.38%)
Mutual labels:  package-manager
Ruckzuck
software package manager for windows
Stars: ✭ 103 (-13.45%)
Mutual labels:  package-manager
Npackd
Package manager for Microsoft Windows: Wiki, bug tracker, mirror of the default repositories
Stars: ✭ 118 (-0.84%)
Mutual labels:  package-manager
Alire
Command-line tool from the Alire project and supporting library
Stars: ✭ 108 (-9.24%)
Mutual labels:  package-manager
Raven
Raven is a Package Manager for Chez Scheme
Stars: ✭ 107 (-10.08%)
Mutual labels:  package-manager

TravisCI Build Status AppVeyor Build Status

Haxelib: library manager for Haxe

Haxelib is a library management tool shipped with the Haxe Toolkit.

It allows searching, installing, upgrading and removing libraries from the haxelib repository as well as submitting libraries to it.

For more documentation, please refer to http://lib.haxe.org/documentation/

Development info

Running the haxelib server for development

The server has to be compiled with Haxe 3.2.1+. It can be run in Apache using mod_neko / mod_tora.

Currently using Docker is the simpliest way to build and run the server. It doesn't require setting up Apache or MySQL since everything is included in the container. We would recommend to use the Docker Platform instead of the Docker Toolbox.

To start, run:

docker-compose -f test/docker-compose.yml up -d

The command above will copy the server source code and website resources into a container, compile it, and then start Apache to serve it. To view the website, visit http://localhost:2000/ (or http://$(docker-machine ip):2000/ if the Docker Toolbox is used).

Since the containers will expose port 2000 (web) and 3306 (MySQL), make sure there is no other local application listening to those ports. In case there is another MySQL instance listening to 3306, we will get an error similar to Uncaught exception - mysql.c(509) : Failed to connect to mysql server.

To stop the server, run:

docker-compose -f test/docker-compose.yml down

If we modify any of the server source code or website resources, we need to rebuild the image and replace the running container by issuing the commands as follows:

docker-compose -f test/docker-compose.yml build
docker-compose -f test/docker-compose.yml up -d

To iterate quickly during development, we can use -f test/docker-compose-dev.yml in place of -f test/docker-compose.yml when starting the container. -f test/docker-compose-dev.yml mounts the repo's /www folder to the container, such that there is no need to rebuild and replace the running containers. Instead, after modifying the server source code or html templates, run haxe server.hxml and the container should pick up the changes immediately. The downside of this is that we have to make sure we've installed the right haxelib dependencies. Also, Docker only allows mounting folders in certain locations (e.g. /Users on Mac), so it may not work if we cloned the repo to /my_projects/haxelib.

To run haxelib client with this local server, prepend the arguments, -R $SERVER_URL, to each of the haxelib commands, e.g.:

neko bin/haxelib.n -R http://localhost:2000/ search foo

To run integration tests with the local development server:

# prepare the test files
haxe prepare_tests.hxml

# run the tests
haxe integration_tests.hxml

Note that the integration tests will reset the server database before and after each test.

About this repo

Build files:

  • client.hxml: Build the current haxelib client.
  • client_tests.hxml: Build and run the client tests.
  • client_legacy.hxml: Build the haxelib client that works with Haxe 2.x.
  • server.hxml: Build the new website, and the Haxe remoting API.
  • server_tests.hxml: Build and run the new website tests.
  • server_each.hxml: Libraries and configs used by server.hxml and server_tests.hxml.
  • server_legacy.hxml: Build the legacy website.
  • integration_tests.hxml: Build and run tests that test haxelib client and server together.
  • package.hxml: Package the client as package.zip for submitting to the lib.haxe.org as haxelib.
  • prepare_tests.hxml: Package the test libs.
  • ci.hxml: Used by our CIs, TravisCI and AppVeyor.

Folders:

  • /src/: Source code for the haxelib tool and the website, including legacy versions.
  • /bin/: The compile target for building the haxelib client, legacy client, and others.
  • /www/: The compile target (and supporting files) for the haxelib website (including legacy server)
  • /test/: Source code and files for testings.

Other files:

  • schema.json: JSON schema of haxelib.json.
  • deploy.json: Deploy configuration used by haxelib run ufront deploy for pushing the haxelib website to lib.haxe.org.
  • deploy_key.enc: Encrypted ssh private key for logging in to lib.haxe.org. Used by TravisCI.
  • Dockerfile: Docker build file for building an image that runs the haxelib server.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].