Added haxe images documentation.
This commit is contained in:
parent
a5541cdaff
commit
8ae987dec0
|
|
@ -0,0 +1 @@
|
|||
Haxe is a modern, high level, static typed programming language with multiple compilation targets.
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
# What is Haxe?
|
||||
|
||||
[Haxe](https://haxe.org) is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.
|
||||
|
||||
The Haxe compiler can output a number of source and binary files. As of Haxe 3.4.0-rc.1, the Haxe compiler can target JavaScript, Java, C#, C++, Python, PHP, Flash SWF, ActionScript 3, Lua, and Neko.
|
||||
|
||||
%%LOGO%%
|
||||
|
||||
# About this image
|
||||
|
||||
This image ships a minimal Haxe toolkit:
|
||||
|
||||
- the `haxe` compiler with its standard library
|
||||
- the `haxelib` library manager
|
||||
- the `neko` virtual machine
|
||||
|
||||
# How to use this image
|
||||
|
||||
The most straightforward way to use this image is to use a Haxe container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
|
||||
|
||||
```dockerfile
|
||||
FROM haxe:3.4
|
||||
|
||||
RUN mkdir -p /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# install dependencies
|
||||
COPY *.hxml /usr/src/app/
|
||||
RUN yes | haxelib install all
|
||||
|
||||
# compile the project
|
||||
COPY . /usr/src/app
|
||||
RUN haxe build.hxml
|
||||
|
||||
# run the output when the container starts
|
||||
CMD ["neko", "Main.n"]
|
||||
```
|
||||
|
||||
Then, build and run the Docker image:
|
||||
|
||||
```console
|
||||
$ docker build -t my-haxe-app .
|
||||
$ docker run -it --rm --name my-running-app my-haxe-app
|
||||
```
|
||||
|
||||
## Using the onbuild variants
|
||||
|
||||
There are `onbuild` variants that include multiple `ONBUILD` triggers to perform all of the steps in the above Dockerfile, except there is no `CMD` instruction for running the compilation output.
|
||||
|
||||
Rewriting the above Dockerfile with `haxe:3.4-onbuild`, we will get:
|
||||
|
||||
```dockerfile
|
||||
FROM haxe:3.4-onbuild
|
||||
|
||||
# run the output when the container starts
|
||||
CMD ["neko", "Main.n"]
|
||||
```
|
||||
|
||||
The `onbuild` variants assume the main compilation hxml file is named `build.hxml`. To use another hxml file, set the `BUILD_HXML` build argument during build:
|
||||
|
||||
```console
|
||||
$ docker build -t my-haxe-app --build-arg BUILD_HXML=compile.hxml .
|
||||
```
|
||||
|
|
@ -0,0 +1 @@
|
|||
https://github.com/HaxeFoundation/docker-library-haxe
|
||||
|
|
@ -0,0 +1 @@
|
|||
View [license information](https://haxe.org/foundation/open-source.html) for the software contained in this image.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
Loading…
Reference in New Issue