Skip to content

Commit

Permalink
[azure-pipelines] initial working config
Browse files Browse the repository at this point in the history
  • Loading branch information
andyli committed Jun 19, 2019
1 parent 61c68e1 commit 244381d
Show file tree
Hide file tree
Showing 19 changed files with 678 additions and 61 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
*.a
*.exe
.*.swp
.haxelib
/out
/installer

Expand Down
25 changes: 14 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ MAKEFILENAME?=Makefile
PLATFORM?=unix

OUTPUT=haxe
HAXELIB_OUTPUT=haxelib
PREBUILD_OUTPUT=prebuild
EXTENSION=
LFLAGS=
Expand Down Expand Up @@ -83,7 +84,7 @@ COMMIT_DATE=$(shell \
fi \
)
PACKAGE_FILE_NAME=haxe_$(COMMIT_DATE)_$(COMMIT_SHA)
HAXE_VERSION=$(shell $(OUTPUT) -version 2>&1 | awk '{print $$1;}')
HAXE_VERSION=$(shell $(CURDIR)/$(OUTPUT) -version 2>&1 | awk '{print $$1;}')
HAXE_VERSION_SHORT=$(shell echo "$(HAXE_VERSION)" | grep -oE "^[0-9]+\.[0-9]+\.[0-9]+")

# using $(CURDIR) on Windows will not work since it might be a Cygwin path
Expand Down Expand Up @@ -189,18 +190,18 @@ endif

haxelib:
(cd $(CURDIR)/extra/haxelib_src && $(CURDIR)/$(OUTPUT) client.hxml && nekotools boot run.n)
mv extra/haxelib_src/run$(EXTENSION) haxelib$(EXTENSION)
mv extra/haxelib_src/run$(EXTENSION) $(HAXELIB_OUTPUT)

tools: haxelib

