Browse Source

Reference Boo.Lang.Useful by default. Automatically copy Boo.Lang.dll to the output directory.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@650 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
e402835d8b
  1. 252
      src/AddIns/BackendBindings/Boo/Boo.Microsoft.Build.Tasks/Boo.Microsoft.Build.targets
  2. 13
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs
  3. 3
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt
  4. 1
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/FormsProject.xpt
  5. 1
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/Library.xpt

252
src/AddIns/BackendBindings/Boo/Boo.Microsoft.Build.Tasks/Boo.Microsoft.Build.targets

@ -1,25 +1,25 @@ @@ -1,25 +1,25 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask
<UsingTask
TaskName="Microsoft.Build.Tasks.CreateBooManifestResourceName"
AssemblyFile="Boo.Microsoft.Build.Tasks.dll" />
<UsingTask
TaskName="Boo.Microsoft.Build.Tasks.Booc"
TaskName="Boo.Microsoft.Build.Tasks.Booc"
AssemblyFile="Boo.Microsoft.Build.Tasks.dll"/>
<PropertyGroup>
<PropertyGroup>
<MSBuildAllProjects Condition="'$(BoocToolPath)' != ''">
$(MSBuildAllProjects);$(BoocToolPath)\Boo.Microsoft.Build.targets
$(MSBuildAllProjects);$(BoocToolPath)\Boo.Microsoft.Build.targets
</MSBuildAllProjects>
<MSBuildAllProjects Condition="'$(BoocToolPath)' == ''">
$(MSBuildAllProjects);$(MSBuildBinPath)\Boo.Microsoft.Build.targets
$(MSBuildAllProjects);$(MSBuildBinPath)\Boo.Microsoft.Build.targets
</MSBuildAllProjects>
<DefaultLanguageSourceExtension>.boo</DefaultLanguageSourceExtension>
<Language>Boo</Language>
</PropertyGroup>
<!--
<DefaultLanguageSourceExtension>.boo</DefaultLanguageSourceExtension>
<Language>Boo</Language>
</PropertyGroup>
<!--
The CreateManifestResourceNames target create the manifest resource names
from the .RESX files.
@ -64,24 +64,24 @@ @@ -64,24 +64,24 @@
For other project systems, this transformation may be different.
-->
<PropertyGroup>
<CreateManifestResourceNamesDependsOn>
<PropertyGroup>
<CreateManifestResourceNamesDependsOn>
</CreateManifestResourceNamesDependsOn>
</PropertyGroup>
<Target
Name="CreateManifestResourceNames"
Condition="'
@(ResxWithNoCulture)
@(ResxWithCulture)
@(NonResxWithNoCulture)
@(NonResxWithCulture)'!=''"
DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"
>
<!-- Create the target resource names for non-culture resx files -->
<CreateBooManifestResourceName
</PropertyGroup>
<Target
Name="CreateManifestResourceNames"
Condition="'
@(ResxWithNoCulture)
@(ResxWithCulture)
@(NonResxWithNoCulture)
@(NonResxWithCulture)'!=''"
DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"
>
<!-- Create the target resource names for non-culture resx files -->
<CreateBooManifestResourceName
Condition="'@(ResxWithNoCulture)'!=''"
ResourceFiles="@(ResxWithNoCulture)"
RootNamespace="$(RootNamespace)">
@ -89,124 +89,130 @@ @@ -89,124 +89,130 @@
<Output
TaskParameter="ManifestResourceNames"
ItemName="ManifestResourceWithNoCultureName"/>
</CreateBooManifestResourceName>
<!-- Create the target resource names for culture resx files. -->
<CreateBooManifestResourceName
</CreateBooManifestResourceName>
<!-- Create the target resource names for culture resx files. -->
<CreateBooManifestResourceName
Condition="'@(ResxWithCulture)'!=''"
ResourceFiles="@(ResxWithCulture)"
RootNamespace="$(RootNamespace)">
<Output
<Output
TaskParameter="ManifestResourceNames"
ItemName="ManifestResourceWithCultureName"/>
</CreateBooManifestResourceName>
<!-- Create the target resource names for non-culture non-resx files. -->
<CreateBooManifestResourceName
</CreateBooManifestResourceName>
<!-- Create the target resource names for non-culture non-resx files. -->
<CreateBooManifestResourceName
Condition="'@(NonResxWithNoCulture)'!=''"
ResourceFiles="@(NonResxWithNoCulture)"
RootNamespace="$(RootNamespace)">
<Output
<Output
TaskParameter="ManifestResourceNames"
ItemName="ManifestNonResxWithNoCulture"/>
</CreateBooManifestResourceName>
<!-- Create the target resource names for culture non-resx files. -->
<CreateBooManifestResourceName
</CreateBooManifestResourceName>
<!-- Create the target resource names for culture non-resx files. -->
<CreateBooManifestResourceName
Condition="'@(NonResxWithCulture)'!=''"
ResourceFiles="@(NonResxWithCulture)"
RootNamespace="$(RootNamespace)">
<Output
<Output
TaskParameter="ManifestResourceNames"
ItemName="ManifestNonResxWithCulture"/>
</CreateBooManifestResourceName>
</Target>
<PropertyGroup>
<!--
</CreateBooManifestResourceName>
</Target>
<PropertyGroup>
<!--
"None" is not technically a valid DebugType, so we can't pass it
in as such to the compiler. So here, we modify the properties so
they make sense.
-->
<DebugSymbols Condition="'$(DebugType)' == 'none'">false</DebugSymbols>
<DebugType Condition="'$(DebugType)' == 'none'"></DebugType>
<!-- Provide a facility to override UseHostCompilerIfAvailable-->
<UseHostCompilerIfAvailable
<DebugSymbols Condition="'$(DebugType)' == 'none'">false</DebugSymbols>
<DebugType Condition="'$(DebugType)' == 'none'"></DebugType>
<!-- Provide a facility to override UseHostCompilerIfAvailable-->
<UseHostCompilerIfAvailable
Condition="'$(UseHostCompilerIfAvailable)' == ''">
true
true
</UseHostCompilerIfAvailable>
</PropertyGroup>
<!--
These two compiler warnings are raised when a reference is bound to
a different version than specified in the assembly reference version
number. MSBuild raises the same warning in this case, so the compiler
warning would be redundant.
-->
<PropertyGroup Condition="'$(TargetFrameworkVersion)' != 'v1.0'">
<NoWarn Condition="'$(NoWarn)' != ''">$(NoWarn);</NoWarn>
<NoWarn>$(NoWarn)1701;1702</NoWarn>
</PropertyGroup>
<ItemGroup>
<DocFileItem
</PropertyGroup>
<ItemGroup>
<DocFileItem
Include="$(DocumentationFile)"
Condition="'$(DocumentationFile)'!=''">
<InProject>false</InProject>
</DocFileItem>
</ItemGroup>
<PropertyGroup>
<CoreCompileDependsOn>
_ComputeNonExistentFileProperty
<InProject>false</InProject>
</DocFileItem>
</ItemGroup>
<PropertyGroup>
<CoreCompileDependsOn>
_ComputeNonExistentFileProperty
</CoreCompileDependsOn>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup Condition=" '$(BoocToolPath)' != '' ">
<ReferencePath>$(ReferencePath);$(BoocToolPath)</ReferencePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(BoocToolPath)' == '' ">
<ReferencePath>$(ReferencePath);$(BooBinPath)</ReferencePath>
</PropertyGroup>
<Target
Name="CoreCompile"
Inputs="$(MSBuildAllProjects);
@(Compile);
@(ManifestResourceWithNoCulture);
$(ApplicationIcon);
$(AssemblyOriginatorKeyFile);
@(ManifestNonResxWithNoCultureOnDisk);
@(ReferencePath);
@(CompiledLicenseFile)"
Outputs="@(DocFileItem);
@(IntermediateAssembly);
$(NonExistentFile)"
DependsOnTargets="$(CoreCompileDependsOn)"
>
<Booc
OutputAssembly="@(IntermediateAssembly)"
References="@(ReferencePath)"
Resources= "
@(ManifestResourceWithNoCulture);
@(ManifestNonResxWithNoCultureOnDisk);
@(CompiledLicenseFile)"
ResponseFiles="$(CompilerResponseFile)"
Sources="@(Compile)"
TargetType="$(OutputType)"
ToolPath="$(BoocToolPath)"
Pipelines="@(Pipeline)"
Verbosity="$(BoocVerbosity)"
Culture="$(AssemblyCulture)"
SourceDirectory="$(SourceDirectory)"
/>
</Target>
Name="CoreCompile"
Inputs="$(MSBuildAllProjects);
@(Compile);
@(ManifestResourceWithNoCulture);
$(ApplicationIcon);
$(AssemblyOriginatorKeyFile);
@(ManifestNonResxWithNoCultureOnDisk);
@(ReferencePath);
@(CompiledLicenseFile)"
Outputs="@(DocFileItem);
@(IntermediateAssembly);
$(NonExistentFile)"
DependsOnTargets="$(CoreCompileDependsOn)"
>
<Booc
OutputAssembly="@(IntermediateAssembly)"
References="@(ReferencePath)"
Resources= "@(ManifestResourceWithNoCulture);
@(ManifestNonResxWithNoCultureOnDisk);
@(CompiledLicenseFile)"
ResponseFiles="$(CompilerResponseFile)"
Sources="@(Compile)"
TargetType="$(OutputType)"
ToolPath="$(BoocToolPath)"
Pipelines="@(Pipeline)"
Verbosity="$(BoocVerbosity)"
Culture="$(AssemblyCulture)"
SourceDirectory="$(SourceDirectory)"
/>
<Copy
Condition=" '$(BoocToolPath)' == '' "
SkipUnchangedFiles="true"
SourceFiles="$(BooBinPath)\Boo.Lang.dll"
DestinationFolder="$(OutputPath)"/>
<Copy
Condition=" '$(BoocToolPath)' != '' "
SkipUnchangedFiles="true"
SourceFiles="$(BoocToolPath)\Boo.Lang.dll"
DestinationFolder="$(OutputPath)"/>
</Target>
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
</Project>

