scripts to build Poco modules as Nuget packages

Signed-off-by: Francis ANDRE <francis.andre.kampbell@orange.fr>
This commit is contained in:
Francis ANDRE 2020-12-25 10:41:07 +01:00
parent 5b2d1bce8e
commit 340165e5fb
12 changed files with 243 additions and 0 deletions

BIN
packaging/Poco.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -0,0 +1,20 @@
<?xml version='1.0' encoding='utf-8'?>
<package xmlns='http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd'>
<metadata>
<id>Poco.$id$.vs$vs$.$mode$</id>
<version>$version$</version>
<title>Pocoproject Poco $id$ vs$vs$ $mode$</title>
<authors>Applied Informatics &amp; Contributors</authors>
<owners>Guenter Obiltschnig &amp; Aleksandar Fabijanic</owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<license type='expression'>BSL-1.0</license>
<icon>image\poco.png</icon>
<projectUrl>https://pocoproject.org/</projectUrl>
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
<releaseNotes>releaseNotes</releaseNotes>
<copyright>Copyright 2006-2020</copyright>
<language></language>
<tags>native string filesystem thread date log event regex uri uuid cache nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
<repository type='git' url='git@github.com:pocoproject/poco.git' branch='poco-$version$' />
<dependencies>
<dependency id='Poco.$id$.vs$vs$.noarch' version='$version$' />

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>Poco.$id$.$vs$.noarch</id>
<version>$version$</version>
<title>Pocoproject Poco $vs$ noarch</title>
<authors>Applied Informatics &amp; Contributors</authors>
<owners>Guenter Obiltschnig &amp; Aleksandar Fabijanic</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">BSL-1.0</license>
<icon>image/poco.png</icon>
<projectUrl>https://org/</projectUrl>
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
<releaseNotes>releaseNotes</releaseNotes>
<copyright>Copyright 2006-2020</copyright>
<language></language>
<tags>native string filesystem thread date log event regex uri uuid cache nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
<repository type="git" url="git@github.com:pocoproject/poco.git" branch="poco-$version$" />
</metadata>
<files>
<file src="..\..\poco.png" target="image\poco.png" />
<file src="..\..\..\$inc$\include\**\*.h" target="build\native\inc" />
<file src="Poco.noarch.targets" target="build\native\Poco.$id$.$vs$.noarch.targets" />
</files>
</package>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
</Project>

View File

@ -0,0 +1,15 @@
</dependencies>
</metadata>
<files>
<file src='..\..\poco.png' target='image\poco.png' />
<file src='..\..\..\bin\Poco$id$.*' target='build\native\bin\' />
<file src='..\..\..\bin\Poco$id$d.*' target='build\native\bin\' />
<file src='..\..\..\lib\Poco$id$.*' target='build\native\lib\' exclude= '..\..\..\lib\Poco$id$md*.*;..\..\..\lib\Poco$id$mt*.*' />
<file src='..\..\..\lib\Poco$id$d.*' target='build\native\lib\' exclude= '..\..\..\lib\Poco$id$md*.*;..\..\..\lib\Poco$id$mt*.*' />
<file src='..\..\..\bin64\Poco$id$64.*' target='build\native\bin64\' />
<file src='..\..\..\bin64\Poco$id$64d.*' target='build\native\bin64\' />
<file src='..\..\..\lib64\Poco$id$.*' target='build\native\lib64\' exclude= '..\..\..\lib64\Poco$id$md*.*;..\..\..\lib64\Poco$id$mt*.*' />
<file src='..\..\..\lib64\Poco$id$d.*' target='build\native\lib64\' exclude= '..\..\..\lib64\Poco$id$md*.*;..\..\..\lib64\Poco$id$mt*.*' />
<file src='Poco.shared.targets' target='build\native\Poco.$id$.vs$vs$.shared.targets' />
</files>
</package>

View File

