No need for singleton junk any more, use an action factory.
Change-Id: I5174da7bdb59cadb96274f2d2c348d88bb87c09a
Reviewed-on: http://gerrit.dmdirc.com/2727
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Instead of manually tracking dependencies and creating them in
CommandLoader, just have a module to provide a set of commands
that we can load.
This makes it stupidly easy to add dependencies in commands.
Also rename the /set command from Set because that's just
confusing.
Change-Id: I7967609e356de3c17d0942ebc913be438debe49c
Reviewed-on: http://gerrit.dmdirc.com/2722
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Show ClientComponent messages in the status bar for now, instead
of showing a dialog on a random UI.
Change-Id: Ic2c0c5147f62d87633da4ec4b91149fe67d5b1fd
Reviewed-on: http://gerrit.dmdirc.com/2720
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
plugins:
64ff4ac Chris Smith <chris@dmdirc.com>
Remove almost all references to Main.
Depends-On: Idf1c76e81da4eecd499a25f28e363a8150be8ac3
Gerrit: http://gerrit.dmdirc.com/2719
Change-Id: I43a73b451f35ca4d81a848cbff856eacf9696262
plugins:
e093053 Chris Smith <chris@dmdirc.com>
Use a LifeCycleController to quit.
Depends-On: Id6d237f386c6f35844136ceb64b7c46f0af76765
Gerrit: http://gerrit.dmdirc.com/2716
Change-Id: Ib7868ed631fae0aa4df44648f5166b1548be1483
Things need to quit! Without using global state!
Change-Id: Id6d237f386c6f35844136ceb64b7c46f0af76765
Reviewed-on: http://gerrit.dmdirc.com/2715
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Have Dagger provide most of the classes which we give to SimpleInjector
for plugins, instead of doing a weird dance involving lots of global
state and horribleness.
Change-Id: I1d15796c85f90ac22b65a952ab1a5fca0fe0b337
Reviewed-on: http://gerrit.dmdirc.com/2714
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Get rid of all the Main.getPluginManager() references.
Change-Id: I2a377ce00423af5c560e0fd840948568d771b566
Reviewed-on: http://gerrit.dmdirc.com/2712
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
plugins:
16b8ca9 Chris Smith <chris@dmdirc.com>
Remove the Dummy UI.
This was originally intended for testing purposes, but we can do that
effectively with mocks. It's a pain to maintain and doesn't offer
any real benefit.
Gerrit: http://gerrit.dmdirc.com/2711
Change-Id: I90602ddf6ef3f7a9111163e90a7665fea1492f72
plugins:
fdde3a5 Chris Smith <chris@dmdirc.com>
Remove some usages of Main.
Depends-On: I5f88cccf81f0fb80e2fcf915d453660d5690c8c0
Gerrit: http://gerrit.dmdirc.com/2709
Change-Id: I51091051679fa8a9c1504f44326455b6fbbb9d64
Don't use a dummy UI and massive chunks of real objects.
Change-Id: I73ecf45760397d477137f13f1bdb210fa25cad97
Reviewed-on: http://gerrit.dmdirc.com/2710
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Remove HelpTest because it's a pretty lame test, not (and never
will be) an actual unit test, and a PITA to maintain.
Change-Id: Ibc15984a694a7b284e206ab337211ce471ac1913
Reviewed-on: http://gerrit.dmdirc.com/2706
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
- Separate out libraries by their purpose, so Netbeans doesn't have
so much junk on the main classpath.
- Bundle a version of Ivy instead of downloading it.
- Have Ivy remove old versions of libraries instead of just adding
new ones.
- Write the classpaths themselves to private.properties instead of
an indirect private.classpath property which shows up weirdly in
Netbeans.
Change-Id: I33b5fe34cc08d48d1b0e35ee93f21fa62bf8cfdb
Reviewed-on: http://gerrit.dmdirc.com/2705
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
As the tests now take about 3 seconds there's no point using clover
to try and reduce how many we run. This simplifies the build file
and will hopefully fix the double-test issues.
Change-Id: I1f689e8c5a1620a79fa64574d91012be207b1468
Fixes-issue: INFRA-62
Reviewed-on: http://gerrit.dmdirc.com/2702
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Stop creating a new jvm for every single test (reduces runtime from
the order of minutes to the order of seconds).
Change-Id: I55fe45cc8d6c0523acf6317585b23b4062f1aa48
Reviewed-on: http://gerrit.dmdirc.com/2697
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Rework how Logger/ErrorManager interact so they can be half
mocked out (or, at least, used in a thread-safe-ish manner).
Change-Id: Ia5899640bdc101793819dab88c3fe6038a759abb
Reviewed-on: http://gerrit.dmdirc.com/2695
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Fully initialise the PluginManager instead of passing around
one in various states of existance.
Move plugin extraction logic into a CorePluginExtractor class.
Inject UpdateManager where appropriate.
Change-Id: I6c15f7682cccd93b40dcc189a0a8466d067095f0
Reviewed-on: http://gerrit.dmdirc.com/2692
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Make the ColourManager into a proper class so it can have
dependencies, just like a real boy.
Change-Id: Ib49f046f7dee6f240cb0970603b4fcd3d71f3cba
Reviewed-on: http://gerrit.dmdirc.com/2696
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Pass the MSM into Main so it actually gets created, as the few
places that refer to it aren't being inflated by dagger yet.
Change-Id: Ic92f88aac29d4c68fdbc062a582b3e44ecd23637
Reviewed-on: http://gerrit.dmdirc.com/2691
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
No need for Main to do it - might as well get a fully-initialised
manager when we ask for one.
Change-Id: I55ed29bbc0270a5c610184572e58b0270055e0bc
Reviewed-on: http://gerrit.dmdirc.com/2690
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Separate out the constructor and initialisation logic in line
with other managers.
Change-Id: Ie5d2f12b838213a6500f0a87e44e56254b8d5916
Reviewed-on: http://gerrit.dmdirc.com/2689
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Create a proper LifecycleController implementation that can be
injected, move the interface to the interfaces package, and
then inject the CommandLoader instead of creating it in Main.
Change-Id: I4236b4668301f585544c8c6a9f17c39771290ea5
Reviewed-on: http://gerrit.dmdirc.com/2688
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Introduce a new dagger module that exposes the results of the
command line parser, such as the config directory.
This will let us inject the relevant directories into managers
and simplify the creation logic.
Change-Id: I9548f6ab11d76e03f25c0cd2a164032073b9ffd1
Reviewed-on: http://gerrit.dmdirc.com/2686
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
plugins:
1c2905d Chris Smith <chris@dmdirc.com>
Make the RedirectCommandTest work sanely.
Mock out everything that it uses, remove dependency on lots of
global state, and re-implement the actual test which was @Ignored.
Depends-On: I63879db5c13517cfa60941fce73a2ba01e63f1cd
Gerrit: http://gerrit.dmdirc.com/2682
Change-Id: If7526da6fdb71454d413c2c356a728b8ccbcbf53
Remove some 'final' modifiers for CommandParser methods.
Modify the Logger class so it only calls into the ErrorManager if
it actually needs it. The ErrorManager constructor requires an
IdentityManager which causes any test that executes a Logger.assert
line to require most of the client is constructed, regardless of
what the test is actually doing.
Change-Id: I63879db5c13517cfa60941fce73a2ba01e63f1cd
Reviewed-on: http://gerrit.dmdirc.com/2681
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager