eclipse-plugin 0.1 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,22 @@
1
1
  language: ruby
2
2
 
3
- script: bundle exec rake spec
3
+ script:
4
+ - bundle exec rspec
5
+ - bundle exec rake install
6
+
4
7
  install: bundle install --deployment --without debugger
5
8
 
6
9
  rvm:
7
- - 1.8.7
10
+ # - 1.8.7 cannot run on ruby 1.8 because mediawiki-gateway requires at least Ruby 1.9
8
11
  - 1.9.3
9
- - 2.0
10
- - 2.1
11
- - ruby-head
12
+ - 2.1.2
13
+ - 2.2.0
14
+
15
+ matrix:
16
+ allow_failures:
17
+ - rvm: 2.2.0
18
+ - rvm: 2.1.2
19
+
12
20
  notifications:
13
21
  email:
14
22
  recipients:
data/Gemfile CHANGED
@@ -3,3 +3,10 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in eclipse-plugin.gemspec
4
4
  gemspec
5
5
 
6
+ group :debuggers do
7
+ if /^2/.match(RUBY_VERSION)
8
+ gem 'pry-byebug'
9
+ else
10
+ gem 'pry-debugger'
11
+ end
12
+ end
@@ -1,30 +1,56 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eclipse-plugin (0.1)
4
+ eclipse-plugin (0.3)
5
+ nokogiri
5
6
  rubyzip (< 1.0.0)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
11
+ coderay (1.1.0)
12
+ columnize (0.9.0)
13
+ debugger (1.6.8)
14
+ columnize (>= 0.3.1)
15
+ debugger-linecache (~> 1.2.0)
16
+ debugger-ruby_core_source (~> 1.3.5)
17
+ debugger-linecache (1.2.0)
18
+ debugger-ruby_core_source (1.3.8)
10
19
  diff-lcs (1.2.5)
11
- docile (1.1.3)
12
- multi_json (1.9.2)
13
- rake (10.1.1)
14
- rspec (2.14.1)
15
- rspec-core (~> 2.14.0)
16
- rspec-expectations (~> 2.14.0)
17
- rspec-mocks (~> 2.14.0)
18
- rspec-core (2.14.8)
19
- rspec-expectations (2.14.5)
20
- diff-lcs (>= 1.1.3, < 2.0)
21
- rspec-mocks (2.14.6)
20
+ docile (1.1.5)
21
+ method_source (0.8.2)
22
+ mini_portile (0.6.2)
23
+ multi_json (1.10.1)
24
+ nokogiri (1.6.6.2)
25
+ mini_portile (~> 0.6.0)
26
+ pry (0.10.1)
27
+ coderay (~> 1.1.0)
28
+ method_source (~> 0.8.1)
29
+ slop (~> 3.4)
30
+ pry-debugger (0.2.3)
31
+ debugger (~> 1.3)
32
+ pry (>= 0.9.10, < 0.11.0)
33
+ rake (10.4.2)
34
+ rspec (3.2.0)
35
+ rspec-core (~> 3.2.0)
36
+ rspec-expectations (~> 3.2.0)
37
+ rspec-mocks (~> 3.2.0)
38
+ rspec-core (3.2.0)
39
+ rspec-support (~> 3.2.0)
40
+ rspec-expectations (3.2.0)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.2.0)
43
+ rspec-mocks (3.2.0)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.2.0)
46
+ rspec-support (3.2.1)
22
47
  rubyzip (0.9.9)
23
- simplecov (0.8.2)
48
+ simplecov (0.9.2)
24
49
  docile (~> 1.1.0)
25
- multi_json
26
- simplecov-html (~> 0.8.0)
27
- simplecov-html (0.8.0)
50
+ multi_json (~> 1.0)
51
+ simplecov-html (~> 0.9.0)
52
+ simplecov-html (0.9.0)
53
+ slop (3.6.0)
28
54
 
29
55
  PLATFORMS
30
56
  ruby
@@ -32,6 +58,7 @@ PLATFORMS
32
58
  DEPENDENCIES
33
59
  bundler (~> 1.5)
34
60
  eclipse-plugin!
61
+ pry-debugger
35
62
  rake
36
63
  rspec
37
64
  simplecov
data/Rakefile CHANGED
@@ -1 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
+ begin
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec)
5
+ rescue LoadError
6
+ end
7
+
8
+ task :install => [:spec]
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
  spec.add_dependency 'rubyzip', '< 1.0.0'
21
+ spec.add_dependency 'nokogiri'
21
22
  spec.add_development_dependency "bundler", "~> 1.5"
