Hey Stefan,
I'll try to explain better...
I'm trying to run an empty JUnit test case that uses the standard IntelliJ
test harness described here[0]. The test harness is used to give access to
functions that manipulate the IDE, but in a headless mode (e.g.
performEditorAction()). My understanding of the problem is that in running
these tests, you need access to the IDEA SDK, and it's dependencies.
However, any useful test will also require the Saros-I plugin to be on the
classpath. I don't think IntelliJ has different classpaths for plugins, in
the way that Eclipse might with OSGi. I think they all exist on the same
classpath. This results in a conflict because of a dependency on different
versions of PicoContainer. This will affect normal, headless, non-STF-like
unit tests.
Does that make more sense?
For the STF-like tests, what you describe in terms of different IntelliJ
installs seems like the way to go. If I can get two instances fired up via
an Ant call, then I can start on trying to instrument the running
applications with RPCs (with RMI, or whatever STF does, can't remember
right now :-D).
Hopefully I'll get to chat to Holger soon and we can discuss where to go
next at a higher bandwidth.
Cheers,
Graham
[0]
http://confluence.jetbrains.com/display/IDEADEV/Testing+IntelliJ+IDEA+Plugins#TestingIntelliJIDEAPlugins-TestsandFixtures
On 28 July 2014 21:31, Stefan Rossbach <srossb...@arcor.de> wrote:
> Hi Graham,
>
> I have problems to understand your problems ? :P
>
> What test cases do you want to run ? Those Headless JUnit tests ? I cannot
> really understand why the *normal* classloader from IntelliJ is not used
> when running JUnit, i.e
> IntelliJ code gets its own PicoContainer, the Saros-I plugin uses the
> PicoContainer from the Saros-Core.
>
> As for our STF Eclipse regression, the test cases are executed by a Java
> process that run outside any IDE. Just a plain ANT call in a shell.
> As I already read that you can run multiple IntelliJ instances (different
> installation) this won't be a problem in our CI environment but a problem
> in the local developers environment as I am pretty sure it would be pretty
> confusing to have the same IntelliJ IDE installed multiple times for running
> E2E test cases :P
>
> BR,
> Stefan
>
>
> On 28.07.2014 21:25, Graham Allan wrote:
>
> Hey all,
>
> You may consider this a bit of a pointless update, it's also going to be
> a bit rambly :-)
>
> I haven't got very far into investigating how to automatically test two
> running instances of Saros-I. I seem to have stumbled on to the same
> problem as Holger in that I can't even get an empty test case to run
> because of dependency conflicts around PicoContainer[0]. I'm not sure how
> to solve this problem; it looks like both IntelliJ and the Saros code needs
> this library on the classpath, so I doubt there's a way around it in
> configuration. Only two options spring to mind at this point: 1) go back a
> major version of Pico Container in Saros; 2) or embed the correct version
> within a Saros namespace.
>
> The first option has drawbacks in that you're coupling your dependencies
> in the core to whatever IntelliJ needs to use. The drawback to the second
> option is that it's necessary to find a suitable way to embed the library,
> there are a couple of good libraries for doing this (e.g. ProGuard, JarJar,
> etc) but it adds complexity to the build process and bloats your
> dependencies. That approach implies that the Saros-I plugin is going to
> depend on a Saros-Core jar, but I assume that's on the roadmap anyway.
>
> All this pain is before even getting on to the problem of running
> multiple instances manually. Because of IntelliJ's fascination with reusing
> the same process, it's actually quite difficult to run two instances of the
> same IDEA on the same machine at the same time. I think with some sneaky
> tricks this will be possible, so I'm going to keep trying this. Being able
> to manually test the real communication between two real instances is
> better than nothing.
>
> Cheers,
> Graham
>
>
> [0] http://devnet.jetbrains.com/message/5520275#5520275
>
>
> On 26 July 2014 14:07, Graham Allan <grundlefl...@gmail.com> wrote:
>
>> Looks like this will be a fun one to investigate, lots of gotchas :-)
>>
>> Will hopefully have something to report today or tomorrow.
>> On 23 Jul 2014 14:57, "Stefan Rossbach" <srossb...@arcor.de> wrote:
>>
>>> Graham should also be aware that multiple instances on the same PC
>>> requires *virtual* keyboards, i.e
>>> simulating keyboard events with e.g
>>> http://msdn.microsoft.com/en-us/library/ms646310%28v=vs.85%29.aspx (I do
>>> not know if UI4J is
>>> using this) will not work when simultaneous writing should be performed.
>>>
>>> See:
>>>
>>> http://download.eclipse.org/technology/swtbot/helios/dev-build/apidocs/org/eclipse/swtbot/swt/finder/keyboard/KeyboardFactory.html#getMockKeyboard%28org.eclipse.swt.widgets.Widget,%20org.hamcrest.SelfDescribing%29
>>>
>>> On 23.07.2014 15:46, Holger Schmeisky wrote:
>>> > Hi Graham
>>> >
>>> > did you manage to start two Saros/I instances already? I guess that's
>>> > necessary for writing the test :-)
>>> >
>>> > I found out a mildly inconvenient way that I'd like to document on the
>>> > homepage, but if you (or anyone else) has found a better one I am glad
>>> > to hear:
>>> >
>>> > http://devnet.jetbrains.com/message/5520367#5520367
>>> >
>>> > Regards,
>>> > Holger
>>> >
>>> > Holger Schmeisky; holge...@fu-berlin.de
>>> > Takustraße 9, Room 008, Freie Universität Berlin, 14195 Berlin
>>> > +49 176 64146306 <%2B49%20176%2064146306>
>>> >
>>> > Am 22.07.2014 14:40, schrieb Graham Allan:
>>> >> Great! Thanks.
>>> >>
>>> >> I will look into the references provided, and investigate how we could
>>> >> have the equivalent for IntelliJ.
>>> >>
>>> >> Cheers,
>>> >> Graham
>>> >>
>>> >>
>>> >> On 22 July 2014 12:15, Stefan Rossbach <srossb...@arcor.de
>>> >> <mailto:srossb...@arcor.de>> wrote:
>>> >>
>>> >> Hi Graham,
>>> >>
>>> >> it is actually not that hard (STF = Saros Test Framework, i.e our
>>> >> E2E Tests)
>>> >>
>>> >> SWTBot = UISpec4J => Fire Events, Read widget data
>>> >>
>>> >> The main entry point can be found in:
>>> >>
>>> >> de.fu_berlin.inf.dpp.stf.server.STFController
>>> >>
>>> >> There is also a small client package which contains an
>>> STFTestcase
>>> >> class which you should inherit from when writing test cases.
>>> >>
>>> >> There is also a STF developer doc on the Saros Webpage, but I am
>>> >> quite sure that it is outdated.
>>> >>
>>> >> This framwork consists of so called *Bots*.
>>> >>
>>> >> The *RemoteBot* only consists of class wrappers for the SWTBot
>>> >> Framework.
>>> >>
>>> >> The *SuperBot* is just a accumulation of classes that perform
>>> very
>>> >> special tasks (which also could be done with RemoteBot). Mainly
>>> >> written to shorten
>>> >> Test cases to avoid C&P between test classes.
>>> >>
>>> >> Due to the design there is one nasty restriction (mentioned in
>>> the
>>> >> Doc). You cannot write test cases as you would like.
>>> >>
>>> >> @Franz
>>> >> I spend over 5 minutes to find the manual ? Where did you put the
>>> >> link ?!
>>> >>
>>> >>
>>> >> I attached it for now (found in the darkest depths of my HDDs).
>>> >>
>>> >> STF Vids:
>>> >>
>>> >> http://saros-build.imp.fu-berlin.de/test/stf_self_test.avi
>>> (from 2011)
>>> >>
>>> >> http://saros-build.imp.fu-berlin.de/test/stf_xvid.avi (from
>>> 2013,
>>> >> mainly how to write STF test cases)
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> On 22.07.2014 12:53, Graham Allan wrote:
>>> >>> Is there any documentation on how STF does the RMI? I would
>>> >>> like to look into that and test it with IntelliJ, before we
>>> >>> start with such a big venture :-)
>>> >>> Graham, how much would you like to dig into that? (We can
>>> also
>>> >>> talk directly on that, if you'd like to)
>>> >>>
>>> >>>
>>> >>> Yup, I'd be happy to do that. I may need some to get some
>>> >>> background info on how the Eclipse testing works, I'm unfamiliar
>>> >>> with SWTBot, etc. What would you recommend for figuring that
>>> out?
>>> >>> Do you think it's understandable by digging into the Saros code?
>>> >>> Maybe a chat over Skype/Hangout/etc?
>>> >>>
>>> >>> Also, I kept up with most of the acronyms, but you lost me on
>>> STF,
>>> >>> what is that?
>>> >>>
>>> >>> Cheers,
>>> >>> Graham
>>> >>>
>>> >>>
>>> >>> On 21 July 2014 15:53, Stefan Rossbach <srossb...@arcor.de
>>> >>> <mailto:srossb...@arcor.de>> wrote:
>>> >>>
>>> >>> The RemoteBot is just a RMI Wrapper around the SWTBot
>>> >>> Framework. No magic, nothing.
>>> >>>
>>> >>> IMyFooWrapper extends Remote ....
>>> >>>
>>> >>> MyFooWrapperImpl implements IMyFooWrapper ...
>>> >>>
>>> >>> private ... delegate
>>> >>>
>>> >>> public void foo() { delegate.foo() }
>>> >>>
>>> >>> Just take a look at the STFController class.
>>> >>>
>>> >>> As for you test case. Your class path is not set correctly
>>> and
>>> >>> if Headless tests does not support multiple classloaders you
>>> >>> are out of luck.
>>> >>>
>>> >>>
>>> >>> On 21.07.2014 15 <tel:21.07.2014%2015>:17, Holger
>>> Schmeisky wrote:
>>> >>>
>>> >>> Is there any documentation on how STF does the RMI? I
>>> >>> would like to look into that and test it with IntelliJ,
>>> >>> before we start with such a big venture :-)
>>> >>>
>>> >>> Graham, how much would you like to dig into that? (We
>>> can
>>> >>> also talk directly on that, if you'd like to)
>>> >>>
>>> >>> Apart from the UI Testing, I am trying to set up tests
>>> for
>>> >>> the file handling and having problems:
>>> >>>
>>> >>> http://devnet.jetbrains.com/thread/455971
>>> >>>
>>> >>> Any help is appreciated :-)
>>> >>>
>>> >>> Regards,
>>> >>> Holger
>>> >>>
>>> >>> Holger Schmeisky; holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> Takustraße 9, Room 008, Freie Universität Berlin, 14195
>>> Berlin
>>> >>> +49 176 64146306 <%2B49%20176%2064146306>
>>> <tel:%2B49%20176%2064146306>
>>> >>>
>>> >>> Am 21.07.2014 14 <tel:21.07.2014%2014>:02, schrieb
>>> Stefan
>>> >>> Rossbach:
>>> >>>
>>> >>> Hi again,
>>> >>>
>>> >>> I just looked at the UISpec4J Framework and it seems
>>> >>> that this is the
>>> >>> *equivalent* to SWTBot.
>>> >>>
>>> >>> So my suggestion would be to write a script that
>>> will
>>> >>> generate code so
>>> >>> that those methods can be accessed via
>>> >>> RMI. You can look at the RemoteBot of the STF.
>>> >>> Although this was purely
>>> >>> written by hand (Please do not ask my why ...)
>>> >>> it may be a good start.
>>> >>>
>>> >>>
>>> >>> On 21.07.2014 13 <tel:21.07.2014%2013>:51, Stefan
>>> >>> Rossbach wrote:
>>> >>>
>>> >>> On 21.07.2014 13 <tel:21.07.2014%2013>:40,
>>> Holger
>>> >>> Schmeisky wrote:
>>> >>>
>>> >>> Hi,
>>> >>>
>>> >>> thanks for looking into this. My 2 cents:
>>> >>>
>>> >>> - they try to stick to testing the
>>> >>> 'model', using headless
>>> >>> builds. If
>>> >>> there's already a separated 'core' of
>>> >>> Saros, which can be tested in
>>> >>> isolation, and there's only really
>>> >>> plumbing left to do, that may not be
>>> >>> applicable for the Saros-I code.
>>> >>>
>>> >>> Unfortunately the Saros-I code does more
>>> than
>>> >>> plumbing - more like
>>> >>> half of the work, but with a lot of
>>> >>> duplication. But well, that makes
>>> >>> it applicable for headless tests and I think
>>> >>> thats a good path :-)
>>> >>>
>>> >>> There are two main components: The Editor Stuff
>>> >>> and the File Stuff which
>>> >>> cannot be part of the core. The rest should be
>>> >>> mostly *cosmetic* stuff
>>> >>> (beside the Watchdog).
>>> >>>
>>> >>> Would it be worth investigating one of
>>> >>> these libraries to see if it's
>>> >>> possible to spin up an IntelliJ instance
>>> >>> in a JUnit test?
>>> >>>
>>> >>> Yep, it's Swing. In Saros/E we fire up 2
>>> >>> Eclipse instances that run
>>> >>> the Saros version and execute actions on
>>> them
>>> >>> via RMI. In IDEA I had
>>> >>> no luck starting two IDEA instances from one
>>> >>> instance
>>> >>> (
>>> http://devnet.jetbrains.com/message/5520017#5520017),
>>> >>> so I suspended
>>> >>> that thought for the moment.
>>> >>>
>>> >>> We actually fire up 4 instances (we could even
>>> >>> fire up more). We do not
>>> >>> really execute "actions" (ok at least a few)
>>> with
>>> >>> RMI. Most RMI calls
>>> >>> delegates to the SWTBot Framework so we really
>>> >>> simulate user input (sorry if you meant this
>>> with
>>> >>> actions).
>>> >>>
>>> >>> Having an "OK it still works" integration
>>> test
>>> >>> would be really
>>> >>> helpful, but I am a bit intimidated by the
>>> >>> setup work this would
>>> >>> require (given the instances issues and the
>>> >>> whole hassle of UI tests).
>>> >>>
>>> >>> A lower level where the tests would already
>>> >>> make sense would be the
>>> >>> directory creation / file handling level
>>> >>> because I am having issues
>>> >>> there at the moment.
>>> >>>
>>> >>> If you want to use headless tests make sure IDEA
>>> >>> is not using SWING. The
>>> >>> CI Server is running without a display (for good
>>> >>> reasons).
>>> >>>
>>> >>> Regards,
>>> >>> Holger
>>> >>>
>>> >>> Kind regards,
>>> >>> Graham
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> On 21 July 2014 11:24, Stefan Rossbach
>>> >>> <srossb...@arcor.de
>>> >>> <mailto:srossb...@arcor.de>
>>> >>> <mailto:srossb...@arcor.de
>>> >>> <mailto:srossb...@arcor.de>>> wrote:
>>> >>>
>>> >>> I would suggest a similar framework
>>> >>> like SWTBot for AWT(Swing)
>>> >>> applications which can be accessed
>>> >>> with RMI
>>> >>> as we do with our STF.
>>> >>>
>>> >>>
>>> >>> On 21.07.2014 11
>>> >>> <tel:21.07.2014%2011>
>>> >>> <tel:21.07.2014%2011>:28, Holger
>>> Schmeisky
>>> >>> wrote:
>>> >>>
>>> >>> Hi Graham,
>>> >>>
>>> >>> I am very glad to hear from
>>> you!
>>> >>>
>>> >>> Franz already told me about you
>>> >>> and I read your quite
>>> >>> enthusiastic blog
>>> >>> post about Saros for Eclipse
>>> and
>>> >>> how it compares to other
>>> >>> solutions :-)
>>> >>>
>>> >>> There probably will be too much
>>> >>> churn in the development
>>> >>> branch
>>> >>> for it
>>> >>> be a good base for
>>> collaboration.
>>> >>> I think it is a better
>>> >>> idea to
>>> >>> wait
>>> >>> with that until a runnable
>>> >>> version is in the master branch, so
>>> >>> you can
>>> >>> branch from there and develop
>>> >>> from a clean state.
>>> >>>
>>> >>> The next biggest impediment is,
>>> >>> that there are no automated
>>> >>> tests for
>>> >>> the development version and it
>>> >>> has to be tested manually -- we
>>> >>> should
>>> >>> fix that rather early I'd say.
>>> >>>
>>> >>> I'm working on that at the
>>> >>> moment, but experiencing
>>> >>> problems. Is
>>> >>> anybody
>>> >>> here who has experience testing
>>> >>> IDEA IntelliJ plugins? :-)
>>> >>>
>>> >>> Regards,
>>> >>> Holger
>>> >>>
>>> >>>
>>> >>> Holger Schmeisky;
>>> >>> holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> <mailto:holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>>
>>> >>> Takustraße 9, Room 008, Freie
>>> >>> Universität Berlin, 14195 Berlin
>>> >>> +49 176 64146306
>>> <%2B49%20176%2064146306>
>>> >>> <tel:%2B49%20176%2064146306>
>>> >>> <tel:%2B49%20176%2064146306>
>>> >>>
>>> >>> Am 18.07.2014 20:23, schrieb
>>> >>> Graham Allan:
>>> >>>
>>> >>> Hi Holger,
>>> >>>
>>> >>> Great to hear!
>>> >>>
>>> >>> I work for a company based
>>> in
>>> >>> London, from my home in
>>> >>> Scotland. Saros
>>> >>> has been a big part of our
>>> >>> development process for over 18
>>> >>> months now,
>>> >>> and myself and my team are
>>> >>> very keen to see the IntelliJ
>>> >>> plugin. I've
>>> >>> already contributed the ant
>>> >>> build script for the Saros-I
>>> >>> project and am
>>> >>> eager to do more.
>>> >>>
>>> >>> Would you recommend
>>> checking
>>> >>> out the current code or will
>>> >>> there be so
>>> >>> much churn in that area
>>> that
>>> >>> we may as well wait?
>>> >>>
>>> >>> Kind regards and have a
>>> great
>>> >>> weekend,
>>> >>> Graham
>>> >>>
>>> >>>
>>> >>> On 16 July 2014 13:43,
>>> Holger
>>> >>> Schmeisky
>>> >>> <holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> <mailto:holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>>
>>> >>> <mailto:
>>> holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> <mailto:holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>>>__>
>>> wrote:
>>> >>>
>>> >>> Hello everyone,
>>> >>>
>>> >>> my name is Holger
>>> and I
>>> >>> am a colleague of Franz,
>>> >>> currently working at FU
>>> >>> Berlin on the
>>> >>> development of Saros for JetBrains
>>> >>> IDEA
>>> >>> (IntelliJ,
>>> >>> PyCharm, PhpStorm,
>>> ...).
>>> >>>
>>> >>> An IDEA version is
>>> >>> under way and there is already a
>>> >>> halfway-usable
>>> >>> development version
>>> (in
>>> >>> the development/raimondas2
>>> >>> branch). It already
>>> >>> has the basic
>>> features
>>> >>> like project sharing,
>>> >>> editing,
>>> >>> follow mode, etc.
>>> >>> However this version
>>> >>> still misses a lot, is without
>>> >>> automated tests and
>>> >>> has only partially
>>> been
>>> >>> merged into the master
>>> >>> branch.
>>> >>>
>>> >>> In about 2-3 weeks,
>>> the
>>> >>> code will be in a shape
>>> >>> where
>>> >>> other people can
>>> >>> actually develop on
>>> it.
>>> >>> I think it already makes
>>> >>> sense
>>> >>> to get in touch
>>> >>> before, to get to
>>> know
>>> >>> the codebase and our
>>> >>> development process.
>>> >>>
>>> >>> So if you are
>>> >>> interested in joining Saros/I
>>> >>> development, please contact
>>> >>> me or write here, so
>>> I
>>> >>> can get to know you and
>>> >>> get an
>>> >>> overview how much
>>> >>> interest there is :-)
>>> >>>
>>> >>> Regards,
>>> >>> Holger
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Holger Schmeisky;
>>> >>> holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> <mailto:
>>> holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>>
>>> >>> <mailto:holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>
>>> >>> <mailto:
>>> holge...@fu-berlin.de
>>> >>> <mailto:holge...@fu-berlin.de>>>
>>> >>> Takustraße 9, Room
>>> 008,
>>> >>> Freie Universität Berlin,
>>> >>> 14195 Berlin
>>> >>> +49 176 64146306
>>> <%2B49%20176%2064146306>
>>> >>> <tel:%2B49%20176%2064146306>
>>> >>> <tel:%2B49%20176%2064146306>
>>> >>> <tel:%2B49%20176%2064146306>
>>> >>>
>>> >>>
>>> >>>
>>>
>>> ------------------------------__------------------------------__------------------
>>> >>>
>>> >>>
>>> >>> Want fast and easy
>>> >>> access to all the code in your
>>> >>> enterprise? Index and
>>> >>> search up to 200,000
>>> >>> lines of code with a free
>>> >>> copy of
>>> >>> Black Duck
>>> >>> Code Sight - the same
>>> >>> software that powers the
>>> >>> world's
>>> >>> largest code
>>> >>> search on Ohloh, the
>>> >>> Black Duck Open Hub! Try it
>>> >>> now.
>>> >>> http://p.sf.net/sfu/bds
>>> >>>
>>> _________________________________________________
>>> >>> DPP-Devel mailing
>>> list
>>> >>> DPP-Devel@lists.sourceforge.__net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.
>>> __net>
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net
>>> >>
>>> >>> <mailto:DPP-Devel@lists.
>>> >>> <mailto:DPP-Devel@lists.>__
>>> sourceforge.net
>>> >>> <http://sourceforge.net>
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net
>>> >>>
>>> >>>
>>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel
>>> >>> <
>>> https://lists.sourceforge.net/lists/listinfo/dpp-devel>
>>> >>>
>>> >>>
>>> >>>
>>>
>>> ------------------------------__------------------------------__------------------
>>> >>>
>>> >>>
>>> >>> Want fast and easy access to
>>> all
>>> >>> the code in your enterprise?
>>> >>> Index and
>>> >>> search up to 200,000 lines of
>>> >>> code with a free copy of Black
>>> >>> Duck
>>> >>> Code Sight - the same software
>>> >>> that powers the world's
>>> >>> largest code
>>> >>> search on Ohloh, the Black Duck
>>> >>> Open Hub! Try it now.
>>> >>> http://p.sf.net/sfu/bds
>>> >>>
>>> >>>
>>> _________________________________________________
>>> >>> DPP-Devel mailing list
>>> >>> DPP-Devel@lists.sourceforge.__net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.
>>> __net>
>>> >>>
>>> >>> <mailto:
>>> DPP-Devel@lists.sourceforge.net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net
>>> >>
>>> >>>
>>> https://lists.sourceforge.net/__lists/listinfo/dpp-devel
>>> >>> <
>>> https://lists.sourceforge.net/lists/listinfo/dpp-devel>
>>> >>>
>>> >>>
>>> >>>
>>>
>>> ------------------------------------------------------------------------------
>>> >>>
>>> >>>
>>> >>> Want fast and easy access to all the code in
>>> your
>>> >>> enterprise? Index and
>>> >>> search up to 200,000 lines of code with a free
>>> >>> copy of Black Duck
>>> >>> Code Sight - the same software that powers the
>>> >>> world's largest code
>>> >>> search on Ohloh, the Black Duck Open Hub! Try
>>> it now.
>>> >>> http://p.sf.net/sfu/bds
>>> >>> _______________________________________________
>>> >>> DPP-Devel mailing list
>>> >>> DPP-Devel@lists.sourceforge.net
>>> >>> <mailto:DPP-Devel@lists.sourceforge.net>
>>> >>>
>>> https://lists.sourceforge.net/lists/listinfo/dpp-devel
>>> >>>
>>> >>>
>>> >>
>>> >
>>> ------------------------------------------------------------------------------
>>> > Want fast and easy access to all the code in your enterprise? Index and
>>> > search up to 200,000 lines of code with a free copy of Black Duck
>>> > Code Sight - the same software that powers the world's largest code
>>> > search on Ohloh, the Black Duck Open Hub! Try it now.
>>> > http://p.sf.net/sfu/bds
>>> > _______________________________________________
>>> > DPP-Devel mailing list
>>> > DPP-Devel@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/dpp-devel
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Want fast and easy access to all the code in your enterprise? Index and
>>> search up to 200,000 lines of code with a free copy of Black Duck
>>> Code Sight - the same software that powers the world's largest code
>>> search on Ohloh, the Black Duck Open Hub! Try it now.
>>> http://p.sf.net/sfu/bds
>>> _______________________________________________
>>> DPP-Devel mailing list
>>> DPP-Devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/dpp-devel
>>>
>>
>
>
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel