Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
Simn committed Nov 30, 2016
2 parents b2398ee + 234e590 commit ebc0572
Show file tree
Hide file tree
Showing 1,266 changed files with 28,815 additions and 18,662 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -4,6 +4,7 @@
*.cmi
*.cmxa
*.cmo
*.cmt
*.a
*.exe
.*.swp
Expand Down
4 changes: 4 additions & 0 deletions .merlin
@@ -0,0 +1,4 @@
S src/**
B src/**
S libs/**
B libs/**
12 changes: 9 additions & 3 deletions .travis.yml
Expand Up @@ -11,8 +11,6 @@ env:
# - secure: "ETbwZaeRq8wIVZVyUk1IsNctYVuQa/U2biRkF9pQkz3MEXpaneynclVzNjm8rnm8JqfKcjUDUvQJBP1KYrJYq3tAJFhl31YUnS0FsF3sgLIcnHkhbRA24xJdIlCwHP6QUPoiyPbkec43NRwrF0071KOMD51vgUToXRtAe3o/15g="
# - secure: "Fcrrge2f4jFYDOopig2rwkQvgJw6Ra8UK6OwTVk08wecytzVaOJK1TcB22PSvZ+h0ZLJs34T+pXHFjlNuSWm4+CwGSvnltRD1/svjS8zOqK7RzuUdzHz87yruz9PFqV63HTas6qtmgLqp8n/Q6AhtDLF39BTZPyDzEbi9qkwRuI="
# - secure: "VBJDQNJ9uvdt0aszo7oU3txuRvjkuLmuHZGOkrd4wE/5B4sX5jzx/+dnrKcNTXJCmQ/rVLuMu9GyxqVjNHlzce678voxdQNOtNkNgpkr1qN9/A9rRnCp77hH27ErdthpWxbmcnE62hAJ83TIKSvn//5lAkx4sMCKS1NXEWQ5qec="
# HAXECI_GH_TOKEN: haxe-ci Github personal access token
- secure: "TpEMYTLgNrVD7kR6hs6EwyWNXUxnfV6XO5MGvYQncKXB1N65PG18n4WQFhnKaH8C2QTFE7dq7688ooXGzwWeoT9WAOBey10jP1f7LXEAjMGAUA4vh2zS93qBZ92ZgzCDZnQN7ZOTQGocwU6Xolu+7/6hP2M8041HBixmFuNkXF4="
# PPA configs
- PPA="ppa:haxe/snapshots"
- DEBFULLNAME="Haxe CI Bot"
Expand All @@ -23,8 +21,11 @@ env:

sudo: required
dist: trusty
osx_image: xcode6.4
addons: &addons
ssh_known_hosts: haxe.org
ssh_known_hosts:
- haxe.org
- api.haxe.org

install_linux: &install_linux
# Install neko and haxe dependencies
Expand Down Expand Up @@ -56,11 +57,13 @@ install_linux: &install_linux
- make package_src -s
- make -s
- make package_bin -s
- ls -l out
- export PATH="$PATH:$TRAVIS_BUILD_DIR"
- export HAXE_STD_PATH="$TRAVIS_BUILD_DIR/std"

install_osx: &install_osx
# Install haxe dependencies
- brew uninstall --force brew-cask # https://github.com/caskroom/homebrew-cask/pull/15381
- travis_retry brew update
- travis_retry brew install ocaml camlp4;
# Install neko
Expand All @@ -75,8 +78,11 @@ install_osx: &install_osx
- make package_src -s
- make -s
- make package_bin -s
- ls -l out
- export PATH="$PATH:$TRAVIS_BUILD_DIR"
- export HAXE_STD_PATH="$TRAVIS_BUILD_DIR/std"
# Install pip (used in lua test)
- curl https://bootstrap.pypa.io/get-pip.py -o - | sudo python

matrix:
include:
Expand Down
3 changes: 3 additions & 0 deletions .travis/setenv_lua.sh
@@ -1,3 +1,6 @@
set -o xtrace
set -e

export PATH=${PATH}:$HOME/.lua:$HOME/.local/bin:$TRAVIS_BUILD_DIR/install/luarocks/bin
bash .travis/setup_lua.sh
eval `$HOME/.lua/luarocks path`
1 change: 1 addition & 0 deletions .travis/setup_lua.sh
Expand Up @@ -6,6 +6,7 @@
# luajit2.0 - master v2.0
# luajit2.1 - master v2.1

set -o xtrace
set -eufo pipefail

LUAJIT_VERSION="2.0.4"
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
@@ -1,6 +1,6 @@
## Things to check before/while filing an issue:

- Check if you actually suspect that there's an issue in the Haxe code. If you find yourself writing "How do I..." you may want to consider a different communication channel. Refer to http://haxe.org/community/community-support.html for more information.
- Check if you actually suspect that there's an issue in the Haxe code. If you find yourself writing "How do I..." you may want to consider a different communication channel. Refer to https://haxe.org/community/community-support.html for more information.
- Reduce your code to a minimal example (see http://sscce.org/). In particular avoid library dependencies: If you cannot reproduce your issue without using a specific library, it might not be a Haxe issue to begin with.
- Check if your problems are already resolved in the Haxe development version (for builds see http://builds.haxe.org/).
- Most targets produce readable code. If you suspect the generated code to be wrong, try checking the output. Note that you can add `-D dump=pretty` to your compilation parameters and find the code which is passed to the generators in a `dump` subdirectory.
Expand Down
163 changes: 102 additions & 61 deletions Makefile

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions Makefile.win
@@ -1,5 +1,5 @@
PLATFORM=win
include Makefile

OUTPUT=haxe.exe
EXTENSION=.exe
PACKAGE_SRC_EXTENSION=.zip
Expand Down Expand Up @@ -32,11 +32,11 @@ FILTER=sed '/File/{ N; s/File "\([^"]\+\)", line \([0-9]\+\), characters \([0-9-
endif

ifdef FILTER
CC_CMD=($(OCAMLOPT) $(CFLAGS) -c $< 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
CC_PARSER_CMD=($(OCAMLOPT) -pp camlp4o $(CFLAGS) -c src/syntax/parser.ml 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
CC_CMD=($(OCAMLOPT) $(ALL_CFLAGS) -c $< 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
CC_PARSER_CMD=($(OCAMLOPT) -pp camlp4o $(ALL_CFLAGS) -c src/syntax/parser.ml 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
endif

package_bin:
package_win:
mkdir -p out
rm -rf $(PACKAGE_FILE_NAME) $(PACKAGE_FILE_NAME).zip temp.zip
# Copy the package contents to $(PACKAGE_FILE_NAME)
Expand Down
33 changes: 17 additions & 16 deletions README.md
@@ -1,5 +1,5 @@

# [<img src="http://haxe.org/img/haxe-logo-horizontal.svg" alt="Haxe logo" width="140">](http://haxe.org) - [The Cross-Platform Toolkit](http://haxe.org)
# [<img src="http://haxe.org/img/haxe-logo-horizontal.svg" alt="Haxe logo" width="140">](https://haxe.org) - [The Cross-Platform Toolkit](https://haxe.org)
[![TravisCI Build Status](https://travis-ci.org/HaxeFoundation/haxe.svg?branch=development)](https://travis-ci.org/HaxeFoundation/haxe)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/HaxeFoundation/haxe?branch=development&svg=true)](https://ci.appveyor.com/project/HaxeFoundation/haxe)
[![SauceLabs Test Status](https://saucelabs.com/buildstatus/haxe)](https://saucelabs.com/u/haxe)
Expand All @@ -22,10 +22,11 @@ Haxe allows you to compile for the following targets:
* NekoVM
* PHP
* Python
* Lua

You can try Haxe directly from your browser at [try.haxe.org](http://try.haxe.org)!

For more information about Haxe, head to the [offical Haxe website](http://haxe.org).
For more information about Haxe, head to the [offical Haxe website](https://haxe.org).

## License

Expand All @@ -35,19 +36,19 @@ The Haxe project has several licenses, covering different parts of the projects.
* The Haxe standard library is released under the MIT license.
* The Neko virtual machine is released under the MIT license. Its bundled runtime libraries (ndll) and tools are released under open source licenses as described in https://github.com/HaxeFoundation/neko/blob/master/LICENSE

For the complete Haxe licenses, please see http://haxe.org/foundation/open-source.html or [extra/LICENSE.txt](extra/LICENSE.txt).
For the complete Haxe licenses, please see https://haxe.org/foundation/open-source.html or [extra/LICENSE.txt](extra/LICENSE.txt).

## Installing Haxe

The latest stable release is [Haxe 3.3.0-rc.1](http://haxe.org/download/version/3.3.0-rc.1/). Pre-built binaries are available for your platform:
The latest stable release is [Haxe 3.4.0-rc.1](https://haxe.org/download/version/3.4.0-rc.1/). Pre-built binaries are available for your platform:

* **[Windows installer](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-win.exe)**
* **[Windows binaries](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-win.zip)**
* **[OSX installer](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-osx-installer.pkg)**
* **[OSX binaries](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-osx.tar.gz)**
* **[Linux Software Packages](http://haxe.org/download/linux)**
* **[Linux 32-bit binaries](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-linux32.tar.gz)**
* **[Linux 64-bit binaries](http://haxe.org/download/file/3.3.0-rc.1/haxe-3.3.0-rc.1-linux64.tar.gz)**
* **[Windows installer](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-win.exe)**
* **[Windows binaries](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-win.zip)**
* **[OSX installer](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-osx-installer.pkg)**
* **[OSX binaries](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-osx.tar.gz)**
* **[Linux Software Packages](https://haxe.org/download/linux)**
* **[Linux 32-bit binaries](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-linux32.tar.gz)**
* **[Linux 64-bit binaries](https://haxe.org/download/file/3.4.0-rc.1/haxe-3.4.0-rc.1-linux64.tar.gz)**

Automated development builds are available from [build.haxe.org](http://build.haxe.org).

Expand All @@ -58,17 +59,17 @@ Automated development builds are available from [build.haxe.org](http://build.ha
git clone --recursive git://github.com/HaxeFoundation/haxe.git
cd haxe

2. Follow the [documentation on building Haxe for your platform](http://haxe.org/documentation/introduction/building-haxe.html).
2. Follow the [documentation on building Haxe for your platform](https://haxe.org/documentation/introduction/building-haxe.html).

## Using Haxe

For information on on using Haxe, consult the [Haxe documentation](http://haxe.org/documentation):
For information on on using Haxe, consult the [Haxe documentation](https://haxe.org/documentation):

* [Haxe Introduction](http://haxe.org/documentation/introduction), an introduction to the Haxe toolkit
* [The Haxe Manual](http://haxe.org/manual), the reference manual for the Haxe language
* [Haxe Introduction](https://haxe.org/documentation/introduction), an introduction to the Haxe toolkit
* [The Haxe Manual](https://haxe.org/manual), the reference manual for the Haxe language
* [Haxe Code Cookbook](http://code.haxe.org), code snippets / learning resource
* [Haxe API](http://api.haxe.org), documentation for the Haxe standard and native APIs
* [Haxelib](http://lib.haxe.org), a repository of Haxe libraries for a variety of needs
* [Haxelib](https://lib.haxe.org), a repository of Haxe libraries for a variety of needs

## Community

Expand Down
17 changes: 10 additions & 7 deletions appveyor.yml
Expand Up @@ -19,17 +19,21 @@ services:
skip_tags: true

cache:
- ocaml-installer.exe -> appveyor.yml
- opam32.tar.xz -> appveyor.yml

install:
- 'git submodule update --init --recursive'
# Install ocaml
- if not exist "ocaml-installer.exe" (
curl -fsS -o ocaml-installer.exe --retry 3 http://gallium.inria.fr/~protzenk/caml-installer/ocaml-4.02.3-i686-mingw64-installer4-opam.exe
- curl -fsS -o cygwin-setup.exe --retry 3 https://cygwin.com/setup-x86.exe
- 'cygwin-setup.exe -g -q -R "%CYG_ROOT%" -P make -P git -P mingw64-i686-zlib -P rsync -P patch -P diffutils -P curl -P unzip -P m4 -P perl -P mingw64-i686-gcc-core'
- if not exist "opam32.tar.xz" (
curl -fsS -o opam32.tar.xz --retry 3 https://dl.dropboxusercontent.com/s/eo4igttab8ipyle/opam32.tar.xz
)
- ocaml-installer.exe /S
- 'C:\Users\Public\Desktop\cygwin-setup.exe -g -q -R "%CYG_ROOT%" -P make -P git -P mingw64-i686-zlib'
- 'set PATH=%PATH%;%CYG_ROOT%/usr/i686-w64-mingw32/sys-root/mingw/bin'
- 7z x "opam32.tar.xz" -so | 7z x -aoa -si -ttar
- '%CYG_ROOT%/bin/bash -lc "echo initialize"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && bash opam32/install.sh"'
- '%CYG_ROOT%/bin/bash -lc "opam init mingw \"https://github.com/fdopen/opam-repository-mingw.git\" --comp 4.02.3+mingw32c --switch 4.02.3+mingw32c --auto-setup --yes"'
- '%CYG_ROOT%/bin/bash -lc "opam install camlp4 --yes"'
# Install neko
- choco install neko --prerelease --ignore-dependencies -s 'https://ci.appveyor.com/nuget/neko' -y
- RefreshEnv
Expand All @@ -43,7 +47,6 @@ install:

build_script:
- 'cd %APPVEYOR_BUILD_FOLDER%'
- '%CYG_ROOT%/bin/bash -lc "echo initialize"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_src"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win"'
- 'set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%'
Expand Down
42 changes: 41 additions & 1 deletion extra/CHANGES.txt
@@ -1,3 +1,43 @@
2016-11-29: 3.4.0-RC1

New features:

all : support metadata completion
all : support type-hint completion
all : added @signature display mode (#4758)
all : finalized HashLink (HL) target

General improvements and optimizations:

all : greatly improved support for display mode in general
all : made --times output look much nicer
all : remove calls to functions that have no side-effect
all : hid private property accessors from completion (#5678)
js : updated jQuery extern (js.jquery.*) for jQuery 1.12.4 / 3.1.0 support.
js : jQuery extern (js.jquery.*) now includes deprecated fields marked with @:deprecated.
js : no longer rewrite `o["s"]` to `o.s` (#5724)
cpp : greatly improved ObjC output and integration options
lua : greatly improved code output quality

Bugfixes:

all : fixed various optimization issues
all : fixed various issues with side-effect detection
all : fixed performance drain in the DCE implementation (#5716)
all : fixed issue with assignments when inlining constructors (#5340)
all : fixed major inlining issue when using compilation server (#5320)
all : fixed pattern matching evaluation order issue (#5274)
cpp : fixed various minor code generation issues
js : fixed issue regarding iterating over abstracts (#5385)
python : fixed evaluation order issue for array writing (#5366)

Standard Library:

all : added Any type (#5500)
all : added haxe.extern.AsVar
all : added haxe.macro.CompilationServer (experimental)
all : fixed haxe.Template.resolve (#5301)

2016-05-27: 3.3.0-RC1

New features:
Expand Down Expand Up @@ -853,7 +893,7 @@
resolve environment variable in -cmd commands
added flash.Vector.indexOf and lastIndexOf
fixed bug in interfaces that define the method toString (Haxe/PHP)
fixed bug in haxe.io.BytesInput.readBytes in Flash9 (was throwing Eof if full buffer can't be readed)
fixed bug in haxe.io.BytesInput.readBytes in Flash9 (was throwing Eof if full buffer can't be read)
fixed implements/extends special classes when they are imported
StringBuf now uses an array for JS implementation (around same on FF, faster on IE)
fixed assignment of field length in anonym objects (Haxe/PHP)
Expand Down
2 changes: 1 addition & 1 deletion extra/ImportAll.hx
Expand Up @@ -71,7 +71,7 @@ class ImportAll {
if( file == ".svn" || file == "_std" )
continue;
var full = (pack == "") ? file : pack + "." + file;
if( StringTools.endsWith(file, ".hx") ) {
if( StringTools.endsWith(file, ".hx") && file.indexOf(".") < 0 ) {
var cl = full.substr(0, full.length - 3);
switch( cl ) {
case "ImportAll", "neko.db.MacroManager": continue;
Expand Down
2 changes: 1 addition & 1 deletion extra/haxelib_src
Submodule haxelib_src updated 49 files
+2 −1 .dockerignore
+26 −0 .ebextensions/cloudwatch.config
+7 −0 .ebextensions/docker_volumes.config
+7 −0 .ebextensions/nginx.config
+8 −1 .gitignore
+52 −37 .travis.yml
+6 −0 .vscode/settings.json
+18 −0 .vscode/tasks.json
+49 −10 Dockerfile
+13 −0 Dockerrun.aws.json
+10 −10 README.md
+64 −0 apache2.conf
+1 −1 deploy.json
+1 −1 haxelib.json
+ run.n
+38 −23 schema.json
+3 −15 server.hxml
+6 −0 server_api.hxml
+1 −0 server_each.hxml
+3 −1 server_legacy.hxml
+4 −0 server_tasks.hxml
+3 −0 server_website.hxml
+47 −8 src/haxelib/Data.hx
+2 −2 src/haxelib/SiteApi.hx
+99 −27 src/haxelib/client/Main.hx
+2 −2 src/haxelib/client/Vcs.hx
+284 −0 src/haxelib/server/FileStorage.hx
+25 −10 src/haxelib/server/Paths.hx
+176 −169 src/haxelib/server/Repo.hx
+10 −1 src/haxelib/server/SiteDb.hx
+10 −3 src/legacyhaxelib/Site.hx
+2 −1 src/legacyhaxelib/SiteApi.hx
+27 −36 src/website/Server.hx
+19 −13 src/website/api/ProjectApi.hx
+22 −2 src/website/controller/HomeController.hx
+4 −1 src/website/controller/ProjectController.hx
+2 −0 test/HaxelibTests.hx
+89 −32 test/RunCi.hx
+7 −1 test/docker-compose-dev.yml
+6 −0 test/docker-compose.yml
+9 −0 test/libraries/UseGitDep/foo/Foo.hx
+13 −0 test/libraries/UseGitDep/haxelib.json
+7 −0 test/libraries/UseGitDep/haxelib.xml
+13 −0 test/libraries/UseGitDep/tag_haxelib.json
+101 −0 test/tests/TestInstall.hx
+8 −0 www/.htaccess
+2 −2 www/documentation-files/creating-a-haxelib-package.md
+7 −0 www/robots.txt
+8 −8 www/view/layout.html
2 changes: 1 addition & 1 deletion extra/release-checklist.txt
Expand Up @@ -7,7 +7,7 @@
# Building the binaries and installers

- Make sure CHANGES.txt has a proper date set!
- Make sure `version` in main.ml has the correct value.
- Make sure `version` in globals.ml has the correct value.
- Update README.md:
- Installing Haxe: update "Latest stable version"
- Version compatibility: add/update the Haxe/Neko version
Expand Down

0 comments on commit ebc0572

Please sign in to comment.