this looks like POM :) I always dreamt of writing a proper build system with such high level structure, deal with project dependencies, but that is way more complex than that.
if a project in rust start with this matter, I volunteer to participate to it. ----- Gaetan 2014/1/14 Lee Braiden <[email protected]> > On 14/01/14 17:25, Patrick Walton wrote: > >> On 1/14/14 1:29 AM, comex wrote: >> >>> On Mon, Jan 13, 2014 at 10:30 AM, George Makrydakis >>> <[email protected]> wrote: >>> >>>> Again, note that this rather long thread is about discussing in the end >>>> what >>>> the official stance should be. There is no valid reason other than lack >>>> of >>>> manpower and / or language immaturity for having to depend on ruby, >>>> python, >>>> autotools, cmake or whatever else in order to build rust software. >>>> >>> >>> There is no reason every language should have its own build system >>> written from scratch (or package manager, for that matter); the goals >>> of each language community are really mostly identical<snip> >>> >>> >>> However, I'd say there is a stunning lack of existing build systems >>> that actually combine a clean design, flexibility, portability, and >>> performance<snip> >>> >> This e-mail sums up my feelings to a T, and it's why I'm conflicted about >> the whole matter. >> > > The more people talk about different build systems and how we can't choose > one yet, the more I agree. > > So, rethinking, it seems to me that important part seems, is to be > COMPATIBLE with everyone's project hosting, build system, and/or package > manager of choice. That would include command line build tools, pretty > website download catalogs, yum, synaptic, cabal, etc. > > > So, much more important than choosing TOOLS, I think Rust needs to > standardise INFORMATION that any tool can use. Perhaps something like this? > > [ > "project": { > "name": "someproject", > > "brief-description": "some description", > > "limited-description": [ > "Para-one.", > "Para-two.", > "Para-three." > ], > > "web": "http://buggysoft.com", > > "screenshots": { > "screenshot one": { > "uri": "http://www.buggypics.com/massivebug.png", > "alt-text": "Features massive bugs", > }, > }, > > "bug-tickets": "http://overloaded-cloud-system.buggysoft.com", > > "authors": { > "author1": { > "email": "[email protected]", > "web": "http://someplace.com", > }, > }, > > "copyright": { > "license-file": "docs/LICENSE.TXT", > "license-flags": "SHAREALIKE | ATTRIBUTION | > ADVERTISING_CLAUSE", > }, > > "build-info": { > "build-type": "library", > "target": "libx.so" > "source-files": [ "src/*.rs", "somedir/a_file.rs" ], > }, > > "developer-support-info": { > "rust-ide-doc-file": "docs/libx.rustapi", > "rust-ide-completion-file": "docs/libx.rusttags", > }, > > "dependencies": { > "rust-projects": { > "someotherproject": { # from that projects > "project" -> "name" entry > > # following fields are optional; any specified > filter the list > # the list of suitable candidates. > > "min-version": "0.1", > "max-version": "0.1", > > "gitrepo": "http://somehub.com/someuser/ > someotherproject/", > "min-git-tag": "04a453543", > "max-git-tag": "045ead634", > > "tarball-uri": "http://someotherproject.com/ > somepath-${version}.tgz", > > "distro-version-ok": "true" > } > }, > > "external-libs": { > "libssl": { > "min-version": "0.1", > "max-version": "0.1", > > "gitrepo": "http://somehub.com/someuser/ > someotherproject/", > "min-git-tag": "04a453543", > "max-git-tag": "045ead634", > > "tarball-uri": "http://someotherproject.com/ > somepath-${version}.tgz" > > "distro-version-ok": "true", > } > }, > } > } > ] > > -- > Lee > > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev >
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
