Sha256: 45a4c5b0592d6829357ccad96e0cdf3b050b76d55536f4fca4dc5b7819369867
Contents?: true
Size: 1.36 KB
Versions: 24
Compression:
Stored size: 1.36 KB
Contents
namespace :xdr do # As Hayashi adds more .x files, we'll need to update this array # Prior to launch, we should be separating our .x files into a separate # repo, and should be able to improve this integration. HAYASHI_XDR = [ "src/xdr/Stellar-types.x", "src/xdr/Stellar-ledger-entries.x", "src/xdr/Stellar-transaction.x", "src/xdr/Stellar-ledger.x", "src/xdr/Stellar-overlay.x", "src/xdr/Stellar-SCP.x", ] LOCAL_XDR_PATHS = HAYASHI_XDR.map{ |src| "xdr/" + File.basename(src) } task :update => [:download, :generate] task :download do require 'octokit' require 'base64' FileUtils.rm_rf "xdr/" FileUtils.mkdir_p "xdr" client = Octokit::Client.new(:netrc => true) HAYASHI_XDR.each do |src| local_path = "xdr/" + File.basename(src) encoded = client.contents("stellar/stellar-core", path: src).content decoded = Base64.decode64 encoded IO.write(local_path, decoded) end end task :generate do require "pathname" require "xdrgen" require 'fileutils' FileUtils.rm_rf "generated" compilation = Xdrgen::Compilation.new( LOCAL_XDR_PATHS, output_dir: "generated", namespace: "stellar-base-generated", language: :ruby ) compilation.compile end end
Version data entries
24 entries across 24 versions & 3 rubygems