Gary and I have been working last Friday on cleaning up the Resolver class and our use of various System properties when using the config modules under test and live environment.
What it boils down to is that we made the Resolver (and related classes) be ignorant that there is a test scenario at all. This means that references to System properties like tc.tests.configuration.modules and tc.tests.configuration.modules.url are no longer used. By default config-modules are expected to be found in the default modules repository, ie: the base directory + "/modules" --- In our kit, the base directory would be wherever Terracotta was installed ($TC_INSTALL_DIR), and during tests this is the 'build/' directory. Additional repository locations should be configured by the test that needs them via code or the test's config. With our Maven plugins there is no kit, and that it could execute in either the live or test scenario (as in the case of the Geronimo plugin) - so the $TC_INSTALL_DIR property may or may not exist and the Resolver can't correctly assume the location of the modules repository. Here's what we propose: We add a new TC property called l1.configbundles.repos (the name could change) - this is a comma-separated list of additional repository locations that will be tacked on the list of repositories used when locating config modules. This is no different than the l1.configbundles.default property - a list of config modules which gets loaded no matter what the current scenario is - so it should work across the board and for our Maven plugins scenario. Thoughts? _______________________________________________ tc-dev mailing list [email protected] http://lists.terracotta.org/mailman/listinfo/tc-dev