@ -0,0 +1,37 @@
<?xml version='1.0' encoding='utf-8'?>
<package xmlns='http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd'>
<metadata>
<id>Poco.$id$.vs$vs$.$mode$</id>
<version>$version$</version>
<title>Pocoproject Poco Foundation vs$vs$ $mode$</title>
<authors>Applied Informatics &amp; Contributors</authors>
<owners>Guenter Obiltschnig &amp; Aleksandar Fabijanic</owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<license type='expression'>BSL-1.0</license>
<icon>image\poco.png</icon>
<projectUrl>https://pocoproject.org/</projectUrl>
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
<releaseNotes>releaseNotes</releaseNotes>
<copyright>Copyright 2006-2020</copyright>
<language></language>
<tags>native string filesystem thread date log event regex uri uuid cache nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
<repository type='git' url='git@github.com:pocoproject/poco.git' branch='poco-$version$' />
<dependencies>
<dependency id='Poco.$id$.vs$vs$.noarch' version='$version$' />
<dependency id='Poco.Foundation.vs$vs$.shared' version='$version$' />
<dependency id='Poco.Net.vs$vs$.shared' version='$version$' />
</dependencies>
</metadata>
<files>
<file src='..\..\poco.png' target='image\poco.png' />
<file src='..\..\..\bin\Poco$id$.*' target='build\native\bin\' />
<file src='..\..\..\bin\Poco$id$d.*' target='build\native\bin\' />
<file src='..\..\..\lib\Poco$id$.*' target='build\native\lib\' exclude= '..\..\..\lib\Poco$id$md*.*;..\..\..\lib\Poco$id$mt*.*' />
<file src='..\..\..\lib\Poco$id$d.*' target='build\native\lib\' exclude= '..\..\..\lib\Poco$id$md*.*;..\..\..\lib\Poco$id$mt*.*' />
<file src='..\..\..\bin64\Poco$id$64.*' target='build\native\bin64\' />
<file src='..\..\..\bin64\Poco$id$64d.*' target='build\native\bin64\' />
<file src='..\..\..\lib64\Poco$id$.*' target='build\native\lib64\' exclude= '..\..\..\lib64\Poco$id$md*.*;..\..\..\lib64\Poco$id$mt*.*' />
<file src='..\..\..\lib64\Poco$id$d.*' target='build\native\lib64\' exclude= '..\..\..\lib64\Poco$id$md*.*;..\..\..\lib64\Poco$id$mt*.*' />
<file src='Poco.shared.targets' target='build\native\Poco.$id$.vs$vs$.shared.targets' />
</files>
</package>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Link Condition="'$(Platform)'=='Win32'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<Link Condition="'$(Platform)'=='x86'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<Link Condition="'$(Platform)'=='x64'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -0,0 +1,11 @@
</dependencies>
</metadata>
<files>
<file src='..\..\poco.png' target='image\poco.png' />
<file src='..\..\..\lib\Poco$id$MD*.*' target='build\native\lib\' />
<file src='..\..\..\lib\Poco$id$MT*.*' target='build\native\lib\' />
<file src='..\..\..\lib64\Poco$id$MD*.*' target='build\native\lib64\' />
<file src='..\..\..\lib64\Poco$id$MT*.*' target='build\native\lib64\' />
<file src='Poco.static.targets' target='build\native\Poco.$id$.vs$vs$.static.targets' />
</files>
</package>

View File

@ -0,0 +1,33 @@
<?xml version='1.0' encoding='utf-8'?>
<package xmlns='http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd'>
<metadata>
<id>Poco.$id$.vs$vs$.$mode$</id>
<version>$version$</version>
<title>Pocoproject Poco Foundation vs$vs$ $mode$</title>
<authors>Applied Informatics &amp; Contributors</authors>
<owners>Guenter Obiltschnig &amp; Aleksandar Fabijanic</owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<license type='expression'>BSL-1.0</license>
<icon>image\poco.png</icon>
<projectUrl>https://pocoproject.org/</projectUrl>
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
<releaseNotes>releaseNotes</releaseNotes>
<copyright>Copyright 2006-2020</copyright>
<language></language>
<tags>native string filesystem thread date log event regex uri uuid cache nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
<repository type='git' url='git@github.com:pocoproject/poco.git' branch='poco-$version$' />
<dependencies>
<dependency id='Poco.$id$.vs$vs$.noarch' version='$version$' />
<dependency id='Poco.Foundation.vs$vs$.static' version='$version$' />
<dependency id='Poco.Net.vs$vs$.static' version='$version$' />
 </dependencies>
