module Cigale::Wrapper
Public Instance Methods
ciskipclass(clazz)
click to toggle source
# File lib/cigale/wrapper/ci-skip.rb, line 14 def ciskipclass (clazz) return { :pluginid => "ci-skip", :"ruby-class" => clazz, } end
rbenvclass(clazz)
click to toggle source
# File lib/cigale/wrapper/rbenv.rb, line 21 def rbenvclass (clazz) return { :pluginid => "rbenv", :"ruby-class" => clazz, } end
translate_android_emulator_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/android-emulator.rb, line 3 def translate_android_emulator_wrapper (xml, wdef) if avd = wdef["avd"] xml.avdName avd else xml.osVersion wdef["os"] xml.screenDensity "mdpi" xml.screenResolution "WVGA" xml.deviceLocale "en_US" xml.targetAbi wdef["target-abi"] xml.sdCardSize wdef["sd-card"] end hardprops = (wdef["hardware-properties"] || {}) if hardprops.empty? xml.hardwareProperties else xml.hardwareProperties do hardprops.each do |key, value| xml.tag! "hudson.plugins.android__emulator.AndroidEmulator_-HardwareProperty" do xml.key key xml.value value end end end end xml.wipeData boolp(wdef["wipe"], false) xml.showWindow boolp(wdef["show-window"], false) xml.useSnapshots boolp(wdef["snapshot"], false) xml.deleteAfterBuild boolp(wdef["delete"], false) xml.startupDelay wdef["startup-delay"] || 0 xml.commandLineOptions wdef["commandline-options"] xml.executable wdef["exe"] end
translate_ansi_color_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/ansi-color.rb, line 3 def translate_ansi_color_wrapper (xml, wdef) xml.colorMapName wdef["color-map"] || "xterm" end
translate_ci_skip_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/ci-skip.rb, line 3 def translate_ci_skip_wrapper (xml, wdef) xml.tag! "ruby-proxy-object" do xml.tag! "ruby-object", ciskipclass("Jenkins::Tasks::BuildWrapperProxy") do xml.pluginid "ci-skip", ciskipclass("String") xml.object ciskipclass("CiSkipWrapper") do xml.ci__skip ciskipclass("NilClass") end end end end
translate_config_file_provider_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/config-file-provider.rb, line 3 def translate_config_file_provider_wrapper (xml, wdef) xml.tag! "org.jenkinsci.plugins.configfiles.buildwrapper.ConfigFileBuildWrapper", :plugin => "config-file-provider" do xml.managedFiles do for file in wdef["files"] xml.tag! "org.jenkinsci.plugins.configfiles.buildwrapper.ManagedFile" do xml.fileId file["file-id"] xml.targetLocation file["target"] xml.variable file["variable"] end end end end end
translate_credentials_binding_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/credentials-binding.rb, line 3 def translate_credentials_binding_wrapper (xml, wdef) @credentials_binding_classes ||= { "zip-file" => "org.jenkinsci.plugins.credentialsbinding.impl.ZipFileBinding", "file" => "org.jenkinsci.plugins.credentialsbinding.impl.FileBinding", "username-password" => "org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordBinding", "username-password-separated" => "org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding", "text" => "org.jenkinsci.plugins.credentialsbinding.impl.StringBinding", } xml.bindings do for binding in toa wdef k, v = first_pair(binding) clazz = @credentials_binding_classes[k] or raise "Unknown credentials binding class: #{k}" xml.tag! clazz do case k when "username-password-separated" xml.usernameVariable v["username"] xml.passwordVariable v["password"] else xml.variable v["variable"] end xml.credentialsId v["credential-id"] end end end end
translate_custom_tools_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/custom-tools.rb, line 3 def translate_custom_tools_wrapper (xml, wdef) xml.selectedTools do for tool in wdef["tools"] xml.tag! "com.cloudbees.jenkins.plugins.customtools.CustomToolInstallWrapper_-SelectedTool" do xml.name tool end end end xml.multiconfigOptions do xml.skipMasterInstallation wdef["skip-master-install"] end xml.convertHomesToUppercase wdef["convert-homes-to-upper"] end
translate_delivery_pipeline_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/delivery-pipeline.rb, line 3 def translate_delivery_pipeline_wrapper (xml, wdef) xml.tag! "se.diabol.jenkins.pipeline.PipelineVersionContributor" do xml.versionTemplate wdef["version-template"] xml.updateDisplayName boolp(wdef["set-display-name"], false) end end
translate_env_file_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/env-file.rb, line 3 def translate_env_file_wrapper (xml, wdef) xml.filePath wdef["properties-file"] end
translate_env_script_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/env-script.rb, line 3 def translate_env_script_wrapper (xml, wdef) xml.script wdef["script-content"] xml.onlyRunOnParent wdef["only-run-on-parent"] end
translate_exclusion_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/exclusion.rb, line 3 def translate_exclusion_wrapper (xml, wdef) xml.tag! "org.jvnet.hudson.plugins.exclusion.IdAllocator", :plugin => "Exclusion" do xml.ids do for res in wdef["resources"] xml.tag! "org.jvnet.hudson.plugins.exclusion.DefaultIdType" do xml.name res.upcase end end end end end
translate_inject_ownership_variables_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/inject-ownership-variables.rb, line 3 def translate_inject_ownership_variables_wrapper (xml, wdef) xml.injectNodeOwnership wdef["node-variables"] xml.injectJobOwnership wdef["job-variables"] end
translate_inject_passwords_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/inject-passwords.rb, line 3 def translate_inject_passwords_wrapper (xml, wdef) xml.injectGlobalPasswords true xml.maskPasswordParameters true xml.passwordEntries do for pass in wdef["job-passwords"] xml.EnvInjectPasswordEntry do xml.name pass["name"] xml.value pass["password"] end end end end
translate_inject_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/inject.rb, line 3 def translate_inject_wrapper (xml, wdef) xml.info do val = wdef["properties-file-path"] and xml.propertiesFilePath val val = wdef["properties-content"] and xml.propertiesContent val val = wdef["script-file-path"] and xml.scriptFilePath val val = wdef["script-content"] and xml.scriptContent val val = wdef["groovy-script-content"] and xml.groovyScriptContent val xml.loadFilesFromMaster boolp(wdef["load-files-from-master"], false) end end
translate_job_log_logger_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/job-log-logger.rb, line 3 def translate_job_log_logger_wrapper (xml, wdef) xml.suppressEmpty wdef["suppress-empty"] end
translate_live_screenshot_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/live-screenshot.rb, line 3 def translate_live_screenshot_wrapper (xml, wdef) xml.tag! "org.jenkinsci.plugins.livescreenshot.LiveScreenshotBuildWrapper" do xml.fullscreenFilename wdef["full-size"] || "screenshot.png" xml.thumbnailFilename wdef["thumbnail"] || "screenshot-thumb.png" end end
translate_locks_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/locks.rb, line 3 def translate_locks_wrapper (xml, wdef) wdef = toa wdef return if wdef.empty? xml.tag! "hudson.plugins.locksandlatches.LockWrapper" do xml.locks do for lock in wdef xml.tag! "hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig" do xml.name lock end end end end end
translate_logfilesize_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/logfilesize.rb, line 3 def translate_logfilesize_wrapper (xml, wdef) xml.tag! "hudson.plugins.logfilesizechecker.LogfilesizecheckerWrapper", :plugin => "logfilesizechecker" do xml.setOwn boolp(wdef["set-own"], false) xml.maxLogSize wdef["size"] || 128 xml.failBuild boolp(wdef["fail"], false) end end
translate_logstash_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/logstash.rb, line 3 def translate_logstash_wrapper (xml, wdef) xml.tag! "jenkins.plugins.logstash.LogstashBuildWrapper", :plugin => "logstash@0.8.0" do xml.useRedis wdef["use-redis"] if wdef["use-redis"] == true redis = (wdef["redis"] || {}) xml.redis do xml.host redis["host"] || "localhost" xml.port redis["port"] || 6379 xml.numb redis["database-number"] || 0 xml.pass redis["database-password"] xml.dataType redis["data-type"] || "list" xml.key redis["key"] || "logstash" end end end end
translate_m2_repository_cleanup_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/m2-repository-cleanup.rb, line 3 def translate_m2_repository_cleanup_wrapper (xml, wdef) xml.tag! "hudson.plugins.m2__repo__reaper.M2RepoReaperWrapper", :plugin => "m2-repo-reaper" do patterns = toa wdef["patterns"] if patterns.empty? xml.artifactPatterns xml.patterns else xml.artifactPatterns patterns.join(",") xml.patterns do for pattern in patterns xml.string pattern end end end end end
translate_matrix_tie_parent_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/matrix-tie-parent.rb, line 3 def translate_matrix_tie_parent_wrapper (xml, wdef) xml.labelName wdef["node"] end
translate_mongo_db_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/mongo-db.rb, line 3 def translate_mongo_db_wrapper (xml, wdef) xml.tag! "org.jenkinsci.plugins.mongodb.MongoBuildWrapper", :plugin => "mongodb" do xml.mongodbName wdef["name"] xml.port wdef["port"] xml.dbpath wdef["data-directory"] xml.parameters wdef["startup-params"] xml.startTimeout wdef["start-timeout"] || 0 end end
translate_port_allocator_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/port-allocator.rb, line 3 def translate_port_allocator_wrapper (xml, wdef) xml.ports do names = wdef["names"] || [wdef["name"]] for name in names xml.tag! "org.jvnet.hudson.plugins.port__allocator.DefaultPortType" do xml.name name end end end end
translate_rbenv_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/rbenv.rb, line 3 def translate_rbenv_wrapper (xml, wdef) xml.tag! "ruby-proxy-object" do xml.tag! "ruby-object", rbenvclass("Jenkins::Tasks::BuildWrapperProxy") do xml.pluginid "rbenv", rbenvclass("String") xml.object rbenvclass("RbenvWrapper") do xml.gem__list "bundler,rake", rbenvclass("String") xml.rbenv__root "$HOME/.rbenv", rbenvclass("String") xml.rbenv__repository "https://github.com/sstephenson/rbenv.git", rbenvclass("String") xml.rbenv__revision "master", rbenvclass("String") xml.ruby__build__repository "https://github.com/sstephenson/ruby-build.git", rbenvclass("String") xml.ruby__build__revision "master", rbenvclass("String") xml.version wdef["ruby-version"] || "1.9.3-p484", rbenvclass("String") xml.ignore__local__version (wdef["ignore-local-version"] == true ? rbenvclass("trueClass") : rbenvclass("falseClass")) end end end end
translate_release_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/release.rb, line 3 def translate_release_wrapper (xml, wdef) xml.doNotKeepLog !wdef["keep-forever"] xml.overrideBuildParameters false xml.releaseVersionTemplate xml.parameterDefinitions do for param in wdef["parameters"] ptype, pspec = asplode param translate("parameter", xml, ptype, pspec) end end translate_builders xml, "postSuccessfulBuildSteps", wdef["post-success"] end
translate_ssh_agent_credentials_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/ssh-agent-credentials.rb, line 3 def translate_ssh_agent_credentials_wrapper (xml, wdef) users = wdef["users"] || [wdef["user"]] if users.size > 1 xml.credentialIds do for user in users xml.string user end end else for user in users xml.user user end end end
translate_timeout_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/timeout.rb, line 3 def translate_timeout_wrapper (xml, wdef) use_strategy = wdef.has_key?("timeout") && %w(no-activity likely-stuck absolute).include?(wdef["type"]) xml.timeoutMinutes wdef["timeout"] || 3 timeoutvar = wdef["timeout-var"] and xml.timeoutEnvVar timeoutvar xml.failBuild wdef["fail"] xml.writingDescription boolp(wdef["write-description"], false) xml.timeoutPercentage wdef["elastic-percentage"] || 0 xml.timeoutMinutesElasticDefault wdef["elastic-default-timeout"] || 3 case wdef["type"] when "absolute" xml.timeoutType "absolute" when "elastic" xml.timeoutType "elastic" when "likely-stuck" xml.timeoutType "likelyStuck" end end
translate_workspace_cleanup_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/workspace-cleanup.rb, line 2 def translate_workspace_cleanup_wrapper (xml, wdef) # cf. publisher/workspace-cleanup.rb translate_wscleanup_base xml, wdef xml.cleanupParameter wdef["cleanup-parameter"] ed = wdef["external-delete"] and xml.externalDelete ed end
translate_wrappers(xml, wrappers)
click to toggle source
# File lib/cigale/wrapper.rb, line 72 def translate_wrappers (xml, wrappers) wrappers = toa wrappers wrappers = toa(wrappers).reject do |w| type, spec = asplode w case when type == "locks" && (toa spec).empty? true else false end end if wrappers.empty? return xml.buildWrappers end xml.buildWrappers do for w in wrappers type, spec = asplode w translate("wrapper", xml, type, spec) end end end
translate_xvfb_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/xvfb.rb, line 3 def translate_xvfb_wrapper (xml, wdef) xml.installationName wdef["installation-name"] || "default" xml.autoDisplayName boolp(wdef["auto-display-name"], false) display_name = wdef["display-name"] and xml.displayName display_name xml.assignedLabels wdef["assigned-labels"] xml.parallelBuild boolp(wdef["parallel-builds"], false) xml.timeout wdef["timeout"] || 0 xml.screen wdef["screen"] || "1024x768x24" xml.displayNameOffset wdef["display-name-offset"] || 1 xml.additionalOptions wdef["additional-options"] xml.debug boolp(wdef["debug"], false) xml.shutdownWithBuild boolp(wdef["shutdown-with-build"], false) end
translate_xvnc_wrapper(xml, wdef)
click to toggle source
# File lib/cigale/wrapper/xvnc.rb, line 3 def translate_xvnc_wrapper (xml, wdef) xml.takeScreenshot wdef["screenshot"] xml.useXauthority wdef["xauthority"] end
wrapper_classes()
click to toggle source
# File lib/cigale/wrapper.rb, line 36 def wrapper_classes @wrapper_classes ||= { "mongo-db" => CustomWrapper.new, "rbenv" => CustomWrapper.new, "m2-repository-cleanup" => CustomWrapper.new, "logstash" => CustomWrapper.new, "logfilesize" => CustomWrapper.new, "exclusion" => CustomWrapper.new, "config-file-provider" => CustomWrapper.new, "ci-skip" => CustomWrapper.new, "delivery-pipeline" => CustomWrapper.new, "live-screenshot" => CustomWrapper.new, "timeout" => "hudson.plugins.build__timeout.BuildTimeoutWrapper", "inject-passwords" => "EnvInjectPasswordWrapper", "inject" => "EnvInject", "port-allocator" => "org.jvnet.hudson.plugins.port__allocator.PortAllocator", "android-emulator" => "hudson.plugins.android__emulator.AndroidEmulator", "ssh-agent-credentials" => "com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper", "inject-ownership-variables" => "com.synopsys.arc.jenkins.plugins.ownership.wrappers.OwnershipBuildWrapper", "inject" => "EnvInjectBuildWrapper", "env-script" => "com.lookout.jenkins.EnvironmentScript", "env-file" => "hudson.plugins.envfile.EnvFileBuildWrapper", "matrix-tie-parent" => "matrixtieparent.BuildWrapperMtp", "locks" => CustomWrapper.new, "xvfb" => "org.jenkinsci.plugins.xvfb.XvfbBuildWrapper", "xvnc" => "hudson.plugins.xvnc.Xvnc", "credentials-binding" => "org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper", "job-log-logger" => "org.jenkins.ci.plugins.jobloglogger.JobLogLoggerBuildWrapper", "custom-tools" => "com.cloudbees.jenkins.plugins.customtools.CustomToolInstallWrapper", "release" => "hudson.plugins.release.ReleaseWrapper", "ansi-color" => ["hudson.plugins.ansicolor.AnsiColorBuildWrapper", :plugin => "ansicolor@0.4.2"], "workspace-cleanup" => ["hudson.plugins.ws__cleanup.PreBuildCleanup", :plugin => "ws-cleanup@0.28"], } end