Skip to content

Commit

Permalink
3.2.0-rc1 again
Browse files Browse the repository at this point in the history
  • Loading branch information
Simn committed Mar 16, 2015
1 parent 9f852ce commit d5fbd0b
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 34 deletions.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ Haxe is an open source toolkit that allows you to easily build cross-platform to

Haxe allows you to compile for the following targets:

* ActionScript 3
* C++
* C#
* Flash
* Java
* JavaScript
* NekoVM
* PHP
* Python

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

Expand All @@ -37,14 +39,14 @@ For the complete Haxe licenses, please see http://haxe.org/foundation/open-sourc

## Installing Haxe

The latest stable release is [Haxe v3.1.3](http://haxe.org/download). Pre-built binaries are available for your platform:
The latest stable release is [Haxe 3.2.0-rc1](http://haxe.org/download). Pre-built binaries are available for your platform:

* **[Windows installer](http://haxe.org/file/haxe-3.1.3-win.exe)**
* **[Windows binaries](http://haxe.org/file/haxe-3.1.3-win.zip)**
* **[OSX installer](http://haxe.org/file/haxe-3.1.3-osx-installer.pkg)**
* **[OSX binaries](http://haxe.org/file/haxe-3.1.3-osx.tar.gz)**
* **[Linux 32-bit binaries](http://haxe.org/file/haxe-3.1.3-linux32.tar.gz)**
* **[Linux 64-bit binaries](http://haxe.org/file/haxe-3.1.3-linux64.tar.gz)**
* **[Windows installer](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-win.exe)**
* **[Windows binaries](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-win.zip)**
* **[OSX installer](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-osx-installer.pkg)**
* **[OSX binaries](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-osx.tar.gz)**
* **[Linux 32-bit binaries](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-linux32.tar.gz)**
* **[Linux 64-bit binaries](http://haxe.org/download/file/3.2.0-rc.1/haxe-3.2.0-rc1-linux64.tar.gz)**

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

Expand Down
2 changes: 1 addition & 1 deletion extra/haxelib_src
Submodule haxelib_src updated 1 files
+46 −3 README.md
21 changes: 13 additions & 8 deletions extra/release-checklist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,28 @@
- Make sure to update the haxelib submodule
- Check that the run-time haxelibs are ready for release: hxcpp, hxjava, hxcs

# Making the release
# Building the binaries and installers

- Make sure CHANGES.txt has a proper date set!
- Make sure `version` in main.ml has the correct value.
- Merge development branch into master.
- Wait for Travis to greenlight master.
- Tag master as MAJOR.MINOR.PATCH.
- Wait for builds.haxe.org to build master.
- If required, tell Caue to fix builds.haxe.org.
- Get https://github.com/waneck/hxbuilds/tree/master/release-helper
- Run it with the fileName corresponding to the latest master file name on builds.haxe.org.
- Upload generated files to some place.
- Update Haxe download page.

# Making the release

- Push the generated binaries and installers to haxe.org.
- Copy relevant changelog part to CHANGES.md.
- Write announcement post.
- Copy announcement post to RELEASE.md.
- Update versions.json

# Announcing the release

- Update Github README page.
- Double-check that you got the links right.
- Regenerate and upload API documentation.
- Update http://haxe.org/file/CHANGES.txt
- Write announcement post.
- Post announcement post.

- Post announcement post to haxelang.
1 change: 1 addition & 0 deletions gencpp.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1514,6 +1514,7 @@ let rec define_local_function_ctx ctx func_name func_def =
output_i ("HX_BEGIN_LOCAL_FUNC_S" ^ (list_num typed_vars) ^ "(" ^
(if has_this then "hx::LocalThisFunc," else "hx::LocalFunc,") ^ func_name_sep ^
(String.concat "," typed_vars) ^ ")\n" );
output_i ("int __ArgCount() const { return " ^ (string_of_int (List.length func_def.tf_args)) ^"; }\n");

(* actual function, called "run" *)
let args_and_types = List.map
Expand Down
37 changes: 19 additions & 18 deletions genpy.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1163,6 +1163,21 @@ module Printer = struct
| TField ({eexpr=(TConst TThis | TLocal _)},_) -> handle_index
| _ -> default

and is_safe_string pctx x =
let follow_parens e = match e.eexpr with
| TParenthesis e -> e
| _ -> e
in
match (follow_parens x).eexpr with
| TBinop(OpAdd, e1, e2) -> is_safe_string pctx e1 && is_safe_string pctx e2
| TCall (e1,_) ->
let id = print_expr pctx (follow_parens e1) in
(match id with
| "Std.string" -> true
| _ -> false)
| TConst (TString s) -> true
| _ -> false

and print_expr pctx e =
let indent = pctx.pc_indent in
let print_expr_indented e = print_expr {pctx with pc_indent = "\t" ^ pctx.pc_indent} e in
Expand Down Expand Up @@ -1251,24 +1266,9 @@ module Printer = struct
| TBinop(OpUShr,e1,e2) ->
Printf.sprintf "HxOverrides.rshift(%s, %s)" (print_expr pctx e1) (print_expr pctx e2)
| TBinop(OpAdd,e1,e2) when (is_type1 "" "str")(e.etype) || is_underlying_string e.etype ->
let follow_parens e = match e.eexpr with
| TParenthesis e -> e
| _ -> e
in
let rec is_safe_string x =
match (follow_parens x).eexpr with
| TBinop(OpAdd, e1, e2) -> is_safe_string e1 && is_safe_string e2
| TCall (e1,_) ->
let id = print_expr pctx (follow_parens e1) in
(match id with
| "Std.string" -> true
| _ -> false)
| TConst (TString s) -> true
| _ -> false
in
let rec safe_string ex =
match ex.eexpr, ex.etype with
| e, _ when is_safe_string ex -> print_expr pctx ex
| e, _ when is_safe_string pctx ex -> print_expr pctx ex
| TBinop(OpAdd, e1, e2), x when (is_type1 "" "str")(x) -> Printf.sprintf "(%s + %s)" (safe_string e1) (safe_string e2)
| (TLocal(_)),x when (is_type1 "" "str")(x) ->
(*
Expand Down Expand Up @@ -1611,9 +1611,10 @@ module Printer = struct
| TLocal { v_name = "`trace" }, [e;infos] ->
if has_feature pctx "haxe.Log.trace" then begin
"haxe_Log.trace(" ^ (print_expr pctx e) ^ "," ^ (print_expr pctx infos) ^ ")"
end else begin
end else if is_safe_string pctx e then
"print(" ^ (print_expr pctx e) ^ ")"
else
"print(str(" ^ (print_expr pctx e) ^ "))"
end
| TField(e1,((FAnon {cf_name = (("join" | "push" | "map" | "filter") as s)}) | FDynamic (("join" | "push" | "map" | "filter") as s))), [x] ->
Printf.sprintf "HxOverrides.%s(%s, %s)" s (print_expr pctx e1) (print_expr pctx x)
| TField(e1,((FAnon {cf_name = (("iterator" | "toUpperCase" | "toLowerCase" | "pop" | "shift") as s)}) | FDynamic (("iterator" | "toUpperCase" | "toLowerCase" | "pop" | "shift") as s))), [] ->
Expand Down

0 comments on commit d5fbd0b

Please sign in to comment.