Skip to content

Building MxCache

Alexander Kochurov edited this page Jul 25, 2015 · 3 revisions

##Compilation Some errors can occur during MxCache compilation in IDEA if the plugin is turned on. It is recommended to comment @Cached annotation in классах CachedAbstract, CachedInterface, CachedVoid и CachedNative classes (Notice! Do not remove @Cached in these classes - tests start to fail when run by maven)

##Project structure The project consists of the following modules:

  • mxcache-asm – the copy of library for bytecode ASM 3.2 manipulation with some fixes from 3.3, displaced in com.maxifier.mxcache.asm pack (it was done because different versions ASM had been incompatible)
  • mxcache-runtime – cache class essential for launching
  • mxcache-instrumentator – instrumentator, can be launched in dynamic mode
  • mxcache-indea-plugin – plugin for IDEA, launches mxcache-instrumentator for statistic instrumentation while compilating
  • mxcache-maven-plugin –plugin for maven, launches launches mxcache-instrumentator for statistic instrumentation while compilating
  • mxcache-tests – test for all the cache; demands instrumentation, instrumentation through maven is turned as default option
  • jconsole-stub - contains stubs for JConsole API (do not use this library in runtime as its full version is in JDK)
  • mxcache-jmx – plug in for JConsole that allows to manage mx cache visually
  • mxcache-guice-integration – module for guice

##Plugin debugging For plugin debugging in IDEA it is necessary to attach IDEA SDK instead of JDK to mxcache-indea-plugin module. Then remove com.intellij library from из pom.xml (please do not commit the revised pom). It may require to replace the module type in IDEA file (.iml):

<module type="PLUGIN_MODULE" version="4">

(Also you may need to remove "relativePaths="true" MavenProjectsManager.isMavenModule="true"" from module file. Yes, it's hard, but IDEA plugin development is not compatible with maven so far :-( )

Clone this wiki locally