diff options
| -rw-r--r-- | scripts/azure-pipelines/linux/azure-pipelines.yml | 12 | ||||
| -rw-r--r-- | scripts/azure-pipelines/osx/azure-pipelines.yml | 12 | ||||
| -rw-r--r-- | scripts/azure-pipelines/windows/azure-pipelines.yml | 16 | ||||
| -rw-r--r-- | scripts/file_script.py | 39 | ||||
| -rw-r--r-- | scripts/vcpkgTools.xml | 7 |
5 files changed, 86 insertions, 0 deletions
diff --git a/scripts/azure-pipelines/linux/azure-pipelines.yml b/scripts/azure-pipelines/linux/azure-pipelines.yml index 65d6d3f1d..e32f98331 100644 --- a/scripts/azure-pipelines/linux/azure-pipelines.yml +++ b/scripts/azure-pipelines/linux/azure-pipelines.yml @@ -48,3 +48,15 @@ jobs: PathtoPublish: '$(System.ArtifactsDirectory)/failure-logs'
ArtifactName: 'x64-linux port build failure logs'
condition: failed()
+ - bash: |
+ python3 scripts/file_script.py /mnt/vcpkg-ci/installed/vcpkg/info/
+ displayName: 'Build a file list for all packages'
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+
+ - task: PublishBuildArtifacts@1
+ displayName: 'Upload file lists for all packages'
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+
+ inputs:
+ PathtoPublish: scripts/list_files
+ ArtifactName: "x64-linux package file lists"
diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index 33685fd6b..580eeac50 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -52,3 +52,15 @@ jobs: PathtoPublish: '$(System.ArtifactsDirectory)/failure-logs'
ArtifactName: 'x64-osx port build failure logs'
condition: failed()
+ - bash: |
+ python3 scripts/file_script.py /Users/vagrant/Data/installed/vcpkg/info/
+ displayName: 'Build a file list for all packages'
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+
+ - task: PublishBuildArtifacts@1
+ displayName: 'Upload file lists for all packages'
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+
+ inputs:
+ PathtoPublish: scripts/list_files
+ ArtifactName: "x64-osx package file lists"
diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index d7f34b3c7..a76b6afdf 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -61,3 +61,19 @@ jobs: PathtoPublish: '$(System.ArtifactsDirectory)\failure-logs'
ArtifactName: '${{ parameters.triplet }} port build failure logs'
condition: failed()
+ - task: PowerShell@2
+ displayName: "Generating all packages files"
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+
+ inputs:
+ targetType: inline
+ script: |
+ $env:VCPKG_DOWNLOADS = "D:\downloads"
+ ./vcpkg.exe fetch python3
+ & $(.\vcpkg fetch python3) .\scripts\file_script.py D:\installed\vcpkg\info\
+ - task: PublishBuildArtifacts@1
+ displayName: 'Upload file lists for all packages'
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+ inputs:
+ PathtoPublish: scripts/list_files
+ ArtifactName: "${{ parameters.triplet }} package file lists"
diff --git a/scripts/file_script.py b/scripts/file_script.py new file mode 100644 index 000000000..1170c643f --- /dev/null +++ b/scripts/file_script.py @@ -0,0 +1,39 @@ +import os
+import os.path
+import sys
+
+
+keyword = "include/"
+
+def getFiles(path):
+ files = os.listdir(path)
+ return list(filter(lambda x: x[0] != '.', files))
+
+def gen_all_file_strings(path, files, headers, output):
+ for file in files:
+ package = file[:file.find("_")]
+ f = open(path + file)
+ for line in f:
+ idx = line.strip().find(keyword)
+ if idx >= 0 and line.strip()[-1] != "/":
+ headers.write(package + ":" + line[idx + len(keyword):])
+ output.write(package + ":" + line[idx-1:])
+ elif line.strip()[-1] != "/":
+ output.write(package + ":" + line[line.find("/"):])
+ f.close()
+
+def main(path):
+ try:
+ os.mkdir("scripts/list_files")
+ except FileExistsError:
+ print("Path already exists, continuing...")
+
+ headers = open("scripts/list_files/VCPKGHeadersDatabase.txt", mode='w')
+ output = open("scripts/list_files/VCPKGDatabase.txt", mode='w')
+ gen_all_file_strings(path, getFiles(path), headers, output)
+ headers.close()
+ output.close()
+
+if __name__ == "__main__":
+ main(sys.argv[1])
+
diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml index 4caad6119..fed4af09b 100644 --- a/scripts/vcpkgTools.xml +++ b/scripts/vcpkgTools.xml @@ -1,5 +1,12 @@ <?xml version="1.0"?> <tools version="2"> + <tool name="python3" os="windows"> + <version>3.8.3</version> + <exeRelativePath>python.exe</exeRelativePath> + <url>https://www.python.org/ftp/python/3.8.3/python-3.8.3-embed-win32.zip</url> + <sha512>8c9078f55b1b5d694e0e809eee6ccf8a6e15810dd4649e8ae1209bff30e102d49546ce970a5d519349ca7759d93146f459c316dc440737171f018600255dcd0a</sha512> + <archiveName>python-3.8.3-embed-win32.zip</archiveName> + </tool> <tool name="cmake" os="windows"> <version>3.17.2</version> <exeRelativePath>cmake-3.17.2-win32-x86\bin\cmake.exe</exeRelativePath> |
