[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] What happened to version numbers?

From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] What happened to version numbers?
Date: Fri, 21 Dec 2012 14:02:00 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Tony Theodore schrieb:
> Finally getting a chance to look at this[1] again - free for the rest of the 
> year!


> On 24/04/2012, at 12:19 AM, Volker Grabsch <address@hidden> wrote:
> > That's why I think it's worth to try to leave doc generation
> > completely out of the Makefile. The nice thing about the
> > JavaScript approach is that it requires no redundancy, as the
> > docs "generation" is "moved" from the Makefile into the browser.
> I can't find a way to get client-side javascript to glob all the src/*.mk 
> files.

Indeed, that's a problem. Would you mind creating an issue tracker
entry for that?

> I think it could read a manifest and then parse each of the files, but we'd 
> still have to generate or maintain that manifest. I suppose this could be an 
> ignored file in the tree that is simply refreshed with "ls" every build?

Okay, some quick thoughts:

I'm afraid that generating a manifest would defeat the purpose
of using JavaScript in the first place, as the whole point was
to have a mechanism that works without running Make (or other
scripts). Otherwise we'd have trouble running this as GitHub Page.
Also, if we require server-side scripts, this would loose some
of its charme and "coolnes", I think. ;-)

I propose to simplify the package list (index.html) as follows:

    A) remove all unneeded IDs "PKG-package", "PKG-version", ...
    B) remove all version numbers


    <table id="package-list">
        <td><a href="http://www.antigrain.com/";>Anti-Grain Geometry</a></td>

One could also move the 3rd column (package website and
official name) back into the *.mk files, but I don't see
much value in such a move.

The JavaScript should perform the following:

    a) run through all <tr> elements below getElementById('package-list')
    b) load package name from first <td> child
    c) load src/PKG.mk via AJAX
    d) parse version number using the same regex as in the Makefile
       (However, switch from SED to PCRE syntax!)
    e) write to second <td> child

Since this is a very simple script, I think we should get
along without depending on jQuery or other JS libraries.
The code should run on all modern browsers, but I don't
think we should add any IE-specific workarounds.

As a reminder, at least following places need to be changed:

    1) index.html: Package list
    2) index.html: Section "Guidelines for Creating Packages"
    3) all src/*.mk files: add $(PKG)_VERSION
    4) Makefile: adjust: PKGS = ...
    5) Makefile: remove lines 133-142
    6) Makefile: "make update": adjust lines 234-236

Regarding the Makefile, it might be a good idea to simply revert
some old changes, at least partly, because we're essentially
restoring its old behaviour.


Volker Grabsch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]