[nonet migration] adapt Makefile and github worklow, update build doc
This will permit to build on the github workflow both the 'net' and 'nonet' variant
This commit is contained in:
112
.github/workflows/build.yml
vendored
112
.github/workflows/build.yml
vendored
@@ -53,10 +53,10 @@ jobs:
|
|||||||
run: $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-26"
|
run: $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-26"
|
||||||
|
|
||||||
- name: Build native dependencies
|
- name: Build native dependencies
|
||||||
run: cd src/java/argon2 && $ANDROID_NDK_ROOT/ndk-build
|
run: make native
|
||||||
|
|
||||||
- name: Build java dependencies
|
- name: Build java dependencies
|
||||||
run: cd src/build-scripts/ && ./build-java.sh
|
run: make java
|
||||||
|
|
||||||
- name: Fixes (can be removed once merged in SamsungPass)
|
- name: Fixes (can be removed once merged in SamsungPass)
|
||||||
run: |
|
run: |
|
||||||
@@ -65,21 +65,41 @@ jobs:
|
|||||||
sed -i '' 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
sed -i '' 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
||||||
|
|
||||||
- name: Install NuGet dependencies
|
- name: Install NuGet dependencies
|
||||||
run: nuget restore src/KeePass.sln
|
run: make nuget
|
||||||
|
|
||||||
- name: Build keepass2android
|
- name: Build keepass2android (net)
|
||||||
run: cd src/build-scripts/ && ./build-xamarin.sh
|
run: |
|
||||||
|
make msbuild Flavor=Net
|
||||||
|
|
||||||
- name: Build APK
|
- name: Build APK (net)
|
||||||
run: cd src/build-scripts/ && ./build-apk.sh
|
run: |
|
||||||
|
make apk Flavor=Net
|
||||||
|
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts (net)
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: signed APK (built on ${{ github.job }})
|
name: signed APK ('net' built on ${{ github.job }})
|
||||||
path: |
|
path: |
|
||||||
src/keepass2android/bin/*/*-Signed.apk
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Build keepass2android (nonet)
|
||||||
|
run: |
|
||||||
|
make msbuild Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Build APK (nonet)
|
||||||
|
run: |
|
||||||
|
make apk Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Archive production artifacts (nonet)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: signed APK ('nonet' built on ${{ github.job }})
|
||||||
|
path: |
|
||||||
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Perform "make distclean"
|
||||||
|
run: make distclean
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
@@ -143,10 +163,10 @@ jobs:
|
|||||||
run: sudo apt -y install libzip4
|
run: sudo apt -y install libzip4
|
||||||
|
|
||||||
- name: Build native dependencies
|
- name: Build native dependencies
|
||||||
run: cd src/java/argon2 && $ANDROID_NDK_ROOT/ndk-build
|
run: make native
|
||||||
|
|
||||||
- name: Build java dependencies
|
- name: Build java dependencies
|
||||||
run: cd src/build-scripts/ && ./build-java.sh
|
run: make java
|
||||||
|
|
||||||
- name: Fixes (can be removed once merged in SamsungPass)
|
- name: Fixes (can be removed once merged in SamsungPass)
|
||||||
run: |
|
run: |
|
||||||
@@ -155,23 +175,41 @@ jobs:
|
|||||||
sed -i 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
sed -i 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
||||||
|
|
||||||
- name: Install NuGet dependencies
|
- name: Install NuGet dependencies
|
||||||
run: nuget restore src/KeePass.sln
|
run: make nuget
|
||||||
|
|
||||||
- name: Build keepass2android
|
- name: Build keepass2android (net)
|
||||||
run: |
|
run: |
|
||||||
cd src/build-scripts/ && ./build-xamarin.sh
|
make msbuild Flavor=Net
|
||||||
|
|
||||||
- name: Build APK
|
- name: Build APK (net)
|
||||||
run: |
|
run: |
|
||||||
cd src/build-scripts/ && ./build-apk.sh
|
make apk Flavor=Net
|
||||||
|
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts (net)
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: signed APK (built on ${{ github.job }})
|
name: signed APK ('net' built on ${{ github.job }})
|
||||||
path: |
|
path: |
|
||||||
src/keepass2android/bin/*/*-Signed.apk
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Build keepass2android (nonet)
|
||||||
|
run: |
|
||||||
|
make msbuild Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Build APK (nonet)
|
||||||
|
run: |
|
||||||
|
make apk Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Archive production artifacts (nonet)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: signed APK ('nonet' built on ${{ github.job }})
|
||||||
|
path: |
|
||||||
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Perform "make distclean"
|
||||||
|
run: make distclean
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
|
|
||||||
# We use windows-2019 because build fails on windows-2022
|
# We use windows-2019 because build fails on windows-2022
|
||||||
@@ -212,14 +250,12 @@ jobs:
|
|||||||
- name: Build native dependencies
|
- name: Build native dependencies
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
cd src/java/argon2
|
make native
|
||||||
%ANDROID_NDK_ROOT%\ndk-build.cmd
|
|
||||||
|
|
||||||
- name: Build java dependencies
|
- name: Build java dependencies
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
cd src\build-scripts
|
make java
|
||||||
build-java.bat
|
|
||||||
|
|
||||||
- name: Fixes (can be removed once merged in SamsungPass)
|
- name: Fixes (can be removed once merged in SamsungPass)
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -228,15 +264,35 @@ jobs:
|
|||||||
sed -i '/TargetFrameworkVersion/ s|v9.0|v11.0|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
sed -i '/TargetFrameworkVersion/ s|v9.0|v11.0|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
||||||
sed -i 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
sed -i 's|<ReleaseVersion>1.0</ReleaseVersion>|<ReleaseVersion>1.0</ReleaseVersion><AndroidClassParser>class-parse</AndroidClassParser>|' src/SamsungPass/Xamarin.SamsungPass/SamsungPass/SamsungPass.csproj
|
||||||
|
|
||||||
- name: Build keepass2android
|
- name: Build keepass2android (net)
|
||||||
shell: cmd
|
|
||||||
run: |
|
run: |
|
||||||
cd src\build-scripts
|
make msbuild Flavor=Net
|
||||||
build-xamarin.bat
|
|
||||||
|
|
||||||
- name: Archive production artifacts
|
- name: Build APK (net)
|
||||||
|
run: |
|
||||||
|
make apk Flavor=Net
|
||||||
|
|
||||||
|
- name: Archive production artifacts (net)
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: signed APK (built on ${{ github.job }})
|
name: signed APK ('net' built on ${{ github.job }})
|
||||||
path: |
|
path: |
|
||||||
src/keepass2android/bin/*/*-Signed.apk
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Build keepass2android (nonet)
|
||||||
|
run: |
|
||||||
|
make msbuild Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Build APK (nonet)
|
||||||
|
run: |
|
||||||
|
make apk Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Archive production artifacts (nonet)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: signed APK ('nonet' built on ${{ github.job }})
|
||||||
|
path: |
|
||||||
|
src/keepass2android/bin/*/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Perform "make distclean"
|
||||||
|
run: make distclean
|
||||||
|
|||||||
10
Makefile
10
Makefile
@@ -6,8 +6,11 @@
|
|||||||
# append the Configuration variable to 'make' call with value to use in '/p:Configuration='
|
# append the Configuration variable to 'make' call with value to use in '/p:Configuration='
|
||||||
# of msbuild command.
|
# of msbuild command.
|
||||||
#
|
#
|
||||||
|
# append the Flavor variable to 'make' call with value to use in '/p:Flavor='
|
||||||
|
# of msbuild command.
|
||||||
|
#
|
||||||
# Example:
|
# Example:
|
||||||
# make Configuration=Release
|
# make Configuration=Release Flavor=NoNet
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Some targets:
|
# Some targets:
|
||||||
@@ -108,6 +111,11 @@ ifneq ($(Configuration),)
|
|||||||
else
|
else
|
||||||
$(warning Configuration environment variable not set.)
|
$(warning Configuration environment variable not set.)
|
||||||
endif
|
endif
|
||||||
|
ifneq ($(Flavor),)
|
||||||
|
MSBUILD_PARAM += -p:Flavor="$(Flavor)"
|
||||||
|
else
|
||||||
|
$(warning Flavor environment variable not set.)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(detected_OS),Windows)
|
ifeq ($(detected_OS),Windows)
|
||||||
define remove
|
define remove
|
||||||
|
|||||||
Reference in New Issue
Block a user