echo No module specified.
exit /b !ERRORLEVEL!
)
-call dotnet msbuild %~dp0build\build.proj /t:build /p:Project=%2
+call dotnet msbuild %~dp0build\build.proj /nologo /t:restore /p:Project=%2
+call dotnet msbuild %~dp0build\build.proj /nologo /t:build /p:Project=%2
goto :EOF
:FullBuild
-call dotnet msbuild %~dp0build\build.proj /t:build
+call dotnet msbuild %~dp0build\build.proj /nologo /t:clean
+call dotnet msbuild %~dp0build\build.proj /nologo /t:restore
+call dotnet msbuild %~dp0build\build.proj /nologo /t:build
goto :EOF
:DummyBuild
goto :EOF
:Pack
-set NUGET_VERSION_OPT=
-if /I not [%2] == [] set NUGET_VERSION_OPT=-Version %2
+set VERSION=%2
+set VERSION_INTERNAL=%3
+call :GetUnixTime TIMESTAMP
+if /I [%VERSION%] == [] set VERSION=5.0.0-local-%TIMESTAMP%
+if /I [%VERSION_INTERNAL%] == [] set VERSION_INTERNAL=%VERSION%
set OUTDIR=%~dp0Artifacts
set NUGET_CMD=%~dp0tools\NuGet.exe
-%NUGET_CMD% pack %~dp0pkg\Tizen.NET.Private.nuspec -Symbols -NoPackageAnalysis %NUGET_VERSION_OPT% -BasePath %~dp0 -OutputDirectory %OUTDIR%
-%NUGET_CMD% pack %~dp0pkg\Tizen.NET.nuspec -Symbols -NoPackageAnalysis %NUGET_VERSION_OPT% -BasePath %~dp0 -OutputDirectory %OUTDIR%
+%NUGET_CMD% pack %~dp0pkg\Tizen.NET.nuspec -NoPackageAnalysis -Version %VERSION% -BasePath %~dp0 -OutputDirectory %OUTDIR%
+%NUGET_CMD% pack %~dp0pkg\Tizen.NET.Internals.nuspec -NoPackageAnalysis -Version %VERSION_INTERNAL% -BasePath %~dp0 -OutputDirectory %OUTDIR%
goto :EOF
:Clean
-call dotnet msbuild %~dp0build\build.proj /t:clean
+call dotnet msbuild %~dp0build\build.proj /nologo /t:clean
goto :EOF
+
+:GetUnixTime
+setlocal enableextensions
+for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do (
+ set %%x)
+set /a z=(14-100%Month%%%100)/12, y=10000%Year%%%10000-z
+set /a ut=y*365+y/4-y/100+y/400+(153*(100%Month%%%100+12*z-3)+2)/5+Day-719469
+set /a ut=ut*86400+100%Hour%%%100*3600+100%Minute%%%100*60+100%Second%%%100
+endlocal & set "%1=%ut%" & goto :EOF
TIMEOUT_CMD="$SCRIPT_DIR/tools/timeout.sh"
DOTNET_CMD="$RETRY_CMD $TIMEOUT_CMD 600 dotnet"
-RUN_BUILD="$DOTNET_CMD msbuild $SCRIPT_DIR/build/build.proj"
+RUN_BUILD="$DOTNET_CMD msbuild $SCRIPT_DIR/build/build.proj /nologo"
RUN_BUILD_DUMMY="$DOTNET_CMD build $SCRIPT_DIR/build/build.dummy.csproj"
usage() {
if [ -d /nuget ]; then
NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
fi
- $RUN_BUILD /t:build /p:Project=$1 $NUGET_SOURCE_OPT
+ $RUN_BUILD /t:restore /p:Project=$1 $NUGET_SOURCE_OPT
+ $RUN_BUILD /t:build /p:Project=$1
}
cmd_full_build() {
if [ -d /nuget ]; then
NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
fi
- $RUN_BUILD /t:build $NUGET_SOURCE_OPT
+ $RUN_BUILD /t:clean
+ $RUN_BUILD /t:restore $NUGET_SOURCE_OPT
+ $RUN_BUILD /t:build
}
cmd_dummy_build() {
}
cmd_pack() {
- if [ -n "$1" ]; then
- NUGET_VERSION_OPT="-Version $1"
+ VERSION=$1
+ VERSION_INTERNAL=$2
+ if [ -z "$VERSION" ]; then
+ TIMESTAMP=$(date +"%s")
+ VERSION="4.0.0-local-$TIMESTAMP"
+ fi
+ if [ -z "$VERSION_INTERNAL" ]; then
+ VERSION_INTERNAL=$VERSION
fi
- $NUGET_CMD pack $SCRIPT_DIR/pkg/Tizen.NET.Private.nuspec -Symbols -NoPackageAnalysis $NUGET_VERSION_OPT -BasePath $SCRIPT_DIR -OutputDirectory $OUTDIR
- $NUGET_CMD pack $SCRIPT_DIR/pkg/Tizen.NET.nuspec -Symbols -NoPackageAnalysis $NUGET_VERSION_OPT -BasePath $SCRIPT_DIR -OutputDirectory $OUTDIR
+ $NUGET_CMD pack $SCRIPT_DIR/pkg/Tizen.NET.nuspec -NoPackageAnalysis -Version $VERSION -BasePath $SCRIPT_DIR -OutputDirectory $OUTDIR
+ $NUGET_CMD pack $SCRIPT_DIR/pkg/Tizen.NET.Internals.nuspec -NoPackageAnalysis -Version $VERSION_INTERNAL -BasePath $SCRIPT_DIR -OutputDirectory $OUTDIR
}
cmd_clean() {
<!-- Source assemblies -->
<ItemGroup>
<TizenAssemblies Include="$(OutputPublicDir)\*.dll" />
- <TizenAssemblies Include="$(OutputPlatformDir)\*.dll" />
+ <TizenAssemblies Include="$(OutputInternalDir)\*.dll" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Import Project="$(MSBuildThisFileDirectory)directories.props" />
- <!-- Common Properties -->
- <PropertyGroup>
- <PublicModuleListFile>$(PackageSrcDir)PublicModuleList.txt</PublicModuleListFile>
- </PropertyGroup>
-
<!-- Build Properties -->
<PropertyGroup>
<Configuration>Release</Configuration>
<ItemGroup>
<ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
<ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
+ <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
</ItemGroup>
<!--
Delete all artifacts,
including the Artifacts/ directory and the obj/ directories for all projects.
-->
- <Target Name="Clean" Condition="'$(Project)' == ''" >
+ <Target Name="Clean">
<ItemGroup>
<ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
+ <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\*" />
<ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
</ItemGroup>
</Target>
-
<!--
- Target : Build
+ Target : Restore
==============
- Build all projects in src/ directory.
- The output(.dll, .pdb, .xml) of the project specfied in
- pkg/PublicModuleList.txt is copied to Artifacts/bin/public,
- and the rest are copied to Artifacts/bin/platform.
+ Restore all projects.
-->
- <Target Name="Build" DependsOnTargets="Clean">
+ <Target Name="Restore">
<MSBuild Projects="@(ProjectToBuild)"
Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
BuildInParallel="false"
Targets="Restore" />
+ </Target>
+
+ <!--
+ Target : Build
+ ==============
+ Build all projects.
+ -->
+ <Target Name="Build">
+
<MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);OutDir=$(OutputPlatformDir)"
+ Properties="Configuration=$(Configuration)"
BuildInParallel="true"
UseResultsCache="true"
Targets="Build" />
- <ReadLinesFromFile File="$(PublicModuleListFile)">
- <Output TaskParameter="Lines" ItemName="PublicProject" />
- </ReadLinesFromFile>
-
- <ItemGroup>
- <PlatformFiles Include="$(OutputPlatformDir)**" />
- <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).dll" />
- <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).pdb" />
- <_PublicFilesToMove Include="$(OutputPlatformDir)%(PublicProject.Identity).xml" />
- <_PublicFilesToMove Include="$(OutputPlatformDir)*\%(PublicProject.Identity).dll" />
- <PublicFilesToMove Include="@(_PublicFilesToMove)" Condition="'@(PlatformFiles)' == '@(_PublicFilesToMove)' and '%(Identity)' != '' " />
- </ItemGroup>
-
- <Move SourceFiles="@(PublicFilesToMove)" DestinationFiles="$(OutputPublicDir)%(RecursiveDir)%(Filename)%(Extension)" />
-
- <Message Text="The assemblies written in pkg/PublicModuleList.txt were moved to $(OutputPublicDir)" Importance="High" />
+ <MSBuild Projects="@(ProjectToBuild)"
+ Properties="Configuration=$(Configuration)"
+ BuildInParallel="false"
+ Targets="CopyToArtifactsDirectory" />
</Target>
--- /dev/null
+<Project>
+
+ <Target Name="CopyToArtifactsDirectory"
+ Condition="'$(ArtifactsDirectory)' != ''"
+ DependsOnTargets="GetCopyToOutputDirectoryItems">
+ <ItemGroup>
+ <OutputFilesToCopy Include="$(OutDir)**" />
+ </ItemGroup>
+
+ <Copy SourceFiles="@(OutputFilesToCopy)"
+ DestinationFiles="$(ArtifactsDirectory)%(RecursiveDir)%(Filename)%(Extension)" />
+
+ </Target>
+
+</Project>
<ProjectRootDir>$(MSBuildThisFileDirectory)..\</ProjectRootDir>
<ProjectSrcDir>$(ProjectRootDir)src\</ProjectSrcDir>
- <PackageSrcDir>$(ProjectRootDir)pkg\</PackageSrcDir>
+ <InternalProjectSrcDir>$(ProjectRootDir)\internal\src\</InternalProjectSrcDir>
<ToolsDir>$(ProjectRootDir)tools\</ToolsDir>
<GenAPIDir>$(ToolsDir)GenAPI\</GenAPIDir>
<OutputBaseDir>$(ProjectRootDir)Artifacts\</OutputBaseDir>
<OutputPublicDir>$(OutputBaseDir)bin\public\</OutputPublicDir>
- <OutputPlatformDir>$(OutputBaseDir)bin\platform\</OutputPlatformDir>
+ <OutputInternalDir>$(OutputBaseDir)bin\internal\</OutputInternalDir>
<OutputDummyDir>$(OutputBaseDir)bin\dummy\</OutputDummyDir>
</PropertyGroup>
--- /dev/null
+<Project>
+
+ <Import Project="$(MSBuildThisFileDirectory)..\..\build\common.props" />
+ <Import Project="$(MSBuildThisFileDirectory)..\..\build\directories.props" />
+
+ <PropertyGroup>
+ <ArtifactsDirectory>$(OutputInternalDir)</ArtifactsDirectory>
+ </PropertyGroup>
+
+</Project>
\ No newline at end of file
--- /dev/null
+<Project>
+
+ <Import Project="$(MSBuildThisFileDirectory)..\..\build\common.targets" />
+
+</Project>
\ No newline at end of file
</PropertyGroup>
<ItemGroup>
- <ProjectReference Include="..\Tizen\Tizen.csproj" />
- <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen\Tizen.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
</Project>
MinimumVisualStudioVersion = 15.0.26124.0
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.CallManager", "Tizen.CallManager.csproj", "{18DF1A45-32B3-4577-84DF-BB3A1537ADC9}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{D06D0004-6A5F-4D6C-98C4-ADD3766A867A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\..\..\src\Tizen\Tizen.csproj", "{D06D0004-6A5F-4D6C-98C4-ADD3766A867A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{78875590-41AB-4382-B64E-73A50DE0851C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\..\..\src\Tizen.Log\Tizen.Log.csproj", "{78875590-41AB-4382-B64E-73A50DE0851C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
</PropertyGroup>
<ItemGroup>
- <ProjectReference Include="..\Tizen\Tizen.csproj" />
- <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen\Tizen.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
</Project>
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Network.Mtp", "Tizen.Network.Mtp.csproj", "{66896B73-D51B-4E1D-9A7A-B5D66FDE6E97}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{82B9BB77-6809-4DA0-9BCE-DAC24C7A7669}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\..\..\src\Tizen\Tizen.csproj", "{82B9BB77-6809-4DA0-9BCE-DAC24C7A7669}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{AD803503-C70D-4CE7-A1F1-9DF0B890A42F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\..\..\src\Tizen.Log\Tizen.Log.csproj", "{AD803503-C70D-4CE7-A1F1-9DF0B890A42F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
</PropertyGroup>
<ItemGroup>
- <ProjectReference Include="..\Tizen\Tizen.csproj" />
- <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen\Tizen.csproj" />
+ <ProjectReference Include="..\..\..\src\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
</Project>
\ No newline at end of file
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Tapi", "Tizen.Tapi.csproj", "{77F9FF6F-DF82-4A48-AFF8-9031B5065AA5}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{79F086CB-DB6C-452F-A15C-274676452682}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\..\..\src\Tizen\Tizen.csproj", "{79F086CB-DB6C-452F-A15C-274676452682}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{29669E98-429B-4FDD-8E21-85D78B07346F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\..\..\src\Tizen.Log\Tizen.Log.csproj", "{29669E98-429B-4FDD-8E21-85D78B07346F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
# !! IMPORTANT !!
# This packaging spec file is for developer testing only.
-# For Tizen release, the spec file in the tizen branch should be used.
+# For Tizen release, the spec.in file should be used.
%define DOTNET_ASSEMBLY_PATH /usr/share/dotnet.tizen/framework
%define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref
%define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
%define DOTNET_NUGET_SOURCE /nuget
-%define DOTNET_TIZEN_API_VERSION 4
-
%define _tizenfx_bin_path Artifacts
+%define TIZEN_NET_API_VERSION 4
+%define TIZEN_NET_NUGET_VERSION 4.0.0
+%define TIZEN_NET_INTERNAL_NUGET_VERSION 4.0.0.999
+
Name: csapi-tizenfx
Summary: Assemblies of Tizen .NET
Version: 99.99.99
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
./build.sh --full
./build.sh --dummy
-./build.sh --pack
+./build.sh --pack %{TIZEN_NET_NUGET_VERSION} %{TIZEN_NET_INTERNAL_NUGET_VERSION}
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
+# Install Runtime Assemblies
install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+
+# Install Debug Symbols
install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 %{_tizenfx_bin_path}/bin/platform/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 %{_tizenfx_bin_path}/bin/platform/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 %{_tizenfx_bin_path}/bin/platform/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+
+# Install Resource files
+[ -d %{_tizenfx_bin_path}/bin/public/res ] \
+ && install -p -m 644 %{_tizenfx_bin_path}/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+[ -d %{_tizenfx_bin_path}/bin/internal/res ] \
+ && install -p -m 644 %{_tizenfx_bin_path}/bin/internal/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+
+# Install Dummy Assemblies
install -p -m 644 %{_tizenfx_bin_path}/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+
+# Install NuGet Packages
install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
%post
-vconftool set -t int "db/dotnet/tizen_api_version" %{DOTNET_TIZEN_API_VERSION} -f
+vconftool set -t int "db/dotnet/tizen_api_version" %{TIZEN_NET_API_VERSION} -f
%files
--- /dev/null
+%define DOTNET_ASSEMBLY_PATH /usr/share/dotnet.tizen/framework
+%define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref
+%define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
+%define DOTNET_NUGET_SOURCE /nuget
+
+%define _tizenfx_bin_path Artifacts
+
+%define TIZEN_NET_API_VERSION 4
+%define TIZEN_NET_NUGET_VERSION @nuget_version@
+%define TIZEN_NET_INTERNAL_NUGET_VERSION @internal_nuget_version@
+
+Name: csapi-tizenfx
+Summary: Assemblies of Tizen .NET
+Version: @rpm_version@
+Release: 1
+Group: Development/Libraries
+License: Apache-2.0
+URL: https://www.tizen.org
+Source0: %{name}-%{version}.tar.gz
+Source1: %{name}.manifest
+
+BuildRequires: dotnet-build-tools
+
+BuildArch: noarch
+ExcludeArch: aarch64
+AutoReqProv: no
+
+Requires(post): vconf
+
+
+%description
+%{summary}
+
+%package nuget
+Summary: NuGet package for %{name}
+Group: Development/Libraries
+AutoReqProv: no
+
+%description nuget
+NuGet package for %{name}
+
+%package dummy
+Summary: Dummy assemblies of Tizen .NET
+Group: Development/Libraries
+AutoReqProv: no
+
+%description dummy
+Dummy assemblies of Tizen .NET
+
+%package full
+Summary: All Tizen .NET assemblies
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+AutoReqProv: no
+
+%description full
+All Tizen .NET assemblies
+
+%package debug
+Summary: All .pdb files of Tizen .NET
+Group: Development/Libraries
+AutoReqProv: no
+
+%description debug
+All .pdb files of Tizen .NET
+
+%package common
+Summary: Tizen .NET assemblies for Common profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description common
+Tizen .NET assemblies for Common profile
+
+%package mobile
+Summary: Tizen .NET assemblies for Mobile profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description mobile
+Tizen .NET assemblies for Mobile profile
+
+%package mobile-emul
+Summary: Tizen .NET assemblies for Emulator of Mobile profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description mobile-emul
+Tizen .NET assemblies for Emulator of Mobile profile
+
+%package tv
+Summary: Tizen .NET assemblies for TV profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description tv
+Tizen .NET assemblies for TV profile
+
+%package ivi
+Summary: Tizen .NET assemblies for IVI profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description ivi
+Tizen .NET assemblies for IVI profile
+
+%package wearable
+Summary: Tizen .NET assemblies for Wearable profile
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: csapi-tizenfx-dummy = %{version}-%{release}
+AutoReqProv: no
+
+%description wearable
+Tizen .NET assemblies for Wearable profile
+
+%prep
+%setup -q
+cp %{SOURCE1} .
+
+%build
+
+GetFileList() {
+ PROFILE=$1
+ cat pkg/PlatformFileList.txt | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
+}
+
+GetFileList common > common.filelist
+GetFileList mobile > mobile.filelist
+GetFileList mobile-emul > mobile-emul.filelist
+GetFileList tv > tv.filelist
+GetFileList ivi > ivi.filelist
+GetFileList wearable > wearable.filelist
+
+rm -fr %{_tizenfx_bin_path}
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+./build.sh --full
+./build.sh --dummy
+./build.sh --pack %{TIZEN_NET_NUGET_VERSION} %{TIZEN_NET_INTERNAL_NUGET_VERSION}
+
+%install
+mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
+
+# Install Runtime Assemblies
+install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+
+# Install Debug Symbols
+install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+
+# Install Resource files
+[ -d %{_tizenfx_bin_path}/bin/public/res ] \
+ && install -p -m 644 %{_tizenfx_bin_path}/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+[ -d %{_tizenfx_bin_path}/bin/internal/res ] \
+ && install -p -m 644 %{_tizenfx_bin_path}/bin/internal/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+
+# Install Dummy Assemblies
+install -p -m 644 %{_tizenfx_bin_path}/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+
+# Install NuGet Packages
+install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+
+%post
+vconftool set -t int "db/dotnet/tizen_api_version" %{TIZEN_NET_API_VERSION} -f
+
+
+%files
+%license LICENSE
+
+%files nuget
+%{DOTNET_NUGET_SOURCE}/*.nupkg
+
+%files dummy
+%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
+
+%files full
+%manifest %{name}.manifest
+%attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll
+%attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
+
+%files debug
+%attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.pdb
+
+%files common -f common.filelist
+%manifest %{name}.manifest
+
+%files mobile -f mobile.filelist
+%manifest %{name}.manifest
+
+%files mobile-emul -f mobile-emul.filelist
+%manifest %{name}.manifest
+
+%files tv -f tv.filelist
+%manifest %{name}.manifest
+
+%files ivi -f ivi.filelist
+%manifest %{name}.manifest
+
+%files wearable -f wearable.filelist
+%manifest %{name}.manifest
+++ /dev/null
-ElmSharp
-ElmSharp.Wearable
-Tizen
-Tizen.Account.AccountManager
-Tizen.Account.FidoClient
-Tizen.Account.OAuth2
-Tizen.Account.SyncManager
-Tizen.Applications.Alarm
-Tizen.Applications.AttachPanel
-Tizen.Applications.Badge
-Tizen.Applications.Common
-Tizen.Applications.DataControl
-Tizen.Applications.MessagePort
-Tizen.Applications.Notification
-Tizen.Applications.NotificationEventListener
-Tizen.Applications.PackageManager
-Tizen.Applications.Preference
-Tizen.Applications.RemoteView
-Tizen.Applications.Service
-Tizen.Applications.Shortcut
-Tizen.Applications.ToastMessage
-Tizen.Applications.UI
-Tizen.Applications.WatchApplication
-Tizen.Applications.WidgetApplication
-Tizen.Applications.WidgetControl
-Tizen.Content.Download
-Tizen.Content.MediaContent
-Tizen.Content.MimeType
-Tizen.Context
-Tizen.Location
-Tizen.Location.Geofence
-Tizen.Log
-Tizen.Maps
-Tizen.Messaging
-Tizen.Messaging.Push
-Tizen.Multimedia
-Tizen.Multimedia.AudioIO
-Tizen.Multimedia.Camera
-Tizen.Multimedia.MediaCodec
-Tizen.Multimedia.MediaPlayer
-Tizen.Multimedia.Metadata
-Tizen.Multimedia.Radio
-Tizen.Multimedia.Recorder
-Tizen.Multimedia.Remoting
-Tizen.Multimedia.StreamRecorder
-Tizen.Multimedia.Util
-Tizen.Multimedia.Vision
-Tizen.Network.Bluetooth
-Tizen.Network.Connection
-Tizen.Network.IoTConnectivity
-Tizen.Network.Nfc
-Tizen.Network.Nsd
-Tizen.Network.Smartcard
-Tizen.Network.WiFi
-Tizen.Network.WiFiDirect
-Tizen.NUI
-Tizen.PhonenumberUtils
-Tizen.Pims.Calendar
-Tizen.Pims.Contacts
-Tizen.Security
-Tizen.Security.PrivacyPrivilegeManager
-Tizen.Security.SecureRepository
-Tizen.Security.TEEC
-Tizen.Sensor
-Tizen.System
-Tizen.System.Feedback
-Tizen.System.Information
-Tizen.System.MediaKey
-Tizen.System.PlatformConfig
-Tizen.System.Storage
-Tizen.System.Usb
-Tizen.System.SystemSettings
-Tizen.Telephony
-Tizen.Tracer
-Tizen.Uix.InputMethod
-Tizen.Uix.InputMethodManager
-Tizen.Uix.Stt
-Tizen.Uix.SttEngine
-Tizen.Uix.Tts
-Tizen.Uix.TtsEngine
-Tizen.Uix.VoiceControl
-Tizen.WebView
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
- <id>Tizen.NET.API4</id>
- <version>1.0.0</version>
+ <id>Tizen.NET.Internals</id>
+ <version>4.0.0</version>
<authors>Samsung Electronics</authors>
<owners>Samsung Electronics</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
<projectUrl>https://www.tizen.org/</projectUrl>
<iconUrl>https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png</iconUrl>
- <description>Reference assemblies of Tizen .NET API Level 4.</description>
+ <description>Internal Use Only. Internal APIs for Tizen platform.</description>
<copyright>© Samsung Electronics Co., Ltd All Rights Reserved</copyright>
</metadata>
<files>
- <file src="Artifacts\bin\public\ref\*.dll" target="ref\netstandard2.0" />
- <file src="Artifacts\bin\public\*.xml" target="ref\netstandard2.0" />
+
+ <file src="Artifacts\bin\internal\*.dll" target="lib\netstandard2.0" />
+ <file src="Artifacts\bin\internal\*.xml" target="lib\netstandard2.0" />
+
</files>
</package>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
- <metadata>
- <id>Tizen.NET.Private</id>
- <version>4.0.0</version>
- <authors>Samsung Electronics</authors>
- <owners>Samsung Electronics</owners>
- <requireLicenseAcceptance>false</requireLicenseAcceptance>
- <licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
- <projectUrl>https://www.tizen.org/</projectUrl>
- <iconUrl>https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png</iconUrl>
- <description>A set of Tizen.NET APIs. This includes all of the APIs built on top of Tizen Platform.</description>
- <copyright>© Samsung Electronics Co., Ltd All Rights Reserved</copyright>
- </metadata>
- <files>
-
- <file src="pkg\build\**" target="build" />
-
- <file src="Artifacts\bin\public\*.dll" target="lib\netstandard2.0" />
- <file src="Artifacts\bin\public\*.pdb" target="lib\netstandard2.0" />
- <file src="Artifacts\bin\public\*.xml" target="lib\netstandard2.0" />
-
- <file src="Artifacts\bin\platform\*.dll" target="lib\netstandard2.0" />
- <file src="Artifacts\bin\platform\*.pdb" target="lib\netstandard2.0" />
- <file src="Artifacts\bin\platform\*.xml" target="lib\netstandard2.0" />
-
- </files>
-</package>
<file src="pkg\build\**" target="build" />
- <!--
- Please edit pkg/PublicModuleList.txt,
- if want to add modules to Tizen.NET package.
- -->
<file src="Artifacts\bin\public\*.dll" target="lib\netstandard2.0" />
- <file src="Artifacts\bin\public\*.pdb" target="lib\netstandard2.0" />
<file src="Artifacts\bin\public\*.xml" target="lib\netstandard2.0" />
</files>
<Project>
<Import Project="$(MSBuildThisFileDirectory)..\build\common.props" />
+ <Import Project="$(MSBuildThisFileDirectory)..\build\directories.props" />
+
+ <PropertyGroup>
+ <ArtifactsDirectory>$(OutputPublicDir)</ArtifactsDirectory>
+ </PropertyGroup>
</Project>
\ No newline at end of file
--- /dev/null
+<Project>
+
+ <Import Project="$(MSBuildThisFileDirectory)..\build\common.targets" />
+
+</Project>
\ No newline at end of file