|
There are few things more frustrating than spending hours trying
to install a piece of software and then having to delete everything
and start again. Today at 9.30 I began installing
openArchitectureWare, I finally had it installed (I think) at
15.30. So I thought I'd write this to help someone else do it more quickly. OpenArchitectureWare is a set of tools, based on Eclipse, to
support Model Driven Development. I'm interested in exploring some of
its tools that are oriented towards
DomainSpecificLanguages. (Xtext - which helps you develop
textual languages - is something that's specifically been pointed out
to me as worth looking at.) I don't know how worthwhile these tools
are yet, after all it took me most of the day just to install the
dratted thing, but we'll see. One of my problems with the installation was that I'm not an
Eclipse user - my usual Java IDE is IntelliJ. To install
openArchitectureWare you need to know how to deal with the plugin
system in Eclipse - and I'd never done anything with Eclipse before
so that was new to me. The first step was the easiest one - install Eclipse. I installed
it on my Ubuntu machine, so all I had to do was wajig install
eclipse (wajig is a unified command-line for various debian
packaging and sysadmin tools). Then all hell broke loose. Rather
than go through my miserable morning, I'll explain what I would do now. The trouble with OpenArchitectureWare is that it has
dependencies, other eclipse plugins that need to be installed before
it can work. As anyone with experience in these things knows,
sorting out dependencies can be a right pain without a good
tool. apt-get for Debian and gem for ruby are examples of a
good tool that resolves dependencies. When I installed eclipse,
apt-get knew it had to pull down a whole host of dependencies and
installed them for me. The situation in Eclipse is not so good. To install openArchitectureWare you need a bunch of plugins: EMF,
UML2, ATL, and GMF. I couldn't see from the web pages exactly how to
get these things, or if they had their own dependencies. There are several ways of installing plugins in Eclipse, although
I had to hunt a bit for instructions. The easiest way is a menu option
in Eclipse itself. In the menus pick [Help -> Software Updates -> Find
and Install] (no I don't know why it's on the help menu). With a bit
of button pushing you can get it to download a list of packages - the
relevant source is the Callisto Discovery Site. Once you have that
list downloaded look in the Models and Model Development section and
select Eclipse Modeling Framework (EMF) and Graphical Modeling
Framework (GMF). You'll get an error message saying that these have an
unresolved dependency. Take note of the button on the right that says
'select required'. Hit it and it will find the dependency to GEF and
its dependency on Batik. If you don't see that button and hit it
you'll have a frustrating time trying to find them (believe me, I
know). That gets two of openArchitectureWare's dependencies. The others,
and openArchitectureWare itself need to be done the harder
way. Digging around the eclipse site I found the relevant web pages
for UML2 and ATL. These need to be downloaded as zip files as does openArchitectureWare itself. When you unzip the UML2 and openArchitectureWare folders they
unzip into a folder called eclipse that contains subfolders for
plugins and features. You can take the contents of these folders and
put them into corresponding folders on your load environment (in
my case /usr/local/lib/eclipse). As that didn't work for me when I
tried it first, I found another way. The way to tell if stuff has installed properly is to go to [Help ->
Software Updates -> Manage Configuration]. When you open that you
have the option of "Add an Extension Location". An extension
location is (almost) any directory that contains an eclipse folder
with subfolder for plugins and features. I say almost because the
eclipse folder also needs a file called
.eclipseextension. This is just an empty file so you
can create it with touch .eclipseextension. What I did
is created folders in /usr/local/lib for
openArchitectureWare and uml2-eclipse,
moved the unzipped eclipse folders in there, did touch
.eclipseextension inside each of them and then added them
using "Add an Extension Location". ATL just produces a plugin
directory so I copied the contents of it into the plugin directory
for openArchitectureWare. It's important that you do this after you use the Find and
Install tool because if you do it first, the Find and Install tool
will tell you have an unresolved dependency and refuse to do
anything until you fix it. When I was all installed it tells me
"UML2 End-User Features (2.1.1.v200707181556) requires plug-in
"org.eclipse.emf.ecore.xmi (2.3.0)". I don't know how to fix this
and I have a bunch of emf.ecore jars present in EMF. However the
rest of eclipse seems to
work so far, so I'm carrying on regardless.
|