{"action":"created","issue":{"url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/327","repository_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE","labels_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/327/labels{/name}","comments_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/327/comments","events_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/327/events","html_url":"https://github.com/FeatureIDE/FeatureIDE/issues/327","id":147439262,"number":327,"title":"FeatureIDE feature model / dependency graph","user":{"login":"pinnecke","id":3775170,"avatar_url":"https://avatars.githubusercontent.com/u/3775170?v=3","gravatar_id":"","url":"https://api.github.com/users/pinnecke","html_url":"https://github.com/pinnecke","followers_url":"https://api.github.com/users/pinnecke/followers","following_url":"https://api.github.com/users/pinnecke/following{/other_user}","gists_url":"https://api.github.com/users/pinnecke/gists{/gist_id}","starred_url":"https://api.github.com/users/pinnecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pinnecke/subscriptions","organizations_url":"https://api.github.com/users/pinnecke/orgs","repos_url":"https://api.github.com/users/pinnecke/repos","events_url":"https://api.github.com/users/pinnecke/events{/privacy}","received_events_url":"https://api.github.com/users/pinnecke/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/labels/enhancement","name":"enhancement","color":"207de5"}],"state":"open","locked":false,"assignee":{"login":"pinnecke","id":3775170,"avatar_url":"https://avatars.githubusercontent.com/u/3775170?v=3","gravatar_id":"","url":"https://api.github.com/users/pinnecke","html_url":"https://github.com/pinnecke","followers_url":"https://api.github.com/users/pinnecke/followers","following_url":"https://api.github.com/users/pinnecke/following{/other_user}","gists_url":"https://api.github.com/users/pinnecke/gists{/gist_id}","starred_url":"https://api.github.com/users/pinnecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pinnecke/subscriptions","organizations_url":"https://api.github.com/users/pinnecke/orgs","repos_url":"https://api.github.com/users/pinnecke/repos","events_url":"https://api.github.com/users/pinnecke/events{/privacy}","received_events_url":"https://api.github.com/users/pinnecke/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/milestones/11","html_url":"https://github.com/FeatureIDE/FeatureIDE/milestones/3.1.0%20(July)","labels_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/milestones/11/labels","id":1579409,"number":11,"title":"3.1.0 (July)","description":"","creator":{"login":"tthuem","id":5330357,"avatar_url":"https://avatars.githubusercontent.com/u/5330357?v=3","gravatar_id":"","url":"https://api.github.com/users/tthuem","html_url":"https://github.com/tthuem","followers_url":"https://api.github.com/users/tthuem/followers","following_url":"https://api.github.com/users/tthuem/following{/other_user}","gists_url":"https://api.github.com/users/tthuem/gists{/gist_id}","starred_url":"https://api.github.com/users/tthuem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tthuem/subscriptions","organizations_url":"https://api.github.com/users/tthuem/orgs","repos_url":"https://api.github.com/users/tthuem/repos","events_url":"https://api.github.com/users/tthuem/events{/privacy}","received_events_url":"https://api.github.com/users/tthuem/received_events","type":"User","site_admin":false},"open_issues":41,"closed_issues":0,"state":"open","created_at":"2016-02-12T10:15:14Z","updated_at":"2016-04-11T14:02:02Z","due_on":"2016-07-30T22:00:00Z","closed_at":null},"comments":1,"created_at":"2016-04-11T14:02:02Z","updated_at":"2016-04-11T14:06:28Z","closed_at":null,"body":"#### Prerequisitives\r\n* **FeatureIDE-Version:**  3.x.x\r\n\r\n### Description\r\nFeatureIDE might be evolve to be feature-oriented composable. The first step is to automatically generate a feature model xml file which contains file-dependencies.\r\n\r\nIn long-run this model can be extended to a \"client-oriented model\" containing the feature \"Modeling Tools\" for instance. These \"client-oriented\" features will be constrain the feature model file-dependency model. A composer (script,..) can read a valid project configuration, and copy required files to the product bundle.\r\n"},"comment":{"url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/comments/208363378","html_url":"https://github.com/FeatureIDE/FeatureIDE/issues/327#issuecomment-208363378","issue_url":"https://api.github.com/repos/FeatureIDE/FeatureIDE/issues/327","id":208363378,"user":{"login":"pinnecke","id":3775170,"avatar_url":"https://avatars.githubusercontent.com/u/3775170?v=3","gravatar_id":"","url":"https://api.github.com/users/pinnecke","html_url":"https://github.com/pinnecke","followers_url":"https://api.github.com/users/pinnecke/followers","following_url":"https://api.github.com/users/pinnecke/following{/other_user}","gists_url":"https://api.github.com/users/pinnecke/gists{/gist_id}","starred_url":"https://api.github.com/users/pinnecke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pinnecke/subscriptions","organizations_url":"https://api.github.com/users/pinnecke/orgs","repos_url":"https://api.github.com/users/pinnecke/repos","events_url":"https://api.github.com/users/pinnecke/events{/privacy}","received_events_url":"https://api.github.com/users/pinnecke/received_events","type":"User","site_admin":false},"created_at":"2016-04-11T14:06:28Z","updated_at":"2016-04-11T14:06:28Z","body":"Remote branch **feature_featureide_featuremodel** contains an initial prototypic scanner which scans the FeatureIDE for plugins, and the corresponding model.xml. Each plugin might contain: (1) asset files, (2) a manifest file for the eclipse plugin system, (3) source files, and (4) external dependency. The scanner builds a set of statements on these entities. More in detail: The scanner generates a feature called \"featureide\". This feature is the root for (a) external dependencies feature, and (b) a set of plugin features (sub projects). Each element in (b) contains of a feature indicating the manifest file, the asset, and the the source. Asset files are directly attached to the asset feature (i.e., images are assets and required). Source files are organized as follows: Each source file is a feature with the full qualified class name, which has as its parent the package (which is also a feature as child of the source feature). Each source file requires a set of other classes which form a dependency to other features. These features are either known (as part of feature ide), or can not be fully resolved (as part of external dependency). Hence, a source file requires (implies) other source files either in a plugin of feature ide, or in the external dependency feature.\r\n\r\n\r\n[model.xml.zip](https://github.com/FeatureIDE/FeatureIDE/files/213110/model.xml.zip)\r\n"}}