22
23
  spec.add_development_dependency "rake"
23
24
  spec.add_development_dependency "rspec"
@@ -0,0 +1,44 @@
1
+ require "eclipse/plugin/version"
2
+ require "eclipse/helpers"
3
+ require "eclipse/workspace"
4
+ require 'zip/zip'
5
+ require "nokogiri"
6
+
7
+ module Eclipse
8
+ module Feature
9
+ class Info
10
+ attr_reader :included_plugins, :included_features
11
+ attr_reader :symbolicName, :id, :label, :version, :provider, :description, :license, :copyright
12
+
13
+ def getFeatureInfo(content)
14
+ @included_plugins = []
15
+ @included_features = []
16
+ doc = Nokogiri::XML(content)
17
+ @symbolicName = doc.root.attributes['id'].text
18
+ @label = doc.root.attributes['label'].text
19
+ @version = doc.root.attributes['version'].text
20
+ @provider = doc.root.attributes['provider'] ? doc.root.attributes['provider'].text : ''
21
+ @description = doc.search('description') ? doc.search('description').text : ''
22
+ @license = doc.search('license') ? doc.search('license').text.gsub(/\n\s*/, '') : ''
23
+ @copyright = doc.search('copyright') ? doc.search('copyright').text.gsub(/\n\s*/, '') : ''
24
+ doc.search('plugin').each { |s| @included_plugins << s.attribute('id').text }
25
+ doc.search('includes').each { |s| @included_features << s.attribute('id').text }
26
+ end
27
+ def initialize(jar_or_src_dir)
28
+ featureXml = File.join(jar_or_src_dir, 'feature.xml')
29
+ if File.directory?(jar_or_src_dir)
30
+ getFeatureInfo(File.read(featureXml))
31
+ elsif File.exists?(jar_or_src_dir)
32
+ @jarfile = Zip::ZipFile.open(jar_or_src_dir)
33
+ if @jarfile.find_entry('feature.xml')
34
+ getFeatureInfo(@jarfile.read('feature.xml'))
35
+ else
36
+ raise("#{jar_or_src_dir} must contain a feature.xml")
37
+ end
38
+ else
39
+ raise("#{jar_or_src_dir} must be feature.jar or point to a directory containing a feature.xml")
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,7 +1,7 @@
1
1
  require "eclipse/plugin/version"
2
2
  require "eclipse/helpers"
3
+ require "eclipse/feature"
3
4
  require "eclipse/workspace"
4
-
5
5
  require 'zip/zip'
6
6
  require "rexml/document"
7
7
  include REXML # so that we don't have to prefix everything with REXML::...
@@ -15,7 +15,6 @@ module Eclipse
15
15
  UI_PreferencePage = Struct.new('UI_PreferencePage', :id, :category, :translation)
16
16
  UI_View = Struct.new('UI_View', :id, :category, :translation)
17
17
  UI_Perspective = Struct.new('UI_Perspective', :id, :category, :translation)
18
- Feature = Struct.new('Feature', :id, :label, :version, :provider, :description, :license, :copyright)
19
18
  Category = Struct.new('Category', :id, :name, :translation)
20
19
 
21
20
  # method parse copied from buildr.apache.org/lib/buildr/java/packaging.rb
@@ -43,21 +42,6 @@ module Eclipse
43
42
  sections
44
43
  end
45
44
 
46
- def getFeatureInfo(content)
47
- doc = Document.new(content)
48
- doc.root.elements
49
- @feature = Feature.new(doc.root.attributes['id'],
50
- doc.root.attributes['label'],
51
- doc.root.attributes['version'],
52
- doc.root.attributes['provider'],
53
- doc.root.elements['description'].text,
54
- doc.root.elements['license'].text.gsub(/\n\s*/, ''),
55
- doc.root.elements['copyright'].text.gsub(/\n\s*/, '')
56
- )
57
- # could enumerate a lot of plugins and which other features are included
58
- # doc.root.elements['plugin'].attributes['id']
59
- end
60
-
61
45
  def initialize(jar_or_src, iso='de')
62
46
  @workspace = File.dirname(jar_or_src).sub(/\/plugins$/, '')
63
47
  @iso = iso
@@ -74,28 +58,25 @@ module Eclipse
74
58
  readPluginXML(jar_or_src)
75
59
  mfName = File.join(jar_or_src, 'META-INF', 'MANIFEST.MF')
76
60
  featureName = File.join(jar_or_src, 'feature.xml')
