Automated SDK installs on Jungle Free (and pro)

Monkey Forums/Monkey Programming/Automated SDK installs on Jungle Free (and pro)

ziggy(Posted 2014) [#1]
Next Jungle IDE version (including FREE version) will integrate a fully automated installer for Desktop, XNA, Flash and Android targets. It'll be a click and let the IDE take care of it.

I already have Desktop (MinGW + OpeanAL), XNA and Flash (Flex + JDK) fully automated and tested to work properly on fresh machines.

I think this is a good thing for all Monkey users, as, even in the case you do not use Jungle IDE, you can always run the free version of it to easily install anything you may need.

It'll also integrate Android tools to create and manage AVD, update the Android SDKs, etc.


therevills(Posted 2014) [#2]
Sounds great Ziggy - (Ted really should do this.... )

Does the installer download the latest version of the Android SDK, Java JDK etc or is it a static version?


ziggy(Posted 2014) [#3]
It downloads lates JDK version 7, as it is the one suggested in the Monkey docs. It also downloads the same MinGW version used by Monkey Demo, and the OpenAL installed.

Then, the Android SDK. It downloads latest version, but that's not important as android SDK can autoupdate itself, and you'll be able to launch the update system from within the IDE so it's always up to date.


therevills(Posted 2014) [#4]
Cool!

Does it automatically update the MonkeyX's config file too?


ziggy(Posted 2014) [#5]
@therevils: It does not, what I'm doing is installing by default in the folders that are set by default into the Monkey config files, so it's not required to change anything. I'll be investigating the automatic addition of folders to the PATH variable in the jungle app domain. Also, changing the config file, it's something I'm thinking yet. Just deciding what's the right way to do it. I dislike modifying the config file like this, as it would make it more complicated to tweak settings, but I will do "something". Just deciding which is the best way to do it.


CopperCircle(Posted 2014) [#6]
That all sounds great, any ETA for release? I am just about to re-install my PC and used SSD drives would be nice to let Jungle install all the Monkey stuff, what about Win8/WP8 SDK's?


ziggy(Posted 2014) [#7]
That all sounds great, any ETA for release? I am just about to re-install my PC and used SSD drives would be nice to let Jungle install all the Monkey stuff, what about Win8/WP8 SDK's?
No ETA yet. I need this to be tested in several machines with fresh OS installs, and it is very slow to get working.
Win8/WP8 only requires the express editions of Visual Studio, so I guess I'll just make the install bring you to the required download page automatically. I don't think I can redistribute those tools. that how XNA works. You click on the install, and it brings you to the page and starts the download. Clicking on execute should leave it working. All other installs are much more automated (you only see a "Downloading JDK", then "Installing JDK", then "Downloading FLEX", then "Unzipping Flex", then "Flash target installed!")


Why0Why(Posted 2014) [#8]
This is nice to hear. Great work!


Playniax(Posted 2014) [#9]
It's about time some one picks up this idea :)


Tibit(Posted 2014) [#10]
Love it. Ziggy what is your thoughts about releasing this as a stand alone tool that can be bundled with monkey? Just thinking, might be a way to get even more current and future users to get aware of the benefits of JungleIDE?


Danilo(Posted 2014) [#11]
I need this to be tested in several machines with fresh OS installs,

Please don't forget that developers may have some SDKs installed already (Java, Android SDK, etc.),
and your tool should not disturb the other installs. Monkey X is not the only tool requiring those SDKs,
so I hope this does not disturb other tools and SDK installs.


CopperCircle(Posted 2014) [#12]
If you need me to test on my clean install (Win 8.1 Pro) let me know. (I have a full Jungle License)


therevills(Posted 2014) [#13]
what I'm doing is installing by default in the folders that are set by default into the Monkey config files

Thats good and bad... good for beginners, but bad if you want to have the SDKs in a set place on your drives (for example do you really want to install the SDKs on your SSD?)


Goodlookinguy(Posted 2014) [#14]
@therevills You could just move the folder after installation to another drive and then make a symbolic link named as the folder that links to real the folder on another drive.

*This does not pertain to XP users...


ziggy(Posted 2014) [#15]
Thats good and bad... good for beginners, but bad if you want to have the SDKs in a set place on your drives (for example do you really want to install the SDKs on your SSD?
If you want a customized installation, then you'll have to do it yourself. This tool is for beginners. It's done as a wizard where everything should be explained before doing the install so if for whatever reason anyone wants to make any of the installs manually, he/she still can. for most users, it'll just work (and that's the idea)

You could just move the folder after installation to another drive and then make a symbolic link named as the folder that links to real the folder on another drive.
I would recommend against this as resolving files equality when symlinks are involved requires solving the FileID of each document and that's slow on windows (it would slow down Jungle Ide).


ziggy(Posted 2014) [#16]
Ok, android installs, and now all installations allows to select custom folders (and drives).
I just need to refactor the data retrieved into the installation in a way that it's set into the Monkey config file. Doing it this way, whenever anyone modifies the selected monkey version from Jungle Ide, Jungle will be able to refactor this parameters into the new install, so you will be able to avoid the copy & paste of config files everywhere.
It's been much much more complicated that it should be! Why are not all SDKs just deployed as zip files? Java takes LONG to install.

Nice. I hope it'll be useful to newcomers too.
Free version will have this functionality too.

EDIT:
Please don't forget that developers may have some SDKs installed already (Java, Android SDK, etc.),
and your tool should not disturb the other installs. Monkey X is not the only tool requiring those SDKs,
so I hope this does not disturb other tools and SDK installs.

If you have any pre-installed SDK you can set them in advance in the preferences dialog, and the wizard will take those instead of downloading new news. If you choose to not do it, and let the wizard download what's required, each Java version gets it own folder, Android also allows you to set where you want to install it, and all other installs are Zip files that you'll be able to choose where to unzip so, you will mostly have to do it on purpose to break anything!
I'll keep testing all this some more days and release an update.


Playniax(Posted 2014) [#17]
Great Ziggy!


Raz(Posted 2014) [#18]
Nice one Ziggy :)


Sammy(Posted 2014) [#19]
Interested to see how this turned out as it was one of the main requests in the "Monkey Roadmap" thread where people were trying to give Mark some tips to make Monkey that bit easier to use/sell.

Good luck with this Ziggy.


ziggy(Posted 2014) [#20]
Got them working for Android, Flash, Desktop and XNA. Tested each one of them on fresh machines, and it works out of the box! XD
I won't be adding more targets in the next update, will do later, as there are other things to improve first.


Raph(Posted 2014) [#21]
Excellent :)