summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-07 14:23:47 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-07 14:23:47 +0200
commit70bda3e89bc3828fc8771496ec6d61e41ac3d3ed (patch)
treec4b22b60c78ae12040d4aaaf1c0e8e87166df99d /lib/gitlab/ci
parentc2d6d61dac2bf04b649c84ab0f4fe98da906c2c4 (diff)
downloadgitlab-ce-70bda3e89bc3828fc8771496ec6d61e41ac3d3ed.tar.gz
Implement script in Ci config and use in legacy one
Diffstat (limited to 'lib/gitlab/ci')
-rw-r--r--lib/gitlab/ci/config.rb5
-rw-r--r--lib/gitlab/ci/config/node/before_script.rb10
-rw-r--r--lib/gitlab/ci/config/node/entry.rb4
-rw-r--r--lib/gitlab/ci/config/node/global.rb4
4 files changed, 23 insertions, 0 deletions
diff --git a/lib/gitlab/ci/config.rb b/lib/gitlab/ci/config.rb
index 62cd514a72d..6e3fd2aa604 100644
--- a/lib/gitlab/ci/config.rb
+++ b/lib/gitlab/ci/config.rb
@@ -5,6 +5,11 @@ module Gitlab
delegate :valid?, :errors, to: :@global
+ ##
+ # Temporary delegations that should be removed after refactoring
+ #
+ delegate :before_script, to: :@global
+
def initialize(config)
loader = Loader.new(config)
diff --git a/lib/gitlab/ci/config/node/before_script.rb b/lib/gitlab/ci/config/node/before_script.rb
index a8c350f3c7d..271cb7b5da1 100644
--- a/lib/gitlab/ci/config/node/before_script.rb
+++ b/lib/gitlab/ci/config/node/before_script.rb
@@ -5,6 +5,16 @@ module Gitlab
class BeforeScript < Entry
include ValidationHelpers
+ def description
+ 'Script that is executed before the one defined in a job.'
+ end
+
+ def script
+ raise unless valid?
+
+ @value.join("\n")
+ end
+
def validate!
unless validate_array_of_strings(@value)
@errors << 'before_script should be an array of strings'
diff --git a/lib/gitlab/ci/config/node/entry.rb b/lib/gitlab/ci/config/node/entry.rb
index 3043dc4c61f..f8f2d0be23a 100644
--- a/lib/gitlab/ci/config/node/entry.rb
+++ b/lib/gitlab/ci/config/node/entry.rb
@@ -55,6 +55,10 @@ module Gitlab
raise NotImplementedError
end
+ def description
+ raise NotImplementedError
+ end
+
class << self
attr_reader :nodes
diff --git a/lib/gitlab/ci/config/node/global.rb b/lib/gitlab/ci/config/node/global.rb
index cfa506c28b7..5912ead21c6 100644
--- a/lib/gitlab/ci/config/node/global.rb
+++ b/lib/gitlab/ci/config/node/global.rb
@@ -4,6 +4,10 @@ module Gitlab
module Node
class Global < Entry
add_node :before_script, BeforeScript
+
+ def before_script
+ @before_script.script
+ end
end
end
end