Code Monkey home page Code Monkey logo

Comments (9)

ncannasse avatar ncannasse commented on June 12, 2024

The thing is that we don't have a stable and unstable branch for compiler dev, given that with the complexity of it even a small "stable" fix can create unplanned regressions

from haxe.org.

Simn avatar Simn commented on June 12, 2024

We'll need one link for each download. We should follow the names that builds.haxe.org uses and make it available as http://haxe.org/download/latest/windows, http://haxe.org/download/linux64 etc.

@jasononeil: Can you set this up?

from haxe.org.

jasononeil avatar jasononeil commented on June 12, 2024

If we can guarantee that our download files will follow the same naming convention into the future, then this should be easy enough.

Currently the names are like:

haxe-3.1.3-linux32.tar.gz
haxe-3.1.3-linux64.tar.gz
haxe-3.1.3-osx-installer.pkg
haxe-3.1.3-osx.tar.gz
haxe-3.1.3-raspi.tar.gz
haxe-3.1.3-win.exe
haxe-3.1.3-win.zip

See 3.1.3 and 3.1.2

If we keep with this convention, then I could do:

    @:route("/latest/$platformDownload")
    public function doLatestStableDownload( platformDownload:String ) {
        var currentVersion = apiSite.getCurrentVersion( versionRepo() );
        var versionDir = currentVersion.replace( '.', ',' );
        var file = 'haxe-$currentVersion-$platformDownload';
        var directDownloadLink = '/${versionRepo()}/$versionDir/downloads/$file';
        return new RedirectResult( directDownloadLink )
    }

This would redirect:

  • /download/latest/win.exe -> /website-content/downloads/3,1,3/downloads/haxe-3.1.3-win.exe
  • /download/latest/osx-installer.pkg -> /website-content/downloads/3,1,3/downloads/haxe-3.1.3-osx-installer.pkg

etc.

Possible issues:

  • We bypass the /download/file/3.1.3/haxe-3.1.3-win.exe page, which we were using so Google Analytics could pick up on the number of downloads. Not sure how to workaround this... We could track the numbers ourselves separate to the GA numbers, but then we don't get the pretty graphs.
  • If you ever stop offering a particular binary, eg "raspi.tar.gz", then /latest/raspi.tar.gz would 404, rather than find the latest version that did exist. We could work around this with a slightly more complex solution than the one proposed above.

from haxe.org.

Simn avatar Simn commented on June 12, 2024

I'm fine with keeping file name conventions. They are generated by the release helper script anyway: https://github.com/waneck/hxbuilds/blob/master/release-helper/src/Release.hx#L15

from haxe.org.

Simn avatar Simn commented on June 12, 2024

Does anyone know how we could support this? Maybe @kevinresol?

from haxe.org.

kevinresol avatar kevinresol commented on June 12, 2024

hm... I have zero knowledge about the site.
Needa take some time to read through the source, I can try to find some time for that.
But would be best if @jasononeil spend some short time on it.

from haxe.org.

kevinresol avatar kevinresol commented on June 12, 2024

We bypass the /download/file/3.1.3/haxe-3.1.3-win.exe page, which we were using so Google Analytics could pick up on the number of downloads.

I wonder if we can simply create the same page for latest on which browser will auto start downloading the latest binary. Then we will have GA for hits on latest. And since release dates are known we can sort out what the latest version is for each period.

from haxe.org.

markknol avatar markknol commented on June 12, 2024

If someone is going to look at this, then it might also be a good time to pick this up too #201 : using the github api as download provider. The github api also contains download count, each "assets"entry has a "download_count".

from haxe.org.

ibilon avatar ibilon commented on June 12, 2024

Stable html landing page with releases notes, links, ...
https://haxe.org/download/file/latest/haxe-latest-linux64.tar.gz/

Direct url
https://haxe.org/website-content/downloads/latest/downloads/haxe-latest-win.exe

from haxe.org.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.