Builds

22 views
Skip to first unread message

Henrik Feldt

unread,
Aug 13, 2011, 8:44:53 AM8/13/11
to castle-pro...@googlegroups.com

Hello guys,

 

Starting an old question now that some water has passed under the bridges: how to easiest build the castle projects. As you know I have been building Transactions with rake for a while now, and it’s working well.

 

But I still thought it took too much time to change existing projects into albacore/rake. So I created a gem called ‘logirel’. It scaffolds a complete rakefile with nuspecs, semver-versioning, nuget, nuget push tasks, output tasks etc. It’s not perfect, but to show what it can do, I ran it on Windsor’s repository and made a pull-request out of it:

 

https://github.com/castleproject/Castle.Windsor/pull/13

 

Try merging locally and running both ‘rake’ and ‘rake -T' to see its capabilities (or cloning haf/Castle.Windsor). First, of course, you need to install what’s in the bundle with:

 

$ gem install bundle

$ bundle install

 

If you want to try out logirel, it’s as simple as standing in the folder you want to remake and running:

$ logirel

and then answering the questions. You need to set up a tools/nuget.exe directory after it’s done.

 

What do you think guys?

 

Cheers,

Henrik

hammett

unread,
Aug 13, 2011, 3:01:33 PM8/13/11
to castle-pro...@googlegroups.com
I'm ok with anything beyond MSBuild. The only thing I dont like about
rake is being forced to install Ruby. This may create another layer of
complexity for newcomers.

I've tried FAKE last weekend and it's self-contained enough for my needs.

> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" group.
> To post to this group, send email to castle-pro...@googlegroups.com.
> To unsubscribe from this group, send email to
> castle-project-d...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/castle-project-devel?hl=en.
>

--
Cheers,
hammett
http://hammett.castleproject.org/

Henrik Feldt

unread,
Aug 13, 2011, 5:15:25 PM8/13/11
to castle-pro...@googlegroups.com
Right, but if we can provide a good experience without rake, such as
packages with the pre-built DLLs and symbols linked to source code with e.g.
symbolsource.org, then newcomers might not have to build - in order to make
building it manually something that warrants being able to download an
executable and install it?

hammett

unread,
Aug 13, 2011, 7:06:13 PM8/13/11
to castle-pro...@googlegroups.com
So the experience is two fold:

1 - users download our stuff. it's easy to provide a decent experience here.
2 - *contributors* need to be able to get their feet quickly. and this
is my main concern.

Mauricio Scheffer

unread,
Aug 14, 2011, 11:19:53 AM8/14/11
to Castle Project Development List
-1 for Rake and +1 for FAKE, I fully agree with hammett.
F# works very well as a scripting language. Phantom (
https://github.com/JeremySkinner/Phantom ) also looks good (haven't
used it personally though) if you want something more ruby-like.

--
Mauricio

Alexander I. Zaytsev

unread,
Aug 14, 2011, 12:45:55 PM8/14/11
to castle-pro...@googlegroups.com
Vote down for rake. I agred with hammett

Henrik Feldt

unread,
Aug 14, 2011, 1:32:28 PM8/14/11
to castle-pro...@googlegroups.com
I have had a look at phantom. The last commit is in February - this is a
long time without being updated. Also, there is not nearly the same amount
of tasks available as rake/albacore has, so more would have to be manually
fixed - also there are more people who know ruby than know boo.

FAKE, I have no experience with. It has the positive side that F# is shipped
with .Net so there's no install, but perhaps a negative side in that it's
not as widely used as either MsBuild or rake.

Getting up and running with albacore is as easy as downloading the ruby
installer and running it. Then going to the folder in question and executing
'rake'. I don't see how this is too hard for a developer to do, but I'm
probably partial. With regards to the number of pre-built tasks, albacore
has a fair number of them:
https://github.com/derickbailey/Albacore/wiki/_pages and is actively
maintained.

In any way, all of the above are better than MsBuild imo, so whichever we
land with, I'm happier than before :).

It would be great to hear some more opinions from the team.

hammett

unread,
Aug 14, 2011, 2:11:00 PM8/14/11
to castle-pro...@googlegroups.com
Actually I woudnt assume f# is installed on every machine. I'd add the
required files to tools/fsharp or something like that.

Also, the build wouldn't be much more than invoking project's msbuild
file. So the fake script will be more about clean/build/test/publish.

I've used fake on MR3 if you want to look at the scripts. I guess it's
quite messy right now...

Tim Kellogg

