|
| 1 | +## Copyright (c) MediaArea.net SARL. All Rights Reserved. |
| 2 | +## |
| 3 | +## Use of this source code is governed by a BSD-style license that can |
| 4 | +## be found in the License.html file in the root of the source tree. |
| 5 | +## |
| 6 | + |
| 7 | +Param([parameter(Mandatory=$true)][String]$arch) |
| 8 | + |
| 9 | +$ErrorActionPreference = "Stop" |
| 10 | + |
| 11 | +#----------------------------------------------------------------------- |
| 12 | +# Setup |
| 13 | +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path |
| 14 | +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() |
| 15 | +$arch_alt="${arch}" |
| 16 | +if ("${arch}" -eq "Win32" ) { |
| 17 | + $arch_alt="i386" |
| 18 | +} |
| 19 | + |
| 20 | +#----------------------------------------------------------------------- |
| 21 | +# Cleanup |
| 22 | +$artifact = "${release_directory}\MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller" |
| 23 | +if (Test-Path "${artifact}") { |
| 24 | + Remove-Item -Force -Recurse "${artifact}" |
| 25 | +} |
| 26 | + |
| 27 | +$artifact = "${release_directory}\MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller.zip" |
| 28 | +if (Test-Path "${artifact}") { |
| 29 | + Remove-Item -Force "${artifact}" |
| 30 | +} |
| 31 | + |
| 32 | +$artifact = "${release_directory}\MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller.7z" |
| 33 | +if (Test-Path "${artifact}") { |
| 34 | + Remove-Item -Force "${artifact}" |
| 35 | +} |
| 36 | + |
| 37 | +$artifact = "${release_directory}\MediaInfo_DLL_${version}_Windows_${arch_alt}.exe" |
| 38 | +if (Test-Path "${artifact}") { |
| 39 | + Remove-Item -Force "${artifact}" |
| 40 | +} |
| 41 | + |
| 42 | +#----------------------------------------------------------------------- |
| 43 | +# Generate documentation |
| 44 | +Push-Location "${release_directory}\..\Source\Doc" |
| 45 | + & doxygen.exe |
| 46 | +Pop-Location |
| 47 | + |
| 48 | +#----------------------------------------------------------------------- |
| 49 | +# Package DLL |
| 50 | +Push-Location "${release_directory}" |
| 51 | + New-Item -ItemType Directory -Path "MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller" |
| 52 | + Push-Location "MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller" |
| 53 | + ### Copying: Documentation ### |
| 54 | + New-Item -Force -ItemType Directory "Developers" |
| 55 | + Copy-Item -Force "..\..\Source\Doc\*.html" "Developers" |
| 56 | + New-Item -Force -ItemType Directory "Developers\Doc" |
| 57 | + Copy-Item -Force "..\..\Doc\*" "Developers\Doc" |
| 58 | + New-Item -Force -ItemType Directory "Developers\List_Of_Parameters" |
| 59 | + Copy-Item -Force "..\..\Source\Resource\Text\Stream\*.csv" "Developers\List_Of_Parameters" |
| 60 | + ### Copying: Include ### |
| 61 | + New-Item -Force -ItemType Directory "Developers\Source\MediaInfoDLL" |
| 62 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.h" "Developers\Source\MediaInfoDLL" |
| 63 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL_Static.h" "Developers\Source\MediaInfoDLL" |
| 64 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.def" "Developers\Source\MediaInfoDLL" |
| 65 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.pas" "Developers\Source\MediaInfoDLL" |
| 66 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.cs" "Developers\Source\MediaInfoDLL" |
| 67 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.jsl" "Developers\Source\MediaInfoDLL" |
| 68 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.vb" "Developers\Source\MediaInfoDLL" |
| 69 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.JNA.java" "Developers\Source\MediaInfoDLL" |
| 70 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.JNI.java" "Developers\Source\MediaInfoDLL" |
| 71 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.JNative.java" "Developers\Source\MediaInfoDLL" |
| 72 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL.py" "Developers\Source\MediaInfoDLL" |
| 73 | + Copy-Item -Force "..\..\Source\MediaInfoDLL\MediaInfoDLL3.py" "Developers\Source\MediaInfoDLL" |
| 74 | + ### Copying: Projects ### |
| 75 | + New-Item -Force -ItemType Directory "Developers\Project\BCB\Example" |
| 76 | + Copy-Item -Force "..\..\Project\BCB\Example\*.bpf" "Developers\Project\BCB\Example" |
| 77 | + Copy-Item -Force "..\..\Project\BCB\Example\*.bpr" "Developers\Project\BCB\Example" |
| 78 | + Copy-Item -Force "..\..\Project\BCB\Example\*.res*" "Developers\Project\BCB\Example" |
| 79 | + Copy-Item -Force "..\..\Project\BCB\Example\*.dfm" "Developers\Project\BCB\Example" |
| 80 | + Copy-Item -Force "..\..\Project\BCB\Example\*.h" "Developers\Project\BCB\Example" |
| 81 | + Copy-Item -Force "..\..\Project\BCB\Example\*.cpp" "Developers\Project\BCB\Example" |
| 82 | + New-Item -Force -ItemType Directory "Developers\Project\Delphi\Example" |
| 83 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.dpr" "Developers\Project\Delphi\Example" |
| 84 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.dfm" "Developers\Project\Delphi\Example" |
| 85 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.res" "Developers\Project\Delphi\Example" |
| 86 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.pas" "Developers\Project\Delphi\Example" |
| 87 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.bdsproj" "Developers\Project\Delphi\Example" |
| 88 | + Copy-Item -Force "..\..\Project\Delphi\Example\*.bdsgroup" "Developers\Project\Delphi\Example" |
| 89 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2008" |
| 90 | + Copy-Item -Force "..\..\Project\MSCS2008\*.sln" "Developers\Project\MSCS2008" |
| 91 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2008\Example" |
| 92 | + Copy-Item -Force "..\..\Project\MSCS2008\Example\*.cs" "Developers\Project\MSCS2008\Example" |
| 93 | + Copy-Item -Force "..\..\Project\MSCS2008\Example\*.csproj" "Developers\Project\MSCS2008\Example" |
| 94 | + Copy-Item -Force "..\..\Project\MSCS2008\Example\*.res*" "Developers\Project\MSCS2008\Example" |
| 95 | + Copy-Item -Force "..\..\Project\MSCS2008\Example\*.ico" "Developers\Project\MSCS2008\Example" |
| 96 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2008\asp_net_web_application" |
| 97 | + Copy-Item -Force "..\..\Project\MSCS2008\asp_net_web_application\*.cs" "Developers\Project\MSCS2008\asp_net_web_application" |
| 98 | + Copy-Item -Force "..\..\Project\MSCS2008\asp_net_web_application\*.csproj" "Developers\Project\MSCS2008\asp_net_web_application" |
| 99 | + Copy-Item -Force "..\..\Project\MSCS2008\asp_net_web_application\*.aspx" "Developers\Project\MSCS2008\asp_net_web_application" |
| 100 | + Copy-Item -Force "..\..\Project\MSCS2008\asp_net_web_application\*.config" "Developers\Project\MSCS2008\asp_net_web_application" |
| 101 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2010" |
| 102 | + Copy-Item -Force "..\..\Project\MSCS2010\*.sln" "Developers\Project\MSCS2010" |
| 103 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2010\Example" |
| 104 | + Copy-Item -Force "..\..\Project\MSCS2010\Example\*.cs" "Developers\Project\MSCS2010\Example" |
| 105 | + Copy-Item -Force "..\..\Project\MSCS2010\Example\*.csproj" "Developers\Project\MSCS2010\Example" |
| 106 | + Copy-Item -Force "..\..\Project\MSCS2010\Example\*.res*" "Developers\Project\MSCS2010\Example" |
| 107 | + Copy-Item -Force "..\..\Project\MSCS2010\Example\*.ico" "Developers\Project\MSCS2010\Example" |
| 108 | + New-Item -Force -ItemType Directory "Developers\Project\MSCS2010\asp_net_web_application" |
| 109 | + Copy-Item -Force "..\..\Project\MSCS2010\asp_net_web_application\*.cs" "Developers\Project\MSCS2010\asp_net_web_application" |
| 110 | + Copy-Item -Force "..\..\Project\MSCS2010\asp_net_web_application\*.csproj" "Developers\Project\MSCS2010\asp_net_web_application" |
| 111 | + Copy-Item -Force "..\..\Project\MSCS2010\asp_net_web_application\*.aspx" "Developers\Project\MSCS2010\asp_net_web_application" |
| 112 | + Copy-Item -Force "..\..\Project\MSCS2010\asp_net_web_application\*.config" "Developers\Project\MSCS2010\asp_net_web_application" |
| 113 | + New-Item -Force -ItemType Directory "Developers\Project\MSJS" |
| 114 | + Copy-Item -Force "..\..\Project\MSJS\*.sln" "Developers\Project\MSJS" |
| 115 | + New-Item -Force -ItemType Directory "Developers\Project\MSJS\Example" |
| 116 | + Copy-Item -Force "..\..\Project\MSJS\Example\*.jsl" "Developers\Project\MSJS\Example" |
| 117 | + Copy-Item -Force "..\..\Project\MSJS\Example\*.vjsproj" "Developers\Project\MSJS\Example" |
| 118 | + Copy-Item -Force "..\..\Project\MSJS\Example\*.res*" "Developers\Project\MSJS\Example" |
| 119 | + New-Item -Force -ItemType Directory "Developers\Project\MSVB" |
| 120 | + Copy-Item -Force "..\..\Project\MSVB\*.sln" "Developers\Project\MSVB" |
| 121 | + New-Item -Force -ItemType Directory "Developers\Project\MSVB\Example" |
| 122 | + Copy-Item -Force "..\..\Project\MSVB\Example\*.vb" "Developers\Project\MSVB\Example" |
| 123 | + Copy-Item -Force "..\..\Project\MSVB\Example\*.vbproj" "Developers\Project\MSVB\Example" |
| 124 | + Copy-Item -Force "..\..\Project\MSVB\Example\*.res*" "Developers\Project\MSVB\Example" |
| 125 | + New-Item -Force -ItemType Directory "Developers\Project\MSVB\Example\My Project" |
| 126 | + Copy-Item -Force "..\..\Project\MSVB\Example\My Project\*.*" "Developers\Project\MSVB\Example\My Project" |
| 127 | + New-Item -Force -ItemType Directory "Developers\Project\MSVB\Example VB6" |
| 128 | + Copy-Item -Force "..\..\Project\MSVB\Example VB6\*.*" "Developers\Project\MSVB\Example VB6" |
| 129 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022" |
| 130 | + Copy-Item -Force "..\..\Project\MSVC2022\*.sln" "Developers\Project\MSVC2022" |
| 131 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022\Example" |
| 132 | + Copy-Item -Force "..\..\Project\MSVC2022\Example\HowToUse_Dll.vcxproj" "Developers\Project\MSVC2022\Example" |
| 133 | + Copy-Item -Force "..\..\Project\MSVC2022\Example\HowToUse_Dll.vcxproj.filters" "Developers\Project\MSVC2022\Example" |
| 134 | + New-Item -Force -ItemType Directory "Developers\Project\Java\Example.JNA" |
| 135 | + Copy-Item -Force "..\..\Project\Java\Example.JNA\*.java" "Developers\Project\Java\Example.JNA" |
| 136 | + Copy-Item -Force "..\..\Project\Java\Example.JNA\*.txt" "Developers\Project\Java\Example.JNA" |
| 137 | + Copy-Item -Force "..\..\Project\Java\Example.JNA\*.bat" "Developers\Project\Java\Example.JNA" |
| 138 | + Copy-Item -Force "..\..\Project\Java\Example.JNA\*.sh" "Developers\Project\Java\Example.JNA" |
| 139 | + New-Item -Force -ItemType Directory "Developers\Project\Java\Example.JNI" |
| 140 | + Copy-Item -Force "..\..\Project\Java\Example.JNI\*.bat" "Developers\Project\Java\Example.JNI" |
| 141 | + Copy-Item -Force "..\..\Project\Java\Example.JNI\*.sh" "Developers\Project\Java\Example.JNI" |
| 142 | + New-Item -Force -ItemType Directory "Developers\Project\Java\Example.JNative" |
| 143 | + Copy-Item -Force "..\..\Project\Java\Example.JNative\*.java" "Developers\Project\Java\Example.JNative" |
| 144 | + Copy-Item -Force "..\..\Project\Java\Example.JNative\*.txt" "Developers\Project\Java\Example.JNative" |
| 145 | + Copy-Item -Force "..\..\Project\Java\Example.JNative\*.bat" "Developers\Project\Java\Example.JNative" |
| 146 | + Copy-Item -Force "..\..\Project\Java\Example.JNative\*.sh" "Developers\Project\Java\Example.JNative" |
| 147 | + New-Item -Force -ItemType Directory "Developers\Project\NetBeans\Example.JNA" |
| 148 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNA\*.xml" "Developers\Project\NetBeans\Example.JNA" |
| 149 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNA\*.properties" "Developers\Project\NetBeans\Example.JNA" |
| 150 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNA\*.mf" "Developers\Project\NetBeans\Example.JNA" |
| 151 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNA\*.txt" "Developers\Project\NetBeans\Example.JNA" |
| 152 | + New-Item -Force -ItemType Directory "Developers\Project\NetBeans\Example.JNA\src" |
| 153 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNA\src\*.java" "Developers\Project\NetBeans\Example.JNA\src" |
| 154 | + New-Item -Force -ItemType Directory "Developers\Project\NetBeans\Example.JNative" |
| 155 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNative\*.xml" "Developers\Project\NetBeans\Example.JNative" |
| 156 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNative\*.properties" "Developers\Project\NetBeans\Example.JNative" |
| 157 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNative\*.mf" "Developers\Project\NetBeans\Example.JNative" |
| 158 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNative\*.txt" "Developers\Project\NetBeans\Example.JNative" |
| 159 | + New-Item -Force -ItemType Directory "Developers\Project\NetBeans\Example.JNative\src" |
| 160 | + Copy-Item -Force "..\..\Project\NetBeans\Example.JNative\src\*.java" "Developers\Project\NetBeans\Example.JNative\src" |
| 161 | + ### Copying: Libs ### |
| 162 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022\${arch}\Release" |
| 163 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaInfo.lib" "Developers\Project\MSVC2022\${arch}\Release" |
| 164 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022\${arch}\Debug" |
| 165 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Debug\MediaInfo.lib" "Developers\Project\MSVC2022\${arch}\Debug" |
| 166 | + if ($arch -eq "ARM64") { |
| 167 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022\${arch}EC\Release" |
| 168 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}EC\Release\MediaInfo.lib" "Developers\Project\MSVC2022\${arch}EC\Release" |
| 169 | + New-Item -Force -ItemType Directory "Developers\Project\MSVC2022\${arch}EC\Debug" |
| 170 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}EC\Debug\MediaInfo.lib" "Developers\Project\MSVC2022\${arch}EC\Debug" |
| 171 | + } |
| 172 | + New-Item -Force -ItemType Directory "Developers\Source\Example" |
| 173 | + Copy-Item -Force "..\..\Source\Example\HowToUse_Dll*.*" "Developers\Source\Example" |
| 174 | + New-Item -Force -ItemType Directory "Developers" |
| 175 | + Copy-Item -Force "..\Example.ogg" "Developers" |
| 176 | + ### Copying: Information files ### |
| 177 | + Copy-Item -Force "..\..\History_DLL.txt" "Developers\History.txt" |
| 178 | + Copy-Item -Force "..\..\License.html" "Developers" |
| 179 | + Copy-Item -Force "..\..\Changes.txt" "Developers" |
| 180 | + Copy-Item -Force "..\ReadMe_DLL_Windows.txt" "ReadMe.txt" |
| 181 | + ### Copying: DLL ### |
| 182 | + if ($arch -eq "ARM64") { |
| 183 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}EC\Release\MediaInfo.dll" . |
| 184 | + } |
| 185 | + else { |
| 186 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaInfo.dll" . |
| 187 | + } |
| 188 | + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaInfo_InfoTip.dll" . |
| 189 | + Copy-Item -Force "..\..\Project\MSVC2022\ShellExtension\*.bat" . |
| 190 | + ### Archive |
| 191 | + & 7za.exe a -r -t7z -mx9 "..\MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller.7z" * |
| 192 | + & 7za.exe a -r -tzip -mx9 "..\MediaInfo_DLL_${version}_Windows_${arch_alt}_WithoutInstaller.zip" * |
| 193 | + Pop-Location |
| 194 | +Pop-Location |
| 195 | + |
| 196 | +#----------------------------------------------------------------------- |
| 197 | +# Package installer |
| 198 | +Push-Location "${release_directory}" |
| 199 | + & makensis.exe "..\Source\Install\MediaInfo_DLL_Windows_${arch_alt}.nsi" |
| 200 | +Pop-Location |
0 commit comments