2015-08-08 3 views
5

Я не уверен, может ли хрюкать это. Я имею две задачи grunt, которые я хочу запустить. Первой задачей является создание макетного сообщения, а второе - выполнение задачи penthouse для inline css. Любой хакерский прием приветствуется.Как получить фид вывода задачи grunt на другую задачу grunt?

Это задача exec, которую я должен запустить, чтобы создать запись в блоге WordPress.

exec: { 
     create_mock: { 
      cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'', 
      callback: function(err, stdout, stderr) { 
       grunt.log.write('stdout: ' + stdout); // This is the url of the created post. 
      } 

     } 
    }, 

Выходом является URL, который был создан пост в блоге и у меня есть эта penthouse задания для выполнения которой мне нужно кормить в URL, что эта задача будет выглядеть, чтобы получить все CSS Сверх раз.

penthouse: { 
     singular: { 
      outfile: 'assets/css/inline/_singular.css', 
      css: 'assets/css/theme.css', 
      minify: true, 
      url: $URL, // << I want to feed in the url from the previous task to here. 
      width: 1300, 
      height: 900 
     } 
    }, 

Hacky способ, которым я могу думать о том, чтобы сохранить в файл и читать, что в penthouse задачи, но я думаю, что есть должен быть лучший способ сделать это.

Большое спасибо.

ответ

3

Вы можете использовать grunt.config.set, чтобы установить значение непосредственно (или другое имущество и использовать его с grunt.template, если вам нужно использовать значение несколько раз.)

exec: { 
    create_mock: { 
     cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'', 
     callback: function(err, stdout, stderr) { 
      grunt.config.set("penthouse.singular.url", stdout); 
     } 

    } 
},