unread,
Aug 14, 2011, 2:50:27 PM8/14/11
to Castle Project Development List
I've worked with rake for a while and I've been extremely pleased with
it. I'd also like to say that I don't think it would be necessary to
install ruby in order to contribute to Castle. Most rake scripts
(including henrik's) make a call to MSBuild to do the actual
compilation. If I was to contribute to castle, all I would have to do
is fork the project and open it up in visual studio and build it like
I would with any other project. The main benefit for using rake (or
anything other than MSBuild) is to automate the release process and
ensure consistency. Henrik's script does this very well.

On Aug 14, 12:11 pm, hammett <hamm...@gmail.com> wrote:
> Actually I woudnt assume f# is installed on every machine. I'd add the
> required files to tools/fsharp or something like that.
>
> Also, the build wouldn't be much more than invoking project's msbuild
> file. So the fake script will be more about clean/build/test/publish.
>
> I've used fake on MR3 if you want to look at the scripts. I guess it's
> quite messy right now...
>
>
>
>
>
>
>
>
>
> On Sun, Aug 14, 2011 at 10:32 AM, Henrik Feldt <hen...@haf.se> wrote:
> > I have had a look at phantom. The last commit is in February - this is a
> > long time without being updated. Also, there is not nearly the same amount
> > of tasks available as rake/albacore has, so more would have to be manually
> > fixed - also there are more people who know ruby than know boo.
>
> > FAKE, I have no experience with. It has the positive side that F# is shipped
> > with .Net so there's no install, but perhaps a negative side in that it's
> > not as widely used as either MsBuild or rake.
>
> > Getting up and running with albacore is as easy as downloading the ruby
> > installer and running it. Then going to the folder in question and executing
> > 'rake'. I don't see how this is too hard for a developer to do, but I'm
> > probably partial. With regards to the number of pre-built tasks, albacore
> > has a fair number of them:
> >https://github.com/derickbailey/Albacore/wiki/_pagesand is actively
> > maintained.
>
> > In any way, all of the above are better than MsBuild imo, so whichever we
> > land with, I'm happier than before :).
>
> > It would be great to hear some more opinions from the team.
>
> > -----Original Message-----
> > From: castle-pro...@googlegroups.com
> > [mailto:castle-pro...@googlegroups.com] On Behalf Of Mauricio
> > Scheffer
> > Sent: den 14 augusti 2011 17:20
> > To: Castle Project Development List
> > Subject: Re: Builds
>
> > -1 for Rake and +1 for FAKE, I fully agree with hammett.
> > F# works very well as a scripting language. Phantom (
> >https://github.com/JeremySkinner/Phantom) also looks good (haven't used it
> > For more options, visit this group athttp://groups.google.com/group/castle-project-devel?hl=en.
>
> --
> Cheers,
> hammetthttp://hammett.castleproject.org/

hammett

unread,
Aug 14, 2011, 2:53:15 PM8/14/11
to castle-pro...@googlegroups.com
Unfortunately this will change once we get the projects group together
again. The build scripts will need to build and run the tests for all
of them. While this can be done from VS, it hardly is.

Tim Kellogg

unread,
Aug 14, 2011, 4:32:21 PM8/14/11
to castle-pro...@googlegroups.com
@hammett,

Maybe the problem of build/test all isn't going to be solved at all by which build system castle uses. The problem would probably solved quite well by using a continuous integration server. Check out the free teamcity instances at codebetter (http://codebetter.com/jameskovacs/2009/02/24/announcing-teamcity-codebetter-com/)

--Tim

hammett

unread,
Aug 14, 2011, 4:45:59 PM8/14/11
to castle-pro...@googlegroups.com
Check http://builds.castleproject.org/

I'm talking about a simple workflow of changing a source file, running
the build to make there's no functional regression on dependent
projects, and then making a pull request.

Krzysztof Koźmic

unread,
Aug 14, 2011, 5:34:41 PM8/14/11
to castle-pro...@googlegroups.com
I don't really care which one we chose. Build is something we set up and
forget, so I'm happy with whatever choice.
I'm +1 to the idea of self contained build - where we can just get
source on a clean Windows machine click build.bat and have it do its job
OOTB.

Right now my pain point with the build is that every project uses
slightly different version of the build script, which causes problems
(trying to get WCF Facility build to work like Windsor's build etc,
which lead to delay in Windsor 3 beta 1 release).

So while we're on it, can we at least try to come up with a solution to
that problem as well?
K

James Curran

unread,
Aug 14, 2011, 5:52:21 PM8/14/11
to castle-pro...@googlegroups.com
Btw, speaking of building the WCF Facility, when it builds using the build server on my machine, it fails, apparently looking for some server running on localhost:27198. I'm willing to set it up. I just need to know what it is.
Truth,
    James


2011/8/14 Krzysztof Koźmic <krzyszto...@gmail.com>
I don't really care which one we chose. Build is something we set up and forget, so I'm happy with whatever choice.
I'm +1 to the idea of self contained build - where we can just get source on a clean Windows machine click build.bat and have it do its job OOTB.

Right now my pain point with the build is that every project uses slightly different version of the build script, which causes problems (trying to get WCF Facility build to work like Windsor's build etc, which lead to delay in Windsor 3 beta 1 release).

So while we're on it, can we at least try to come up with a solution to that problem as well?
K


On 15/08/2011 6:45 AM, hammett wrote:
Check http://builds.castleproject.org/

I'm talking about a simple workflow of changing a source file, running
the build to make there's no functional regression on dependent
projects, and then making a pull request.

On Sun, Aug 14, 2011 at 1:32 PM, Tim Kellogg<timothy.kellogg@gmail.com>  wrote:
@hammett,
Maybe the problem of build/test all isn't going to be solved at all by which
build system castle uses. The problem would probably solved quite well by
using a continuous integration server. Check out the free teamcity instances
at codebetter
(http://codebetter.com/jameskovacs/2009/02/24/announcing-teamcity-codebetter-com/)
--Tim


On Sun, Aug 14, 2011 at 12:53 PM, hammett<ham...@gmail.com>  wrote:
Unfortunately this will change once we get the projects group together
again. The build scripts will need to build and run the tests for all
of them. While this can be done from VS, it hardly is.


On Sun, Aug 14, 2011 at 11:50 AM, Tim Kellogg<timothy.kellogg@gmail.com>
wrote:
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammett
http://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group
athttp://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammetthttp://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups
"Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group
athttp://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammetthttp://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.




--
Cheers,
hammett
http://hammett.castleproject.org/

--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.

--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to castle-project-devel@googlegroups.com.

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.


--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-project-devel@googlegroups.com.
To unsubscribe from this group, send email to castle-project-devel+unsub...@googlegroups.com.

John Simons

unread,
Aug 14, 2011, 6:04:49 PM8/14/11
to Castle Project Development List
According to http://codingreflection.com/2011/01/18/putting-rake-albacore-in-your-git-repo-for-instant-build-awesomeness/
we can have rake as part of our repository, so no need to install it
at all, the same as nant used to be :)

Cheers
John

hammett

unread,
Aug 14, 2011, 6:33:54 PM8/14/11
to castle-pro...@googlegroups.com
I'd be OK with that then.

Krzysztof Koźmic

unread,
Aug 14, 2011, 6:50:55 PM8/14/11
to castle-pro...@googlegroups.com


On 15/08/2011 7:52 AM, James Curran wrote:
Btw, speaking of building the WCF Facility, when it builds using the build server on my machine, it fails, apparently looking for some server running on localhost:27198. I'm willing to set it up. I just need to know what it is.
Truth,
    James


2011/8/14 Krzysztof Koźmic <krzyszto...@gmail.com>
I don't really care which one we chose. Build is something we set up and forget, so I'm happy with whatever choice.
I'm +1 to the idea of self contained build - where we can just get source on a clean Windows machine click build.bat and have it do its job OOTB.

Right now my pain point with the build is that every project uses slightly different version of the build script, which causes problems (trying to get WCF Facility build to work like Windsor's build etc, which lead to delay in Windsor 3 beta 1 release).

So while we're on it, can we at least try to come up with a solution to that problem as well?
K


On 15/08/2011 6:45 AM, hammett wrote:
Check http://builds.castleproject.org/

I'm talking about a simple workflow of changing a source file, running
the build to make there's no functional regression on dependent
projects, and then making a pull request.

On Sun, Aug 14, 2011 at 1:32 PM, Tim Kellogg<timothy...@gmail.com>  wrote:
@hammett,
Maybe the problem of build/test all isn't going to be solved at all by which
build system castle uses. The problem would probably solved quite well by
using a continuous integration server. Check out the free teamcity instances
at codebetter
(http://codebetter.com/jameskovacs/2009/02/24/announcing-teamcity-codebetter-com/)
--Tim


On Sun, Aug 14, 2011 at 12:53 PM, hammett<ham...@gmail.com>  wrote:
Unfortunately this will change once we get the projects group together
again. The build scripts will need to build and run the tests for all
of them. While this can be done from VS, it hardly is.


On Sun, Aug 14, 2011 at 11:50 AM, Tim Kellogg<timothy...@gmail.com>
wrote:
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammett
http://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group
athttp://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammetthttp://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups
"Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group
athttp://groups.google.com/group/castle-project-devel?hl=en.
--
Cheers,
hammetthttp://hammett.castleproject.org/
--
You received this message because you are subscribed to the Google
Groups "Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.




--
Cheers,
hammett
http://hammett.castleproject.org/

--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.

--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.


--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.


--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.

James Curran

unread,
Aug 14, 2011, 8:56:40 PM8/14/11
to castle-pro...@googlegroups.com
Apparently, that's not it.  That service was already running.

whut

unread,
Sep 21, 2011, 5:43:14 AM9/21/11
to castle-pro...@googlegroups.com
Have you heard about psake - it's similar to rake and written in PowerShell? It's cool:)
Reply all
Reply to author
Forward
0 new messages