Page 1 of 6

Help test next version of MonoDevelop/Xamarin Studio add-in

PostPosted: Mon Nov 18, 2013 12:07 pm
by nerdzero
Hey guys, I'm getting ready to cut a new release of the add-in for MonoDevelop and Xamarin Studio and was looking to get some people to help with testing.

New features for this release will include:

* Mouseover tooltips

* Support for parameter completion when typing '(' or hitting Ctrl+Shift+Space when inside parenthesis. Then press up or down to see the different overloads. You can press Esc to dismiss the tooltip if desired.

* Some support for showing extension methods when hitting '.' after an identifier. This doesn't always work due to race conditions with the non-thread safe compiler.

* A new Go To Declaration right-click menu command.

* Support for building with msbuild or xbuild which is the new default in Xamarin Studio and MonoDevelop. This also means you can now compile .cobraproj files from the command line.

* Support for installing via a package repository at http://mdrepo.ramonrocha.com/ This isn't set up yet but the infrastructure and code to create the package is in place (thanks, sephthir!)

Here's a screenshot
parameter_completion_meta.png
parameter_completion_meta.png (103.19 KiB) Viewed 96798 times


The add-in requires the latest version of Cobra from svn. See here for instructions on how to do that: http://cobra-language.com/trac/cobra/wi ... FromSource

If you are running Windows 64-bit, then you need to install Cobra targetting the x86 platform. So, instead of running 'bin\install-from-workspace' you would run 'bin\install-from-workspace -x86'. You don't need to mess around with 'Ldr64.exe setwow' or 'Ldr64.exe set64' anymore.

You can grab the add-in code here: https://github.com/ramon-rocha/MonoDeve ... didate.zip

cd to whereever you unzip it and then run the installer by executing:

Code: Select all
cobra install.cobra


Or on Windows 64-bit run this instead:

Code: Select all
cobra -clr-platform:x86 install.cobra


Oh, and of course you will also need Xamarin Studio. Binary packages can be downloaded here for Windows and Mac.

http://monodevelop.com/download

On Linux, you will need to build MonoDevelop from source which you can grab from here: https://github.com/mono/monodevelop

Installing MonoDevelop from source can be a bit daunting to set up for a beginner so if anyone tries this route and runs into any issues, you can post here and I will try to help.

You can post any issues encountered here on the forums or on GitHub: https://github.com/ramon-rocha/MonoDeve ... ing/issues

Thanks in advance!

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Mon Nov 18, 2013 3:25 pm
by travisby
I just found Cobra today, and was setting up my environment. I had found your MonoDevelop plugin, and was having problems installing it [with Cobra 0.9.4]. While in the process of debugging, I saw this post pop up here, and immediately switched to the svn version of Cobra.

Everything is working as intended. :) Built my first Cobra programming (by built, I mean compiled. Not designed! haha.)

Excellent so far, all working on this end.

I'll keep playing with it, and report any issues here!

Statistics for your records
Code: Select all
[~]$ cobra --version
Cobra svn:3054 (post 0.9.4) / 2013-11-18 on Mono 3.2.3 CLR v4.0.30319 on Unix 3.2.41.2
[~]$ eix monodevelop
[D] dev-util/monodevelop
     Available versions:  3.0.2-r1 {+git +subversion}
     Installed versions:  4.2[?](03:22:58 PM 11/18/2013)(git subversion -doc)
[~]$ uname -a
Linux localhost 3.2.41-2 #1 SMP Thu Sep 19 16:02:50 EDT 2013 x86_64 AMD FX(tm)-6100 Six-Core Processor AuthenticAMD GNU/Linux
[~]$ cat /etc/gentoo-release
Funtoo Linux - baselayout 2.2.0

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Mon Nov 18, 2013 7:57 pm
by nerdzero
Hey, cool! Another Linux user! I thought I was the only one on here :) Glad to hear it's working for you.

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Fri Nov 22, 2013 8:03 pm
by Charles
Did a fresh test tonight. Works for me.

Windows 8.1 64-bit

Xamarin 4.2.1 (build 1)

