Merge branch 'develop' into 8.2.0-Dev

This commit is contained in:
Joseph Cloutier
2024-01-18 13:23:51 -05:00
2 changed files with 269 additions and 407 deletions

View File

@@ -1,9 +1,12 @@
name: CI name: CI
on: [push, pull_request] on: [push, pull_request]
env:
HAXE_VERSION: 4.2.5
jobs: jobs:
linux-ndll: linux:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
@@ -18,7 +21,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -69,8 +72,27 @@ jobs:
templates/bin/hl/Linux64 templates/bin/hl/Linux64
if-no-files-found: error if-no-files-found: error
macos-ndll: - name: Install samples
runs-on: macos-11 run: |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Build HelloWorld sample
run: |
lime create HelloWorld -verbose -nocolor
lime build HelloWorld linux -release -verbose -nocolor
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage linux -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio linux -release -verbose -nocolor
macos:
runs-on: macos-12
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@@ -79,13 +101,13 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies - name: Install HashLink dependencies
run: | run: |
pushd project/lib/hashlink pushd project/lib/hashlink
brew update brew update
@@ -95,6 +117,9 @@ jobs:
rm /usr/local/bin/python3* rm /usr/local/bin/python3*
brew bundle brew bundle
popd popd
- name: Install Haxe dependencies
run: |
haxelib install hxcpp 4.2.1 --quiet haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet haxelib install format --quiet
haxelib install hxp --quiet haxelib install hxp --quiet
@@ -129,7 +154,26 @@ jobs:
templates/bin/hl/Mac64 templates/bin/hl/Mac64
if-no-files-found: error if-no-files-found: error
windows-ndll: - name: Install samples
run: |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
# - name: Build HelloWorld sample
# run: |
# lime create HelloWorld -verbose -nocolor
# lime build HelloWorld macos -release -verbose -nocolor
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage macos -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio macos -release -verbose -nocolor
windows:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
@@ -139,7 +183,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -196,9 +240,27 @@ jobs:
templates/bin/hl/Windows64 templates/bin/hl/Windows64
if-no-files-found: error if-no-files-found: error
android-ndll: - name: Install samples
needs: macos-ndll run: |
runs-on: macos-11 haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Build HelloWorld sample
run: |
lime create HelloWorld -verbose -nocolor
lime build HelloWorld windows -release -verbose -nocolor
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage windows -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio windows -release -verbose -nocolor
android:
runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@@ -218,7 +280,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -234,28 +296,22 @@ jobs:
run: | run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- name: Rebuild Lime tools - name: Prepare Lime
run: | run: |
haxelib dev lime ${{ github.workspace }} haxelib dev lime ${{ github.workspace }}
haxelib run lime rebuild tools -nocolor -verbose -nocffi haxelib run lime setup -alias -y -nocffi -eval
haxelib run lime setup -alias -y -nocffi
- uses: actions/download-artifact@v3
with:
name: Mac64-NDLL
path: ndll/Mac64/
- name: Configure Android support - name: Configure Android support
run: | run: |
lime config ANDROID_SDK $ANDROID_HOME lime config ANDROID_SDK $ANDROID_HOME -eval
lime config ANDROID_NDK_ROOT ${{ steps.setup-ndk.outputs.ndk-path }} lime config ANDROID_NDK_ROOT ${{ steps.setup-ndk.outputs.ndk-path }} -eval
lime config JAVA_HOME $JAVA_HOME lime config JAVA_HOME $JAVA_HOME -eval
lime config ANDROID_SETUP true lime config ANDROID_SETUP true -eval
lime config lime config -eval
- name: Rebuild Lime (Android) - name: Rebuild Lime (Android)
run: | run: |
lime rebuild android -release -nocolor -verbose -nocffi lime rebuild android -release -nocolor -verbose -nocffi -eval
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
@@ -265,9 +321,26 @@ jobs:
!**/.gitignore !**/.gitignore
if-no-files-found: error if-no-files-found: error
ios-ndll: - name: Install samples
needs: macos-ndll run: |
runs-on: macos-11 haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Build HelloWorld sample
run: |
lime create HelloWorld -verbose -nocolor -eval
lime build HelloWorld android -release -verbose -nocolor -eval
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor -eval
lime build SimpleImage android -release -verbose -nocolor -eval
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor -eval
lime build SimpleAudio android -release -verbose -nocolor -eval
ios:
runs-on: macos-12
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@@ -276,7 +349,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -292,20 +365,14 @@ jobs:
run: | run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- name: Rebuild Lime tools - name: Prepare Lime
run: | run: |
haxelib dev lime ${{ github.workspace }} haxelib dev lime ${{ github.workspace }}
haxelib run lime rebuild tools -nocolor -verbose -nocffi haxelib run lime setup -alias -y -nocffi -eval
haxelib run lime setup -alias -y -nocffi
- uses: actions/download-artifact@v3
with:
name: Mac64-NDLL
path: ndll/Mac64/
- name: Rebuild Lime (iOS) - name: Rebuild Lime (iOS)
run: | run: |
lime rebuild ios -clean -release -verbose -nocolor lime rebuild ios -clean -release -verbose -nocolor -eval
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
@@ -315,9 +382,28 @@ jobs:
!**/.gitignore !**/.gitignore
if-no-files-found: error if-no-files-found: error
- name: Install samples
run: |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
# - name: Build HelloWorld sample
# run: |
# lime create HelloWorld -verbose -nocolor -eval
# lime build HelloWorld ios -simulator -release -verbose -nocolor -eval
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor -eval
lime build SimpleImage ios -simulator -release -verbose -nocolor -eval
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor -eval
lime build SimpleAudio ios -simulator -release -verbose -nocolor -eval
package-haxelib: package-haxelib:
needs: [linux-ndll, macos-ndll, windows-ndll, android-ndll, ios-ndll] needs: [linux, macos, windows, android, ios]
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@@ -326,7 +412,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -423,14 +509,14 @@ jobs:
if-no-files-found: error if-no-files-found: error
docs: docs:
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -452,25 +538,15 @@ jobs:
path: docs/pages path: docs/pages
if-no-files-found: error if-no-files-found: error
android-samples: flash-samples:
needs: package-haxelib runs-on: ubuntu-20.04
runs-on: macos-11
steps: steps:
- name: Install Android NDK - uses: actions/checkout@v3
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r15c
- uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: 11
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -478,95 +554,44 @@ jobs:
- name: Install Haxe dependencies - name: Install Haxe dependencies
run: | run: |
haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet haxelib install format --quiet
haxelib install hxp --quiet haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Enable HXCPP compile cache - name: Prepare Lime
run: | run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV haxelib dev lime ${{ github.workspace }}
haxelib run lime setup -alias -y -nocffi -eval
- uses: actions/download-artifact@v3 - name: Build HelloWorld sample
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: | run: |
haxelib dev lime lime-haxelib lime create HelloWorld -verbose -nocolor -eval
haxelib run lime setup -alias -y -nocffi lime build HelloWorld flash -release -verbose -nocolor -eval
- name: Configure Android support - name: Build SimpleImage sample
run: | run: |
lime config ANDROID_SDK $ANDROID_HOME lime create SimpleImage -verbose -nocolor -eval
lime config ANDROID_NDK_ROOT ${{ steps.setup-ndk.outputs.ndk-path }} lime build SimpleImage flash -release -verbose -nocolor -eval
lime config JAVA_HOME $JAVA_HOME
lime config ANDROID_SETUP true
lime config
- name: Create Lime samples - name: Build SimpleAudio sample
run: | run: |
lime create HelloWorld -verbose -nocolor lime create SimpleAudio -verbose -nocolor -eval
lime create SimpleImage -verbose -nocolor lime build SimpleAudio flash -release -verbose -nocolor -eval
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld android -release -verbose -nocolor
lime build SimpleImage android -release -verbose -nocolor
lime build SimpleAudio android -release -verbose -nocolor
flash-samples:
needs: package-haxelib
runs-on: ubuntu-latest
steps:
- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.2.5
- name: Set HAXEPATH
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples
run: |
lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld flash -release -verbose -nocolor
lime build SimpleImage flash -release -verbose -nocolor
lime build SimpleAudio flash -release -verbose -nocolor
air-samples: air-samples:
needs: package-haxelib
runs-on: windows-latest runs-on: windows-latest
strategy: strategy:
matrix: matrix:
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.1] haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.1]
steps: steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ matrix.haxe-version }}
- uses: joshtynjala/setup-adobe-air-action@v2 - uses: joshtynjala/setup-adobe-air-action@v2
with: with:
@@ -579,41 +604,50 @@ jobs:
- name: Install Haxe dependencies - name: Install Haxe dependencies
run: | run: |
haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet
haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- uses: actions/download-artifact@v3 - name: Prepare Lime
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: | run: |
haxelib dev lime lime-haxelib haxelib dev lime ${{ github.workspace }}
haxelib run lime setup -alias -y -nocffi haxelib run lime setup -alias -y -nocffi -eval
haxelib run lime config AIR_SDK ${{ env.AIR_HOME }} haxelib run lime config AIR_SDK ${{ env.AIR_HOME }} -eval
- name: Create Lime samples - name: Build HelloWorld sample
run: | run: |
lime create HelloWorld -verbose -nocolor lime create HelloWorld -verbose -nocolor -eval
lime create SimpleImage -verbose -nocolor lime build HelloWorld air -release -verbose -nocolor -eval
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples - name: Build SimpleImage sample
run: | run: |
lime build HelloWorld air -release -verbose -nocolor lime create SimpleImage -verbose -nocolor -eval
lime build SimpleImage air -release -verbose -nocolor lime build SimpleImage air -release -verbose -nocolor -eval
lime build SimpleAudio air -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor -eval
lime build SimpleAudio air -release -verbose -nocolor -eval
hashlink-samples: hashlink-samples:
needs: package-haxelib needs: package-haxelib
runs-on: ubuntu-20.04 strategy:
matrix:
os: [windows-latest, ubuntu-20.04, macos-12]
runs-on: ${{ matrix.os }}
steps: steps:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH (Windows)
if: runner.os == 'Windows'
run: |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV
- name: Set HAXEPATH (Mac/Linux)
if: runner.os != 'Windows'
run: | run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
@@ -626,31 +660,35 @@ jobs:
name: lime-haxelib name: lime-haxelib
path: lime-haxelib path: lime-haxelib
- name: Prepare lime - name: Prepare Lime
run: | run: |
haxelib dev lime lime-haxelib haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples - name: Build HelloWorld sample
run: | run: |
lime create HelloWorld -verbose -nocolor lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld hl -release -verbose -nocolor lime build HelloWorld hl -release -verbose -nocolor
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage hl -release -verbose -nocolor lime build SimpleImage hl -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio hl -release -verbose -nocolor lime build SimpleAudio hl -release -verbose -nocolor
html5-samples: html5-samples:
needs: package-haxelib runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.2.5 haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -658,199 +696,65 @@ jobs:
- name: Install Haxe dependencies - name: Install Haxe dependencies
run: | run: |
haxelib install format --quiet
haxelib install hxp --quiet
haxelib install genes --quiet haxelib install genes --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- uses: actions/download-artifact@v3 - name: Prepare Lime
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: | run: |
haxelib dev lime lime-haxelib haxelib dev lime ${{ github.workspace }}
haxelib run lime setup -alias -y -nocffi haxelib run lime setup -alias -y -nocffi -eval
- name: Create Lime samples - name: Build HelloWorld sample
run: | run: |
lime create HelloWorld -verbose -nocolor lime create HelloWorld -verbose -nocolor -eval
lime create SimpleImage -verbose -nocolor lime build HelloWorld html5 -release -verbose -nocolor -eval
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples - name: Build HelloWorld variants
run: | run: |
lime build HelloWorld html5 -release -verbose -nocolor lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes -eval
lime build SimpleImage html5 -release -verbose -nocolor lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser -eval
lime build SimpleAudio html5 -release -verbose -nocolor
- name: Build Lime samples with Genes - name: Build SimpleImage sample
run: | run: |
lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes lime create SimpleImage -verbose -nocolor -eval
lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes lime build SimpleImage html5 -release -verbose -nocolor -eval
lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes
- name: Build Lime samples with Terser minification - name: Build SimpleImage variants
run: | run: |
lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes -eval
lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser -eval
lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser
ios-samples: - name: Build SimpleAudio sample
needs: package-haxelib
runs-on: macos-11
steps:
- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.2.5
- name: Set HAXEPATH
run: | run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV lime create SimpleAudio -verbose -nocolor -eval
lime build SimpleAudio html5 -release -verbose -nocolor -eval
- name: Install Haxe dependencies - name: Build SimpleAudio variants
run: | run: |
haxelib install hxcpp 4.2.1 --quiet lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes -eval
haxelib install format --quiet lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser -eval
haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Enable HXCPP compile cache
run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples
run: |
lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld ios -simulator -release -verbose -nocolor
lime build SimpleImage ios -simulator -release -verbose -nocolor
lime build SimpleAudio ios -simulator -release -verbose -nocolor
linux-samples:
needs: package-haxelib
runs-on: ubuntu-20.04
steps:
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev
- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.2.5
- name: Set HAXEPATH
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet
haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Enable HXCPP compile cache
run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples
run: |
lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld linux -release -verbose -nocolor
lime build SimpleImage linux -release -verbose -nocolor
lime build SimpleAudio linux -release -verbose -nocolor
macos-samples:
needs: package-haxelib
runs-on: macos-11
steps:
- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.2.5
- name: Set HAXEPATH
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet
haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Enable HXCPP compile cache
run: |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples
run: |
lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld macos -release -verbose -nocolor
lime build SimpleImage macos -release -verbose -nocolor
lime build SimpleAudio macos -release -verbose -nocolor
neko-samples: neko-samples:
needs: package-haxelib needs: package-haxelib
runs-on: ubuntu-20.04
strategy: strategy:
matrix: matrix:
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.1] haxe-version: [3.4.7, 4.2.5]
os: [windows-latest, ubuntu-20.04, macos-12]
runs-on: ${{ matrix.os }}
steps: steps:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: ${{ matrix.haxe-version }} haxe-version: ${{ matrix.haxe-version }}
- name: Set HAXEPATH - name: Set HAXEPATH (Windows)
if: runner.os == 'Windows'
run: |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV
- name: Set HAXEPATH (Mac/Linux)
if: runner.os != 'Windows'
run: | run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
@@ -863,72 +767,29 @@ jobs:
name: lime-haxelib name: lime-haxelib
path: lime-haxelib path: lime-haxelib
- name: Prepare lime - name: Prepare Lime
run: | run: |
haxelib dev lime lime-haxelib haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples - name: Build HelloWorld sample
run: | run: |
lime create HelloWorld -verbose -nocolor lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor
- name: Build Lime samples
run: |
lime build HelloWorld neko -release -verbose -nocolor lime build HelloWorld neko -release -verbose -nocolor
lime build SimpleImage neko -release -verbose -nocolor
lime build SimpleAudio neko -release -verbose -nocolor
windows-samples: - name: Build SimpleImage sample
needs: package-haxelib
runs-on: windows-latest
steps:
- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.2.5
- name: Set HAXEPATH
run: | run: |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib install hxcpp 4.2.1 --quiet
haxelib install format --quiet
haxelib install hxp --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- name: Enable HXCPP compile cache
run: |
echo "HXCPP_COMPILE_CACHE=C:\.hxcpp" >> $Env:GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Create Lime samples
run: |
lime create HelloWorld -verbose -nocolor
lime create SimpleImage -verbose -nocolor lime create SimpleImage -verbose -nocolor
lime create SimpleAudio -verbose -nocolor lime build SimpleImage neko -release -verbose -nocolor
- name: Build Lime samples - name: Build SimpleAudio sample
run: | run: |
lime build HelloWorld windows -release -verbose -nocolor lime create SimpleAudio -verbose -nocolor
lime build SimpleImage windows -release -verbose -nocolor lime build SimpleAudio neko -release -verbose -nocolor
lime build SimpleAudio windows -release -verbose -nocolor
notify: notify:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
needs: [package-haxelib, docs, android-samples, flash-samples, air-samples, hashlink-samples, html5-samples, ios-samples, linux-samples, macos-samples, neko-samples, windows-samples] needs: [package-haxelib, docs, android, flash-samples, air-samples, hashlink-samples, html5-samples, ios, linux, macos, neko-samples, windows]
if: ${{ github.repository == 'openfl/lime' && github.event_name != 'pull_request' }} if: ${{ github.repository == 'openfl/lime' && github.event_name != 'pull_request' }}
steps: steps:
- name: Notify Discord - name: Notify Discord

