Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public bool IsSourceCodeFile (FilePath fileName)

public BuildResult Compile (ProjectItemCollection projectItems, DotNetProjectConfiguration configuration, ConfigurationSelector configSelector, IProgressMonitor monitor)
{
return CSharpBindingCompilerManager.Compile (projectItems, configuration, configSelector, monitor);
return PlayScriptBindingCompilerManager.Compile (projectItems, configuration, configSelector, monitor);
}

public ConfigurationParameters CreateCompilationParameters (XmlElement projectOptions)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// CSharpBindingCompilerManager.cs
// PlayScriptBindingCompilerManager.cs
//
// Author:
// Mike Krüger <mkrueger@novell.com>
Expand Down Expand Up @@ -31,6 +31,7 @@
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Text;
using System.Runtime.InteropServices;
using Mono.Addins;

using MonoDevelop.Projects;
Expand All @@ -45,8 +46,11 @@

namespace MonoDevelop.PlayScript
{
static class CSharpBindingCompilerManager
static class PlayScriptBindingCompilerManager
{
[DllImport ("libc")]
private static extern int system (string exec);

static void AppendQuoted (StringBuilder sb, string option, string val)
{
sb.Append ('"');
Expand Down Expand Up @@ -423,12 +427,20 @@ static string GetCompilerName (TargetRuntime runtime, TargetFramework fx)
if (Platform.IsWindows) {
psc_name += ".exe";
}
string csc = runtime.GetToolPath (fx, psc_name);
if (csc != null)
return csc;
csc = AddinManager.CurrentAddin.GetFilePath (psc_name);
if (csc != null)
return csc;
// Using a runtime that includes the playscript compiler?
string psc = runtime.GetToolPath (fx, psc_name);
if (psc != null)
return psc;
psc_name = Path.Combine ("MonoDevelop.PlayScript.SupportPackages", psc_name);
psc = AddinManager.CurrentAddin.GetFilePath (psc_name);
if (psc != null) {
// TODO: Fixme...Hack file perms on script as Addin system does not preserve them...
system (String.Format ("chmod u+x \"{0}\"", psc));
return psc;
}
psc = AddinManager.CurrentAddin.GetFilePath (psc_name += ".exe");
if (psc != null)
return psc;
else {
string message = GettextCatalog.GetString ("PlayScript compiler not found for {0}.", fx.Name);
LoggingService.LogError (message);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public bool IsSourceCodeFile (FilePath fileName)

public BuildResult Compile (ProjectItemCollection projectItems, DotNetProjectConfiguration configuration, ConfigurationSelector configSelector, IProgressMonitor monitor)
{
return CSharpBindingCompilerManager.Compile (projectItems, configuration, configSelector, monitor);
return PlayScriptBindingCompilerManager.Compile (projectItems, configuration, configSelector, monitor);
}

public ConfigurationParameters CreateCompilationParameters (XmlElement projectOptions)
Expand Down
5 changes: 4 additions & 1 deletion PlayScript.Addin/PlayScript.Addin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@
<Compile Include="PlayScript.AddinReference.cs" />
<Compile Include="PlayScript.AddinReferenceCollection.cs" />
<Compile Include="Properties\PlayScript.AddinInfo.cs" />
<Compile Include="MonoDevelop.PlayScript\CSharpBindingCompilerManager.cs" />
<Compile Include="MonoDevelop.PlayScript\CSharpEnhancedCodeProvider.cs" />
<Compile Include="MonoDevelop.PlayScript\ExpandSelectionHandler.cs" />
<Compile Include="MonoDevelop.PlayScript\CSharpAmbience.cs" />
Expand Down Expand Up @@ -210,6 +209,7 @@
<Compile Include="MonoDevelop.PlayScript.Resolver\TextEditorResolverProvider.cs" />
<Compile Include="MonoDevelop.PlayScript.Resolver\HelperMethods.cs" />
<Compile Include="MonoDevelop.PlayScript.Tooltips\LanguageItemTooltipProvider.cs" />
<Compile Include="MonoDevelop.PlayScript\PlayScriptBindingCompilerManager.cs" />
</ItemGroup>
<ItemGroup>
<None Include="icons\actionscript-file-source-32%402x.psd" />
Expand Down Expand Up @@ -401,6 +401,9 @@
<Link>MonoDevelop.PlayScript.SupportPackages\pscorlib_aot.dll.mdb</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</AddinFile>
<AddinFile Include="..\..\playscript\mcs\psc\psc">
<Link>MonoDevelop.PlayScript.SupportPackages\psc</Link>
</AddinFile>
</ItemGroup>
<ItemGroup>
<AddinReference Include="MonoDevelop.SourceEditor2" />
Expand Down
10 changes: 9 additions & 1 deletion PlayScript.Addin/Properties/PlayScript.AddinInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,12 @@
[assembly:AddinDescription ("PlayScript and ActionScript Support for Xamarin Studio\n\nBy SushiHangover")]
[assembly:AddinAuthor ("SushiHangover/RobertN")]


[assembly:Mono.Addins.ImportAddinAssembly ("ICSharpCode.Decompiler.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("ICSharpCode.NRefactory.PlayScript.IKVM.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("ICSharpCode.NRefactory.PlayScript.Refactoring.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("ICSharpCode.NRefactory.PlayScript.Xml.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("ICSharpCode.NRefactory.PlayScript.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("IKVM.Reflection.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("Mono.Cecil.Mdb.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("Mono.Cecil.Pdb.dll")]
[assembly:Mono.Addins.ImportAddinAssembly ("Mono.Cecil.dll")]