77
- if File.exists?(featureName)
78
- getFeatureInfo(File.read(featureName))
79
- elsif File.exists?(mfName)
61
+ if File.exists?(mfName)
80
62
  getSymbolicNameFrom(File.read(mfName))
63
+ elsif File.exists?(featureName)
64
+ @feature = Feature::Info.new(jar_or_src)
65
+ elsif File.exists?(featureName)
66
+ @feature = Feature::Info.new(featureName)
67
+ else
68
+ # puts "Skipping #{jar_or_src} #{featureName}"
81
69
  end
82
70
  else
83
71
  @jarfile = Zip::ZipFile.open(jar_or_src)
84
72
  readPluginXML(File.basename(jar_or_src))
85
73
  if @jarfile.find_entry('feature.xml')
86
- getFeatureInfo(@jarfile.read('feature.xml'))
74
+ @feature = Feature::Info.new(jar_or_src)
87
75
  elsif @jarfile.find_entry('META-INF/MANIFEST.MF')
88
76
  getSymbolicNameFrom(@jarfile.read('META-INF/MANIFEST.MF'))
89
77
  end
90
78
  end
91
79
  # @nonfree = /medelexis/i.match(File.dirname(File.dirname(plugin)))
92
-
93
- if false
94
- # rescue => e # HACK: we need this to handle org.apache.commons.lang under Windows-7
95
- puts "Skipped plugin #{File.expand_path(jar_or_src)}"
96
- # puts "error was #{e.inspect}"
97
- puts caller
98
- end
99
80
  end
100
81
 
101
82
  def show
@@ -107,7 +88,7 @@ module Eclipse
107
88
  hash[id] = Category.new(id, name) unless hash[id]
108
89
  translation = getTranslationForPlugin(name, @iso) if name
109
90
  hash[id].translation = translation if name and translation
110
- puts "#{File.basename(@jarname)}: Added category #{id} name #{name} tr '#{translation}'" if $VERBOSE
91
+ puts "Added category #{id} name #{name} tr '#{translation}'" if $VERBOSE
111
92
  end
112
93
 
113
94
  def getTranslatedPreferencePages
@@ -231,7 +212,7 @@ module Eclipse
231
212
  elsif x.attributes['name']
232
213
  category = x.attributes['category']
233
214
  translation = getTranslationForPlugin(name, @iso)
234
- puts "#{File.basename(@jarname, '.jar')}: Adding view: id #{id} category #{category.inspect} translation #{translation}" if $VERBOSE
215
+ puts "Adding view: id #{id} category #{category.inspect} translation #{translation}" if $VERBOSE
235
216
  unless category
236
217
  @views[id] = UI_View.new(id, nil, translation)
237
218
  else
@@ -1,5 +1,5 @@
1
1
  module Eclipse
2
2
  module Plugin
3
- VERSION = "0.1"
3
+ VERSION = "0.3"
4
4
  end
5
5
  end
@@ -2,7 +2,7 @@ require "eclipse/plugin"
2
2
 
3
3
  module Eclipse
4
4
  class Workspace
5
- attr_reader :workspace_dir, :views, :view_categories, :preferencePages, :perspectives, :preferencePage_categories, :plugins
5
+ attr_reader :workspace_dir, :views, :view_categories, :preferencePages, :perspectives, :preferencePage_categories, :plugins, :features
6
6
  def initialize(workspace_dir)
7
7
  @workspace_dir = workspace_dir
8
8
  @views = Hash.new
@@ -19,21 +19,33 @@ module Eclipse
19
19
  |jarname|
20
20
  info = Plugin::Info.new(jarname)
21
21
  next unless info
22
- add_info(info)
22
+ add_info(info, jarname)
23
23
  }
24
24
  show if $VERBOSE
25
25
  end
26
26
 
27
+ def parse
28
+ isInstallation = false
29
+ ['plugins', 'features'].each{ |subdir|
30
+ dir = File.join(@workspace_dir, subdir)
31
+ if File.directory?(dir)
32
+ isInstallation = true
33
+ parsePluginDir(dir)
34
+ end
35
+ }
36
+ parse_sub_dirs unless isInstallation
37
+ end
38
+
27
39
  def parse_sub_dirs