View File

@@ -52,31 +52,39 @@ class PlatformTarget
this.additionalArguments = additionalArguments; this.additionalArguments = additionalArguments;
var metaFields = Meta.getFields(Type.getClass(this)); var metaFields = Meta.getFields(Type.getClass(this));
if (/*!Reflect.hasField (metaFields.watch, "ignore") && */ (project.targetFlags.exists("watch"))) // known issue: this may not log in `-eval` mode on Linux
inline function logCommand(command:String):Void
{
if (!Reflect.hasField(metaFields, command)
|| !Reflect.hasField(Reflect.field(metaFields, command), "ignore"))
{
Log.info("", "\n" + Log.accentColor + "Running command: " + command.toUpperCase() + Log.resetColor);
}
}
if (project.targetFlags.exists("watch"))
{ {
Log.info("", "\n" + Log.accentColor + "Running command: WATCH" + Log.resetColor); Log.info("", "\n" + Log.accentColor + "Running command: WATCH" + Log.resetColor);
watch(); watch();
return; return;
} }
if ((!Reflect.hasField(metaFields, "display") || !Reflect.hasField(metaFields.display, "ignore")) && (command == "display")) if (command == "display")
{ {
display(); display();
} }
// if (!Reflect.hasField (metaFields.clean, "ignore") && (command == "clean" || targetFlags.exists ("clean"))) { // if (command == "clean" || project.targetFlags.exists ("clean")) {
if ((!Reflect.hasField(metaFields, "clean") || !Reflect.hasField(metaFields.clean, "ignore")) if (command == "clean"
&& (command == "clean" || (project.targetFlags.exists("clean") && (command == "update" || command == "build" || command == "test")))
|| (project.targetFlags.exists("clean") && (command == "update" || command == "build" || command == "test"))))
{ {
Log.info("", Log.accentColor + "Running command: CLEAN" + Log.resetColor); logCommand("CLEAN");
clean(); clean();
} }
if ((!Reflect.hasField(metaFields, "rebuild") || !Reflect.hasField(metaFields.rebuild, "ignore")) if (command == "rebuild" || project.targetFlags.exists("rebuild"))
&& (command == "rebuild" || project.targetFlags.exists("rebuild")))
{ {
Log.info("", "\n" + Log.accentColor + "Running command: REBUILD" + Log.resetColor); logCommand("REBUILD");
// hack for now, need to move away from project.rebuild.path, probably // hack for now, need to move away from project.rebuild.path, probably
@@ -88,60 +96,53 @@ class PlatformTarget
rebuild(); rebuild();
} }
if ((!Reflect.hasField(metaFields, "update") || !Reflect.hasField(metaFields.update, "ignore")) if (command == "update" || command == "build" || command == "test")
&& (command == "update" || command == "build" || command == "test"))
{ {
Log.info("", "\n" + Log.accentColor + "Running command: UPDATE" + Log.resetColor); logCommand("update");
// #if lime // #if lime
// AssetHelper.processLibraries (project, targetDirectory); // AssetHelper.processLibraries (project, targetDirectory);
// #end // #end
update(); update();
} }
if ((!Reflect.hasField(metaFields, "build") || !Reflect.hasField(metaFields.build, "ignore")) if (command == "build" || command == "test")
&& (command == "build" || command == "test"))
{ {
CommandHelper.executeCommands(project.preBuildCallbacks); CommandHelper.executeCommands(project.preBuildCallbacks);
Log.info("", "\n" + Log.accentColor + "Running command: BUILD" + Log.resetColor); logCommand("build");
build(); build();
CommandHelper.executeCommands(project.postBuildCallbacks); CommandHelper.executeCommands(project.postBuildCallbacks);
} }
if ((!Reflect.hasField(metaFields, "deploy") || !Reflect.hasField(metaFields.deploy, "ignore")) && (command == "deploy")) if (command == "deploy")
{ {
Log.info("", "\n" + Log.accentColor + "Running command: DEPLOY" + Log.resetColor); logCommand("deploy");
deploy(); deploy();
} }
if ((!Reflect.hasField(metaFields, "install") || !Reflect.hasField(metaFields.install, "ignore")) if (command == "install" || command == "run" || command == "test")
&& (command == "install" || command == "run" || command == "test"))
{ {
Log.info("", "\n" + Log.accentColor + "Running command: INSTALL" + Log.resetColor); logCommand("install");
install(); install();
} }
if ((!Reflect.hasField(metaFields, "run") || !Reflect.hasField(metaFields.run, "ignore")) if (command == "run" || command == "rerun" || command == "test")
&& (command == "run" || command == "rerun" || command == "test"))
{ {
Log.info("", "\n" + Log.accentColor + "Running command: RUN" + Log.resetColor); logCommand("run");
run(); run();
} }
if ((!Reflect.hasField(metaFields, "trace") || !Reflect.hasField(metaFields.trace, "ignore")) if ((command == "test" || command == "trace" || command == "run" || command == "rerun")
&& (command == "test" || command == "trace" || command == "run" || command == "rerun")) && (traceEnabled || command == "trace"))
{ {
if (traceEnabled || command == "trace") logCommand("trace");
{
Log.info("", "\n" + Log.accentColor + "Running command: TRACE" + Log.resetColor);
this.trace(); this.trace();
} }
}
if ((!Reflect.hasField(metaFields, "uninstall") || !Reflect.hasField(metaFields.uninstall, "ignore")) && (command == "uninstall")) if (command == "uninstall")
{ {
Log.info("", "\n" + Log.accentColor + "Running command: UNINSTALL" + Log.resetColor); logCommand("UNINSTALL");
uninstall(); uninstall();
} }
} }