annotate content/Eclipse/workspacemechanic.md @ 98:1d9382b0329b

Specify the syntax on markdown blocks to avoid broken output that has class=err
author Dirk Olmes <dirk@xanthippe.ping.de>
date Thu, 19 Dec 2019 10:04:33 +0100
parents 47fa61e1845e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
1 Title: Automating Eclipse Workspace Settings
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
2 Date: 2014-09-08
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
3 Lang: en
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
4
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
5 Working in a team of developers sometimes requires you to unify certain settings in the Eclipse workspace. We used to solve this manually by documenting the required settings on a wiki page. This woks only so good because everyone (including me) tends to forget about those settings and when crating a new workspace all is mixed up.
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
6
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
7 Since manually managing the workspace settings does not quite work it would be good to automate the preference management. The [workspacemechanic plugin](https://code.google.com/a/eclipselabs.org/p/workspacemechanic/) comes in very handy here. It works quite simple: you install the plugin, define the settings you want to unify across all workspaces and distribute those rules. The plugin then checks your current preference settings and will allow you to fix anything that does not match the required setup.
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
8
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
9 A rather undocumented feature of the plugin is how to distribute rules. Just put all rules on a HTTP server. Then, create a json document that references all these rules in the same directory as the rules files. Use this snippet as a template:
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
10
98
1d9382b0329b Specify the syntax on markdown blocks to avoid broken output that has class=err
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 41
diff changeset
11 :::shell
37
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
12 {
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
13 type : 'com.google.eclipse.mechanic.UriTaskProviderModel',
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
14 metadata : {
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
15 name : 'Workspace Settings',
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
16 description : 'Sample Mandatory Workspace Settings',
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
17 contact: 'my@email.com'
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
18 },
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
19 tasks : [
41
47fa61e1845e clean up indentation
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 37
diff changeset
20 'MyFirstRule.epf',
47fa61e1845e clean up indentation
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 37
diff changeset
21 'MySecondRule.epf',
47fa61e1845e clean up indentation
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 37
diff changeset
22 ]
37
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
23 }
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
24
9c4944f26b00 new blog post about the workspacemechanic plugin
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
25 As the last step, configure the full URL to the json file as task source. The plugin will load these rules and apply them.