Rake tasks runner support for TeamCity 4.x ============= 1. Build * Copy archive with ruby sources (rakeRunnerRuby-src.zip) to "lib/dist" * Run "unpack rakeRunnerRuby-src.zip" task * Run "build_project" task 2. Deploying * Copy "dist/rake-runner-plugin.zip" to "[TeamCity]/webapps/ROOT/WEB-INF/plugins" folder 3. Updating bundled TeamCity libraries * Download dowload Teamcity 4.x libraries (Teamcity-XXXX.tar.gz) * Copy TeamCity-XXXX.tar.gz in lib/dist/ * Ant task "build_project" wil automatically update bundled TC libraries 4. Sources |- root |--- [rake-runner-agent] - Agent's part of Teamcity Rake Runner, JAVA sources |--- [rake-runner-common] - Common code for Agent's and Server's parts or Teamcity Rake Runner, JAVA |--- [rake-runner-server] - Server's part of Teamcity Rake Runner, JAVA |--- [rake-runner-test] - Tests for rake-runner. TeamCity tests API is required for running tests |--- [dist] - Build artifacts |--- [lib/dist] - TeamCity libs for updating bundled libs and packed ruby souces for build script and RUBY part distributive |--- [lib/teamcity] - Bundled teamcity libraries |--- [lib/rakeRunnerRuby] - Unpacked RUBY part of plugin. |--- [out] - Compilation output directory |--- copyright.txt - Copyright for sources |--- HowToBuild.txt - this file 5. Updating rake-runner.xml * Open rake-runner project (rake-runner.ipr) * Delete JRuby facets from all modules and delet all global variables for JRuby sdks * IDEA->Build->Generate Ant Build: - "Generate single-file and build" - "Overwrite previously generated files" - Uncheck "Enable UI forms compilation" and "Use JDSK definitions from project files" * remove line from rake-runner.xml * delete file rake-runner.properties * remove section "JDK definitions" (including classpath properties and project.jdk.*) from rake-runner.xml * all invalid properties concerned to jdk * delete target "j2ee.build.rake-runner-serverweb" and it's usages 6. Internal Properties Debug loggers options: Use environament variables: * "teamcity.rake.runner.debug.output.hack.disabled" - set variable in "true" to disable output capturing hack that overrides operations with standard output. * "teamcity.rake.runner.debug.output.capturer.enabled" - set variable in "true" to use plugin's output capturing from rake tests instead of common TeamcCity behaviour. * "teamcity.rake.runner.debug.log.path" - enables logger in Ruby part of plugin. Value of thin variable should be path for existing diractory in which plugin will save log files System properties: * "teamcity.rake.runner.debug.mode" - set variable to enable loggin from JAVA code of agent part