Explorar o código

packaging stuffs
* moved doc gen to Makefile (package_doc)
* save doc zip to bintray
* different bintray config

Andy Li %!s(int64=10) %!d(string=hai) anos
pai
achega
d87cbbbe46
Modificáronse 4 ficheiros con 36 adicións e 30 borrados
  1. 2 1
      .travis.yml
  2. 16 1
      Makefile
  3. 5 4
      extra/bintray.tpl.json
  4. 13 24
      tests/RunCi.hx

+ 2 - 1
.travis.yml

@@ -6,7 +6,8 @@ env:
     - OCAMLC=ocamlc.opt
     - OCAMLOPT=ocamlopt.opt
     - ADD_REVISION=1
-    # BINTRAY_USERNAME and BINTRAY_API_KEY
+    # Bintray
+    - secure: "ETbwZaeRq8wIVZVyUk1IsNctYVuQa/U2biRkF9pQkz3MEXpaneynclVzNjm8rnm8JqfKcjUDUvQJBP1KYrJYq3tAJFhl31YUnS0FsF3sgLIcnHkhbRA24xJdIlCwHP6QUPoiyPbkec43NRwrF0071KOMD51vgUToXRtAe3o/15g="
     - secure: "siKPFDGCgWXLnUQCDXzYMnpTw7EfsLsTPqL9gS3DRlHTnqkQKGJb/HnsMRrfFSgvwesmZx+3ZPhNocdIpGBuokKgkp7Rubpa1yoKmutf1+Lbatii2/c/4/LIZW2E5xqPCLGT87BYTy/peu9Bf0rspnrqqJw7MrytOBVTRR2XSe8="
     - secure: "VBJDQNJ9uvdt0aszo7oU3txuRvjkuLmuHZGOkrd4wE/5B4sX5jzx/+dnrKcNTXJCmQ/rVLuMu9GyxqVjNHlzce678voxdQNOtNkNgpkr1qN9/A9rRnCp77hH27ErdthpWxbmcnE62hAJ83TIKSvn//5lAkx4sMCKS1NXEWQ5qec="
 

+ 16 - 1
Makefile