The Cobra Programming Language svn:3056 (post 0.9.4) / 2013-11-22
on .NET CLR v4.0.30319 on Microsoft Windows NT 6.2.9200.0
at C:\Cobra\Cobra-svn-3056\bin\cobra.exe

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 3:16 am
by DelphiGuy
can't update cobra itself. i will try to troubleshoot the problem:

Code: Select all
Compiling installation program...

The Cobra Programming Language
Install From Workspace

Working...

==== Print Platform Description

Platform:          Microsoft Windows NT 6.1.7601 Service Pack 1
WMI Op Sys Ver:    Caption=Microsoft Windows 7 Home Premium ; CSDVersion=Service
 Pack 1
Cmd Op Sys Ver:    Microsoft Windows [Version 6.1.7601]
Virtual Machine:   .NET
CLR Version:       v4.0.30319
Env Command Line:  "InstallFromWorkspace" -86
Env Current Dir:   C:\temp\cobra-workspace\Source
Env OS Version:    Microsoft Windows NT 6.1.7601 Service Pack 1
Env System Dir:    C:\Windows\system32
Env Version:       4.0.30319.18052
.NET Dirs:         v4.0.30319 ; v3.5 ; v3.0 ; v2.0.50727 ; v1.1.4322 ; v1.0.3705


==== Verify running as admin user

==== Verify installation directory

found dir: C:\Cobra

==== Verify running in workspace

Verified.

==== Locate and test Cobra Snapshot compiler

run: Snapshot\cobra.exe -about
   : The Cobra Programming Language svn:3030 (post 0.9.4) / 2013-08-16
   : on .NET CLR v4.0.30319 on Microsoft Windows NT 6.1.7601 Service Pack 1
   : at C:\temp\cobra-workspace\Source\Snapshot\cobra.exe
   :
   : Copyright (C) 2003-2013 by Cobra Language LLC.  All Rights Reserved.
   :
   : On the web:  http://cobra-language.com/
   : Source:      http://cobra-language.com/source
   : Support:     http://cobra-language.com/support
   : License:     http://www.opensource.org/licenses/mit-license.php
   :
   : Usage:       cobra -h

==== Build new Cobra compiler

run: Snapshot\cobra.exe -compile -86 -ert:yes cobra.cobra -files:files-to-compil
e.text
   : cobra: error: No such option "86".
   : Run Cobra without options to get full usage information.

** ERROR: Exit code from running SnapshotCobra: 1
Need help with the above error?
 * Make sure you ran as a Windows Administrator.
 * Install .NET or a Visual Studio product if you have not before.
 * Review http://cobra-language.com/troubleshooting
 * Ask at http://cobra-language.com/discuss
 * Ask at http://cobra-language.com/irc

C:\temp>

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 3:27 am
by DelphiGuy
able to update cobra without the -86 switch, but with a warning:

Code: Select all

Compiling installation program...

The Cobra Programming Language
Install From Workspace

Working...

==== Print Platform Description

Platform:          Microsoft Windows NT 6.1.7601 Service Pack 1
WMI Op Sys Ver:    Caption=Microsoft Windows 7 Home Premium ; CSDVersion=Service
 Pack 1
Cmd Op Sys Ver:    Microsoft Windows [Version 6.1.7601]
Virtual Machine:   .NET
CLR Version:       v4.0.30319
Env Command Line:  "InstallFromWorkspace"
Env Current Dir:   C:\temp\cobra-workspace\Source
Env OS Version:    Microsoft Windows NT 6.1.7601 Service Pack 1
Env System Dir:    C:\Windows\system32
Env Version:       4.0.30319.18052
.NET Dirs:         v4.0.30319 ; v3.5 ; v3.0 ; v2.0.50727 ; v1.1.4322 ; v1.0.3705


==== Verify running as admin user

==== Verify installation directory

found dir: C:\Cobra

==== Verify running in workspace

Verified.

==== Locate and test Cobra Snapshot compiler

