HORN for S#arp Architecture

5 views
Skip to first unread message

Billy

unread,
Oct 12, 2009, 7:35:21 PM10/12/09
to HORN Development
Hi guys,

I'm getting started on preparing the first quarterly release of S#arp
Architecture and wanted to give HORN a try to assist. When I was
playing around with HORN, I was surprised to find that it found and
recognized the attempt to build "sharp.architecture." Where is the
HORN boo file for this project maintained? (The S#arp Architecture
source code has moved to http://github.com/codai/Sharp-Architecture.)
Also, how can I assist in getting HORN solid with S#arp?

Thanks, looking forward to seeing this all in action for S#arp
Architecture!

Billy McCafferty

Tuna Toksoz

unread,
Oct 13, 2009, 6:26:20 AM10/13/09
to horn-dev...@googlegroups.com

Paul Cowan

unread,
Oct 13, 2009, 6:40:57 AM10/13/09
to horn-dev...@googlegroups.com

Hi Billy,

We did have S#arp architecture working BG (before git :-).

The package descriptors live in our svn repo and are downloaded if they do not exist on the client mahine.

Horn downloads the descriptors to the users directory which on my machine is:

C:\users\paul.cowan\.horn

You should be able to find the sharp.architecture.boo file in the following folder:

C:\[YOUR PATH]\.horn\frameworks\sharp.architecture\sharp.architecture.boo.

You can change this .boo file directly in the users directory and it will pick up the changes.

We do have #git support, you would need to change the get_from directive to:

get_from git"http://github.com/codai/Sharp-Architecture")

Let me know if we can be of assistance with updating your desscriptor or if you have any questions at all.

This is a fantastic getting started article for horn:

http://blog.bittercoder.com/PermaLink,guid,5614d98a-98f7-4343-b66c-3bf6da0707e0.aspx

It should be noted that a lot of .NET OSS projects are in a state of flux and are moving from svn to git but you should be able to get a build.  The MVCContrib descriptor still references the old svn repo, I will try and update that tonight or if anybody can supply a patch that would be great.  i am very new to git.

I think Sharparchitecture is a great use case for horn.

Cheers

Paul


2009/10/13 Billy <google...@emccafferty.com>
--
Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/

Paul Cowan

unread,
Oct 13, 2009, 5:15:25 PM10/13/09
to horn-dev...@googlegroups.com
Hi,

I have updated the mvccontrib descriptor to point to the new git repo.

If you have previously used horn to build mvccontrib from the old descriptor that pointed to the svn repo then I would delete all the files from the mvccontrib folder which on my machine is:

C:\Users\paul.cowan\.horn\web\asp.net.mvc\mvccontrib

Obviously you need git installed for this operation to succeed.


Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/10/13 Paul Cowan <dag...@scotalt.net>

Paul Cowan

unread,
Oct 13, 2009, 7:16:22 PM10/13/09
to horn-dev...@googlegroups.com
Hi,

I have updated the sharp.architecture build descriptor to point to the git repo like this:

get_from git("git://github.com/codai/Sharp-Architecture.git")

 and it downloads the source and resolves the dependencies.  I then changed the descriptor to tell horn to build with the go.bat file:

build_with batch, buildfile("go.bat"), FrameworkVersion35

At that point sharp.architecture will not build.  It looks like there are conflicts with the latest fluentnhibernate code that would require an update to sharparchitecture in order to build.

Billy

unread,
Oct 13, 2009, 7:33:52 PM10/13/09
to HORN Development
And that's where I come in! ;)

