Skip to content
Snippets Groups Projects
fc-pregmod.proj 4.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • ezsh's avatar
    ezsh committed
    <?xml version="1.0" encoding="utf-8"?>
    <Project DefaultTargets="FinalHTML" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
    ezsh's avatar
    ezsh committed
    	<Import Project="devTools\FC.targets" />
    
    ezsh's avatar
    ezsh committed
    	<PropertyGroup>
    		<OutputDirectory>.\bin\</OutputDirectory>
    		<JSMoudleFileName>fc.js</JSMoudleFileName>
    	</PropertyGroup>
    
    	<PropertyGroup Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture)' == 'X64' ">
    		<ArchitectureSuffix>64</ArchitectureSuffix>
    	</PropertyGroup>
    	<PropertyGroup Condition=" '$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture)' == 'X86' ">
    		<ArchitectureSuffix>86</ArchitectureSuffix>
    	</PropertyGroup>
    
    	<PropertyGroup Condition=" '$([MSBuild]::IsOsPlatform(Windows))' ">
    		<TweeGoExe>tweego_win$(ArchitectureSuffix).exe</TweeGoExe>
    
    ezsh's avatar
    ezsh committed
    	</PropertyGroup>
    	<PropertyGroup Condition=" '$([MSBuild]::IsOsPlatform(Linux))' ">
    		<TweeGoExe>tweego_nix$(ArchitectureSuffix)</TweeGoExe>
    	</PropertyGroup>
    	<PropertyGroup Condition=" '$([MSBuild]::IsOsPlatform(OSX))' ">
    		<TweeGoExe>tweego_osx$(ArchitectureSuffix)</TweeGoExe>
    	</PropertyGroup>
    
    	<Target Name="CollectGitInfo" DependsOnTargets="FindGit">
    		<Exec Command="$(GitExe) rev-parse --short HEAD" ConsoleToMsBuild="true" EchoOff="true">
    			<Output TaskParameter="ConsoleOutput" PropertyName="GitHash" />
    		</Exec>
    	</Target>
    
    	<Target Name="DisplayMessages" DependsOnTargets="CollectGitInfo">
    		<Message Text="MSBuildProjectDirectory: $(MSBuildProjectDirectory)" />
    
    ezsh's avatar
    ezsh committed
    		<Message Text="ArchitectureSuffix: $(ArchitectureSuffix)" Importance="high" />
    		<Message Text="TweeGoExe: $(TweeGoExe)" Importance="high" />
    		<Message Text="PA: $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture)" />
    
    ezsh's avatar
    ezsh committed
    		<Message Text="Git found: $(GitExeFound)" Importance="high" />
    		<Message Text="Git executable: $(GitExe)" Importance="high" />
    		<Message Text="HEAD commit hash: $(GitHash)" Importance="high" />
    
    ezsh's avatar
    ezsh committed
        </Target>
    
    	<Target Name="createDirs">
    		<MakeDir Directories="$(OutputDirectory)\resources"/>
    	</Target>
    
    	<Target Name="JSModule" DependsOnTargets="createDirs;DisplayMessages">
    		<ItemGroup>
    
    			<jsScripts Include=".\js\**\*.js" /> <!-- will be sorted aphabetically -->
    
    ezsh's avatar
    ezsh committed
    		</ItemGroup>
    
    ezsh's avatar
    ezsh committed
    		<ConcatFiles Inputs="@(jsSCripts)" BaseDir="$(MSBuildProjectDirectory)" Output="$(OutputDirectory)\$(JSMoudleFileName)"/>
    	</Target>
    
    	<Target Name="InjectGitHash" DependsOnTargets="CollectGitInfo" Condition=" '$(GitExeFound)'" >
    		<WriteLinesToFile
    			File="src/002-config/fc-version.js.commitHash.js"
    			Lines="App.Version.commitHash = '$(GitHash)'%3B"
    			Overwrite="true"
    			Encoding="UTF-8"/>
    
    ezsh's avatar
    ezsh committed
    	</Target>
    
    	<Target Name="RemoveGeneratedFiles" DependsOnTargets="FindGit" Condition=" '$(GitExeFound)'" >
    		<Delete Files="src/002-config/fc-version.js.commitHash.js"/>
    
    ezsh's avatar
    ezsh committed
    	</Target>
    
    
    	<Target Name="tmpOutput" DependsOnTargets="JSModule;InjectGitHash">
    
    ezsh's avatar
    ezsh committed
    		<Exec Command="devTools\tweeGo\$(TweeGoExe) --module=$(OutputDirectory)\$(JSMoudleFileName) --head devTools\head.html -o $(OutputDirectory)\tmp.html src\" />
    	</Target>
    
    
    	<Target Name="FinalHTML" DependsOnTargets="tmpOutput;RemoveGeneratedFiles">
    
    ezsh's avatar
    ezsh committed
    		<Delete Files="$(OutputDirectory)\$(JSMoudleFileName)" />
    		<Move SourceFiles="$(OutputDirectory)\tmp.html" DestinationFiles="$(OutputDirectory)\FC_pregmod.html" />
    	</Target>
    
    ezsh's avatar
    ezsh committed
    
    	<Target Name="JavaSanityCheck">
    		<Exec Command="java -jar .\devTools\javaSanityCheck\SanityCheck.jar" />
    	</Target>
    
    
    	<!-- Twine targets -->
    
    	<Target Name="TwineCSS">
    		<ItemGroup>
    			<cssFiles Include=".\src\**\*.css" /> <!-- will be sorted aphabetically -->
    		</ItemGroup>
    		<ConcatFiles Inputs="@(cssFiles)" BaseDir="$(MSBuildProjectDirectory)" Output="$(MSBuildProjectDirectory)\devNotes\twine CSS.txt"/>
    	</Target>
    
    	<Target Name="TwineJS">
    		<ItemGroup>
    			<jsFiles Include=".\js\**\*.js;.\src\**\*.js" Exclude=".\src\art\assistantArt.js"/> <!-- will be sorted aphabetically -->
    		</ItemGroup>
    
    		<ConcatFiles Inputs="@(jsFiles)" BaseDir="$(MSBuildProjectDirectory)" Output="$(MSBuildProjectDirectory)\devNotes\twine JS.raw"/>
    		<StripComments
    			InputFilename="$(MSBuildProjectDirectory)\devNotes\twine JS.raw"
    			OutputFilename="$(MSBuildProjectDirectory)\devNotes\twine JS.txt"
    		/>
    
    	</Target>
    
    	<Target Name="Twine" DependsOnTargets="TwineCSS;TwineJS"/>
    
    
    ezsh's avatar
    ezsh committed
    </Project>