From 9cf391298ca8207e7b74c715a8b613a2127bf7a5 Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Mon, 10 Aug 2015 06:25:38 -0700 Subject: [PATCH] Move all Gem::Specification creation through the sanitize() method for stringies --- .../github/jrubygradle/groovygem/Gem.groovy | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/groovy/com/github/jrubygradle/groovygem/Gem.groovy b/src/main/groovy/com/github/jrubygradle/groovygem/Gem.groovy index d83fe01..b7b2ad9 100644 --- a/src/main/groovy/com/github/jrubygradle/groovygem/Gem.groovy +++ b/src/main/groovy/com/github/jrubygradle/groovygem/Gem.groovy @@ -95,22 +95,27 @@ class Gem { # Gem::Specification.new do |s| - s.name = "${name}" - s.version = "${version.version}" - s.description = ${JsonOutput.toJson(description)} - s.homepage = "${homepage}" - s.authors = ${JsonOutput.toJson(authors)} - s.email = ${JsonOutput.toJson(email)} - s.platform = "${platform}" + s.name = ${sanitize(name)} + s.version = ${sanitize(version.version)} + s.description = ${sanitize(description)} + s.homepage = ${sanitize(homepage)} + s.authors = ${sanitize(authors)} + s.email = ${sanitize(email)} + s.licenses = ${sanitize(licenses)} - s.require_paths = ${JsonOutput.toJson(requirePaths)} - s.executables = ${JsonOutput.toJson(executables)} - s.licenses = ${JsonOutput.toJson(licenses)} - s.rubygems_version = "${rubygemsVersion}" + s.platform = ${sanitize(platform)} + s.require_paths = ${sanitize(requirePaths)} + s.executables = ${sanitize(executables)} + s.rubygems_version = ${sanitize(rubygemsVersion)} end """ } + /** Convert whatever object we're given into a safe (see: JSON) reprepsentation */ + protected String sanitize(Object value) { + return JsonOutput.toJson(value) + } + private static Gem createGemFromFile(File gemMetadataFile) { if (!gemMetadataFile.exists()) { return null