ontomde-plugin-rsm6 1.0.106

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/History.txt +5 -0
  2. data/Manifest.txt +32 -0
  3. data/README.txt +44 -0
  4. data/Rakefile +18 -0
  5. data/bin/ontomde-plugin-rsm6-install +5 -0
  6. data/dist/fr.ft.emf2rdf_1.0.106/META-INF/CopyMANIFEST.MF +19 -0
  7. data/dist/fr.ft.emf2rdf_1.0.106/emf2rdf.jar +0 -0
  8. data/dist/fr.ft.emf2rdf_1.0.106/icons/rdf_w3c_icon.48.gif +0 -0
  9. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-codec-1.3/LICENSE +202 -0
  10. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-codec-1.3/RELEASE-NOTES.txt +53 -0
  11. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-codec-1.3/commons-codec-1.3.jar +0 -0
  12. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/LICENSE +176 -0
  13. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/LICENSE.txt +176 -0
  14. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/README +12 -0
  15. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/README.txt +12 -0
  16. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/RELEASE_NOTES +773 -0
  17. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/RELEASE_NOTES.txt +773 -0
  18. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-httpclient-3.0/commons-httpclient-3.0.jar +0 -0
  19. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-logging-1.0.4/LICENSE.txt +202 -0
  20. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-logging-1.0.4/NOTICE.txt +3 -0
  21. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-logging-1.0.4/RELEASE-NOTES.txt +124 -0
  22. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-logging-1.0.4/commons-logging-api.jar +0 -0
  23. data/dist/fr.ft.emf2rdf_1.0.106/lib/commons-logging-1.0.4/commons-logging.jar +0 -0
  24. data/dist/fr.ft.emf2rdf_1.0.106/lib/modelerviews.jar +0 -0
  25. data/dist/fr.ft.emf2rdf_1.0.106/lib/xerces/resolver.jar +0 -0
  26. data/dist/fr.ft.emf2rdf_1.0.106/lib/xerces/xercesImpl.jar +0 -0
  27. data/dist/fr.ft.emf2rdf_1.0.106/lib/xerces/xml-apis.jar +0 -0
  28. data/dist/fr.ft.emf2rdf_1.0.106/lib/xtoolscore.jar +0 -0
  29. data/dist/fr.ft.emf2rdf_1.0.106/plugin.xml +89 -0
  30. data/lib/ontomde-plugin-rsm6.rb +182 -0
  31. data/lib/ontomde-plugin-rsm6/version.rb +7 -0
  32. data/test/test_ontomde-plugin-rsm6.rb +0 -0
  33. metadata +102 -0
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,3 @@
1
+ This product includes software developed by
2
+ The Apache Software Foundation (http://www.apache.org/).
3
+
@@ -0,0 +1,124 @@
1
+ <!--
2
+
3
+ Copyright 2001-2004 The Apache Software Foundation.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+
17
+ -->
18
+
19
+ $Id: RELEASE-NOTES.txt,v 1.7 2004/06/01 20:39:50 rdonkin Exp $
20
+
21
+ Commons Logging Package
22
+ Version 1.0.4
23
+ Release Notes
24
+
25
+
26
+ INTRODUCTION:
27
+ ============
28
+
29
+ This document contains the release notes for this version of the Commons
30
+ Logging package. It is primarily a service release for downstream users.
31
+ The main emphasis maintenance and code cleanup release,
32
+ with some new features including support for both the old 1.2.x series
33
+ of Log4J releases and the new 1.3.x series of releases.
34
+
35
+ The following paragraphs document changes since the previous release
36
+ (version 1.0.3). The documentation (userguide and javadoc)
37
+ has also been improved.
38
+
39
+
40
+ NEW FEATURES:
41
+ ============
42
+
43
+ [ALL FILES] This version of Commons Logging is released under the
44
+ Apache License (Version 2.0). All source files have been
45
+ modified to reflect this.
46
+
47
+ [maven.xml] Added beginnings of a Maven-based build, primarily for the
48
+ purpose of creating documentation consistent with Mavenized
49
+ commons projects. The official build system for the software
50
+ is still the Ant "build.xml" file.
51
+
52
+ [AvalonLogger] Added AvalonLogger, which wraps the logger used by the
53
+ Avalon framework. As with other implementations, this
54
+ is compiled only if the appropriate dependencies are
55
+ satisfied.
56
+
57
+ [Jdk13LumberjackLogger]
58
+ Added Jdk13LumberjackLogger, which wraps the implementation
59
+ of the JSR-47 logging APIs (for JDKs before 1.4) provided
60
+ by the SourceForge "lumberjack" project.
61
+ <http://sourceforge.net/projects/lumberjack/>
62
+
63
+ [LogFactoryImpl] If an InvocationTargetException is returned during the
64
+ creation of a new Log instance, unwrap the underlying
65
+ cause and pass it in to the LogConfigurationException
66
+ constructor. This will make the actual cause of the
67
+ problem easier to diagnose.
68
+
69
+ [LogFactoryImpl] If the isAssignableFrom() test fails because there is more
70
+ than one instance of org.apache.commons.logging.Log visible
71
+ in the class loader hierarchy, make the exception message
72
+ that is reported explicitly state this, rather than the
73
+ potentially misleading claim that an implementation class
74
+ does not implement Log.
75
+
76
+ [Log4JLogger] Changes to allow this logger to support both the existing 1.2.x
77
+ series of releases and also the upcoming 1.3.x series of Log4J
78
+ releases.
79
+
80
+ [SimpleLog] Added support for setting date-time format.
81
+
82
+ BUG FIXES:
83
+ =========
84
+
85
+ [MANIFEST.MF] Remove reference to Log4J from the manifest classpath.
86
+
87
+ [LogConfigurationException]
88
+ Include root cause in the text of the message, if present.
89
+
90
+ [LogFactory] Improve usability of error messages reporting
91
+ configuration problems.
92
+
93
+ [JDK14Logger] Implement Serializable, remove "final" declaration for
94
+ easy subclassing.
95
+
96
+ [Log4JLogger] Implement Serializable, remove "final" declaration for
97
+ easy subclassing.
98
+
99
+ [NoOpLogger] Implement Serializable, remove "final" declaration for
100
+ easy subclassing.
101
+
102
+ [SimpleLog] Make SimpleLog more friendly to the security manager
103
+ in an applet environment, by swallowing any security
104
+ exceptions when looking up system properties that are
105
+ not accessible.
106
+
107
+
108
+
109
+ DEPRECATIONS:
110
+ ============
111
+
112
+ (These are carried forward from Version 1.0.3)
113
+
114
+ [LogSource] Previously deprecated, replaced by LogFactory.
115
+
116
+ [Log4jFactory] A proxy instance of this class was transparently created
117
+ when Log4J logging was selected, yet it serves no useful
118
+ purpose. The class is now deprecated, and the proxy
119
+ instance is no longer created.
120
+
121
+ [Log4JCategoryLog] This class has been replaced by Log4JLogger, which
122
+ corresponds to the availability of the new Logger class
123
+ in Log4J 1.2 and later.
124
+
@@ -0,0 +1,89 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?eclipse version="3.0"?>
3
+ <plugin id="fr.ft.emf2rdf.generator" name="fr.ft.emf2rdf.generator" version="1.0.106" class="com.francetelecom.cil.xmda.rsm6.plugin.EmfPlugin" provider-name="France Telecom R&amp;D">
4
+ <runtime>
5
+ <library name="lib/xerces/resolver.jar">
6
+ <export name="*" />
7
+ </library>
8
+ <library name="lib/xerces/xercesImpl.jar">
9
+ <export name="*" />
10
+ </library>
11
+ <library name="lib/xerces/xml-apis.jar">
12
+ <export name="*" />
13
+ </library>
14
+ <library name="emf2rdf.jar">
15
+ <export name="*" />
16
+ </library>
17
+ <library name="lib/commons-codec-1.3/commons-codec-1.3.jar">
18
+ <export name="*"/>
19
+ </library>
20
+ <library name="lib/commons-httpclient-3.0/commons-httpclient-3.0.jar">
21
+ <export name="*"/>
22
+ </library>
23
+ <library name="lib/commons-logging-1.0.4/commons-logging.jar">
24
+ <export name="*"/>
25
+ </library>
26
+ <library name="lib/commons-logging-1.0.4/commons-logging-api.jar">
27
+ <export name="*"/>
28
+ </library>
29
+ </runtime>
30
+ <requires>
31
+ <import plugin="org.eclipse.ui" />
32
+ <import plugin="org.eclipse.core.runtime" />
33
+ <import plugin="org.eclipse.core.resources" />
34
+ <import plugin="org.eclipse.emf" />
35
+ <import plugin="org.eclipse.uml2"/>
36
+ <import plugin="com.ibm.xtools.common.core" />
37
+ <import plugin="com.ibm.xtools.modeler.ui.views" />
38
+ <import plugin="org.eclipse.ui.console"/>
39
+ </requires>
40
+ <extension
41
+ point="org.eclipse.ui.popupMenus">
42
+ <objectContribution
43
+ adaptable="false"
44
+ id="fr.ft.emf2rdf.objectContribution1"
45
+ objectClass="org.eclipse.core.resources.IFile">
46
+ <action
47
+ class="com.francetelecom.cil.xmda.rsm6.plugin.action.GenerateFromFileAction"
48
+ icon="icons/rdf_w3c_icon.48.gif"
49
+ id="fr.ft.emf2rdf.generatefromfile"
50
+ label="Export MTK"/>
51
+ </objectContribution>
52
+ <objectContribution
53
+ adaptable="false"
54
+ id="fr.ft.emf2rdf.objectContribution2"
55
+ objectClass="org.eclipse.uml2.Element">
56
+ <action
57
+ class="com.francetelecom.cil.xmda.rsm6.plugin.action.GenerateFromObjectAction"
58
+ icon="icons/rdf_w3c_icon.48.gif"
59
+ id="fr.ft.emf2rdf.generatefromobject"
60
+ label="Export MTK"/>
61
+ </objectContribution>
62
+ <objectContribution
63
+ adaptable="false"
64
+ id="fr.ft.emf2rdf.generator.objectContribution3"
65
+ objectClass="com.ibm.xtools.modeler.ui.views.internal.providers.content.ModelServerElement">
66
+ <action
67
+ class="com.francetelecom.cil.xmda.rsm6.plugin.action.GenerateFromRSMObjectAction"
68
+ icon="icons/rdf_w3c_icon.48.gif"
69
+ id="fr.ft.emf2rdf.generatefromrsmobject"
70
+ label="Export MTK (Fragment)"/>
71
+ <action
72
+ class="com.francetelecom.cil.xmda.rsm6.plugin.action.GenerateAllFromRSMObjectAction"
73
+ icon="icons/rdf_w3c_icon.48.gif"
74
+ id="fr.ft.emf2rdf.generator.action1"
75
+ label="Export MTK (Toutes les ressources)"/>
76
+ </objectContribution>
77
+ </extension>
78
+ <extension
79
+ point="org.eclipse.ui.preferencePages">
80
+ <page
81
+ class="com.francetelecom.cil.xmda.rsm6.plugin.preferences.MTKPreferencePage"
82
+ id="fr.ft.emf2rdf.generator.preferences.MTKPreferencePage"
83
+ name="MTK Settings"/>
84
+ </extension>
85
+ <extension
86
+ point="org.eclipse.core.runtime.preferences">
87
+ <initializer class="com.francetelecom.cil.xmda.rsm6.plugin.preferences.PreferenceInitializer"/>
88
+ </extension>
89
+ </plugin>
@@ -0,0 +1,182 @@
1
+ require 'ontomde-plugin-rsm6/version.rb'
2
+
3
+ require 'rake'
4
+ require 'fileutils'
5
+ require 'optparse'
6
+
7
+ RSM6_PLUGIN_VERSION=Ontomde::Plugin::Rsm6::VERSION
8
+ def rsm6_install_plugin(scriptName)
9
+ s="************************************************"
10
+ puts s
11
+ puts "** Installation program for RSM rdfmda plugin v:#{RSM6_PLUGIN_VERSION} **"
12
+ puts s
13
+ puts ""
14
+ options = {}
15
+ options[:rsm]=nil
16
+
17
+ #cf: http://www.ruby-doc.org/core/classes/OptionParser.html
18
+ OptionParser.new do |opts|
19
+ opts.banner =<<ENDHELP
20
+ Usage: #{scriptName} [options]
21
+ ------------------------------------------------------
22
+ #{scriptName} converts a UML2/RDF model file
23
+ into a protege 2000 knowledge base.
24
+
25
+ Example:
26
+ $ #{scriptName} --rsm6 myUmlModel.emx.nt
27
+ will generate these Protege files:
28
+ * myUmlModel.emx.nt_kb.pprj
29
+ * myUmlModel.emx.nt_kb.rdf
30
+ * myUmlModel.emx.nt_kb.rdfs
31
+ ------------------------------------------------------
32
+ ENDHELP
33
+
34
+ opts.on("-v", "--[no|-verbose", "Run in verbose mode") do |v|
35
+ options[:verbose] = v
36
+ end
37
+
38
+ opts.on("-r","--rsm DIRECTORY",Array,"RSM 6 Directory") do |v|
39
+ options[:rsm]=v
40
+ end
41
+
42
+ opts.on("-n","--no_default","Do not use default settings","option used primarily used for testing") do |v|
43
+ options[:no_default]=v
44
+ end
45
+
46
+ opts.separator ""
47
+ opts.separator "Common options:"
48
+
49
+ # No argument, shows at tail. This will print an options summary.
50
+ # Try it and see!
51
+ opts.on_tail("-h", "--help", "Show this message") do
52
+ puts opts
53
+ exit
54
+ end
55
+
56
+ end.parse!
57
+ ["RSM6_HOME", "RSM_HOME"].each { |v|
58
+ if options[:rsm].nil? && !ENV[v].nil?
59
+ puts "NOTE: using environment variable #{v}"
60
+ puts "#{v}=#{ENV[v]}"
61
+ puts ""
62
+ options[:rsm]=[ENV[v]]
63
+ end
64
+ }
65
+ if options[:rsm].nil? && !options[:no_default]
66
+ puts "NOTE: using default RSM6 installation directory"
67
+ options[:rsm]=[".","C:\\Program Files\\IBM\\Rational\\SDP\\6.0"]
68
+ end
69
+
70
+ if ARGV.length > 0
71
+ puts "Incorrect syntax used"
72
+ puts "parameter #{ARGV} was not understood"
73
+ puts "Please refer to documentation with :"
74
+ puts "> #{scripName} --help"
75
+
76
+ end
77
+
78
+ [:rsm].each { |p|
79
+ puts "--#{p}=#{options[p]}" if options[:verbose]
80
+ next unless options[p].nil?
81
+ m="--#{p} parameter is mandatory"
82
+ puts("")
83
+ puts(m)
84
+ puts("For command syntax :")
85
+ puts("#{File.basename(__FILE__)} --help")
86
+ puts("")
87
+ raise Exception.new(m)
88
+ }
89
+
90
+
91
+ options[:rsm].each { |rsm_home|
92
+ tab=" "
93
+ puts "looking for IBM RSM in directory :\n\"#{rsm_home}\"."
94
+ if !File.exist?(rsm_home)
95
+ puts "ERROR: \"#{rsm_home}\" is not a directory."
96
+ next
97
+ end
98
+ rsm_plugin=rsm_home+'/radrsm_shared/eclipse/plugins/'
99
+ #puts "STEP 2: looking for plugin directory: #{rsm_plugin}"
100
+ if !File.exist?(rsm_plugin)
101
+ #puts "#{tab}Plugin directory not found in \"#{rsm_home}\""
102
+ puts "ERROR: \"#{rsm_home}\" is not a rsm6 directory ."
103
+ next
104
+ end
105
+
106
+ plugin_install(rsm_plugin)
107
+ puts "done !"
108
+ exit(0)
109
+ }
110
+
111
+ puts <<END
112
+ RSM directory was not found.
113
+ Please provide #{scriptName} the correct RSM6 installation directory.
114
+
115
+ Option 1) Use RSM6_HOME environnement variable.
116
+ > #{scriptName}
117
+
118
+ Option 2) Provide RSM directory on the command line.
119
+ > #{scriptName} --rsm6 "C:\\Program Files\\IBM\\Rational\\SDP\\6.0"
120
+
121
+ Option 3) Launch #{scriptName} from RSM6 directory
122
+ > cd <RSM6 DIRECTORY>
123
+ > #{scriptName}
124
+
125
+ NOTE: The root directory of RSM is the directory
126
+ containing the following folders:
127
+ * radrsm_shared
128
+ * rsm_prod
129
+ * setup
130
+ * ...
131
+ END
132
+
133
+ puts "*******************************************"
134
+ puts "Plugin installation was **not** successful."
135
+ puts "*******************************************"
136
+ exit
137
+
138
+ end
139
+ def plugin_install(rsm_plugin)
140
+ s="************************************************"
141
+ puts s
142
+
143
+ zip_file="#{File.dirname(__FILE__)}/../dist/fr.ft.emf2rdf_#{RSM6_PLUGIN_VERSION}/"
144
+ #puts ">Performing internal check."
145
+ if !File.exists?(zip_file+"/plugin.xml")
146
+ puts s
147
+ puts "** Internal error : missing plugin file version #{RSM6_PLUGIN_VERSION}."
148
+ puts "#{zip_file}"
149
+ puts s
150
+ exit 1
151
+ end
152
+
153
+ puts "unziping plugin to :\n \"#{rsm_plugin}\""
154
+ cp_r(zip_file,rsm_plugin)
155
+
156
+ #File.chdir "#{zip_file}/../"
157
+ #FileList["fr.ft.emf2rdf_#{RSM6_PLUGIN_VERSION}/**/*" ].each { |f|
158
+ # puts "installing #{f}"
159
+ # .copy("#{f}","c:/tmp/#{f}")
160
+ #}
161
+
162
+
163
+ puts "checking installation"
164
+ plugin_file=rsm_plugin+"/fr.ft.emf2rdf_#{RSM6_PLUGIN_VERSION}/plugin.xml"
165
+
166
+ if !File.exists?(plugin_file)
167
+ puts s
168
+ puts "** Internal error during installation."
169
+ puts s
170
+ puts "diagnostic:"
171
+ puts " RSM_HOME=\"#{rsm_home}\""
172
+ puts s
173
+ exit(1)
174
+ end
175
+
176
+ puts ""
177
+ puts s
178
+ puts "** installation successful. Restart RSM."
179
+ puts s
180
+
181
+ end
182
+