run: Snapshot\cobra.exe -about
   : The Cobra Programming Language svn:3030 (post 0.9.4) / 2013-08-16
   : on .NET CLR v4.0.30319 on Microsoft Windows NT 6.1.7601 Service Pack 1
   : at C:\temp\cobra-workspace\Source\Snapshot\cobra.exe
   :
   : Copyright (C) 2003-2013 by Cobra Language LLC.  All Rights Reserved.
   :
   : On the web:  http://cobra-language.com/
   : Source:      http://cobra-language.com/source
   : Support:     http://cobra-language.com/support
   : License:     http://www.opensource.org/licenses/mit-license.php
   :
   : Usage:       cobra -h

==== Build new Cobra compiler

run: Snapshot\cobra.exe -compile -turbo -ert:yes cobra.cobra -files:files-to-com
pile.text
   : Compilation succeeded

==== Retrieve Cobra base version number

run: cobra.exe -version
   : Cobra svn:3056 (post 0.9.4) / 2013-11-23 on .NET CLR v4.0.30319 on Microsof
t Windows NT 6.1.7601 Service Pack 1

base version: svn-3056

==== Locate gacutil.exe

found in system PATH
Found: gacutil

==== Locate msbuild.exe

Found: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe

==== Build Cobra.Core library

run: cobra.exe -build-standard-library -debug -turbo -out:Cobra.Core.dll -key-fi
le:Cobra.Core\Cobra.Core.snk  Cobra.Core\AssemblyAttrs.cobra
   : Compilation succeeded

==== Install Cobra.Core library to the GAC

Invoking Publish.GacInstall...
Done.

==== Verifying Cobra.Core.dll installed to the GAC

run: gacutil -l Cobra.Core
   : Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
   : Copyright (c) Microsoft Corporation.  All rights reserved.
   :
   : The Global Assembly Cache contains the following assemblies:
   :   Cobra.Core, Version=0.0.2948.1, Culture=neutral, PublicKeyToken=0a4783a5c
7c9616e, processorArchitecture=x86
   :   Cobra.Core, Version=0.9.4.0, Culture=neutral, PublicKeyToken=0a4783a5c7c9
616e, processorArchitecture=x86
   :   Cobra.Core, Version=0.0.3047.1, Culture=neutral, PublicKeyToken=0a4783a5c
7c9616e, processorArchitecture=MSIL
   :   Cobra.Core, Version=0.0.3056.1, Culture=neutral, PublicKeyToken=0a4783a5c
7c9616e, processorArchitecture=MSIL
   :   Cobra.Core, Version=0.9.4.0, Culture=neutral, PublicKeyToken=0a4783a5c7c9
616e, processorArchitecture=MSIL
   :
   : Number of items = 5

Cobra.Core.dll has been successfully installed to the GAC.

==== Build Cobra.Compiler library

run: cobra.exe -c -t:lib -embed-version -ert:yes -namespace:Cobra.Compiler -file
s:files-to-compile.text -debug -turbo -out:Cobra.Compiler.dll -key-file:Cobra.Co
re\Cobra.Core.snk  cobra.cobra
   : Compilation succeeded

==== Install Cobra.Compiler library to the GAC

Invoking Publish.GacInstall...
Done.

==== Verifying Cobra.Compiler.dll installed to the GAC

run: gacutil -l Cobra.Compiler
   : Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
   : Copyright (c) Microsoft Corporation.  All rights reserved.
   :
   : The Global Assembly Cache contains the following assemblies:
   :   Cobra.Compiler, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0a4783a5
c7c9616e, processorArchitecture=x86
   :   Cobra.Compiler, Version=0.9.4.0, Culture=neutral, PublicKeyToken=0a4783a5
c7c9616e, processorArchitecture=x86
   :   Cobra.Compiler, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0a4783a5
c7c9616e, processorArchitecture=MSIL
   :   Cobra.Compiler, Version=0.0.3047.1, Culture=neutral, PublicKeyToken=0a478
3a5c7c9616e, processorArchitecture=MSIL
   :   Cobra.Compiler, Version=0.0.3056.1, Culture=neutral, PublicKeyToken=0a478
3a5c7c9616e, processorArchitecture=MSIL
   :   Cobra.Compiler, Version=0.9.4.0, Culture=neutral, PublicKeyToken=0a4783a5
c7c9616e, processorArchitecture=MSIL
   :
   : Number of items = 6

Cobra.Compiler.dll has been successfully installed to the GAC.

==== Build Cobra.MSBuild library

run: cobra.exe -c -t:lib -embed-version -debug -turbo -out:Cobra.MSBuild.dll -ke
y-file:Cobra.Core\Cobra.Core.snk  Cobra.MSBuild\CobraCompiler.cobra
   : Compilation succeeded

==== Install Cobra.MSBuild library to the GAC

Invoking Publish.GacInstall...
Done.

==== Verifying Cobra.MSBuild.dll installed to the GAC

run: gacutil -l Cobra.MSBuild
   : Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1
   : Copyright (c) Microsoft Corporation.  All rights reserved.
   :
   : The Global Assembly Cache contains the following assemblies:
   :   Cobra.MSBuild, Version=0.0.3056.1, Culture=neutral, PublicKeyToken=0a4783
a5c7c9616e, processorArchitecture=MSIL
   :
   : Number of items = 1

Cobra.MSBuild.dll has been successfully installed to the GAC.

==== Verify newly built Cobra compiler

run: cobra.exe -about
   : The Cobra Programming Language svn:3056 (post 0.9.4) / 2013-11-23
   : on .NET CLR v4.0.30319 on Microsoft Windows NT 6.1.7601 Service Pack 1
   : at C:\temp\cobra-workspace\Source\cobra.exe
   :
   : Copyright (C) 2003-2013 by Cobra Language LLC.  All Rights Reserved.
   :
   : On the web:  http://cobra-language.com/
   : Source:      http://cobra-language.com/source
   : Support:     http://cobra-language.com/support
   : License:     http://www.opensource.org/licenses/mit-license.php
   :
   : Usage:       cobra -h

run: cobra.exe -ert:no hello.cobra
   : Hello, world.

run: cobra.exe hello.cobra
   : Hello, world.

run: cobra.exe -ert:yes hello.cobra
   : Hello, world.

==== Copy files to install directory

found dir: C:\Cobra
make dir : C:\Cobra\Cobra-svn-3056
writing  : C:\Cobra\Cobra-svn-3056\Version.text

copy from: C:\temp\cobra-workspace\HowTo
       to: C:\Cobra\Cobra-svn-3056\HowTo
copy from: C:\temp\cobra-workspace\Reusables
       to: C:\Cobra\Cobra-svn-3056\Reusables
copy from: C:\temp\cobra-workspace\Samples
       to: C:\Cobra\Cobra-svn-3056\Samples
copy from: C:\temp\cobra-workspace\Supplements
       to: C:\Cobra\Cobra-svn-3056\Supplements
make dir : C:\Cobra\Cobra-svn-3056\bin
copy  bin: C:\Cobra\Cobra-svn-3056\bin
copy from: WebAssets
       to: C:\Cobra\Cobra-svn-3056\bin\WebAssets
copy from: Cobra.Core
       to: C:\Cobra\Cobra-svn-3056\bin\Cobra.Core
run: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /target:Display
MSBuildExtensionsPath .\Cobra.MSBuild\Targets\Cobra.targets

** WARNING: Unable to locate MSBuildExtensionsPath. Targets file will not be ins
talled.
found dir: C:\Cobra\bin
writing  : C:\Cobra\bin\cobra.bat

==== Verify newly installed Cobra compiler

run: C:\Cobra\bin\cobra.bat -about
   : The Cobra Programming Language svn:3056 (post 0.9.4) / 2013-11-23
   : on .NET CLR v4.0.30319 on Microsoft Windows NT 6.1.7601 Service Pack 1
   : at C:\Cobra\Cobra-svn-3056\bin\cobra.exe
   :
   : Copyright (C) 2003-2013 by Cobra Language LLC.  All Rights Reserved.
   :
   : On the web:  http://cobra-language.com/
   : Source:      http://cobra-language.com/source
   : Support:     http://cobra-language.com/support
   : License:     http://www.opensource.org/licenses/mit-license.php
   :
   : Usage:       cobra -h