13
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs

@ -51,6 +51,7 @@ namespace Grunwald.BooBinding @@ -51,6 +51,7 @@ namespace Grunwald.BooBinding
}
internal static IProjectContent BooCompilerPC;
internal static IProjectContent BooUsefulPC;
public override ParseProjectContent CreateProjectContent()
{
@ -59,10 +60,14 @@ namespace Grunwald.BooBinding @@ -59,10 +60,14 @@ namespace Grunwald.BooBinding
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(systemItem));
ReferenceProjectItem booLangItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Builtins).Assembly.Location);
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(booLangItem));
ReferenceProjectItem booCompilerItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Compiler.AbstractAstAttribute).Assembly.Location);
BooCompilerPC = ProjectContentRegistry.GetProjectContentForReference(booCompilerItem);
ReferenceProjectItem booUsefulItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Useful.Attributes.SingletonAttribute).Assembly.Location);
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference(booUsefulItem));
if (BooCompilerPC == null) {
ReferenceProjectItem booCompilerItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Compiler.AbstractAstAttribute).Assembly.Location);
BooCompilerPC = ProjectContentRegistry.GetProjectContentForReference(booCompilerItem);
}
if (BooUsefulPC == null) {
ReferenceProjectItem booUsefulItem = new ReferenceProjectItem(this, typeof(Boo.Lang.Useful.Attributes.SingletonAttribute).Assembly.Location);
BooUsefulPC = ProjectContentRegistry.GetProjectContentForReference(booUsefulItem);
}
pc.DefaultImports = new DefaultUsing(pc);
pc.DefaultImports.Usings.Add("Boo.Lang.Builtins");
return pc;

3
src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt

@ -23,8 +23,9 @@ @@ -23,8 +23,9 @@
<ProjectItems>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Boo.Lang.Useful" />
</ProjectItems>
<Files>
<File name="Program.boo"><![CDATA[import System
import System.Collections

1
src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/FormsProject.xpt

@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Boo.Lang.Useful" />
</ProjectItems>
<Files>

1
src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/Library.xpt

@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
<ProjectItems>
<Reference Include="System.Xml" />
<Reference Include="Boo.Lang.Useful" />
</ProjectItems>
<Files>

Loading…
Cancel
Save