install: uninstall
mkdir -p "$(DESTDIR)$(INSTALL_BIN_DIR)"
cp haxe haxelib "$(DESTDIR)$(INSTALL_BIN_DIR)"
cp $(OUTPUT) $(HAXELIB_OUTPUT) "$(DESTDIR)$(INSTALL_BIN_DIR)"
mkdir -p "$(DESTDIR)$(INSTALL_STD_DIR)"
cp -r std/* "$(DESTDIR)$(INSTALL_STD_DIR)"

uninstall:
rm -rf $(DESTDIR)$(INSTALL_BIN_DIR)/haxe $(DESTDIR)$(INSTALL_BIN_DIR)/haxelib
rm -rf $(DESTDIR)$(INSTALL_BIN_DIR)/$(OUTPUT) $(DESTDIR)$(INSTALL_BIN_DIR)/$(HAXELIB_OUTPUT)
if [ -d "$(DESTDIR)$(INSTALL_LIB_DIR)/lib" ] && find "$(DESTDIR)$(INSTALL_LIB_DIR)/lib" -mindepth 1 -print -quit | grep -q .; then \
echo "The local haxelib repo at $(DESTDIR)$(INSTALL_LIB_DIR)/lib will not be removed. Remove it manually if you want."; \
find $(DESTDIR)$(INSTALL_LIB_DIR)/ ! -name 'lib' -mindepth 1 -maxdepth 1 -exec rm -rf {} +; \
Expand Down Expand Up @@ -234,18 +235,20 @@ package_unix:
ocaml -version > _build/ocaml.version
# Copy the package contents to $(PACKAGE_FILE_NAME)
mkdir -p $(PACKAGE_FILE_NAME)
cp -r $(OUTPUT) haxelib$(EXTENSION) std extra/LICENSE.txt extra/CONTRIB.txt extra/CHANGES.txt _build $(PACKAGE_FILE_NAME)
cp -r $(OUTPUT) $(HAXELIB_OUTPUT) std extra/LICENSE.txt extra/CONTRIB.txt extra/CHANGES.txt _build $(PACKAGE_FILE_NAME)
# archive
tar -zcf $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_bin.tar.gz $(PACKAGE_FILE_NAME)
rm -r $(PACKAGE_FILE_NAME)

package_bin: package_$(PLATFORM)

xmldoc:
haxelib path hxcpp || haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp
haxelib path hxjava || haxelib git hxjava https://github.com/HaxeFoundation/hxjava
haxelib path hxcs || haxelib git hxcs https://github.com/HaxeFoundation/hxcs
cd extra && haxe doc.hxml
cd extra && \
$(CURDIR)/$(HAXELIB_OUTPUT) newrepo && \
$(CURDIR)/$(HAXELIB_OUTPUT) git hxcpp https://github.com/HaxeFoundation/hxcpp && \
$(CURDIR)/$(HAXELIB_OUTPUT) git hxjava https://github.com/HaxeFoundation/hxjava && \
$(CURDIR)/$(HAXELIB_OUTPUT) git hxcs https://github.com/HaxeFoundation/hxcs && \
PATH="$(CURDIR):$(PATH)" $(CURDIR)/$(OUTPUT) doc.hxml

$(INSTALLER_TMP_DIR):
mkdir -p $(INSTALLER_TMP_DIR)
Expand All @@ -258,7 +261,7 @@ $(INSTALLER_TMP_DIR)/neko-osx64.tar.gz: $(INSTALLER_TMP_DIR)
package_installer_mac: $(INSTALLER_TMP_DIR)/neko-osx64.tar.gz package_unix
$(eval OUTFILE := $(shell pwd)/$(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_installer.tar.gz)
$(eval PACKFILE := $(shell pwd)/$(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_bin.tar.gz)
$(eval VERSION := $(shell haxe -version 2>&1))
$(eval VERSION := $(shell $(CURDIR)/$(OUTPUT) -version 2>&1))
$(eval NEKOVER := $(shell neko -version 2>&1))
bash -c "rm -rf $(INSTALLER_TMP_DIR)/{resources,pkg,tgz,haxe.tar.gz}"
mkdir $(INSTALLER_TMP_DIR)/resources
Expand Down Expand Up @@ -310,7 +313,7 @@ clean_haxe:
rm -f -r _build $(OUTPUT) $(PREBUILD_OUTPUT)

clean_tools:
rm -f $(OUTPUT) $(PREBUILD_OUTPUT) haxelib
rm -f $(OUTPUT) $(PREBUILD_OUTPUT) $(HAXELIB_OUTPUT)

clean_package:
rm -rf $(PACKAGE_OUT_DIR)
Expand Down
12 changes: 9 additions & 3 deletions Makefile.win
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ PLATFORM=win
MAKEFILENAME=Makefile.win
include Makefile
OUTPUT=haxe.exe
HAXELIB_OUTPUT=haxelib.exe
PREBUILD_OUTPUT=prebuild.exe
EXTENSION=.exe
PACKAGE_SRC_EXTENSION=.zip
Expand Down Expand Up @@ -36,7 +37,10 @@ CC_CMD=($(COMPILER) $(ALL_CFLAGS) -c $< 2>tmp.cmi && $(FILTER)) || ($(FILTER) &&
CC_PARSER_CMD=($(COMPILER) -pp camlp4o $(ALL_CFLAGS) -c src/syntax/parser.ml 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
endif

PACKAGE_FILES=$(OUTPUT) haxelib$(EXTENSION) std _build "$$(cygpath -w "$$(which zlib1.dll)")" "$$(cygpath -w "$$(which libpcre-1.dll)")"
PACKAGE_FILES=$(OUTPUT) $(HAXELIB_OUTPUT) std _build "$$(cygcheck $(CURDIR)/$(OUTPUT) | grep zlib1.dll | sed -e 's/^\s*//')" "$$(cygcheck $(CURDIR)/$(OUTPUT) | grep libpcre-1.dll | sed -e 's/^\s*//')"

echo_package_files:
echo $(PACKAGE_FILES)

package_win:
mkdir -p out
Expand Down Expand Up @@ -81,8 +85,10 @@ package_installer_win: $(INSTALLER_TMP_DIR)/neko-win.zip package_win
7z x -y $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_bin.zip -o$(INSTALLER_TMP_DIR)/resources
mv $(INSTALLER_TMP_DIR)/resources/haxe* $(INSTALLER_TMP_DIR)/resources/haxe
# haxesetup.exe
haxelib path hxcpp || haxelib install hxcpp
cd extra; haxelib run hxcpp build-haxesetup.xml
cd extra && \
$(CURDIR)/$(HAXELIB_OUTPUT) newrepo && \
$(CURDIR)/$(HAXELIB_OUTPUT) install hxcpp --quiet && \
$(CURDIR)/$(HAXELIB_OUTPUT) run hxcpp build-haxesetup.xml
cp extra/haxesetup.exe $(INSTALLER_TMP_DIR)/resources/haxe
# extra
cp extra/*.nsi $(INSTALLER_TMP_DIR)
Expand Down
Loading

0 comments on commit 244381d

Please sign in to comment.