• Stars
    star
    172
  • Rank 221,201 (Top 5 %)
  • Language Haxe
  • License
    MIT License
  • Created over 11 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Haxe library manager

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 https://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 Earthly and 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 containers. We would recommend to use the Docker Platform instead of the Docker Toolbox.

To build the server, run:

earthly +haxelib-server

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/ (or http://$(docker-machine ip)/ if the Docker Toolbox is used).

Since the containers will expose port 80 (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:

earthly +haxelib-server
docker-compose -f test/docker-compose.yml up -d

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/ search foo

To run tests:

earthly --allow-privileged +ci-tests

Note that the earthly +ci-tests target will create and destroy its own database.

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.
  • /terraform/: Terraform module that defines the haxelib server (lib.haxe.org) infrastructure.

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.
  • Earthfile: Earthly build file for building an image for Visual Studio Code Remote - Containers and an image for deploying to our infrastructure.

More Repositories

1

haxe

Haxe - The Cross-Platform Toolkit
Haxe
6,166
star
2

hashlink

A virtual machine for Haxe
C
810
star
3

neko

The Neko Virtual Machine
C
553
star
4

hxcpp

Runtime files for c++ backend for haxe
C++
297
star
5

hscript

Parser and interpreter for Haxe expressions
Haxe
262
star
6

intellij-haxe

Haxe plugin for IntelliJ Platform based IDEs (IDEA, Android-Studio)
Java
220
star
7

HaxeManual

The official Haxe manual
Haxe
218
star
8

as3hx

Convert AS3 sources to their Haxe equivalent
Haxe
174
star
9

hxnodejs

Haxe externs for working with node.js
Haxe
171
star
10

dox

Haxe documentation generator.
Haxe
146
star
11

format

Various files formats support for Haxe
Haxe
131
star
12

code-cookbook

The Haxe Code Cookbook - A community driven resource website for learning Haxe in practise
Haxe
112
star
13

haxe-evolution

Repository for maintaining proposal for changes to the Haxe programming language
111
star
14

haxe.org

The haxe.org website
HTML
81
star
15

haxe-markdown

A Markdown parser in Haxe.
Haxe
63
star
16

hxcs

Haxe C# support library. Build scripts and support code.
Haxe
57
star
17

record-macros

Macro-based ORM (object-relational mapping)
Haxe
49
star
18

hxcpp-debugger

Cross-platform debugger for hxcpp
Haxe
49
star
19

crypto

Cross platform cryptographic functions for Haxe
Haxe
48
star
20

npm-haxe

Install Haxe using Node Package Manager aka npm
JavaScript
46
star
21

hxjava

Haxe Java support library. Build scripts and support code.
Haxe
46
star
22

tora

NekoVM Application Server
Haxe
30
star
23

docker-library-haxe

Docker official image for Haxe
Dockerfile
28
star
24

ocamllibs

Various OCaml Libraries
OCaml
24
star
25

Project-Management

Project management and communication
20
star
26

haxedevelop.org

Website content and sources
Haxe
19
star
27

try.haxe.org

run Haxe code snippets in your browser
Haxe
18
star
28

hx3compat

Haxe 3 compatibility lib for Haxe 4
Haxe
16
star
29

html-externs

HTML externs for Haxe
IDL
15
star
30

hxnodelibs

Haxe
14
star
31

ocamhaxe

OCaml distribution for Haxe compilation
Haxe
11
star
32

haxe-debian

Debianizing Haxe
Haxe
11
star
33

api.haxe.org

Haxe API documentation
Haxe
10
star
34

hxgithub

Haxe
8
star
35

haxe-terraform

Haxe Foundation infrastructure
HCL
5
star
36

nekovm.org

The website for NekoVM.
Haxe
5
star
37

neko-debian

Debianizing Neko
C
4
star
38

build.haxe.org

Snapshot build storage web UI
Haxe
3
star
39

hx4compat

Haxe 4 compatibility lib for Haxe 5, or maybe the other way aroun?
Haxe
3
star
40

haxe.org-comments

Repository to collect comments of our haxe.org websites
2
star
41

hashlink.haxe.org

HTML
2
star
42

homebrew-haxe

Haxe formulae for the Homebrew package manager
Ruby
1
star
43

summit.haxe.org

Haxe
1
star
44

haxe-deps

A luarocks spec for the dependencies required for the Haxe Lua target
Lua
1
star
45

haxe-choco

Chocolatey Haxe package
Haxe
1
star