Completely redefined what ProjectType Tasks and TaskActions are and how they work
This commit is contained in:
parent
87213d8b8d
commit
6cea2e06b1
@ -7,50 +7,55 @@
|
||||
<Title>C++ Application</Title>
|
||||
</Information>
|
||||
<Tasks>
|
||||
<Task ID="{9749807D-CD3F-4EC2-A356-6CA4DB7E4AFC}" TaskTypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}" Title="Compile">
|
||||
<FileName>$(MinGWPath)\g++.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="-o " />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="OutputType" Comparison="EqualTo" Value="GraphicalApplication" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<Literal Value="-mwindows " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="IncludeFiles.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="IncludeFiles" Prefix="-I" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="LibraryPaths.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="LibraryPaths" Prefix="-L" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="LibraryReferences.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="LibraryReferences" Prefix="-l" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<Literal Value=" " />
|
||||
<VariableArray Name="ProjectFiles" Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
<Task Title="Build">
|
||||
<TaskActions>
|
||||
<TaskAction TypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}">
|
||||
<!-- ExecutableTaskAction -->
|
||||
<FileName>$(MinGWPath)\g++.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="-o " />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="OutputType" Comparison="EqualTo" Value="GraphicalApplication" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<Literal Value="-mwindows " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="IncludeFiles.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="IncludeFiles" Prefix="-I" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="LibraryPaths.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="LibraryPaths" Prefix="-L" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<ConditionalStatement>
|
||||
<Conditions>
|
||||
<Condition VariableName="LibraryReferences.Length" Comparison="GreaterThan" Value="0" />
|
||||
</Conditions>
|
||||
<TrueResult>
|
||||
<VariableArray Name="LibraryReferences" Prefix="-l" Separator=" " />
|
||||
</TrueResult>
|
||||
</ConditionalStatement>
|
||||
<Literal Value=" " />
|
||||
<VariableArray Name="ProjectFiles" Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
</TaskAction>
|
||||
</TaskActions>
|
||||
</Task>
|
||||
</Tasks>
|
||||
</ProjectType>
|
||||
|
||||
@ -7,13 +7,17 @@
|
||||
<Title>XML Transformation Project</Title>
|
||||
</Information>
|
||||
<Tasks>
|
||||
<Task ID="{42ACEBEB-F1E8-43D7-B58B-AF9BE33E634C}" TaskTypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}" Title="Transform XML with Saxonica">
|
||||
<FileName>C:\Program Files\Saxonica\bin\saxon.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
<Task Title="Transform">
|
||||
<TaskActions>
|
||||
<TaskAction TypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}">
|
||||
<FileName>C:\Program Files\Saxonica\bin\saxon.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
</TaskAction>
|
||||
</TaskActions>
|
||||
</Task>
|
||||
</Tasks>
|
||||
</ProjectType>
|
||||
|
||||
@ -8,23 +8,28 @@
|
||||
</Information>
|
||||
<Tasks>
|
||||
<!--
|
||||
TaskTypes are defined in libraries.
|
||||
{EE505E05-F125-4718-BA0A-879C72B5125A} corresponds to the built-in task type ExecutableTask
|
||||
When tasks are executed, the TaskType gets the inner XML of the task and processes it to extract parameters.
|
||||
TaskActionTypes are defined in libraries.
|
||||
{EE505E05-F125-4718-BA0A-879C72B5125A} corresponds to the built-in task action type ExecutableTaskAction
|
||||
When Tasks are executed, each TaskAction in TaskActions gets executed.
|
||||
When TaskActions are executed, the TaskType gets the inner XML of the task and processes it to extract parameters.
|
||||
Certain tags are expanded by the preprocessor, like StringBuilder which is common to all TaskTypes.
|
||||
-->
|
||||
<Task ID="{9749807D-CD3F-4EC2-A356-6CA4DB7E4AFC}" TaskTypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}" Title="Compile">
|
||||
<FileName>$(ArduinoPath)\avr-gcc.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="-o " />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<Literal Value=" " />
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
<Task Title="Build">
|
||||
<TaskActions>
|
||||
<TaskAction TypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}">
|
||||
<FileName>$(ArduinoPath)\avr-gcc.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="-o " />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<Literal Value=" " />
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
</TaskAction>
|
||||
</TaskActions>
|
||||
</Task>
|
||||
</Tasks>
|
||||
</ProjectType>
|
||||
|
||||
@ -7,18 +7,22 @@
|
||||
<Title>C# Project</Title>
|
||||
</Information>
|
||||
<Tasks>
|
||||
<Task ID="{9749807D-CD3F-4EC2-A356-6CA4DB7E4AFC}" TaskTypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}" Title="Compile">
|
||||
<FileName>$(DotNetFrameworkPath)\v$(DotNetVersion)\csc.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="/out:" />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<Literal Value=" " />
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
<Task Title="Build">
|
||||
<TaskActions>
|
||||
<TaskAction TypeID="{EE505E05-F125-4718-BA0A-879C72B5125A}" >
|
||||
<FileName>$(DotNetFrameworkPath)\v$(DotNetVersion)\csc.exe</FileName>
|
||||
<Arguments>
|
||||
<StringBuilder>
|
||||
<Literal Value="/out:" />
|
||||
<Quote />
|
||||
<Variable Name="OutputFileName" />
|
||||
<Quote />
|
||||
<Literal Value=" " />
|
||||
<ProjectFiles Separator=" " />
|
||||
</StringBuilder>
|
||||
</Arguments>
|
||||
</TaskAction>
|
||||
</TaskActions>
|
||||
</Task>
|
||||
</Tasks>
|
||||
</ProjectType>
|
||||
|
||||
21
CSharp/TODO
21
CSharp/TODO
@ -20,18 +20,21 @@ UniversalEditor Projects:
|
||||
* "Live folders" - project folders are automatically populated with their physical folder contents when project is loaded
|
||||
Select folder, set "Live folder" = "True" in Properties panel
|
||||
|
||||
Project file BuildActions:
|
||||
"Compile"
|
||||
Project file Tasks and TaskActions:
|
||||
ExecutableTaskAction
|
||||
- Run the given program with the given parameters
|
||||
FileSystemTaskAction
|
||||
- Combine multiple selected files into one
|
||||
OutputObjectModel = FileSystemObjectModel
|
||||
User specifies OutputFileName and OutputDataFormat
|
||||
Support multiple Tasks for a BuildAction, i.e.
|
||||
<BuildAction Title="Compile">
|
||||
<Tasks>
|
||||
<Task ID="..." />
|
||||
<Task ID="..." />
|
||||
</Tasks>
|
||||
</BuildAction>
|
||||
Support multiple TaskActions for a Task, i.e.
|
||||
<Task Title="Compile">
|
||||
<TaskActions>
|
||||
<TaskAction TypeID="..." />
|
||||
<TaskAction TypeID="..." />
|
||||
</TaskActions>
|
||||
</Task>
|
||||
If any one of the TaskActions fails, the task is terminated.
|
||||
|
||||
Document Tabs:
|
||||
* Dragging items over document tabs should cause the active tab to switch to the tab being dragged over. As of 2012, Visual Studio does not support this ;)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user