Przeglądaj źródła

3.2.0-rc1 again

Simon Krajewski 10 lat temu
rodzic
commit
d5fbd0b0e0
5 zmienionych plików z 43 dodań i 34 usunięć
  1. 9 7
      README.md
  2. 1 1
      extra/haxelib_src
  3. 13 8
      extra/release-checklist.txt
  4. 1 0
      gencpp.ml
  5. 19 18
      genpy.ml

+ 9 - 7
README.md

@@ -13,6 +13,7 @@ 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
@@ -20,6 +21,7 @@ Haxe allows you to compile for the following targets:
  * JavaScript
  * NekoVM
  * PHP
+ * Python
 
 You can try Haxe directly from your browser at [try.haxe.org](http://try.haxe.org)!
 
@@ -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).
 

+ 1 - 1
extra/haxelib_src

@@ -1 +1 @@
-Subproject commit 0204aa984100c3da3a527865656917d888642b20
+Subproject commit 5f28ba60194f7c75c2b2a4f63ec7e6595067fb9e

+ 13 - 8
extra/release-checklist.txt

@@ -4,7 +4,7 @@
 - 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.
@@ -12,15 +12,20 @@
 - 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 - 0
gencpp.ml

@@ -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

+ 19 - 18
genpy.ml

@@ -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
@@ -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) ->
 							(*
@@ -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))), [] ->