</metadata>
<files>
<file src='..\..\poco.png' target='image\poco.png' />
<file src='..\..\..\lib\Poco$id$MD*.*' target='build\native\lib\' />
<file src='..\..\..\lib\Poco$id$MT*.*' target='build\native\lib\' />
<file src='..\..\..\lib64\Poco$id$MD*.*' target='build\native\lib64\' />
<file src='..\..\..\lib64\Poco$id$MT*.*' target='build\native\lib64\' />
<file src='Poco.static.targets' target='build\native\Poco.$id$.vs$vs$.static.targets' />
</files>
</package>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Link Condition="'$(Platform)'=='Win32'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<Link Condition="'$(Platform)'=='x86'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<Link Condition="'$(Platform)'=='x64'">
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -0,0 +1,25 @@
echo off
rem Usage:
rem ------
rem bap [vsvers] [release] // bpp 150 1.10.1
rem ------
setlocal
if "%1"=="" goto usage
if "%2"=="" goto usage
del *.nupkg
del *.snupkg
pushd ..\..\..\
buildwin %1 rebuild all both Win32 samples tests msbuild noenv
buildwin %1 rebuild all both x64 samples tests msbuild noenv
popd
pack %1 %2
nuget push *.nupkg -source nuget.int -symbolsource snuget.int -noninteractive -skipduplicate -timeout 3000
goto exit
:usage
echo Usage:
echo ------
echo bap [vsvers] [release] // bpp 150 1.10.1
echo ------
:exit
endlocal
echo on

View File

@ -0,0 +1,41 @@
echo off
rem echo Usage:
rem echo ------
rem echo pack (shared | static) [vsvers] [release] // pack shared 150 1.10.1
rem echo ------
setlocal enableextensions enabledelayedexpansion
if "%1"=="" goto usage
if "%2"=="" goto usage
if "%3"=="" goto usage
del *.%1.%3.nupkg *.%1.%3.snupkg
for %%G in (Data/SQLite Data/ODBC Data/MySQL Data/PostgreSQL Foundation Encodings XML JSON Util Net Crypto NetSSL_OpenSSL NetSSL_Win Data Zip JWT PDF CppParser MongoDB Redis) do (
@copy Poco.front foo
if exist ..\..\..\%%G\dependencies (
for /f "delims=" %%M in (..\..\..\%%G\dependencies) do (
echo ^<dependency id='Poco.%%M.vs$vs$.%1' version='$version$' ^/^> >> foo
)
)
@copy /y /b foo+Poco.%1.back Poco.%1.nuspec
set module=%%G
set inc=%%G
if [%%G] == [NetSSL_OpenSSL] set module=NetSSL
if [%%G] == [NetSSL_Win] set module=NetSSLWin
if [%%G] == [Data/SQLite] set module=DataSQLite & set inc=Data\SQLite
if [%%G] == [Data/ODBC] set module=DataODBC & set inc=Data\ODBC
if [%%G] == [Data/MySQL] set module=DataMySQL & set inc=Data\MySQL
if [%%G] == [Data/PostgreSQL] set module=DataPostgreSQL & set inc=Data\PostgreSQL
call nuget pack Poco.noarch.nuspec -p vs=%2 -p version=%3 -p id=!module! -p inc=!inc!
call nuget pack Poco.%1.nuspec -symbols -symbolpackageformat snupkg -p vs=%2 -p version=%3 -p id=!module! -p mode=%1
)
goto exit
:usage
echo Usage:
echo ------
echo "pack (shared | static) [vsvers] [release]" // pack shared 150 1.10.1
echo ------
:exit
endlocal
rem echo on