@@ -59,7 +59,7 @@ ADD_REVISION?=0
 BRANCH=$(shell echo $$APPVEYOR_REPO_NAME | grep -q /haxe && echo $$APPVEYOR_REPO_BRANCH || echo $$TRAVIS_REPO_SLUG | grep -q /haxe && echo $$TRAVIS_BRANCH || git rev-parse --abbrev-ref HEAD)
 COMMIT_SHA=$(shell git rev-parse --short HEAD)
 COMMIT_DATE=$(shell \
-	if [ "$$(uname)" == "Darwin" ]; then \
+	if [ "$$(uname)" = "Darwin" ]; then \
 		date -u -r $$(git show -s --format=%ct HEAD) +%Y%m%d%H%M%S; \
 	else \
 		date -u -d @$$(git show -s --format=%ct HEAD) +%Y%m%d%H%M%S; \
@@ -205,6 +205,21 @@ package_bin:
 	tar -zcf $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_bin.tar.gz $(PACKAGE_FILE_NAME)
 	rm -r $(PACKAGE_FILE_NAME)
 
+
+install_dox:
+	haxelib git hxparse https://github.com/Simn/hxparse development src
+	haxelib git hxtemplo https://github.com/Simn/hxtemplo
+	haxelib git hxargs https://github.com/Simn/hxargs
+	haxelib git markdown https://github.com/dpeek/haxe-markdown master src
+	haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp
+	haxelib git hxjava https://github.com/HaxeFoundation/hxjava
+	haxelib git hxcs https://github.com/HaxeFoundation/hxcs
+	haxelib git dox https://github.com/dpeek/dox
+
+package_doc:
+	cd $$(haxelib path dox | head -n 1) && haxe run.hxml && haxe gen.hxml
+	haxelib run dox --title "Haxe API" -o $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_doc.zip -D version "$$(haxe -version 2>&1)" -i $$(haxelib path dox | head -n 1)bin/xml -ex microsoft -ex javax -ex cs.internal -D source-path https://github.com/HaxeFoundation/haxe/blob/$(BRANCH)/std/
+
 # Clean
 
 clean: clean_libs clean_haxe clean_tools clean_package

+ 5 - 4
extra/bintray.tpl.json

@@ -1,8 +1,8 @@
 {
     "package": {
         "name": "haxe",
-        "repo": "development",
-        "subject": "andyli"
+        "repo": "snapshot",
+        "subject": "::packageSubject::"
     },
 
     "version": {
@@ -19,8 +19,9 @@
 
     "files":
         [
-            {"includePattern": "out/(.*)_src\\.(.*)", "uploadPattern": "::os::/haxe_::versionName::_src.$2"},
-            {"includePattern": "out/(.*)_bin\\.(.*)", "uploadPattern": "::os::/haxe_::versionName::_bin.$2"}
+            {"includePattern": "out/(.*)_src\\.(.*)", "uploadPattern": "::os::/::gitBranch::/haxe_::versionName::_src.$2"},
+            {"includePattern": "out/(.*)_bin\\.(.*)", "uploadPattern": "::os::/::gitBranch::/haxe_::versionName::_bin.$2"},
+            {"includePattern": "out/(.*)_doc\\.(.*)", "uploadPattern": "::os::/::gitBranch::/haxe_::versionName::_doc.$2"}
         ],
     "publish": true
 }

+ 13 - 24
tests/RunCi.hx

@@ -579,10 +579,16 @@ class RunCi {
 			Sys.getEnv("BINTRAY_USERNAME") != null &&
 			Sys.getEnv("BINTRAY_API_KEY") != null
 		) {
+			changeDirectory(repoDir);
+
 			// generate bintray config
-			var tpl = new Template(File.getContent("../extra/bintray.tpl.json"));
+			var tpl = new Template(File.getContent("extra/bintray.tpl.json"));
 			var compatDate = ~/[^0-9]/g.replace(gitInfo.date, "");
 			var json = tpl.execute({
+				packageSubject: {
+					var sub = Sys.getEnv("BINTRAY_SUBJECT");
+					sub != null ? sub : Sys.getEnv("BINTRAY_USERNAME");
+				},
 				os: systemName.toLowerCase(),
 				versionName: '${haxeVer}+${compatDate}.${gitInfo.commit.substr(0,7)}',
 				versionDesc: "Automated CI build.",
@@ -591,10 +597,14 @@ class RunCi {
 				gitCommit: gitInfo.commit,
 				gitDate: gitInfo.date,
 			});
-			var path = "../extra/bintray.json";
-			File.saveContent("../extra/bintray.json", json);
+			var path = "extra/bintray.json";
+			File.saveContent("extra/bintray.json", json);
 			infoMsg("saved " + FileSystem.absolutePath(path) + " with content:");
 			Sys.println(json);
+
+			// generate doc
+			runCommand("make", ["-s", "install_dox"]);
+			runCommand("make", ["-s", "package_doc"]);
 		}
 	}
 
@@ -651,27 +661,6 @@ class RunCi {
 					changeDirectory(sysDir);
 					runCommand("haxe", ["compile-neko.hxml"]);
 					runCommand("neko", ["bin/neko/sys.n"]);
-
-					switch (ci) {
-						case AppVeyor:
-							//save time...
-						case _:
-							//generate documentation
-							haxelibInstallGit("Simn", "hxparse", "development", "src", true);
-							haxelibInstallGit("Simn", "hxtemplo", true);
-							haxelibInstallGit("Simn", "hxargs", true);
-							haxelibInstallGit("dpeek", "haxe-markdown", "master", "src", true, "markdown");
-
-							haxelibInstallGit("HaxeFoundation", "hxcpp", true);
-							haxelibInstallGit("HaxeFoundation", "hxjava", true);
-							haxelibInstallGit("HaxeFoundation", "hxcs", true);
-
-							haxelibInstallGit("dpeek", "dox", true);
-							changeDirectory(getHaxelibPath("dox"));
-							runCommand("haxe", ["run.hxml"]);
-							runCommand("haxe", ["gen.hxml"]);
-							haxelibRun(["dox", "-o", "bin/api.zip", "-i", "bin/xml"]);
-					}
 				case Php:
 					getPhpDependencies();
 					var args = switch (ci) {