Indicating module groups
Justin
justin.obara at utoronto.ca
Wed Jun 17 12:44:23 UTC 2009
Hello,
Currently we are working on building a component to allow users to
create custom builds from the website.
As part of this, we will need to obtain more information about the
various modules and groups of modules that are part of Infusion.
At the moment, the ant script used for making custom builds on the
command line looks for a build.properties file.
http://source.fluidproject.org/svn/fluid/infusion/trunk/build-scripts/build.properties
From this file, it has access to all of the modules and the locations
of their specific dependency file. A dependency file is a json file
which contains key value pairs indicating the various module
information such as which files it includes and what other modules it
depends on.
When a new component is added, a developer will have to create a new
dependency file for it, and add the reference to this file in the
build.properties file. Basically a 2 step process.
Here are some options that we were passing around. Please feel free to
make comments and suggestions.
Possible Solution
How it might look
Number of steps
Pros
Cons
Create another file "moduleGroups.json". This file will contain key
value pairs indicating the groups, their names, descriptions, and
modules within the group.
http://source.fluidproject.org/svn/fluid/infusion/trunk/src/webapp/moduleGroups.json
3
Easier to parse on the server side
Have already started to implement
Imposes an extra step on component developers
Add the group name to the module references in the "build.properties"
file . The "moduleGroups.json" file will just contain information
about the groups, but the modules will be assigned to groups in the
"build.properties" file only.
build.properties
module_inlineEdit-components="components/inlineEdit"
moduleGroups.json
groups: [
{
"id": components
"name": "Infusion Component Modules",
"description": ""
},...]
2
Only two steps when adding a new component
Will have to jump between the two files when parsing
Will need to make a slight change to the build.js/build.xml
In the "build.properties" file. Define the groups. For the specific
modules add the name of the group to the module reference
group_id="components"
group_name="Infusion Component Modules"
groupd_descriptoin=""
module_inlineEdit-components="components/inlineEdit"
2
Only two steps when adding a new component
Don't need to parse the build.properties file and the
moduleGroups.json file
Makes the build.properties files messier
Will need to make a slight change to the build.js/build.xml
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://fluidproject.org/pipermail/fluid-work/attachments/20090617/a977ffbc/attachment.html>