I believe that this is going to be a huge time saver and is going to
be a great demonstration (when finished) of the benefits of HORN on a
project with many dependencies. Thank you so much for your help
Paul...I'll keep you posted as I complete modifying S#arp Architecture
to accommodate the latest dependencies. (I'll also be sure to blog
about HORN's benefits to send some others your way!)

Billy McCafferty
> >>http://blog.bittercoder.com/PermaLink,guid,5614d98a-98f7-4343-b66c-3b...
>
> >> It should be noted that a lot of .NET OSS projects are in a state of flux
> >> and are moving from svn to git but you should be able to get a build.  The
> >> MVCContrib descriptor still references the old svn repo, I will try and
> >> update that tonight or if anybody can supply a patch that would be great.  i
> >> am very new to git.
>
> >> I think Sharparchitecture is a great use case for horn.
>
> >> Cheers
>
> >> Paul
>
> >> 2009/10/13 Billy <googlegro...@emccafferty.com>
>
> >>> Hi guys,
>
> >>> I'm getting started on preparing the first quarterly release of S#arp
> >>> Architecture and wanted to give HORN a try to assist.  When I was
> >>> playing around with HORN, I was surprised to find that it found and
> >>> recognized the attempt to build "sharp.architecture."  Where is the
> >>> HORN boo file for this project maintained?  (The S#arp Architecture
> >>> source code has moved tohttp://github.com/codai/Sharp-Architecture.)

Paul Cowan

unread,
Oct 14, 2009, 3:30:52 AM10/14/09
to horn-dev...@googlegroups.com
Hi Billy,


>>  (I'll also be sure to blog about HORN's benefits to send some others your way!)

Blog publicity, patches and contributions are always welcome :-).

Our goal is for all the big OSS projects to maintain their own .boo dsl descriptor files.  I think we are going to move the repo of package descriptors to git to encourage other OSS projects to take care of their own descriptors.

Horn is just to heavy a tool for wide spread client use but for something like sharp.architecture, it can be of great use.

Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/10/14 Billy <google...@emccafferty.com>

Billy

unread,
Oct 22, 2009, 11:52:36 AM10/22/09
to HORN Development
Hi Paul,

I've checked in changes to the S#arp Architecture git repository which
should make it succeed with the latest of Fluent NHibernate (and
hopefully all the other dependencies). I've gotten latest of Horn,
rebuilt it, removed the .horn directory from my user directory and am
trying to build #Arch with "horn -install:sharp.architecture". The
results (which only take about 20 seconds) are as follows:

///////////////

Command install was issued with values:
sharp.architecture

Reading the current revision for .horn
Empty Repository
Reading the current revision for .horn
working......
working......
working......
working......
working......
working......
working......
Reading the current revision for .horn
installing sharp.architecture .

///////////////

The .horn\frameworks\sharp.architecture directory now contains Output
and Working directories, which are empty, and there's no result folder
under .horn. It seems as if the process starts, but ends very
prematurely. Is there something I might be doing wrong?

Thanks!
Billy


On 14 Oct, 01:30, Paul Cowan <dag...@scotalt.net> wrote:
> Hi Billy,
>
> >>  (I'll also be sure to blog about HORN's benefits to send some others
>
> your way!)
>
> Blog publicity, patches and contributions are always welcome :-).
>
> Our goal is for all the big OSS projects to maintain their own .boo dsl
> descriptor files.  I think we are going to move the repo of package
> descriptors to git to encourage other OSS projects to take care of their own
> descriptors.
>
> Horn is just to heavy a tool for wide spread client use but for something
> like sharp.architecture, it can be of great use.
> Cheers
>
> Paul Cowan
>
> Cutting-Edge Solutions (Scotland)
>
> http://thesoftwaresimpleton.blogspot.com/
>
> 2009/10/14 Billy <googlegro...@emccafferty.com>

Paul Cowan

unread,
Oct 22, 2009, 1:50:21 PM10/22/09
to horn-dev...@googlegroups.com
Hi Billy,

I think the way we check for changes in the remote SCM does not really work for git.

We are pulling back all the branch information and then selecting the master Guid git revision data or whatever it is.

I am going to change the code to just perform a clone if the source code does not exist on the client and then do a pull there after rather than do this check.

I'll post when I have done this.


Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/10/22 Billy <google...@emccafferty.com>

Paul Cowan

unread,
Oct 23, 2009, 6:46:03 AM10/23/09
to horn-dev...@googlegroups.com
Hi,

I have removed ther revision check from the GitSourceControl class.  It will now pull everytime instead of doing a revision check.

Let me know how you get on?



2009/10/22 Paul Cowan <dag...@scotalt.net>

