← Back to team overview

elementary-dev-community team mailing list archive

Re: Go-like build tools for Vala

 

Thanks Tom, I'll take a look.
On Feb 7, 2013 4:07 PM, "Tom Beckmann" <tomjonabc@xxxxxxxxx> wrote:

> I wrote a script which I think does about what the go build tools would do.
> http://pastebin.com/hr8TfdPu
> To see what exactly it should be able to do, check line 30 following :)
> If you want to use it, it'd be best to copy it to /usr/bin, so you can
> just run 'ebuild' whenever you want to rebuild something.
> Some small things like internationalization and installing are still
> missing, but those are quite easy to add, in case there's interest.
>
>
> On Wed, Feb 6, 2013 at 9:35 PM, Donnie McNeal <donnie.mcneal@xxxxxxxxx>wrote:
>
>> Loo Loo
>> On Feb 5, 2013 1:16 PM, "David Gomes" <david@xxxxxxxxxxxxxxxx> wrote:
>>
>>> If by "Elementary", you mean elementary OS, I'd like to say that I've
>>> been doing desktop development there for almost a year now and only rarely
>>> did I have to use CMake to its full extent. All I have to do is fetch a
>>> project, "mkdir build; cd build; cmake ..;make;", and after I've fetched a
>>> project, I really only have to write some code "cd build;make;". I really
>>> hope CMake isn't the reason you aren't helping us, because right now we
>>> could really use some help!
>>>
>>> However, I did learn how to write CMakeLists.txt files on side projects,
>>> which came in handy later on for elementary OS development, but to help us,
>>> there's no need to struggle with CMak. If you need to write anything, I
>>> encourage you to learn because it's really easy -
>>> https://github.com/davidgomes/2dplatformer/blob/master/CMakeLists.txt,
>>> that is the CMakeLists.txt I had to write for a side project, and it was
>>> quite simple (also, I do realize it's pretty badly-written, from what I've
>>> been told on #cmake).
>>>
>>> Those Go build tools you're talking about look cool and easy to use, but
>>> they are go-only. I think you should learn CMake or Autotools because you
>>> can use them with every language/library/framework that needs building
>>> (even Go!). Anyways, "go build" is probably not too hard to write for Vala
>>> projects that don't use any external libraries.
>>>
>>> Oh, and I just remembered, autotools, CMake and the likes help you A LOT
>>> with packaging your applications. They handle lots of stuff that would be a
>>> PITA to do yourself.
>>>
>>> David "Munchor" Gomes
>>>
>>>
>>> On Tue, Feb 5, 2013 at 9:05 PM, Craig <weberc2@xxxxxxxxx> wrote:
>>>
>>>> Firstly, let me just say that CMake and Make are a pain to learn. I'm a
>>>> professional software developer and I still can't figure them out. In my
>>>> job, we use tools that automate the nightmare that is project management
>>>> (usually IDEs) and it's usually still unpleasant. The tedium of these
>>>> "tools" is the one thing keeping me from using Vala as a primary
>>>> programming language and otherwise contributing to Elementary.
>>>>
>>>> That said, lately I've been getting into Go (golang), and I'm finding
>>>> it to be an AMAZING language; however, it's only 3 years old, thus it
>>>> doesn't have an extensive collection of libraries. The only prominent GTK
>>>> library is very immature and (I believe) it only supports some features
>>>> from GTK+2.0 (none from 3.0). Among the more amazing features of Go are its
>>>> build environment tools.
>>>>
>>>> `go build [app-name]` is all that is needed to build an entire
>>>> application--no messing with CMakeLists or makefiles (no project metadata
>>>> of any kind, in fact). Furthermore, `go install [app-name]` will build and
>>>> install the application to a location in your PATH, making it instantly
>>>> executable. Go also comes with an awesome test suite out of the box, and
>>>> `go get [http://path.to.online/repository]`<http://path.to.online/repository%5D>will automatically fetch a package from a public code repository (it works
>>>> with git and several other repo types) and store the files alongside your
>>>> own source code.
>>>>
>>>> I think it would be a huge help to elementary developers if we at least
>>>> created a Vala version of (at least) the `go build` tools to facilitate
>>>> project management. This would dramatically lower the entry barrier to
>>>> Elementary development, and it would encourage an organized structure for
>>>> application source code across applications.
>>>>
>>>> At this point, I'm not proposing spending time and resources working on
>>>> this, but I'd like to get some discussion going about the merits of this
>>>> idea, particularly from people with Go and Vala experience.
>>>>
>>>> Sound off!
>>>>
>>>> -Craig Weber
>>>>
>>>>
>>>> --
>>>> Mailing list: https://launchpad.net/~elementary-dev-community
>>>> Post to     : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~elementary-dev-community
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>> --
>>> Mailing list: https://launchpad.net/~elementary-dev-community
>>> Post to     : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~elementary-dev-community
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>> --
>> Mailing list: https://launchpad.net/~elementary-dev-community
>> Post to     : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~elementary-dev-community
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
> --
> Mailing list: https://launchpad.net/~elementary-dev-community
> Post to     : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~elementary-dev-community
> More help   : https://help.launchpad.net/ListHelp
>
>

References