To ask a different way, how can I setup cc.net so I define common varialbes in one file, and reuse them in other files?
On Oct 6, 1:00 pm, Chris <[email protected]> wrote: > I know this is possible since the ccnet site has multiple projects > showing in its build page. However, when I try to set mine up I get > the exception below. I have my ccnet.config file set up this way. > > <?xml version="1.0"?> > > <!-- Add a project in this section --> > <!DOCTYPE > variables [ > <!ENTITY Test SYSTEM "file:C:\My Projects\Product Assurance > Group > \Build Scripts\CruiseControl\Bradley A3\DTT\test_ccnet_build.xml"> > <!ENTITY CxxTest SYSTEM "file:C:\My Projects\Product > Assurance Group > \Build Scripts\CruiseControl\CxxTest\ccnet_build.xml"> > ]> > > <cruisecontrol xmlns:cf="urn:ccnet.config.builder"> > <!-- Add the project here; uncomment the project to build > --> > &CxxTest; > &Test; > </cruisecontrol > > Yes each project's ccnet_build.xml file has the stproject defined > since one is a clone of the other. Do I have to rename the variables I > have to alleviate this? > > [CCNet Server:ERROR] INTERNAL ERROR: Symbol 'stproject' already > defined > ---------- > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: > Symbol > 'stproject' already defined > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.Utils.ThrowException(E > xceptionFactory factory, String fmt, Object[] args) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.PreprocessorEnvironmen > t._CheckAlreadyDefined(String name) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.PreprocessorEnvironmen > t._DefineTextSymbol(String name, String value, Boolean isExplicit) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Elem > entProcessor._DefineFromAttributes(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defi > neProcessor.Process(XNode node) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessPpElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor.Process(XNode node) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessNonPpElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor.Process(XNode node) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessNonPpElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor._ProcessElement(XElement element) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ElementProcessors.Defa > ultProcessor.Process(XNode node) > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessor.<Pr > eProcess>b__1(XNode node) > at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() > at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() > at > ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessor.Pre > Process(XmlReader input, XmlWriter output, XmlUrlResolver resolver, > Uri inputUri > ) > at > ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.Crea > teXmlValidatingLoader(FileInfo configFile) > at > ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.Atte > mptLoadConfiguration(FileInfo configFile) > at > ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.Load > (FileInfo configFile) > at > ThoughtWorks.CruiseControl.Core.Config.FileConfigurationService.Load() > at > ThoughtWorks.CruiseControl.Core.Config.FileWatcherConfigurationService.Loa > d() > at > ThoughtWorks.CruiseControl.Core.Config.CachingConfigurationService.Load() > at > ThoughtWorks.CruiseControl.Core.CruiseServer..ctor(IConfigurationService > c > onfigurationService, IProjectIntegratorListFactory > projectIntegratorListFactory, > IProjectSerializer projectSerializer, IProjectStateManager > stateManager, IFileS > ystem fileSystem, IExecutionEnvironment executionEnvironment, List`1 > extensionLi > st) > at > ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateLocal(String > con > figFile) > at > ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateRemote(String > co > nfigFile) > at > ThoughtWorks.CruiseControl.Core.CruiseServerFactory.Create(Boolean > remote, > String configFile) > at ThoughtWorks.CruiseControl.Core.ConsoleRunner.LaunchServer() > at ThoughtWorks.CruiseControl.Core.ConsoleRunner.Run() > at ThoughtWorks.CruiseControl.Console.AppRunner.Run(String[] args, > Boolean us > esShadowCopying) > ----------