Paul Cowan

unread,
Oct 23, 2009, 11:00:14 AM10/23/09
to horn-dev...@googlegroups.com
I just got a complete build of sharp.architecture via #horn.

I have to say I was surprised :-).

2009/10/23 Paul Cowan <dag...@scotalt.net>

Billy

unread,
Oct 30, 2009, 2:10:12 PM10/30/09
to HORN Development
Paul,

May I be given modification rights to
http://hornget.googlecode.com/svn/trunk/package_tree/frameworks/sharp.architecture/sharp.architecture.boo?
I'd like to add another dependency (Json.NET).

Thanks,
Billy McCafferty


On 23 Oct, 09:00, Paul Cowan <dag...@scotalt.net> wrote:
> I just got a complete build of sharp.architecture via #horn.
>
> I have to say I was surprised :-).
>
> 2009/10/23 Paul Cowan <dag...@scotalt.net>
>
>
>
>
>
> > Hi,
>
> > I have removed ther revision check from the GitSourceControl class.  It
> > will now pull everytime instead of doing a revision check.
>
> > Let me know how you get on?
>
> > 2009/10/22 Paul Cowan <dag...@scotalt.net>
>
> > Hi Billy,
>
> >> I think the way we check for changes in the remote SCM does not really
> >> work for git.
>
> >> We are pulling back all the branch information and then selecting the
> >> master Guid git revision data or whatever it is.
>
> >> I am going to change the code to just perform a clone if the source code
> >> does not exist on the client and then do a pull there after rather than do
> >> this check.
>
> >> I'll post when I have done this.
>
> >> Cheers
>
> >> Paul Cowan
>
> >> Cutting-Edge Solutions (Scotland)
>
> >>http://thesoftwaresimpleton.blogspot.com/
>
> >> 2009/10/22 Billy <googlegro...@emccafferty.com>

Paul Cowan

unread,
Oct 30, 2009, 2:24:23 PM10/30/09
to horn-dev...@googlegroups.com
Hi billy,

We actually moved the descriptors to git to encourage participation.

http://github.com/dagda1/hornget/

I have deleted the old google code files to avoid confusion.

You can fork and push (is that correct?) any changes.

As far as JSON.NET goes, I don't think I ever got that to build although we do have a descriptor.

If you try horn -install:json.net to see if it does.

If it does not build, obviously sharp.architecture will not build.

Cheers

Paul Cowa


Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/10/30 Billy <google...@emccafferty.com>

Nick Peeples

unread,
Nov 2, 2009, 6:23:12 PM11/2/09
to HORN Development
As of Sat. Oct 30 (and up till 5min ago) sharp.arch does not build all
the way from Horn, and I am unable to track down the problem. I
believe it lies somewhere between the build of fluent and sharp arch.

[exec] C:\WINDOWS\Microsoft.NET
\Frameworkv3.5\Microsoft.Common.targets : warning MSB3247: Found
conflicts between different versions of the same dependent assembly.
[exec] d:\src\sandbox\hornget-read-only\.horn\frameworks
\sharp.architecture\Working\bin\FluentNHibernate.dll : error CS1705:
Assembly 'FluentNHibernate, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=8aa435e3cb308880' uses 'NHibernate, Version=2.1.1.4000,
Culture=neutral, PublicKeyToken=aa95f207798dfdb4' which has a higher
version than referenced assembly 'NHibernate, Version=2.1.0.4000,
Culture=neutral, PublicKeyToken=aa95f207798dfdb4'

I'm pretty sure that someone is over-writing the nhibernate.dll file
in the result directory, but I can't for the life of me figure out
which one it is. I'm willing to try stuff and help figure this one out
if anyone has any pointers.

Thanks,
Nick