run: C:\Cobra\bin\cobra.bat -ert:yes Misc\hello.cobra
   : Hello, world.

==== Clean up workspace

==== Install "cobra" into a system path directory

found in PATH: c:\cobra\bin\cobra.bat
Your PATH already contains C:\Cobra\bin
so you can invoke "cobra" from any directory.

Visit http://cobra-language.com/ for discussion, wiki, samples, irc and more.

Success!

C:\temp>

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 8:20 am
by nerdzero
Thanks for testing it, guys. The more the better.

DelphiGuy wrote:able to update cobra without the -86 switch, but with a warning:
That warning means you won't be able to build in Xamarin Studio using MSBuild (which you wouldn't be able to do without using the -x86 option anyway if you are on 64-bit). I wonder why it couldn't find it?

What happens if you run the MSBuild target manually? From the <cobra-workspace>\Source folder, can you run this command?

Code: Select all
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /target:DisplayMSBuildExtensionsPath .\Cobra.MSBuild\Targets\Cobra.targets

What's the output? Here's mine:
Code: Select all
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18051]
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 11/23/2013 9:17:59 AM.
Project "D:\Dropbox\workspaces\personal\cobra\trunk\Source\Cobra.MSBuild\Targets\Cobra.targets" on node 1 (DisplayMSBuildExtensionsPath target(s)).
DisplayMSBuildExtensionsPath:
  C:\Program Files (x86)\MSBuild
Done Building Project "D:\Dropbox\workspaces\personal\cobra\trunk\Source\Cobra.MSBuild\Targets\Cobra.targets" (DisplayMSBuildExtensionsPath target(s)).


Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.21

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 10:39 am
by Charles
@DelphiGuy, the switch has an "x" in it:

-x86

Based on the output, it looks like you entered -86 instead of -x86

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 10:45 am
by DelphiGuy
regarding me using the wrong switch, my response is "DOH!"

regarding the warning, i'll follow the troubleshooting tips nerdzero posed and respond later.

Re: Help test next version of MonoDevelop/Xamarin Studio add

PostPosted: Sat Nov 23, 2013 2:24 pm
by DelphiGuy
nerdzero wrote:What happens if you run the MSBuild target manually? From the <cobra-workspace>\Source folder, can you run this command?


Code: Select all
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /target:DisplayMSBuildExtensionsPath .\Cobra.MSBuild\Targets\Cobra.targets

Here's my output:

Code: Select all
C:\temp\cobra-workspace\Source>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\m
sbuild.exe /target:DisplayMSBuildExtensionsPath .\Cobra.MSBuild\Targets\Cobra.ta
rgets
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18052]
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 11/23/2013 3:33:21 PM.
Project "C:\temp\cobra-workspace\Source\Cobra.MSBuild\Targets\Cobra.targets" on
 node 1 (DisplayMSBuildExtensionsPath target(s)).
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Microsoft.Common.targets(490,9)
: error : The OutputPath property is not set for this project.  Please check to
 make sure that you have specified a valid Configuration/Platform combination.
 Configuration='Debug'  Platform='' [C:\temp\cobra-workspace\Source\Cobra.MSBui
ld\Targets\Cobra.targets]
Done Building Project "C:\temp\cobra-workspace\Source\Cobra.MSBuild\Targets\Cob
ra.targets" (DisplayMSBuildExtensionsPath target(s)) -- FAILED.


Build FAILED.

"C:\temp\cobra-workspace\Source\Cobra.MSBuild\Targets\Cobra.targets" (DisplayMS
BuildExtensionsPath target) (1) ->
(_CheckForInvalidConfigurationAndPlatform target) ->
  C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Microsoft.Common.targets(490,
9): error : The OutputPath property is not set for this project.  Please check
to make sure that you have specified a valid Configuration/Platform combination
.  Configuration='Debug'  Platform='' [C:\temp\cobra-workspace\Source\Cobra.MSB
uild\Targets\Cobra.targets]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.36

C:\temp\cobra-workspace\Source>