[Tizen.Applications.ComponentBased][TCSACR-265][Add] Add ComponentBased application...
[platform/core/csapi/tizenfx.git] / build / build.proj
index 030d6a0..64bd081 100644 (file)
@@ -4,49 +4,41 @@
 
   <!-- Build Properties -->
   <PropertyGroup>
-    <Configuration>Release</Configuration>
-    <GenDummyCommand>dotnet $(GenDummyDir)\GenDummy.dll</GenDummyCommand>
-    <PublicDummyProjectDir>$(ProjectRootDir).dummy\</PublicDummyProjectDir>
-    <InternalDummyProjectDir>$(ProjectRootDir)internal\.dummy\</InternalDummyProjectDir>
+    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+    <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
   </PropertyGroup>
 
   <!-- Projects to build -->
   <ItemGroup>
-    <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''">
-      <Visibility>Public</Visibility>
-    </ProjectToBuild>
-    <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
-      <Visibility>Public</Visibility>
-    </ProjectToBuild>
-    <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''">
-      <Visibility>Internal</Visibility>
-    </ProjectToBuild>
+    <ProjectToBuild Include="$(ProjectSrcDir)\$(Project)\$(Project).csproj" Condition="'$(Project)' != ''" />
+    <ProjectToBuild Include="$(ProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
+    <ProjectToBuild Include="$(InternalProjectSrcDir)**\*.csproj" Condition="'$(Project)' == ''" />
   </ItemGroup>
 
   <!-- Nuspec files to pack -->
   <ItemGroup>
-    <NuspecFiles Include="$(ProjectRootDir)pkg\*.nuspec" />
+    <NuspecFiles Include="$(ProjectRootDir)pkg\**\*.nuspec" />
   </ItemGroup>
 
   <!--
     Target : Clean
     ==============
     Delete all artifacts,
-    including the Artifacts/ directory and the obj/ directories for all projects.
+    including the Artifacts/ directory and the obj and bin directories of all projects.
   -->
   <Target Name="Clean">
 
     <ItemGroup>
-      <ProjectIntermediateAllFiles Include="$(ProjectSrcDir)**\obj\*" />
-      <ProjectIntermediateAllFiles Include="$(InternalProjectSrcDir)**\obj\*" />
+      <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)" />
-      <DirToRemove Include="$(PublicDummyProjectDir)" />
-      <DirToRemove Include="$(InternalDummyProjectDir)" />
     </ItemGroup>
 
     <RemoveDir Directories="@(DirToRemove)" />
@@ -61,7 +53,7 @@
   <Target Name="Restore">
 
     <MSBuild Projects="@(ProjectToBuild)"
-             Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
+             Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
              BuildInParallel="false"
              Targets="Restore" />
 
   <Target Name="Build">
 
     <MSBuild Projects="@(ProjectToBuild)"
-             Properties="Configuration=$(Configuration)"
+             Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
              BuildInParallel="true"
              UseResultsCache="true"
-             Targets="Build" />
+             Targets="Rebuild" />
 
     <MSBuild Projects="@(ProjectToBuild)"
              Properties="Configuration=$(Configuration)"
     ==============
     Generate dummy assemblies of all projects.
   -->
-  <Target Name="Dummy" DependsOnTargets="GenerateDummyProject">
-
-    <ItemGroup>
-      <DummyProjectToBuild Include="$(PublicDummyProjectDir)**\*.csproj" />
-      <DummyProjectToBuild Include="$(InternalDummyProjectDir)**\*.csproj" />
-    </ItemGroup>
-
-    <MSBuild Projects="@(DummyProjectToBuild)"
-             Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
-             BuildInParallel="false"
-             Targets="Restore" />
-
-    <MSBuild Projects="@(DummyProjectToBuild)"
-             Properties="Configuration=$(Configuration);WarningLevel=0;OutDir=$(OutputDummyDir);ProduceReferenceAssembly=False"
-             BuildInParallel="true"
-             UseResultsCache="true"
-             Targets="Build" />
-
-  </Target>
-
-
-  <Target Name="GenerateDummyProject" Inputs="@(ProjectToBuild)" Outputs="%(Filename)" >
+  <Target Name="Dummy">
 
     <PropertyGroup>
-      <GeneratedDummyAssembly>$(OutputDummyDir)%(ProjectToBuild.Filename).dll</GeneratedDummyAssembly>
-      <ClonedProjectsDir Condition="'%(ProjectToBuild.Visibility)' == 'Public'" >$(PublicDummyProjectDir)</ClonedProjectsDir>
-      <ClonedProjectsDir Condition="'%(ProjectToBuild.Visibility)' == 'Internal'" >$(InternalDummyProjectDir)</ClonedProjectsDir>
+      <APIToolPath>$(MSBuildThisFileDirectory)..\tools\bin\APITool.dll</APIToolPath>
     </PropertyGroup>
 
-    <Message Text="[GenDummy] %(ProjectToBuild.Filename)" Importance="High" />
-    <Message Text="Directory = %(ProjectToBuild.Directory)" Importance="High" />
-
-    <Exec Command='$(GenDummyCommand) -project %(ProjectToBuild.Filename) -source %(ProjectToBuild.RootDir)%(ProjectToBuild.Directory).. -clonePath $(ClonedProjectsDir)' />
-
-  </Target>
+    <MakeDir Directories="$(OutputDummyDir)" />
+    <Exec Command="dotnet $([System.IO.Path]::GetFullPath('$(APIToolPath)')) dummy $(OutputPublicDir)ref $(OutputDummyDir) " />
 
-  <Target Name="AfterDummy">
-    <Message Text="Clean Directory" Importance="High" />
-    <RemoveDir Directories="$(PublicDummyProjectDir);$(InternalDummyProjectDir)" />
   </Target>
 
 </Project>