On 30 Oct, 12:24, Paul Cowan <dag...@scotalt.net> wrote:
> Hi billy,
>
> We actually moved the descriptors to git to encourage participation.
>
> http://github.com/dagda1/hornget/
>
> I have deleted the old google code files to avoid confusion.
>
> You can fork and push (is that correct?) any changes.
>
> As far as JSON.NET goes, I don't think I ever got that to build although we
> do have a descriptor.
>
> If you try horn -install:json.net to see if it does.
>
> If it does not build, obviously sharp.architecture will not build.
>
> Cheers
>
> Paul Cowa
>
> Cutting-Edge Solutions (Scotland)
>
> http://thesoftwaresimpleton.blogspot.com/
>
> 2009/10/30 Billy <googlegro...@emccafferty.com>
>
>
>
> > Paul,
>
> > May I be given modification rights to
>
> >http://hornget.googlecode.com/svn/trunk/package_tree/frameworks/sharp...
> > ?
> ...
>
> read more »

Paul Cowan

unread,
Nov 3, 2009, 4:33:39 AM11/3/09
to horn-dev...@googlegroups.com
Hi Nick,

I think the sharp architecture was pointing to the wrong nhibernate.linq dependency which would have resulted in Nhibernate 3.0 being introduced to the mix.

The offening item was 

  depend "nhibernate.linq"    >> "NHibernate.Linq"

I have changed this to:

  depend "nhibernate.linq"      >> "2.1" >> "NHibernate.Linq"

I am hoping this fixes this problem.


Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/11/2 Nick Peeples <nick.p...@gmail.com>

Paul Cowan

unread,
Nov 3, 2009, 6:42:57 AM11/3/09
to horn-dev...@googlegroups.com
Hi,

I tried running it again and it still failed for the same reason.  

The reason is because the nhibernate version has incremented and the Castle projects have a version of the old nhibernate .dll that was getting copied to the result folder.

I came up with a quick hack that involved adding the following section to the Dsl:

exclude:
library "Iesi.Collections"
library "NHibernate.ByteCode.Castle"
library "NHibernate"

This will stop irrelevant .dlls in this section being copied to the result directory.

I have applied this fix and now castle.activerecord is failing :-) due to nhibernate.search not being built against the latest version of nhibernate.

So undeterred, I ploughed on.  I added nhibernate.search as a dependency of castle.activerecord.

And then surprise, surprise nhibernate.search does not build.  

 [csc] error CS1577: Assembly generation failed -- Referenced assembly 'Lucene.Net' does not have a strong name

If anybody knows how to build nhibernate.search from the nant script then let me know.

I can hook up horn to build it correctly but I have never used nhibernate.search.

Without this, I can do no more.

Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/11/3 Paul Cowan <dag...@scotalt.net>

Paul Cowan

unread,
Nov 3, 2009, 2:35:25 PM11/3/09
to horn-dev...@googlegroups.com
OK, I was able to get sharp.architecture to NEARLY build by of all things disassembling the lucene.net, re-assembling it and signing it and using horn's crude patching mechanism to get it into the build.

It now resolves all the dependencies perfectly but it fails 3 tests.

Is there anyway to exclude the tests in the sharp.architecture build?

I think you will need to delete your .horn directory and start from a fresh machine.

Hainesy

unread,
Dec 31, 2009, 8:29:47 AM12/31/09
to HORN Development
Any news on Sharp Architecture building with HORN?

Paul Cowan

unread,
Dec 31, 2009, 9:51:10 AM12/31/09
to horn-dev...@googlegroups.com
We do have a descriptor for sharp.architecture but it fails when building against the latest version of nhibernate.validator with the following error:

'NHibernate.Validator.Engine.InvalidValue' does not contain a constructor that takes '5' arguments

There are probably some other similar errors against other changed binaries.

That is why I omitted sharp.architecture from the hornget web site.  I have not been able to build it successfully.

Cheers

Paul Cowan

Cutting-Edge Solutions (Scotland)

http://thesoftwaresimpleton.blogspot.com/



2009/12/31 Hainesy <hain...@googlemail.com>
Any news on Sharp Architecture building with HORN?

--

You received this message because you are subscribed to the Google Groups "HORN Development" group.
To post to this group, send email to horn-dev...@googlegroups.com.
To unsubscribe from this group, send email to horn-developme...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/horn-development?hl=en.



Reply all
Reply to author
Forward
0 new messages