mirror of
https://github.com/bitwarden/mobile.git
synced 2024-10-02 04:37:50 +02:00
ci build apks script
This commit is contained in:
parent
9a13036f4e
commit
12cd2b67cd
@ -5,11 +5,7 @@ before_build:
|
|||||||
- IF DEFINED keystore_dec_secret nuget install secure-file -ExcludeVersion
|
- IF DEFINED keystore_dec_secret nuget install secure-file -ExcludeVersion
|
||||||
- IF DEFINED google_services_dec_secret secure-file\tools\secure-file -decrypt src\Android\google-services.json.enc -secret %google_services_dec_secret%
|
- IF DEFINED google_services_dec_secret secure-file\tools\secure-file -decrypt src\Android\google-services.json.enc -secret %google_services_dec_secret%
|
||||||
after_build:
|
after_build:
|
||||||
- ps: IF($env:keystore_dec_secret) { .\src\Android\increment-version.ps1 $($env:APPVEYOR_BUILD_FOLDER) $($env:APPVEYOR_BUILD_NUMBER) }
|
- ps: IF($env:keystore_dec_secret) { .\src\Android\ci-build-apks.ps1 }
|
||||||
- IF DEFINED keystore_dec_secret secure-file\tools\secure-file -decrypt src\Android\8bit.keystore.enc -secret %keystore_dec_secret%
|
|
||||||
- IF DEFINED keystore_password msbuild "/t:SignAndroidPackage" "/p:Configuration=Release" "/p:AndroidKeyStore=true" "/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=%keystore_password%" "/p:AndroidSigningKeyStore=8bit.keystore" "/p:AndroidSigningStorePass=%keystore_password%" "src\Android\Android.csproj"
|
|
||||||
- ps: IF($env:keystore_dec_secret) { copy-item src\Android\bin\Release\com.x8bit.bitwarden-Signed.apk .\com.x8bit.bitwarden-$($env:APPVEYOR_BUILD_NUMBER).apk }
|
|
||||||
- ps: IF($env:keystore_dec_secret) { .\src\Android\fdroid-build.ps1 }
|
|
||||||
on_success:
|
on_success:
|
||||||
- IF DEFINED play_dec_secret secure-file\tools\secure-file -decrypt store\google\Publisher\play_creds.json.enc -secret %play_dec_secret%
|
- IF DEFINED play_dec_secret secure-file\tools\secure-file -decrypt store\google\Publisher\play_creds.json.enc -secret %play_dec_secret%
|
||||||
- IF DEFINED play_dec_secret dotnet store\google\Publisher\bin\Debug\netcoreapp2.0\Publisher.dll %APPVEYOR_BUILD_FOLDER%\store\google\Publisher\play_creds.json %APPVEYOR_BUILD_FOLDER%\com.x8bit.bitwarden-%APPVEYOR_BUILD_NUMBER%.apk alpha
|
- IF DEFINED play_dec_secret dotnet store\google\Publisher\bin\Debug\netcoreapp2.0\Publisher.dll %APPVEYOR_BUILD_FOLDER%\store\google\Publisher\play_creds.json %APPVEYOR_BUILD_FOLDER%\com.x8bit.bitwarden-%APPVEYOR_BUILD_NUMBER%.apk alpha
|
||||||
|
@ -155,9 +155,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="8bit.keystore.enc" />
|
<None Include="8bit.keystore.enc" />
|
||||||
<GoogleServicesJson Include="google-services.json" />
|
<GoogleServicesJson Include="google-services.json" />
|
||||||
<None Include="fdroid-build.ps1" />
|
<None Include="ci-build-apks.ps1" />
|
||||||
<None Include="google-services.json.enc" />
|
<None Include="google-services.json.enc" />
|
||||||
<None Include="increment-version.ps1" />
|
|
||||||
<None Include="Resources\AboutResources.txt" />
|
<None Include="Resources\AboutResources.txt" />
|
||||||
<None Include="Assets\AboutAssets.txt" />
|
<None Include="Assets\AboutAssets.txt" />
|
||||||
<AndroidResource Include="Resources\drawable\slider_thumb.xml">
|
<AndroidResource Include="Resources\drawable\slider_thumb.xml">
|
||||||
|
86
src/Android/ci-build-apks.ps1
Normal file
86
src/Android/ci-build-apks.ps1
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
$rootPath = $env:APPVEYOR_BUILD_FOLDER;
|
||||||
|
|
||||||
|
$androidPath = $($rootPath + "\src\Android\Android.csproj");
|
||||||
|
$appPath = $($rootPath + "\src\App\App.csproj");
|
||||||
|
|
||||||
|
echo "##### Increment Version"
|
||||||
|
|
||||||
|
$androidManifest = $($rootPath + "\src\Android\Properties\AndroidManifest.xml");
|
||||||
|
|
||||||
|
$xml=New-Object XML;
|
||||||
|
$xml.Load($androidManifest);
|
||||||
|
|
||||||
|
$node=$xml.SelectNodes("/manifest");
|
||||||
|
$node.SetAttribute("android:versionCode", $env:APPVEYOR_BUILD_NUMBER);
|
||||||
|
|
||||||
|
$xml.Save($androidManifest);
|
||||||
|
|
||||||
|
echo "##### Decrypt Keystore"
|
||||||
|
|
||||||
|
$encKeystorePath = $($rootPath + "\src\Android\8bit.keystore.enc");
|
||||||
|
..\..\secure-file\tools\secure-file -decrypt $($encKeystorePath) -secret $($env:keystore_password)
|
||||||
|
|
||||||
|
echo "##### Sign Release Configuration"
|
||||||
|
|
||||||
|
msbuild "Android.csproj" "/t:SignAndroidPackage" "/p:Configuration=Release" "/p:AndroidKeyStore=true" "/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:keystore_password)" "/p:AndroidSigningKeyStore=8bit.keystore" "/p:AndroidSigningStorePass=$($env:keystore_password)"
|
||||||
|
|
||||||
|
echo "##### Copy Release apk to project root"
|
||||||
|
|
||||||
|
$signedApkPath = $($rootPath + "\src\Android\bin\Release\com.x8bit.bitwarden-Signed.apk");
|
||||||
|
$signedApkDestPath = $($rootPath + "\com.x8bit.bitwarden-" + $env:APPVEYOR_BUILD_NUMBER + ".apk");
|
||||||
|
|
||||||
|
Copy-Item $signedApkPath $signedApkDestPath
|
||||||
|
|
||||||
|
echo "##### Clean Android and App"
|
||||||
|
|
||||||
|
msbuild "$($androidPath)" "/t:Clean" "/p:Configuration=FDroid"
|
||||||
|
msbuild "$($appPath)" "/t:Clean" "/p:Configuration=FDroid"
|
||||||
|
|
||||||
|
echo "##### Backup project files"
|
||||||
|
|
||||||
|
Copy-Item $androidPath $($androidPath + ".original");
|
||||||
|
Copy-Item $appPath $($appPath + ".original");
|
||||||
|
|
||||||
|
echo "##### Uninstall from Android.csproj"
|
||||||
|
|
||||||
|
$xml=New-Object XML;
|
||||||
|
$xml.Load($androidPath);
|
||||||
|
|
||||||
|
$ns=New-Object System.Xml.XmlNamespaceManager($xml.NameTable);
|
||||||
|
$ns.AddNamespace("ns", $xml.DocumentElement.NamespaceURI);
|
||||||
|
|
||||||
|
$firebaseNode=$xml.SelectSingleNode("/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.Firebase.Messaging']", $ns);
|
||||||
|
$firebaseNode.ParentNode.RemoveChild($firebaseNode);
|
||||||
|
|
||||||
|
$playServiceNode=$xml.SelectSingleNode("/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.GooglePlayServices.Analytics']", $ns);
|
||||||
|
$playServiceNode.ParentNode.RemoveChild($playServiceNode);
|
||||||
|
|
||||||
|
$xml.Save($androidPath);
|
||||||
|
|
||||||
|
echo "##### Uninstall from App.csproj"
|
||||||
|
|
||||||
|
$xml=New-Object XML;
|
||||||
|
$xml.Load($appPath);
|
||||||
|
|
||||||
|
$hockeyNode=$xml.SelectSingleNode("/Project/ItemGroup/PackageReference[@Include='HockeySDK.Xamarin']");
|
||||||
|
$hockeyNode.ParentNode.RemoveChild($hockeyNode);
|
||||||
|
|
||||||
|
$xml.Save($appPath);
|
||||||
|
|
||||||
|
echo "##### Restore NuGet"
|
||||||
|
|
||||||
|
..\..\nuget.exe restore
|
||||||
|
|
||||||
|
echo "##### Build and Sign FDroid Configuration"
|
||||||
|
|
||||||
|
msbuild "Android.csproj" "/logger:C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" "/p:Configuration=FDroid"
|
||||||
|
msbuild "Android.csproj" "/t:SignAndroidPackage" "/p:Configuration=FDroid" "/p:AndroidKeyStore=true" "/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:keystore_password)" "/p:AndroidSigningKeyStore=8bit.keystore" "/p:AndroidSigningStorePass=$($env:keystore_password)"
|
||||||
|
|
||||||
|
echo "##### Copy FDroid apk to project root"
|
||||||
|
|
||||||
|
$signedApkPath = $($rootPath + "\src\Android\bin\FDroid\com.x8bit.bitwarden-Signed.apk");
|
||||||
|
$signedApkDestPath = $($rootPath + "\com.x8bit.bitwarden-fdroid-" + $env:APPVEYOR_BUILD_NUMBER + ".apk");
|
||||||
|
|
||||||
|
Copy-Item $signedApkPath $signedApkDestPath
|
||||||
|
|
||||||
|
echo "##### Done"
|
@ -1,11 +0,0 @@
|
|||||||
msbuild "Android.csproj" "/t:Clean" "/p:Configuration=FDroid"
|
|
||||||
msbuild "..\App\App.csproj" "/t:Clean" "/p:Configuration=FDroid"
|
|
||||||
|
|
||||||
Uninstall-Package Xamarin.Firebase.Messaging
|
|
||||||
Uninstall-Package Xamarin.GooglePlayServices.Analytics
|
|
||||||
Uninstall-Package HockeySDK.Xamarin
|
|
||||||
|
|
||||||
msbuild "Android.csproj" "/logger:C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" "/p:Configuration=FDroid"
|
|
||||||
msbuild "Android.csproj" "/t:SignAndroidPackage" "/p:Configuration=FDroid" "/p:AndroidKeyStore=true" "/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:keystore_password)" "/p:AndroidSigningKeyStore=8bit.keystore" "/p:AndroidSigningStorePass=$($env:keystore_password)"
|
|
||||||
|
|
||||||
Copy-Item .\bin\FDroid\com.x8bit.bitwarden-Signed.apk ..\com.x8bit.bitwarden-fdroid-$($env:APPVEYOR_BUILD_NUMBER).apk
|
|
@ -1,8 +0,0 @@
|
|||||||
$rootPath = $args[0];
|
|
||||||
$newVersionCode = $args[1];
|
|
||||||
|
|
||||||
$xml=New-Object XML;
|
|
||||||
$xml.Load($rootPath + "\src\Android\Properties\AndroidManifest.xml");
|
|
||||||
$node=$xml.SelectNodes("/manifest");
|
|
||||||
$node.SetAttribute("android:versionCode", $newVersionCode);
|
|
||||||
$xml.Save($rootPath + "\src\Android\Properties\AndroidManifest.xml");
|
|
Loading…
Reference in New Issue
Block a user