|
|
|
|
Re: No intent document in intent project [message #755658 is a reply to message #755597] |
Wed, 09 November 2011 08:49   |
|
Hi Andy,
the tutorial explains how to synchronize any model with your doc. To
synchronize any other technical artifact (javaClasses, MANIFEST.MF
files, code examples on the Internet...), Intent uses pluggable
synchronization bridges, that are in charge of computing a model out of
concrete artifacts like java files(see
http://www.eclipse.org/intent/pages/transcripts/2011_EclipseConEurope/img18.html).
I wrote very quickly a basic synchronization bridge that allows to
synchronize java test projects. I'll soon work on a more generic
synchronization bridge, that allows to document any java file. Writing a
new synchronization bridge is quite easy, and I'll work hard to make it
as straighforward as possible.
Would you explain to me how do you want to represent java files in your
use case ? I explain myself : I'll have to write a metamodel to
represent a plugin with its java files.
If I define the metamodel as below :
- a JavaPlugin contains JavaClasses
- a JavaClass contains Method
You could write inside Intent :
Section {
Specifications of the Intent RCP Plugin
The prupose of the Intent RCP Plugin is to... It has been defined to
fulfill requirements definined in @see "1.2 Project requirements".
@M
new Plugin intentRCPPlugin {
qualifiedName = "com.da.intent.rcp";
};
M@
}
Section {
Implementation of the RCP Plugin
We define inside the IntentRCPPlugin the SquareRoot class to represent.....
@M
intentRCPPlugin {
classes += new JavaClass SquareRoot {
methods += new Method getChildren{};
};
}
M@
}
But you have many other ways to represent a plugin, freeying you from
your physical structure.
Let's say I add to the metamodel defined previously the following
concepts :
- A Software contains Features
- A Software contains Plugin
- Each JavaClass should be at least associated to a feature
This will add many useful informations : by reading the doc you could
say by looking this fragment :
SquareRoot {
relatedFeatures += [drawSquares, persistency];
}
You understand that the SquareRoot class has been defined to ensure 2
different features. That's an information that could be hard to get from
the code or javadoc, in which you're often missing the big picture. What
is more, Intent will allows you to to plugin custom validation rules
like "Any javaClass of my plugin should be associated to at least one
Feature" or "Any feature should be covered by at least one Test".
To have an example of how can Intent synchronize JavaCode and check
custom validation rules, I invite you to check this demo
http://www.eclipse.org/intent/pages/transcripts/2011_EclipseConEurope/img22.html
..
So I'll be glad that you give me your opinion on what could be the best
way for you to represent eclipse plugin & java files. Be sure that I
will take this opinion into account when writing the Java
synchronization bridge. I've got some tasks to do first (documentation
export for example), but I'll keep you in tuch.
Thanks a lot for your interest in Intent, there's a lot to do to make
the project work in all usecases but the core & architecture have been
wrote for this purpose :)
Cheers,
Alex
|
|
|
|
Powered by
FUDForum. Page generated in 0.02216 seconds