#!/bin/bash -e
-SCRIPT_FILE=$(readlink -f $0)
-SCRIPT_DIR=$(dirname $SCRIPT_FILE)
+SCRIPT_DIR=$(dirname $(readlink -f $0))
+CONFIGURATION=Release
+SLN_NAME=_Build
+SLN_FILE=$SCRIPT_DIR/$SLN_NAME.sln
OUTDIR=$SCRIPT_DIR/Artifacts
-RUN_BUILD="dotnet msbuild $SCRIPT_DIR/build/build.proj /nologo"
+PROFILES=(mobile tv wearable)
+TARGET_ASSEMBLY_DIR=/usr/share/dotnet.tizen/framework
+TARGET_PRELOAD_DIR=/usr/share/dotnet.tizen/preload
-VERSION_PREFIX=8.0.0
+source $SCRIPT_DIR/packaging/version.txt
+VERSION_PREFIX=$(expr $NUGET_VERSION : '\([0-9]\+\.[0-9]\+\.[0-9]\+\)')
usage() {
echo "Usage: $0 [command] [args]"
echo " clean Clean all artifacts"
}
+prepare_solution() {
+ target=$1; [ -z "$target" ] && target="full"
+
+ dotnet new sln -n $SLN_NAME -o $SCRIPT_DIR --force
+ if [ "$target" == "public" -o "$target" == "full" ]; then
+ dotnet sln $SLN_FILE add $SCRIPT_DIR/src/*/*.csproj
+ fi
+ if [ "$target" == "internal" -o "$target" == "full" ]; then
+ dotnet sln $SLN_FILE add $SCRIPT_DIR/internals/src/*/*.csproj
+ fi
+ if [ "$target" == "design" ]; then
+ dotnet sln $SLN_FILE add $SCRIPT_DIR/src/*/*.Design.csproj
+ else
+ dotnet sln $SLN_FILE remove $SCRIPT_DIR/src/*/*.Design.csproj
+ fi
+}
+
+cleanup_solution() {
+ rm -f $SLN_FILE
+}
+
+remove_intermediates() {
+ find $1 -type d \
+ \( -name obj -o -name bin \) -print0 | xargs -0 -I {} rm -fr "{}"
+}
+
clean() {
- $RUN_BUILD /t:clean
+ remove_intermediates $SCRIPT_DIR/build/
+ remove_intermediates $SCRIPT_DIR/src/
+ remove_intermediates $SCRIPT_DIR/internals/src/
+ rm -fr $OUTDIR
rm -f msbuild.log
+ cleanup_solution
}
-build() {
+restore() {
if [ -d /nuget ]; then
- NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
+ dotnet restore -s /nuget $1
+ else
+ dotnet restore $1
fi
- $RUN_BUILD /t:restore $NUGET_SOURCE_OPT $@
- $RUN_BUILD /t:build /fl $@
}
-cmd_build() {
+build() {
+ dotnet build --no-restore -c $CONFIGURATION /fl $@
+}
+
+copy_artifacts() {
+ mkdir -p $2
+ for proj in $(ls -d1 $1/*/); do
+ if [ -d $proj/bin/$CONFIGURATION ]; then
+ cp -fr $proj/bin/$CONFIGURATION/*/* $2
+ fi
+ done
+}
+
+build_artifacts() {
+ copy_artifacts $SCRIPT_DIR/src $OUTDIR/bin/public
+ copy_artifacts $SCRIPT_DIR/internals/src $OUTDIR/bin/internal
+
+ # move preload
+ mkdir -p $OUTDIR/preload
+ mv $OUTDIR/bin/public/*.preload $OUTDIR/preload 2>/dev/null || :
+ mv $OUTDIR/bin/internal/*.preload $OUTDIR/preload 2>/dev/null || :
+
+ # merge filelist
+ for profile in ${PROFILES[@]}; do
+ list=$(cat $OUTDIR/bin/public/*.$profile.filelist \
+ $OUTDIR/bin/internal/*.$profile.filelist \
+ | sort | uniq)
+ rm -f $OUTDIR/$profile.filelist
+ for item in $list; do
+ if [[ "$item" == *.preload ]]; then
+ echo $TARGET_PRELOAD_DIR/$item >> $OUTDIR/$profile.filelist
+ else
+ echo $TARGET_ASSEMBLY_DIR/$item >> $OUTDIR/$profile.filelist
+ fi
+ done
+ done
+}
+
+cmd_module_build() {
if [ -z "$1" ]; then
echo "No module specified."
exit 1
fi
- PROJECT=$1; shift
- build /p:Project=$PROJECT $@
+ module=$1; shift;
+ sources=(src internals/src)
+ for src in $sources; do
+ project=$SCRIPT_DIR/$src/$module/$module.csproj
+ echo $project
+ if [ -f "$project" ]; then
+ restore $project
+ build $project $@
+ fi
+ done
}
cmd_full_build() {
clean
- build $@
- cmd_dummy_build $@
+ prepare_solution full
+ restore $SLN_FILE
+ build $SLN_FILE $@
+ cleanup_solution
+ build_artifacts
+ cmd_dummy_build
}
cmd_design_build() {
- build /p:BuildDesignAssembly=True $@
- if [ -d "$OUTDIR"/bin/design ]; then
- cp -f "$OUTDIR"/bin/design/*.Design.dll "$SCRIPT_DIR"/pkg/Tizen.NET.API*/design/
- fi
+ prepare_solution design
+ restore $SLN_FILE
+ build $SLN_FILE $@
+ projects=$(dirname $(ls -1 $SCRIPT_DIR/src/*/*.Design.csproj))
+ for proj in $projects; do
+ if [ -d $proj/bin/$CONFIGURATION ]; then
+ cp -f $proj/bin/$CONFIGURATION/*/*.Design.dll $SCRIPT_DIR/pkg/Tizen.NET.API*/design/
+ fi
+ done
+ cleanup_solution
}
cmd_dummy_build() {
- $RUN_BUILD /t:dummy $@
+ if [ ! -d $OUTDIR/bin/public/ref ]; then
+ echo "No assemblies to read. Build TizenFX first."
+ exit 1
+ fi
+ mkdir -p $OUTDIR/bin/dummy
+ dotnet $SCRIPT_DIR/tools/bin/APITool.dll \
+ dummy $OUTDIR/bin/public/ref $OUTDIR/bin/dummy
}
cmd_pack() {
popd > /dev/null
fi
- $RUN_BUILD /t:pack /p:Version=$VERSION
+ restore $SCRIPT_DIR/build/pack.csproj
+ nuspecs=$(find $SCRIPT_DIR/pkg/ -name "*.nuspec")
+ for nuspec in $nuspecs; do
+ dotnet pack --no-restore --no-build --nologo -o $OUTDIR \
+ $SCRIPT_DIR/build/pack.csproj \
+ /p:Version=$VERSION \
+ /p:NuspecFile=$(readlink -f $nuspec)
+ done
}
cmd_install() {
DEVICE_ID=$1
RUNTIME_ASSEMBLIES="$OUTDIR/bin/public/*.dll $OUTDIR/bin/internal/*.dll"
- TARGET_ASSEMBLY_PATH="/usr/share/dotnet.tizen/framework"
device_cnt=$(sdb devices | grep -v "List" | wc -l)
+
if [ $device_cnt -eq 0 ]; then
echo "No connected devices"
exit 1
sdb $SDB_OPTIONS root on
sdb $SDB_OPTIONS shell mount -o remount,rw /
- sdb $SDB_OPTIONS push $RUNTIME_ASSEMBLIES $TARGET_ASSEMBLY_PATH
+ sdb $SDB_OPTIONS push $RUNTIME_ASSEMBLIES $TARGET_ASSEMBLY_DIR
- nifile_cnt=$(sdb $SDB_OPTIONS shell find $TARGET_ASSEMBLY_PATH -name '*.ni.dll' | wc -l)
+ nifile_cnt=$(sdb $SDB_OPTIONS shell find $TARGET_ASSEMBLY_DIR -name '*.ni.dll' | wc -l)
if [ $nifile_cnt -gt 0 ]; then
- sdb $SDB_OPTIONS shell "rm -f $TARGET_ASSEMBLY_PATH/*.ni.dll"
+ sdb $SDB_OPTIONS shell "rm -f $TARGET_ASSEMBLY_DIR/*.ni.dll"
sdb $SDB_OPTIONS shell nitool --system
sdb $SDB_OPTIONS shell nitool --regen-all-app
fi
- sdb $SDB_OPTIONS shell chsmack -a '_' $TARGET_ASSEMBLY_PATH/*
-}
-
-cmd_clean() {
- $RUN_BUILD /t:clean
+ sdb $SDB_OPTIONS shell chsmack -a '_' $TARGET_ASSEMBLY_DIR/*
}
-cmd=$1; shift;
+cmd=$1; [ $# -gt 0 ] && shift;
case "$cmd" in
- build|--build|-b) cmd_build $@ ;;
+ build|--build|-b) cmd_module_build $@ ;;
full |--full |-f) cmd_full_build $@ ;;
- dummy|--dummy|-d) cmd_dummy_build $@ ;;
design|--design) cmd_design_build $@ ;;
+ dummy|--dummy|-d) cmd_dummy_build $@ ;;
pack |--pack |-p) cmd_pack $@ ;;
install |--install |-i) cmd_install $@ ;;
- clean|--clean|-c) cmd_clean $@ ;;
+ clean|--clean|-c) clean ;;
*) usage ;;
esac
+++ /dev/null
-<Project DefaultTargets="Build">
-
- <Import Project="$(MSBuildThisFileDirectory)directories.props" />
-
- <!-- Build Properties -->
- <PropertyGroup>
- <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
- <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
- <BuildDesignAssembly Condition="'$(BuildDesignAssembly)' == ''">False</BuildDesignAssembly>
- <BuildPublicOnly Condition="'$(BuildPublicOnly)' == ''">False</BuildPublicOnly>
- </PropertyGroup>
-
- <!-- Projects to build -->
- <ItemGroup>
- <DesignProject Include="$(ProjectSrcDir)**\*.Design.csproj" />
- <DesignProject Include="$(InternalProjectSrcDir)**\*.Design.csproj" />
-
- <PublicProject Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
- <PublicProject Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj"
- Condition="'$(Project)' != '' And Exists('$(ProjectSrcDir)\$(Project)\$(Project).csproj') " />
- <PublicProject Remove="@(DesignProject)" />
-
- <InternalProject Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == '' " />
- <InternalProject Include="$(InternalProjectSrcDir)\$(Project)\$(Project).csproj"
- Condition="'$(Project)' != '' And Exists('$(InternalProjectSrcDir)\$(Project)\$(Project).csproj') " />
- <InternalProject Remove="@(DesignProject)" />
-
- <ProjectToBuild Include="@(DesignProject)" Condition="'$(BuildDesignAssembly)' == 'True' " />
- <ProjectToBuild Include="@(PublicProject)" Condition="'$(BuildDesignAssembly)' != 'True' " />
- <ProjectToBuild Include="@(InternalProject)" Condition="'$(BuildDesignAssembly)' != 'True' And '$(BuildPublicOnly)' != 'True'" />
- </ItemGroup>
-
- <!-- Nuspec files to pack -->
- <ItemGroup>
- <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
- </ItemGroup>
-
- <!--
- Target : Clean
- ==============
- Delete all artifacts,
- including the Artifacts/ directory and the obj and bin directories of all projects.
- -->
- <Target Name="Clean">
-
- <ItemGroup>
- <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\**" />
- <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\bin\**" />
- <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\**" />
- <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\bin\**" />
- <ProjectIntermediateDir Include="@(ProjectIntermediateAllFiles->'%(RootDir)%(Directory)'->Distinct())" />
- </ItemGroup>
-
- <ItemGroup>
- <DirToRemove Include="$(OutputBaseDir)" />
- <DirToRemove Include="@(ProjectIntermediateDir)" />
- </ItemGroup>
-
- <RemoveDir Directories="@(DirToRemove)" />
-
- </Target>
-
- <!--
- Target : Restore
- ==============
- Restore all projects.
- -->
- <Target Name="Restore">
-
- <MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
- BuildInParallel="false"
- Targets="Restore" />
-
- </Target>
-
- <!--
- Target : Build
- ==============
- Build all projects.
- -->
- <Target Name="Build">
-
- <MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer);BuildProfile=$(BuildProfile)"
- BuildInParallel="true"
- UseResultsCache="true"
- Targets="Rebuild" />
-
- <MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration)"
- BuildInParallel="false"
- Targets="CopyToArtifactsDirectory" />
-
- </Target>
-
- <!--
- Target : Pack
- ==============
- Generate nuget packages.
- -->
- <Target Name="Pack">
-
- <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
- Properties="NoBuild=True"
- Targets="Restore" />
-
- <MSBuild Projects="$(MSBuildThisFileDirectory)pack.csproj"
- Properties="NoBuild=True;Version=$(Version);NuspecFile=%(NuspecFiles.Identity)"
- Targets="Pack" />
-
- </Target>
-
- <!--
- Target : Dummy
- ==============
- Generate dummy assemblies of all projects.
- -->
- <Target Name="Dummy">
-
- <PropertyGroup>
- <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
- </PropertyGroup>
-
- <MakeDir Directories="$(OutputDummyDir)" />
- <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
-
- </Target>
-
-</Project>
</PropertyGroup>
<PropertyGroup>
+ <ProjectRootDir>$(MSBuildThisFileDirectory)..\</ProjectRootDir>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <AllTizenProfiles>mobile;tv;wearable</AllTizenProfiles>
+ <SupportedProfiles Condition="'$(SupportedProfiles)' == ''">$(AllTizenProfiles)</SupportedProfiles>
+ </PropertyGroup>
+
+ <PropertyGroup>
<DefineConstants Condition="'$(BuildProfile)' == 'tv'">$(DefineConstants);PROFILE_TV</DefineConstants>
<DefineConstants Condition="'$(BuildProfile)' == 'wearable'">$(DefineConstants);PROFILE_WEARABLE</DefineConstants>
<DefineConstants Condition="'$(BuildProfile)' == 'mobile'">$(DefineConstants);PROFILE_MOBILE</DefineConstants>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)version.props" />
-
- <Import Project="$(MSBuildThisFileDirectory)analyzers.props" Condition="'$(BuildWithAnalyzer)' == 'True' Or '$(BuildingInsideVisualStudio)' == 'True'" />
+ <Import Project="$(MSBuildThisFileDirectory)analyzers.props"
+ Condition="'$(BuildWithAnalyzer)' == 'True' Or '$(BuildingInsideVisualStudio)' == 'True'" />
</Project>
<Project>
- <Target Name="CopyToArtifactsDirectory"
- Condition="'$(ArtifactsDirectory)' != ''"
- DependsOnTargets="GetCopyToOutputDirectoryItems">
- <ItemGroup>
- <OutputFilesToCopy Include="$(OutDir)**" />
- </ItemGroup>
- <Copy SourceFiles="@(OutputFilesToCopy)"
- DestinationFiles="$(ArtifactsDirectory)%(RecursiveDir)%(Filename)%(Extension)" />
+ <Import Project="$(MSBuildThisFileDirectory)profiles.targets" />
+
+ <PropertyGroup>
+ <__PostBuildDependsOn>
+ _CopyPreloadFilesToOutDir;
+ GenerateProfileFileList;
+ </__PostBuildDependsOn>
+ </PropertyGroup>
+
+ <Target Name="__PostBuild"
+ AfterTargets="Build"
+ DependsOnTargets="$(__PostBuildDependsOn)">
+ </Target>
+
+ <Target Name="_CopyPreloadFilesToOutDir">
+
+ <Copy SourceFiles="@(TizenPreloadFile)"
+ DestinationFiles="$(OutDir)%(Sequence).%(Filename)%(Extension)" />
+
</Target>
</Project>
+++ /dev/null
-<Project>
-
- <PropertyGroup>
-
- <ProjectRootDir>$(MSBuildThisFileDirectory)..\</ProjectRootDir>
-
- <ProjectSrcDir>$(ProjectRootDir)src\</ProjectSrcDir>
- <InternalProjectSrcDir>$(ProjectRootDir)internals\src\</InternalProjectSrcDir>
-
- <OutputBaseDir>$(ProjectRootDir)Artifacts\</OutputBaseDir>
- <OutputPublicDir>$(OutputBaseDir)bin\public\</OutputPublicDir>
- <OutputInternalDir>$(OutputBaseDir)bin\internal\</OutputInternalDir>
- <OutputExternalDir>$(OutputBaseDir)bin\external\</OutputExternalDir>
- <OutputDummyDir>$(OutputBaseDir)bin\dummy\</OutputDummyDir>
-
- <ExternalLibraryDir>$(ProjectRootDir)externals\libs\</ExternalLibraryDir>
-
- </PropertyGroup>
-
-</Project>
<Project Sdk="Microsoft.NET.Sdk">
- <Import Project="$(MSBuildThisFileDirectory)directories.props" />
-
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<IncludeBuildOutput>false</IncludeBuildOutput>
<NoPackageAnalysis>true</NoPackageAnalysis>
- <NuspecBasePath>$(ProjectRootDir)</NuspecBasePath>
+ <NuspecBasePath>$(MSBuildThisFileDirectory)..\</NuspecBasePath>
<NuspecProperties>$(NuspecProperties);fxversion=$(Version)</NuspecProperties>
- <PackageOutputPath>$(OutputBaseDir)</PackageOutputPath>
</PropertyGroup>
</Project>
--- /dev/null
+<Project>
+
+ <ItemDefinitionGroup>
+ <_ResourceItemsWithTargetPath>
+ <TizenProfile>$(AllTizenProfiles)</TizenProfile>
+ <CopyToOutputDirectory>Never</CopyToOutputDirectory>
+ </_ResourceItemsWithTargetPath>
+ </ItemDefinitionGroup>
+
+ <ItemGroup>
+ <AllTizenProfilesItems Include="$(AllTizenProfiles.Split(';'))" />
+ <SupportedProfilesItems Include="$(SupportedProfiles.Split(';'))" Condition="'$(SupportedProfiles)' != ''" />
+ </ItemGroup>
+
+ <Target Name="GenerateProfileFileList" Outputs="%(AllTizenProfilesItems.Identity)">
+
+ <PropertyGroup>
+ <_TargetProfile>%(AllTizenProfilesItems.Identity)</_TargetProfile>
+ <_IsProfileMatch>false</_IsProfileMatch>
+ <_IsProfileMatch Condition="'%(SupportedProfilesItems.Identity)' == '$(_TargetProfile)'">true</_IsProfileMatch>
+ </PropertyGroup>
+
+ <AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)">
+ <Output TaskParameter="AssignedFiles" ItemName="_ItemsWithTargetPath" />
+ </AssignTargetPath>
+
+ <ItemGroup>
+ <_ResourceItemsWithTargetPath Include="@(_ItemsWithTargetPath)"
+ Condition="$([System.String]::new('%(_ItemsWithTargetPath.TargetPath)').StartsWith('res/', System.StringComparison.OrdinalIgnoreCase))" />
+ <_ResourceItemsWithTargetPath Remove="@(_ResourceItemsWithTargetPath)"
+ Condition="'%(CopyToOutputDirectory)' == '' Or '%(CopyToOutputDirectory)' == 'Never'" />
+ </ItemGroup>
+
+ <GetProfileMatchedItems
+ Items="@(_ResourceItemsWithTargetPath)"
+ TargetProfile="$(_TargetProfile)">
+ <Output TaskParameter="MatchedItems" ItemName="_ProfileResourceItemsWithTargetPath" />
+ </GetProfileMatchedItems>
+
+ <ItemGroup>
+ <_ProfilePreloadItems Include="$(OutDir)*.preload" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <_ProfileFiles Include="$(TargetFileName)" Condition="'$(_IsProfileMatch)' == 'true'" />
+ <_ProfileFiles Include="%(_ProfileResourceItemsWithTargetPath.TargetPath)" Condition="'$(_IsProfileMatch)' == 'true'" />
+ <_ProfileFiles Include="@(_ProfilePreloadItems->'%(Filename)%(Extension)')" Condition="'$(_IsProfileMatch)' == 'true'" />
+ <_ProfileFiles Include="ref/$(TargetFileName)" Condition="'$(_IsProfileMatch)' == 'false'" />
+ </ItemGroup>
+
+ <WriteLinesToFile File="$(OutDir)$(TargetName).$(_TargetProfile).filelist"
+ Overwrite="true"
+ Lines="@(_ProfileFiles)" />
+
+ </Target>
+
+ <UsingTask
+ TaskName="GetProfileMatchedItems"
+ TaskFactory="RoslynCodeTaskFactory"
+ AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
+ <ParameterGroup>
+ <Items Required="true" ParameterType="Microsoft.Build.Framework.ITaskItem[]" />
+ <TargetProfile Required="true" />
+ <MatchedItems ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
+ </ParameterGroup>
+ <Task>
+ <Using Namespace="System" />
+ <Using Namespace="System.IO" />
+ <Using Namespace="System.Linq" />
+ <Using Namespace="System.Collections.Generic" />
+ <Code Type="Fragment" Language="cs">
+<![CDATA[
+ var _matchedItems = new List<ITaskItem>();
+ foreach (var item in Items) {
+ string tizenProfile = item.GetMetadata("TizenProfile");
+ if (!string.IsNullOrEmpty(tizenProfile)) {
+ string[] profiles = tizenProfile.Split(';');
+ if (profiles.Any(TargetProfile.Equals)) {
+ _matchedItems.Add(item);
+ }
+ }
+ }
+ MatchedItems = _matchedItems.ToArray();
+]]>
+ </Code>
+ </Task>
+ </UsingTask>
+
+</Project>
<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
-ElmSharp.dll #common #mobile #mobile-emul #tv #wearable
-ElmSharp.Wearable.dll #wearable
-res/maps_marker_pin_48.png #mobile #mobile-emul #tv #wearable
-res/maps_marker_pin_72.png #mobile #mobile-emul #tv #wearable
-res/maps_marker_sticker_48.png #mobile #mobile-emul #tv #wearable
-res/maps_marker_sticker_72.png #mobile #mobile-emul #tv #wearable
-res/nui_component_default_checkbox_bg_n.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_checkbox_bg_p.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_checkbox_s.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_thumb_d.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_thumb_n.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_track_d.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_track_ds.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_track_n.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_switch_track_s.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_radiobutton_n.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_radiobutton_p.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_radiobutton_s.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_popup_shadow.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_slider_thumb_bg_p.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_slider_thumb_n.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_dropdown_button_icon.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_dropdown_list_bg.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_pagination_focus_dot.png #common #mobile #mobile-emul #tv #wearable
-res/nui_component_default_pagination_normal_dot.png #common #mobile #mobile-emul #tv #wearable
-res/nui_wearable_checkbox_icon.json #wearable
-res/nui_wearable_radiobutton_icon.json #wearable
-res/nui_wearable_switch_icon.json #wearable
-res/nui_wearable_circular_pagination_center_normal_dot.png #wearable
-res/nui_wearable_circular_pagination_center_focus_dot.png #wearable
-Tizen.Account.AccountManager.dll #mobile #mobile-emul #tv #wearable
-Tizen.Account.FidoClient.dll #mobile #mobile-emul #wearable
-Tizen.Account.OAuth2.dll #mobile #mobile-emul #wearable
-Tizen.Account.SyncManager.dll #mobile #mobile-emul #wearable
-Tizen.Applications.Alarm.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.AttachPanel.dll #mobile #mobile-emul
-Tizen.Applications.Badge.dll #mobile #mobile-emul #wearable
-Tizen.Applications.Common.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.ComponentBased.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.ComponentBased.ComponentManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.ComponentBased.Default.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.DataControl.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.EventManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.MessagePort.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.Notification.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.NotificationEventListener.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.PackageManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.Preference.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.RemoteView.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.Service.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.Shortcut.dll #mobile #mobile-emul
-Tizen.Applications.ToastMessage.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.UI.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.WatchApplication.dll #wearable
-Tizen.Applications.WatchfaceComplication.dll #wearable
-Tizen.Applications.WidgetApplication.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Applications.WidgetControl.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Content.Download.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Content.MediaContent.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Content.MimeType.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Context.dll #mobile #mobile-emul #wearable
-Tizen.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Location.dll #mobile #mobile-emul #tv #wearable
-Tizen.Location.Geofence.dll #mobile #mobile-emul
-Tizen.Log.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.MachineLearning.Inference.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Maps.dll #mobile #mobile-emul #tv #wearable
-Tizen.Messaging.dll #mobile #mobile-emul #wearable
-Tizen.Messaging.Push.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.AudioIO.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Camera.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.MediaCodec.dll #common #mobile #mobile-emul #wearable
-Tizen.Multimedia.MediaPlayer.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Metadata.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Radio.dll #common #mobile #mobile-emul #wearable
-Tizen.Multimedia.Recorder.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Remoting.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.StreamRecorder.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Util.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Multimedia.Vision.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Network.Bluetooth.dll #common #mobile #tv #wearable
-Tizen.Network.Connection.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Network.IoTConnectivity.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Network.Nfc.dll #mobile #mobile-emul #wearable
-Tizen.Network.Nsd.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Network.Smartcard.dll #mobile #mobile-emul #wearable
-Tizen.Network.Stc.dll #common #mobile #tv #wearable
-Tizen.Network.WiFi.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Network.WiFiDirect.dll #common #mobile #tv #ivi
-Tizen.Nlp.dll #mobile #mobile-emul
-Tizen.NUI.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.NUI.Components.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.NUI.Wearable.dll #wearable
-Tizen.NUI.WindowSystem.dll #common #mobile #mobile-emul #wearable
-Tizen.PhonenumberUtils.dll #mobile #mobile-emul #wearable
-Tizen.Pims.Calendar.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Pims.Contacts.dll #mobile #mobile-emul #wearable
-Tizen.Security.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Security.DevicePolicyManager.dll #mobile #mobile-emul #wearable
-Tizen.Security.PrivacyPrivilegeManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Security.SecureRepository.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Security.TEEC.dll #mobile #mobile-emul #tv #wearable
-Tizen.Sensor.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.Feedback.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.Information.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.MediaKey.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.PlatformConfig.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.PowerUsage.dll #wearable
-Tizen.System.Storage.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.SystemSettings.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.System.Usb.dll #common #mobile #mobile-emul
-Tizen.Telephony.dll #mobile #mobile-emul #wearable
-Tizen.Tracer.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.InputMethod.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.InputMethodManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.Stt.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.SttEngine.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.Tts.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.TtsEngine.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.VoiceControl.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.VoiceControlWidget.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.Uix.VoiceControlManager.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.WebView.dll #common #mobile #mobile-emul #tv #wearable
-30.ElmSharp.preload #common #mobile #mobile-emul #tv #wearable
-30.ElmSharp.Wearable.preload #wearable
-30.Tizen.Applications.Common.preload #common #mobile #mobile-emul #tv #wearable
-30.Tizen.Applications.UI.preload #common #mobile #mobile-emul #tv #wearable
-30.Tizen.Log.preload #common #mobile #mobile-emul #tv #wearable
-20.Tizen.preload #common #mobile #mobile-emul #tv #wearable
-30.Tizen.System.Information.preload #common #mobile #mobile-emul #tv #wearable
-30.Tizen.NUI.preload #common #mobile #mobile-emul #tv #wearable
%description tools
Tools for TizenFX
-%package dummy
-Summary: not used package
-Group: Development/Libraries
-AutoReqProv: no
-
-%description dummy
-not used package
-
%package full
Summary: All Tizen .NET assemblies
Group: Development/Libraries
%description debug
All .pdb files of Tizen .NET
-%package common
-Summary: Tizen .NET assemblies for Common profile
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-AutoReqProv: no
-
-%description common
-Tizen .NET assemblies for Common profile
-
%package mobile
Summary: Tizen .NET assemblies for Mobile profile
Group: Development/Libraries
%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}
-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
cp %{SOURCE1} .
%build
-%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`}
-%define _tizenfx_bin_path Artifacts
+# configure for ASAN
+%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`}
-rm -fr %{_tizenfx_bin_path}
+# prepare for build
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-
%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
+
+# build full assemblies
%if %{defined profile}
%{build_cmd} --full /p:BuildProfile=%{profile}
%else
%{build_cmd} --full
%endif
+
+# pack nuget package
%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
+# check validation of struct size
%if %{defined enable_struct_test}
-dotnet validate-struct %{_tizenfx_bin_path}/bin/public || echo "
+dotnet validate-struct Artifacts/bin/public || echo "
#######################################################
##################### W A R N I N G ###################
#######################################################
"
%endif
-# Generate filelist for rpm packaging
-GetFileList() {
- PROFILE=$1
- cat packaging/PlatformFileList.txt | grep -v "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
- for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$|\.preload" | cut -d# -f1); do
- if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
- echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
- fi
- done
- for f in $(cat packaging/PlatformFileList.txt | grep "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
- if [ -f packaging/preload/$f ]; then
- echo "%{DOTNET_PRELOAD_PATH}/$f"
- fi
- done
-}
-
-GetFileList common > common.filelist
-GetFileList mobile > mobile.filelist
-GetFileList mobile-emul > mobile-emul.filelist
-GetFileList tv > tv.filelist
-GetFileList wearable > wearable.filelist
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH}
# 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 -p -m 644 Artifacts/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 Artifacts/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 -p -m 644 Artifacts/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 Artifacts/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}
+[ -d Artifacts/bin/public/res ] \
+ && cp -fr Artifacts/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+[ -d Artifacts/bin/internal/res ] \
+ && cp -fr Artifacts/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 -p -m 644 Artifacts/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+
+# Install Preload
+install -p -m 644 Artifacts/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
# Install NuGet Packages
-install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+install -p -m 644 Artifacts/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
# Install Tools
install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH}
-# Install Preload
-install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
%post
/usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f
%manifest %{name}.manifest
%{DOTNET_TOOLS_PATH}/*
-%files dummy
-
%files full
%manifest %{name}.manifest
%attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll
%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
%attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
+%attr(644,root,root) %{DOTNET_PRELOAD_PATH}/*
%files debug
%manifest %{name}.manifest
%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
+%files mobile -f Artifacts/mobile.filelist
%manifest %{name}.manifest
-%files tv -f tv.filelist
+%files tv -f Artifacts/tv.filelist
%manifest %{name}.manifest
-%files wearable -f wearable.filelist
+%files wearable -f Artifacts/wearable.filelist
%manifest %{name}.manifest
%description tools
Tools for TizenFX
-%package dummy
-Summary: not used package
-Group: Development/Libraries
-AutoReqProv: no
-
-%description dummy
-not used package
-
%package full
Summary: All Tizen .NET assemblies
Group: Development/Libraries
%description debug
All .pdb files of Tizen .NET
-%package common
-Summary: Tizen .NET assemblies for Common profile
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-AutoReqProv: no
-
-%description common
-Tizen .NET assemblies for Common profile
-
%package mobile
Summary: Tizen .NET assemblies for Mobile profile
Group: Development/Libraries
%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}
-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
cp %{SOURCE1} .
%build
-%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`}
-%define _tizenfx_bin_path Artifacts
+# configure for ASAN
+%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`}
-rm -fr %{_tizenfx_bin_path}
+# prepare for build
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-
%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
+
+# build full assemblies
%if %{defined profile}
%{build_cmd} --full /p:BuildProfile=%{profile}
%else
%{build_cmd} --full
%endif
+
+# pack nuget package
%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
+# check validation of struct size
%if %{defined enable_struct_test}
-dotnet validate-struct %{_tizenfx_bin_path}/bin/public || echo "
+dotnet validate-struct Artifacts/bin/public || echo "
#######################################################
##################### W A R N I N G ###################
#######################################################
"
%endif
-# Generate filelist for rpm packaging
-GetFileList() {
- PROFILE=$1
- cat packaging/PlatformFileList.txt | grep -v "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
- for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$|\.preload" | cut -d# -f1); do
- if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
- echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
- fi
- done
- for f in $(cat packaging/PlatformFileList.txt | grep "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do
- if [ -f packaging/preload/$f ]; then
- echo "%{DOTNET_PRELOAD_PATH}/$f"
- fi
- done
-}
-
-GetFileList common > common.filelist
-GetFileList mobile > mobile.filelist
-GetFileList mobile-emul > mobile-emul.filelist
-GetFileList tv > tv.filelist
-GetFileList wearable > wearable.filelist
%install
mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH}
# 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 -p -m 644 Artifacts/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 Artifacts/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 -p -m 644 Artifacts/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 Artifacts/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}
+[ -d Artifacts/bin/public/res ] \
+ && cp -fr Artifacts/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+[ -d Artifacts/bin/internal/res ] \
+ && cp -fr Artifacts/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 -p -m 644 Artifacts/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+
+# Install Preload
+install -p -m 644 Artifacts/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
# Install NuGet Packages
-install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+install -p -m 644 Artifacts/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
# Install Tools
install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH}
-# Install Preload
-install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH}
%post
/usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f
%manifest %{name}.manifest
%{DOTNET_TOOLS_PATH}/*
-%files dummy
-
%files full
%manifest %{name}.manifest
%attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll
%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
%attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
+%attr(644,root,root) %{DOTNET_PRELOAD_PATH}/*
%files debug
%manifest %{name}.manifest
%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
+%files mobile -f Artifacts/mobile.filelist
%manifest %{name}.manifest
-%files tv -f tv.filelist
+%files tv -f Artifacts/tv.filelist
%manifest %{name}.manifest
-%files wearable -f wearable.filelist
+%files wearable -f Artifacts/wearable.filelist
%manifest %{name}.manifest
-#!/usr/bin/python3
-
import json
import os
sed -i -e "s/@nuget_version@/$NUGET_VERSION/g" $RPMSPEC
# Update RID
-$SCRIPT_DIR/makerid.py
+python $SCRIPT_DIR/makerid.py
<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
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>wearable</SupportedProfiles>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <TizenPreloadFile Include="ElmSharp.Wearable.preload" Sequence="30" />
+ </ItemGroup>
+
<ItemGroup>
<ProjectReference Include="..\ElmSharp\ElmSharp.csproj" />
</ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
</ItemGroup>
+ <ItemGroup>
+ <TizenPreloadFile Include="ElmSharp.preload" Sequence="30" />
+ </ItemGroup>
+
</Project>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\ElmSharp\ElmSharp.csproj" />
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</PropertyGroup>
<ItemGroup>
+ <TizenPreloadFile Include="Tizen.Applications.Common.preload" Sequence="30" />
+ </ItemGroup>
+
+ <ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</PropertyGroup>
<ItemGroup>
+ <TizenPreloadFile Include="Tizen.Applications.UI.preload" Sequence="30" />
+ </ItemGroup>
+
+ <ItemGroup>
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
</ItemGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<ProjectReference Include="..\ElmSharp\ElmSharp.csproj" />
<Project Sdk="Microsoft.NET.Sdk">
+
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+
+ <PropertyGroup>
+ <SupportedProfiles>wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
- <ItemGroup>
- <Folder Include="Tizen.Applications\Interop\" />
- </ItemGroup>
+
</Project>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <ItemGroup>
+ <TizenPreloadFile Include="Tizen.Log.preload" Sequence="30" />
+ </ItemGroup>
+
</Project>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.Multimedia\Tizen.Multimedia.csproj" />
</ItemGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.Multimedia\Tizen.Multimedia.csproj" />
<ProjectReference Include="..\Tizen.System.Information\Tizen.System.Information.csproj" />
<Project Sdk="Microsoft.NET.Sdk">
- <!-- Property Group for Tizen Project -->
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
- <TizenCreateTpkOnBuild>false</TizenCreateTpkOnBuild>
- </PropertyGroup>
-
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>portable</DebugType>
- </PropertyGroup>
-
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>None</DebugType>
</PropertyGroup>
<ItemGroup>
</None>
</ItemGroup>
-
- <!-- Include Nuget Package for Tizen Project building -->
-
</Project>
\ No newline at end of file
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
- <ArtifactsDirectory>$(OutputBaseDir)bin\design\</ArtifactsDirectory>
+ <ExternalLibraryDir Condition="'$(ExternalLibraryDir)' == ''">$(ProjectRootDir)externals\libs\</ExternalLibraryDir>
</PropertyGroup>
<ItemGroup>
<RootNamespace>Tizen.NUI</RootNamespace>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<ProjectReference Include="..\Tizen.NUI\Tizen.NUI.csproj" />
<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
- <TizenCreateTpkOnBuild>false</TizenCreateTpkOnBuild>
- </PropertyGroup>
+ <PropertyGroup>
+ <TargetFramework>netstandard2.0</TargetFramework>
+ <TizenCreateTpkOnBuild>false</TizenCreateTpkOnBuild>
+ </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>portable</DebugType>
- </PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>None</DebugType>
- </PropertyGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\Tizen.NUI\Tizen.NUI.csproj" />
- <ProjectReference Include="..\Tizen.System.Information\Tizen.System.Information.csproj" />
- </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Tizen.NUI\Tizen.NUI.csproj" />
+ <ProjectReference Include="..\Tizen.System.Information\Tizen.System.Information.csproj" />
+ </ItemGroup>
</Project>
</PropertyGroup>
<ItemGroup>
+ <TizenPreloadFile Include="Tizen.NUI.preload" Sequence="30" />
+ </ItemGroup>
+
+ <ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.3.0" />
<PackageReference Include="System.Reflection" Version="4.3.0" />
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.System.Information\Tizen.System.Information.csproj" />
</ItemGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;tv</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Applications.Common\Tizen.Applications.Common.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
</ItemGroup>
</PropertyGroup>
<ItemGroup>
+ <TizenPreloadFile Include="Tizen.System.Information.preload" Sequence="30" />
+ </ItemGroup>
+
+ <ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<ProjectReference Include="..\Tizen\Tizen.csproj" />
</ItemGroup>
-
</Project>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
+ <PropertyGroup>
+ <SupportedProfiles>mobile;wearable</SupportedProfiles>
+ </PropertyGroup>
+
<ItemGroup>
<ProjectReference Include="..\Tizen\Tizen.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
</ItemGroup>
+ <ItemGroup>
+ <TizenPreloadFile Include="Tizen.preload" Sequence="20" />
+ </ItemGroup>
+
</Project>