Tooling: get the latest AIR SDK version

So I made a little tool with redtamarin: AIRSDK-latest

AIRSDK-latest [-h] [-f version] [-R] [-B] [-A]
Display the latest AIR SDK version

    -h , --help             Show this help
         --verbose          Verbose Display (default)
         --brief            Brief Display
                            only show the version numbers
    -f , --format version   Format the version number
                            value can be:
                            MAJOR:      display the version as {major}
                            MINOR:      display the version as {minor}
                            RELEASE:    display the version as {release}
                            BUILD:      display the version as {build}
                            MAJORMINOR: display the version as {major.minor}
                            TRIPLE:     display the version as {major.minor.release}
                            (empty string): display the version as {major.minor.release.build}, the default
    -R , --release          Release only (default)
    -B , --beta             BETA only
    -A , --all              Release and BETA

basically it goes on Harman’s web site, crawl and scrap the content, and retrieve the latest AIR SDK version and/or AIR SDK BETA version.

Why?
simply because I want to know when the latest version is out sooner than later

AIR SDK latest version
asciicast


But that was not enough, I mainly use the command-line to automate stuff

knowing the latest version is nice but downloading it would be nicer so I added a bit more

Why?
my “use case” is, in general, I want to download all SDK to updates my setup in /sdk/flex and /sdk/air and I really don’t want to do it in the browser clicking links

AIR SDK latest version (+download)
asciicast


Now I got a couple of little dilemma, this tool is a little useful and I mainly use it locally but if I were to share it those problems would occurs:

  • Harman on their https://airsdk.harman.com web site insist for the user
    to click on I accept the terms of the AIR SDK License Agreement
    before giving access to the download links
  • I do know they care about that because they did try to protect themselves from “rogue” command-line downloads
  • even without the download capabilities, distributing a little tool like that could flood their site
    eg. N users running the script X times every Y minute|hour|day|etc.
    ex: 100 users running the script 10 times every 1 hour
    that’s 24000 requests per day

So here a little vote for alternatives to try to do things the right way :slight_smile:

  • provide a web service (REST API) url
    for ex: http://api.as3lang.org/airsdk/latest
    pros: solve the problem of flooding the Harman server with too many requests
    cons: you need to use a 3rd party server, no download capabilities at all

  • distribute the tool with some updates to limit stuff
    for ex: no download capabilities and a self-imposed “max requests per day”
    pros: solve the problem of flooding the Harman server with too many requests
    cons: not as good as using a REST API on a 3rd party server, no download capabilities at all

  • talk to Harman so they valid/approve/distribute the tool
    we could imagine once a user has agreed to the " AIR SDK License Agreement"
    the tool could allow/unlock the command-line downloads
    pros: sure to not do something bad, download capabilities

  • none of the above because people would prefer a GUI tool
    eg. like the Apache Flex SDK Installer

  • provide a web service (REST API) url
  • distribute the tool with some updates to limit stuff
  • talk to Harman so they valid/approve/distribute the tool
  • command-line sucks we want a tool like for the Apache Flex SDK

0 voters

Sounds like a useful idea, however definitely need to contact Harman as this would need to work alongside their licensing.

@ajwfrost Thoughts?

Sorry I’d not seen this message - must sort out my notification settings…

But I just stumbled across it and this is something I think would be really useful! We had actually started a GUI tool to manage the AIR SDKs, but it hasn’t got to the point where we could release it and there are higher priority things that we need to solve currently!!

The reason we have people jumping through hoops on the website to ensure they’ve clicked on the “accept terms and conditions” bit is because our legal folk want to make sure everyone has confirmed that they’ve read the conditions and limitations, particularly around privacy and around the export restrictions. So if it was possible for this tool to launch the Ts&Cs or provide a link to them, and then to explicitly get confirmation from the end user that they’ve accepted these terms, then it should be something we can allow to hook up. The endpoint then would need to be something that also demonstrates that they’ve read the Ts&Cs e.g. “…download?acceptedTerms=true” or perhaps a timestamp where we only accept a link from within the last day.

In terms of process we could set up a new endpoint just to give information about the latest SDK, so you can hit that as often as you like without it being a big problem.

What we also wanted to do, ultimately, was:
a) Allow people to pull down older versions of the SDK, in case they had a particular need…
b) Allow people to just manage an SDK in one place and keep this up to date, rather than having multiple folders for multiple SDKs and having huge zips to download the whole time.

Would be good to get your thoughts on this last one; obviously we’d have to do some work server-side so that we could just provide the deltas between one release and another, but a lot of stuff e.g. all the iOS stub files are only going to change perhaps once per year anyway…

thanks!