28
40
  Dir.glob("#{@workspace_dir}/*").each{
29
41
  |item|
30
42
  proj = File.join(item, '.project')
31
43
  name = nil
32
44
  name = Document.new(File.new(proj).read).root.elements['name'].text if File.exists?(proj)
33
- next unless File.directory?(item)
45
+ next unless item and File.directory?(item)
34
46
  info = Plugin::Info.new(item)
35
47
  next unless info # ex. we read a feature
36
- add_info(info)
48
+ add_info(info, item)
37
49
  if name and info.symbolicName and name != info.symbolicName
38
50
  puts "Warning: in #{item} the symbolicName (#{info.symbolicName}) of the plugin differs from the project name #{name}"
39
51
  end
@@ -44,9 +56,9 @@ module Eclipse
44
56
  puts "Workspace #{@workspace_dir} with #{@plugins.size} plugins #{@views.size}/#{@view_categories.size} views #{@preferencePages.size}/#{@preferencePage_categories.size} preferencePages #{@perspectives.size} perspectives"
45
57
  end
46
58
  private
47
- def add_info(info)
59
+ def add_info(info, dir = nil)
48
60
  if info.feature
49
- @features[info.feature.id] = info
61
+ @features[info.feature.symbolicName] = info.feature
50
62
  return
51
63
  end
52
64
  return unless info.symbolicName
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>ch.elexis.core.application.feature</name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.eclipse.pde.FeatureBuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ <buildCommand>
14
+ <name>org.eclipse.m2e.core.maven2Builder</name>
15
+ <arguments>
16
+ </arguments>
17
+ </buildCommand>
18
+ </buildSpec>
19
+ <natures>
20
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
21
+ <nature>org.eclipse.pde.FeatureNature</nature>
22
+ </natures>
23
+ </projectDescription>
@@ -0,0 +1,703 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <feature
3
+ id="ch.elexis.core.application.feature"
4
+ label="Elexis OpenSource Application Feature"
5
+ version="3.0.0.qualifier"
6
+ provider-name="elexis.info">
7
+
8
+ <description>
9
+ Elexis Open Source Application Feature
10
+ Mehr Info unter http://wiki.elexis.info/ch.elexis.core.application.feature.feature.group
11
+ </description>
12
+
13
+ <copyright url="http://elexis.info/de_contributers.html">
14
+ Gerry Weirich, 2007-2013 und viele andere
15
+ </copyright>
16
+
17
+ <license url="http://www.eclipse.org/legal/epl-v10.html">
18
+ Eclipse Public License v1.0
19
+ </license>
20
+
21
+ <includes
22
+ id="ch.docbox.elexis.feature"
23
+ version="0.0.0"/>
24
+
25
+ <plugin
26
+ id="ch.elexis.core.application"
27
+ download-size="0"
28
+ install-size="0"
29
+ version="0.0.0"
30
+ unpack="false"/>
31
+
32
+ <plugin
33
+ id="org.eclipse.equinox.common"
34
+ download-size="0"
35
+ install-size="0"
36
+ version="0.0.0"
37
+ unpack="false"/>
38
+
39
+ <plugin
40
+ id="org.eclipse.update.configurator"
41
+ download-size="0"
42
+ install-size="0"
43
+ version="0.0.0"
44
+ unpack="false"/>
45
+
46
+ <plugin
47
+ id="org.eclipse.osgi.services"
48
+ download-size="0"
49
+ install-size="0"
50
+ version="0.0.0"
51
+ unpack="false"/>
52
+
53
+ <plugin
54
+ id="org.eclipse.core.runtime"
55
+ download-size="0"
56
+ install-size="0"
57
+ version="0.0.0"
58
+ unpack="false"/>
59
+
60
+ <plugin
61
+ id="org.eclipse.ui"
62
+ download-size="0"
63
+ install-size="0"
64
+ version="0.0.0"
65
+ unpack="false"/>
66
+
67
+ <plugin
68
+ id="org.eclipse.emf.ecore"
69
+ download-size="0"
70
+ install-size="0"
71
+ version="0.0.0"
72
+ unpack="false"/>
73
+
74
+ <plugin
75
+ id="org.jdom"
76
+ download-size="0"
77
+ install-size="0"
78
+ version="0.0.0"
79
+ unpack="false"/>
80
+
81
+ <plugin
82
+ id="org.eclipse.osgi"
83
+ download-size="0"
84
+ install-size="0"
85
+ version="0.0.0"
86
+ unpack="false"/>
87
+
88
+ <plugin
89
+ id="javax.servlet"
90
+ download-size="0"
91
+ install-size="0"
92
+ version="0.0.0"
93
+ unpack="false"/>
94
+
95
+ <plugin
96
+ id="org.eclipse.core.jobs"
97
+ download-size="0"
98
+ install-size="0"
99
+ version="0.0.0"
100
+ unpack="false"/>
101
+
102
+ <plugin
103
+ id="org.eclipse.swt"
104
+ download-size="0"
105
+ install-size="0"
106
+ version="0.0.0"
107
+ unpack="false"/>
108
+
109
+ <plugin
110
+ id="org.eclipse.equinox.registry"
111
+ download-size="0"
112
+ install-size="0"
113
+ version="0.0.0"
114
+ unpack="false"/>
115
+
116
+ <plugin
117
+ id="org.eclipse.equinox.preferences"
118
+ download-size="0"
119
+ install-size="0"
120
+ version="0.0.0"
121
+ unpack="false"/>
122
+
123
+ <plugin
124
+ id="org.eclipse.core.contenttype"
125
+ download-size="0"
126
+ install-size="0"
127
+ version="0.0.0"
128
+ unpack="false"/>
129
+
130
+ <plugin
131
+ id="org.eclipse.equinox.app"
132
+ download-size="0"
133
+ install-size="0"
134
+ version="0.0.0"
135
+ unpack="false"/>
136
+
137
+ <plugin
138
+ id="org.eclipse.emf.common"
139
+ download-size="0"
140
+ install-size="0"
141
+ version="0.0.0"
142
+ unpack="false"/>
143
+
144
+ <plugin
145
+ id="org.eclipse.core.commands"
146
+ download-size="0"
147
+ install-size="0"
148
+ version="0.0.0"
149
+ unpack="false"/>
150
+
151
+ <plugin
152
+ id="org.eclipse.core.databinding"
153
+ download-size="0"
154
+ install-size="0"
155
+ version="0.0.0"
156
+ unpack="false"/>
157
+
158
+ <plugin
159
+ id="org.eclipse.core.databinding.beans"
160
+ download-size="0"
161
+ install-size="0"
162
+ version="0.0.0"
163
+ unpack="false"/>
164
+
165
+ <plugin
166
+ id="org.eclipse.core.databinding.observable"
167
+ download-size="0"
168
+ install-size="0"
169
+ version="0.0.0"
170
+ unpack="false"/>
171
+
172
+ <plugin
173
+ id="org.eclipse.core.expressions"
174
+ download-size="0"
175
+ install-size="0"
176
+ version="0.0.0"
177
+ unpack="false"/>
178
+
179
+ <plugin
180
+ id="org.eclipse.equinox.p2.artifact.repository"
181
+ download-size="0"
182
+ install-size="0"
183
+ version="0.0.0"
184
+ unpack="false"/>
185
+
186
+ <plugin
187
+ id="org.eclipse.equinox.p2.core"
188
+ download-size="0"
189
+ install-size="0"
190
+ version="0.0.0"
191
+ unpack="false"/>
192
+
193
+ <plugin
194
+ id="org.eclipse.equinox.p2.director"
195
+ download-size="0"
196
+ install-size="0"
197
+ version="0.0.0"
198
+ unpack="false"/>
199
+
200
+ <plugin
201
+ id="org.eclipse.equinox.p2.engine"
202
+ download-size="0"
203
+ install-size="0"
204
+ version="0.0.0"
205
+ unpack="false"/>
206
+
207
+ <plugin
208
+ id="org.eclipse.equinox.p2.jarprocessor"
209
+ download-size="0"
210
+ install-size="0"
211
+ version="0.0.0"
212
+ unpack="false"/>
213
+
214
+ <plugin
215
+ id="org.eclipse.equinox.p2.metadata"
216
+ download-size="0"
217
+ install-size="0"
218
+ version="0.0.0"
219
+ unpack="false"/>
220
+
221
+ <plugin
222
+ id="org.eclipse.equinox.p2.metadata.repository"
223
+ download-size="0"
224
+ install-size="0"
225
+ version="0.0.0"
226
+ unpack="false"/>
227
+
228
+ <plugin
229
+ id="org.eclipse.equinox.p2.operations"
230
+ download-size="0"
231
+ install-size="0"
232
+ version="0.0.0"
233
+ unpack="false"/>
234
+
235
+ <plugin
236
+ id="org.eclipse.equinox.p2.repository"
237
+ download-size="0"
238
+ install-size="0"
239
+ version="0.0.0"
240
+ unpack="false"/>
241
+
242
+ <plugin
243
+ id="org.eclipse.equinox.p2.ui"
244
+ download-size="0"
245
+ install-size="0"
246
+ version="0.0.0"
247
+ unpack="false"/>
248
+
249
+ <plugin
250
+ id="org.eclipse.equinox.p2.updatechecker"
251
+ download-size="0"
252
+ install-size="0"
253
+ version="0.0.0"
254
+ unpack="false"/>
255
+
256
+ <plugin
257
+ id="org.eclipse.equinox.security"
258
+ download-size="0"
259
+ install-size="0"
260
+ version="0.0.0"
261
+ unpack="false"/>
262
+
263
+ <plugin
264
+ id="org.eclipse.equinox.security.ui"
265
+ download-size="0"
266
+ install-size="0"
267
+ version="0.0.0"
268
+ unpack="false"/>
269
+
270
+ <plugin
271
+ id="org.eclipse.equinox.simpleconfigurator"
272
+ download-size="0"
273
+ install-size="0"
274
+ version="0.0.0"
275
+ unpack="false"/>
276
+
277
+ <plugin
278
+ id="org.eclipse.jface"
279
+ download-size="0"
280
+ install-size="0"
281
+ version="0.0.0"
282
+ unpack="false"/>
283
+
284
+ <plugin
285
+ id="org.eclipse.jface.databinding"
286
+ download-size="0"
287
+ install-size="0"
288
+ version="0.0.0"
289
+ unpack="false"/>
290
+
291
+ <plugin
292
+ id="org.eclipse.ui.browser"
293
+ download-size="0"
294
+ install-size="0"
295
+ version="0.0.0"
296
+ unpack="false"/>
297
+
298
+ <plugin
299
+ id="org.eclipse.ui.forms"
300
+ download-size="0"
301
+ install-size="0"
302
+ version="0.0.0"
303
+ unpack="false"/>
304
+
305
+ <plugin
306
+ id="org.eclipse.ui.workbench"
307
+ download-size="0"
308
+ install-size="0"
309
+ version="0.0.0"
310
+ unpack="false"/>
311
+
312
+ <plugin
313
+ id="bcprov"
314
+ download-size="0"
315
+ install-size="0"
316
+ version="0.0.0"
317
+ unpack="false"/>
318
+
319
+ <plugin
320
+ id="org.eclipse.core.databinding.property"
321
+ download-size="0"
322
+ install-size="0"
323
+ version="0.0.0"
324
+ unpack="false"/>
325
+
326
+ <plugin
327
+ id="com.ibm.icu"
328
+ download-size="0"
329
+ install-size="0"
330
+ version="0.0.0"
331
+ unpack="false"/>
332
+
333
+ <plugin
334
+ id="com.mysql.jdbc"
335
+ download-size="0"
336
+ install-size="0"
337
+ version="0.0.0"
338
+ unpack="false"/>
339
+
340
+ <plugin
341
+ id="org.h2"
342
+ download-size="0"
343
+ install-size="0"
344
+ version="0.0.0"
345
+ unpack="false"/>
346
+
347
+ <plugin
348
+ id="org.postgresql"
349
+ download-size="0"
350
+ install-size="0"
351
+ version="0.0.0"
352
+ unpack="false"/>
353
+
354
+ <plugin
355
+ id="org.sat4j.core"
356
+ download-size="0"
357
+ install-size="0"
358
+ version="0.0.0"
359
+ unpack="false"/>
360
+
361
+ <plugin
362
+ id="org.sat4j.pb"
363
+ download-size="0"
364
+ install-size="0"
365
+ version="0.0.0"
366
+ unpack="false"/>
367
+
368
+ <plugin
369
+ id="org.eclipse.help"
370
+ download-size="0"
371
+ install-size="0"
372
+ version="0.0.0"
373
+ unpack="false"/>
374
+
375
+ <plugin
376
+ id="org.eclipse.swt.gtk.linux.x86"
377
+ os="linux"
378
+ arch="x86"
379
+ download-size="0"
380
+ install-size="0"
381
+ version="0.0.0"
382
+ fragment="true"
383
+ unpack="false"/>
384
+
385
+ <plugin
386
+ id="org.eclipse.swt.gtk.linux.x86_64"
387
+ os="linux"
388
+ arch="x86_64"
389
+ download-size="0"
390
+ install-size="0"
391
+ version="0.0.0"
392
+ fragment="true"
393
+ unpack="false"/>
394
+
395
+ <plugin
396
+ id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"
397
+ os="macosx"
398
+ arch="x86_64"
399
+ download-size="0"
400
+ install-size="0"
401
+ version="0.0.0"
402
+ fragment="true"/>
403
+
404
+ <plugin
405
+ id="org.eclipse.swt.cocoa.macosx.x86_64"
406
+ os="macosx"
407
+ arch="x86_64"
408
+ download-size="0"
409
+ install-size="0"
410
+ version="0.0.0"
411
+ fragment="true"
412
+ unpack="false"/>
413
+
414
+ <plugin
415
+ id="org.eclipse.swt.win32.win32.x86"
416
+ os="win32"
417
+ arch="x86"
418
+ download-size="0"
419
+ install-size="0"
420
+ version="0.0.0"
421
+ fragment="true"
422
+ unpack="false"/>
423
+
424
+ <plugin
425
+ id="org.eclipse.swt.win32.win32.x86_64"
426
+ os="win32"
427
+ arch="x86_64"
428
+ download-size="0"
429
+ install-size="0"
430
+ version="0.0.0"
431
+ fragment="true"
432
+ unpack="false"/>
433
+
434
+ <plugin
435
+ id="org.eclipse.equinox.launcher.gtk.linux.x86"
436
+ os="linux"
437
+ arch="x86"
438
+ download-size="0"
439
+ install-size="0"
440
+ version="0.0.0"
441
+ fragment="true"/>
442
+
443
+ <plugin
444
+ id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
445
+ os="linux"
446
+ arch="x86_64"
447
+ download-size="0"
448
+ install-size="0"
449
+ version="0.0.0"
450
+ fragment="true"/>
451
+
452
+ <plugin
453
+ id="com.healthmarketscience.jackcess"
454
+ download-size="0"
455
+ install-size="0"
456
+ version="0.0.0"
457
+ unpack="false"/>
458
+
459
+ <plugin
460
+ id="net.sf.opencsv"
461
+ download-size="0"
462
+ install-size="0"
463
+ version="0.0.0"
464
+ unpack="false"/>
465
+
466
+ <plugin
467
+ id="org.rxtx"
468
+ download-size="0"
469
+ install-size="0"
470
+ version="0.0.0"
471
+ unpack="false"/>
472
+
473
+ <plugin
474
+ id="org.apache.poi"
475
+ download-size="0"
476
+ install-size="0"
477
+ version="0.0.0"
478
+ unpack="false"/>
479
+
480
+ <plugin
481
+ id="org.eclipse.equinox.ds"
482
+ download-size="0"
483
+ install-size="0"
484
+ version="0.0.0"
485
+ unpack="false"/>
486
+
487
+ <plugin
488
+ id="org.apache.commons.lang"
489
+ download-size="0"
490
+ install-size="0"
491
+ version="0.0.0"
492
+ unpack="false"/>
493
+
494
+ <plugin
495
+ id="org.eclipse.equinox.launcher"
496
+ download-size="0"
497
+ install-size="0"
498
+ version="0.0.0"
499
+ unpack="false"/>
500
+
501
+ <plugin
502
+ id="org.eclipse.equinox.util"
503
+ download-size="0"
504
+ install-size="0"
505
+ version="0.0.0"
506
+ unpack="false"/>
507
+
508
+ <plugin
509
+ id="org.eclipse.equinox.p2.transport.ecf"
510
+ download-size="0"
511
+ install-size="0"
512
+ version="0.0.0"
513
+ unpack="false"/>
514
+
515
+ <plugin
516
+ id="org.eclipse.core.net"
517
+ download-size="0"
518
+ install-size="0"
519
+ version="0.0.0"
520
+ unpack="false"/>
521
+
522
+ <plugin
523
+ id="org.eclipse.ecf.filetransfer"
524
+ download-size="0"
525
+ install-size="0"
526
+ version="0.0.0"
527
+ unpack="false"/>
528
+
529
+ <plugin
530
+ id="org.eclipse.ecf.provider.filetransfer"
531
+ download-size="0"
532
+ install-size="0"
533
+ version="0.0.0"
534
+ unpack="false"/>
535
+
536
+ <plugin
537
+ id="org.eclipse.ecf"
538
+ download-size="0"
539
+ install-size="0"
540
+ version="0.0.0"
541
+ unpack="false"/>
542
+
543
+ <plugin
544
+ id="org.eclipse.ecf.identity"
545
+ download-size="0"
546
+ install-size="0"
547
+ version="0.0.0"
548
+ unpack="false"/>
549
+
550
+ <plugin
551
+ id="org.eclipse.ecf.provider.filetransfer.httpclient"
552
+ download-size="0"
553
+ install-size="0"
554
+ version="0.0.0"
555
+ unpack="false"/>
556
+
557
+ <plugin
558
+ id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl"
559
+ download-size="0"
560
+ install-size="0"
561
+ version="0.0.0"
562
+ fragment="true"
563
+ unpack="false"/>
564
+
565
+ <plugin
566
+ id="org.eclipse.ecf.provider.filetransfer.ssl"
567
+ download-size="0"
568
+ install-size="0"
569
+ version="0.0.0"
570
+ fragment="true"
571
+ unpack="false"/>
572
+
573
+ <plugin
574
+ id="org.apache.commons.httpclient"
575
+ download-size="0"
576
+ install-size="0"
577
+ version="0.0.0"
578
+ unpack="false"/>
579
+
580
+ <plugin
581
+ id="org.apache.commons.codec"
582
+ download-size="0"
583
+ install-size="0"
584
+ version="0.0.0"
585
+ unpack="false"/>
586
+
587
+ <plugin
588
+ id="org.eclipse.equinox.p2.touchpoint.eclipse"
589
+ download-size="0"
590
+ install-size="0"
591
+ version="0.0.0"
592
+ unpack="false"/>
593
+
594
+ <plugin
595
+ id="org.eclipse.equinox.p2.touchpoint.natives"
596
+ download-size="0"
597
+ install-size="0"
598
+ version="0.0.0"
599
+ unpack="false"/>
600
+
601
+ <plugin
602
+ id="org.eclipse.swt"
603
+ download-size="0"
604
+ install-size="0"
605
+ version="0.0.0"
606
+ unpack="false"/>
607
+
608
+ <plugin
609
+ id="org.eclipse.ui.workbench"
610
+ download-size="0"
611
+ install-size="0"
612
+ version="0.0.0"
613
+ unpack="false"/>
614
+
615
+ <plugin
616
+ id="org.eclipse.equinox.p2.reconciler.dropins"
617
+ download-size="0"
618
+ install-size="0"
619
+ version="0.0.0"
620
+ unpack="false"/>
621
+
622
+ <plugin
623
+ id="org.eclipse.equinox.p2.directorywatcher"
624
+ download-size="0"
625
+ install-size="0"
626
+ version="0.0.0"
627
+ unpack="false"/>
628
+
629
+ <plugin
630
+ id="org.eclipse.equinox.p2.publisher"
631
+ download-size="0"
632
+ install-size="0"
633
+ version="0.0.0"
634
+ unpack="false"/>
635
+
636
+ <plugin
637
+ id="org.eclipse.equinox.p2.publisher.eclipse"
638
+ download-size="0"
639
+ install-size="0"
640
+ version="0.0.0"
641
+ unpack="false"/>
642
+
643
+ <plugin
644
+ id="org.eclipse.equinox.p2.extensionlocation"
645
+ download-size="0"
646
+ install-size="0"
647
+ version="0.0.0"
648
+ unpack="false"/>
649
+
650
+ <plugin
651
+ id="org.eclipse.equinox.frameworkadmin"
652
+ download-size="0"
653
+ install-size="0"
654
+ version="0.0.0"
655
+ unpack="false"/>
656
+
657
+ <plugin
658
+ id="org.eclipse.equinox.simpleconfigurator.manipulator"
659
+ download-size="0"
660
+ install-size="0"
661
+ version="0.0.0"
662
+ unpack="false"/>
663
+
664
+ <plugin
665
+ id="org.eclipse.equinox.p2.garbagecollector"
666
+ download-size="0"
667
+ install-size="0"
668
+ version="0.0.0"
669
+ unpack="false"/>
670
+
671
+ <plugin
672
+ id="org.eclipse.equinox.frameworkadmin.equinox"
673
+ download-size="0"
674
+ install-size="0"
675
+ version="0.0.0"
676
+ unpack="false"/>
677
+
678
+ <plugin
679
+ id="org.eclipse.ecf.ssl"
680
+ download-size="0"
681
+ install-size="0"
682
+ version="0.0.0"
683
+ fragment="true"
684
+ unpack="false"/>
685
+
686
+ <plugin
687
+ id="org.eclipse.ui.cocoa"
688
+ os="macosx"
689
+ ws="cocoa"
690
+ download-size="0"
691
+ install-size="0"
692
+ version="0.0.0"
693
+ fragment="true"
694
+ unpack="false"/>
695
+
696
+ <plugin
697
+ id="org.apache.commons.io"
698
+ download-size="0"
699
+ install-size="0"
700
+ version="0.0.0"
701
+ unpack="false"/>
702
+
703
+ </feature>