Skip to content

[Feature] ALOpsAppCompiler – Cache AL Language VSIX for 24 hours #912

@DanielGoehler

Description

@DanielGoehler

Is your feature request related to a problem? Please describe.
I’m not sure what Microsoft is planning regarding the deprecation of BcContainerHelper. If the AL Language extension will be downloaded from the Marketplace in the future, it would be helpful for performance if the VSIX did not need to be downloaded on every run. Currently, this leads to unnecessary network usage and longer pipeline runtimes.

Describe the solution you'd like
If possible, I’d like the ALOpsAppCompiler task to cache the downloaded AL Language VSIX for 24 hours.
This would:

Describe alternatives you've considered
As an alternative, it would help if I could provide an already extracted VSIX to ALOpsAppCompiler. That way, I could manage a daily-updated version of the compiler myself and avoid repeated downloads during that period.

Additional context
Log:

##[section]Starting: Compile MainApp
==============================================================================
Task         : ALOps App Compiler
Description  : Compile AL Extension(s) for Business Central
Version      : 2.0.9825
Author       : Hodor
Help         : Compile Business Central extension(s) from AL code.
==============================================================================
*** Using Powershell 7
******************************************************************************
*** ALOps v2 - Preview                                                     ***
******************************************************************************
*** Importing required ALOps-Functions
*** Task Inputs:

�[32;1mname                                            �[0m�[32;1m value�[0m
�[32;1m----                                            �[0m �[32;1m-----�[0m
artifactversion                                  
artifacttype                                     Sandbox
artifactcountry                                  de
versionselect                                    NextMajor
updateruntime                                    
alternativeartifacturl                           https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/28.0.43695…
alternativevsixurl                               PRERELEASE
alsourcepath                                     C:\agent\_work\6047\s\MainApp
ruleset                                          
suppresswarnings                                 KEEP
appversiontemplate                               ?.?.*.0
updatebuildnumber                                True
appfilenametemplate                              %APP_PUBLISHER%_%APP_NAME%_%APP_VERSION%_%BC_TYPE%_%BC_VERSION%_%BC_C…
alcodeanalyzer                                   AppSourceCop,CodeCop,PerTenantExtensionCop,UICop,BusinessCentral.Lint…
ignorepragmas                                    
enable_external_rulesets                         False
showmycode                                       Keep
resourceexposurepolicy_allowdebugging            Keep
resourceexposurepolicy_allowdownloadingsource    Keep
resourceexposurepolicy_includesourceinsymbolfile Keep
internalsvisibleto                               Keep
preprocessorsymbols                              
generatereportlayouts                            False
applicationinsightskey                           
alcachepath                                      C:\agent\_work\6047\s
publishartifact                                  False
publishxlif                                      False
failonwarnings                                   False
failonany                                        False
storageaccount                                   
sastoken                                         
printappmanifest                                 True
outputalclogs                                    True
additionalprobingpaths                           
allowed_publisher_names                          
allowed_publisher_names_separator                ,
accept_insider_eula                              True
track_source_build_metadata                      True
alc_continuebuildonerror                         False
alc_errorlog                                     False
pwsh                                             True


True
*** For documentation, please visit   : https://www.alops.be/documentation

*** Importing required Task-Functions

*** Artifact Type   : [Sandbox]
*** Artifact Version: []
*** Artifact Country: [de]
*** AL Source Path  : [C:\agent\_work\6047\s\MainApp]
*** AL Cache Path   : [C:\agent\_work\6047\s]


*** Fetching PRERELEASE VSIX from Marketplace
*** Fetching Alternative VSIX: [https://ms-dynamics-smb.gallerycdn.vsassets.io/extensions/ms-dynamics-smb/al/17.0.1869541/1761202216985/Microsoft.VisualStudio.Services.VSIXPackage]

*** Downloading Extension from...[https://ms-dynamics-smb.gallerycdn.vsassets.io/extensions/ms-dynamics-smb/al/17.0.1869541/1761202216985/Microsoft.VisualStudio.Services.VSIXPackage]
##[command]Invoke-RestMethod -Method Get -Uri "https://ms-dynamics-smb.gallerycdn.vsassets.io/extensions/ms-dynamics-smb/al/17.0.1869541/1761202216985/Microsoft.VisualStudio.Services.VSIXPackage" -OutFile "C:\agent\_work\_temp\VSIX\custom.vsix"
*** Download complete
*** VSIX Downloaded to [C:\agent\_work\_temp\VSIX\custom.vsix]
*** Prepare Extension for Unpack
*** Unpacking Extension to folder...
*** VSIX Available: [C:\agent\_work\_temp\VSIX\custom]
*** Default Working Folder: C:\agent\_work\6047\s
*** Artifact Folder       : C:\agent\_work\6047\a
*** Agent Tool Folder     : C:\agent\_work\_tool
*** Agent Temp Folder     : C:\agent\_work\_temp

*** Resolving Path: [C:\agent\_work\6047\s\MainApp]
*** AL Source Folder      : C:\agent\_work\6047\s\MainApp
*** Resolving Path: [C:\agent\_work\6047\s]
*** AL Cache Folder       : C:\agent\_work\6047\s

*** Check BcContainerHelper
*** Load BcContainerHelper
BcContainerHelper version 6.1.10
BC.HelperFunctions emits usage statistics telemetry to Microsoft
Running on Windows, PowerShell 7.5.4
[...]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions