Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic installer + dependencies handler #1063

Closed
gabrielstuff opened this issue Mar 13, 2012 · 9 comments
Closed

Automatic installer + dependencies handler #1063

gabrielstuff opened this issue Mar 13, 2012 · 9 comments

Comments

@gabrielstuff
Copy link

Hi !

Recently, I've been in lot of languages, from C++ to ruby, passing by the colosus of javascript and the sea of php. Dropping by various and strange framework such as the Cinder, the jQuery, the Rails, the Processing, etc ...

the situation

What I have noticed is that a strong architecture and a really ease use of add-ons makes a framework get stronger. For instance, if we take a look at Ruby, we see that the use of gems give him a powerfull advance over his friend php.

the Rubyist

This way of thinking is getting even better with the http://gembundler.com/ Bundler friend. The gems have dependencies and a simple GemFile help to easily install all dependencies for one project.

the Cinderist

For Cinder, we get the block, as for OSX, it quiet easy and fast. Drag and drop and play/code.

the jQueryist

Well, it is not frequent to have jQuery plugins depending on other jQuery plugins, but there are several way to handle dependencies on jQuery and JS.

the nodist

This lead us to http://npmjs.org/, which is really nice with dependencies.
For instance, if you tried cloud9ide, you know that you just have to make sure you get the proper package.json :

{
  "name": "node-example",
  "version": "0.0.1",
  "dependencies": {
    "express": "2.2.0"
  }
}

This file ensure that everything before running the server will be installed via npm.

the ofist

Right now, we just have the addons.make file, which is nice but does not do any lifting for us. We have to verify that the ofx addons has been downloaded and is installed in the right folder.

  • Why not creating a script that will allow to manage dependencies compilation ?
    I have this wonderful ofxJSONsettings, but he depends on JSONCPP and on boost, so here we will have :

package.json file in the ofxJSONsettings folder :

{
  "name": "ofxJSONsettings",
  "version": "0.0.1",
  "dependencies": [{
    "jsoncpp": "0.6.0-rc2"
    "url":"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/"
    "protocol":"svn"
     }
  ]
}

Hum, then, we have our little bash script :

xadd -addon ofxJSONsettings

and for a project, we have to ensure that the make file run xadd -addon ofxJSONsettings if it does not find ofXJSONsettings.

This could lead to simplify and easify the use of plugin ! Hey, I want the new mistubaRenderer let's give a try :

{
  "name": "ofxMitsubaRenderer",
  "version": "0.0.1",
  "dependencies": [{
    "mitsuba": "0.1"
    "url":"https://www.mitsuba-renderer.org/hg/mitsuba-bidir"
    "protocol":"hg"
     }
  ]
}

Well, this would be simplify if everybody use some same pattern, and respect some convention.

So what do you guys think about that ?

Thank you !

@bilderbuchi
Copy link
Member

There has been some talk about this already, at least the addon dependency specification.

@gabrielstuff
Copy link
Author

hey, i just search for install script and dependencies, depedence and could not find any relevant discussion. Could you point me to one of them ?

Thank you !

@bilderbuchi
Copy link
Member

Part of it was in meatspace, at the recent developer's conference, so I can't point to that.
Did you look in the forum, too? e.g. this discussion.
also, do you know ofxaddons.com already?

@gabrielstuff
Copy link
Author

Hey !
Could we get a resume of the "meatspace talk".
In the forum, I just finished reading the discussion and I'm supprized that no one +1 for the formula pattern. Homebrew is really powerful and the scheme is pretty neat.

So basically,what are we heading to ?

@ofTheo
Copy link
Member

ofTheo commented Mar 13, 2012

Hi Gabriel,

We are actually just finishing up an app that can generate projects and add addons to projects. Its currently in the develop branch in apps/devApps/projectGenerator/ - it is still very WIP but it should be finished up soon.

Currently in the core addons we have install.xml files for every addon which describes the files and where they should go.
We don't have dependencies hooked up though ( which is crucial ), so the format you suggest makes a lot of sense and will be similar to what we end up with.

Our goal is to make using addons as simple as possible and make it easier to work with addons which include other addons.

@gabrielstuff
Copy link
Author

Hey ! is it an app ? like with a gui and all the stuff, or just a drop in command-line style tool ?
Anyway this is a great news ! How could we participate ? is there any milestone, key features ?

Thank you !

@bilderbuchi
Copy link
Member

See http://forum.openframeworks.cc/index.php/topic,9159.0.html for some more details.

@bilderbuchi
Copy link
Member

pushing this feature back to 0074. I'm not sure if we shouldn't close it anyway, since the project generator does some lifting already, but I'll keep it open for now, there's some good ideas.

@kylemcdonald
Copy link
Contributor

no activity on this issue for two years, and the general concept is in the roadmap, so i'm going to close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants