Endaytahn - Client compiler

Community, Project, and Forum Suggestions

Moderator: OpenUru.org Moderators

Post Reply
User avatar
Lyrositor
Member
Posts: 156
Joined: Sun Feb 05, 2012 10:58 pm
Contact:

Endaytahn - Client compiler

Post by Lyrositor »

So far, I haven't see any easy way for a non tech-oriented user to try out the latest development release of Uru. Some binaries have been provided, but they probably take time to be compiled, packaged and uploaded. So instead, how about an automated building process?

Endaytahn (D'ni word for builder, according to this website; I don't actually speak D'ni :? ) is my suggestion. A tiny program that when launched downloads the latest release, and provides step-by-step instroductions on how to do things while doing everything it possibly can without user input. It should download all the required programs and start installations so that the user can just click through things again and again (he should only have to do it once, when he runs it the first time). Afterwars, the user would only to run it from time to time so that it updates his program.

From my point of view, as someone just starting to become interested in contributing to Myst Online (as well as a pretty entry-level programmer), this doesn't seem like too big a task, since it mostly automating procedues which can already be done mechanically by following this guide. It would be a command prompt (eventually GUI script) that would require text input from time to time, switch to the third-party programs when required, and so on. In my humble opinion, this could lead to bigger interest in testing the "next" version of MO:ULa, by making it more in reach of the average user. I would be glad to take this project on, since I need something to practise my C++ skills anyway.
Lyrositor
Explorer #16601888
To D'ni, or not to D'ni. There is no question.
Image
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Endaytahn - Client compiler

Post by Mac_Fife »

Some, at least, of what you're describing is already handled by Jenkins our automated build engine. This can take the contents of a designated repository and build it according to a predefined set of instructions. It's used currently to build the client for our Minkata shard and rarified is in the process of creating another build project to take the H'uru development code and run it through Visual Studio 2003, since not many folks have access to that older compiler. I think it can also build for VS2010, but rarified is the best person to comment on that.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
Lyrositor
Member
Posts: 156
Joined: Sun Feb 05, 2012 10:58 pm
Contact:

Re: Endaytahn - Client compiler

Post by Lyrositor »

Could a program be made using its remote API to trigger a build and then provide a download link for the user? Since the project is already set on the Open Uru's server, the way I see it, it would have to request a new build, then download all the files produced, and then run the batch file that creates everything, before copying it over the user's existing MO:UL directory.
Lyrositor
Explorer #16601888
To D'ni, or not to D'ni. There is no question.
Image
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Endaytahn - Client compiler

Post by Mac_Fife »

I'll need to defer to rarified on this, but I think that's almost exactly what happens to produce the Minkata Install download: Once the build has completed, the launcher executable gets packaged up with a dll or two into a self extracting archive which can be then be downloaded. So I'd expect that scripting a different (bigger) package of files into a downloadable ought to be no particular problem.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
rarified
Member
Posts: 1061
Joined: Tue Dec 16, 2008 10:48 pm
Location: Colorado, US

Re: Endaytahn - Client compiler

Post by rarified »

Mac_Fife is correct. The Jenkins build system (described in this article) is a tool that monitors for various events, and executes tasks when those events happen. In our case one of those events is determining when new code is committed to a repository that is being monitored by Jenkins, and the tasks are performing the steps you refer to for building the CWE client.

So having an external agent trigger a build is unnecessary; the most recent build always reflects an attempt to build the current code in the repository.

You can explore the Jenkins system public information at http://foundry.openuru.org/hudson.

_R
One of the OpenUru toolsmiths... a bookbinder.
User avatar
Lyrositor
Member
Posts: 156
Joined: Sun Feb 05, 2012 10:58 pm
Contact:

Re: Endaytahn - Client compiler

Post by Lyrositor »

But don't you need a developer account to initiate a build?
Lyrositor
Explorer #16601888
To D'ni, or not to D'ni. There is no question.
Image
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Endaytahn - Client compiler

Post by Mac_Fife »

Well, you don't really initiate a build; the occurence of some predetermined "event" (typically a repository being updated) causes the build to be triggered. I think I'm right in saying that the repository doesn't even need to be hosted the OpenUru Foundry, it just needs to be reachable by Jenkins over the internet. Once Jenkins "sees" that it contains new code it can fetch and build it, so you only need to be able to commit to the repository and the requirements for doing that may vary.

If the repo in question happens to be one that is hosted on the OU Foundry then you will need a Foundry account to be able to commit changes to it.
Mac_Fife
OpenUru.org wiki wrangler
Post Reply

Return to “Suggestions”