reemo 0.2.0.pre.SNAPSHOT

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fb743b129f0abfd0ad88cedd537950dcd533b085
4
+ data.tar.gz: 31e5edcf24516a92d98f33574ce7b970c6bbf983
5
+ SHA512:
6
+ metadata.gz: bae107dd092a6252b7f46aaaa6e15e675222449fbd16385a67edd8fae425e6c33ca069a7e21491e8028870b32b613d01410f7dc1a89589012ffdefddddbabc4f
7
+ data.tar.gz: ca954566528c7473055a196af2b7441fed72991560db9eff2b07898d813099d10cd27fea6ff0157b815a75019d5bc3c13acb928ef7cc8ae2f601427a6369e1cb
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ /vendor/cache
10
+
11
+ /.idea
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # gem 'multipart-post'
4
+ # gem 'minitar'
5
+ # gem 'buff-ignore'
6
+ # gem 'thor'
7
+
8
+ # Specify your gem's dependencies in reemo.gemspec
9
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ reemo (0.2.0.pre.SNAPSHOT)
5
+ buff-ignore
6
+ minitar
7
+ multipart-post
8
+ thor
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ buff-ignore (1.2.0)
14
+ minitar (0.6.1)
15
+ multipart-post (2.0.0)
16
+ rake (10.5.0)
17
+ thor (0.20.0)
18
+
19
+ PLATFORMS
20
+ ruby
21
+
22
+ DEPENDENCIES
23
+ bundler (~> 1.16)
24
+ rake (~> 10.0)
25
+ reemo!
26
+
27
+ BUNDLED WITH
28
+ 1.16.1
data/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Reemo CLI
2
+
3
+ ## Usage
4
+
5
+
6
+ ## Installation
7
+
8
+ ```bash
9
+ cd <this repo>
10
+ bundle install
11
+ ```
12
+
13
+ ## Server Configuration
14
+
15
+ ```bash
16
+ bundle exec reemo server-config --host=hogehoge.io --http-port=4567 --ssh-port=2222
17
+ ```
18
+
19
+ ## Run
20
+
21
+ ```bash
22
+ cd sample_workspaces/gcc-project1/
23
+ bundle exec reemo run
24
+ ```
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "reemo"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/reemo ADDED
@@ -0,0 +1,5 @@
1
+ # !/usr/bin/env ruby
2
+
3
+ require "reemo"
4
+
5
+ Reemo::CLI.start(ARGV)
data/lib/reemo.rb ADDED
@@ -0,0 +1,159 @@
1
+ require "reemo/version"
2
+
3
+ require 'zlib'
4
+ require 'minitar'
5
+ require 'net/http/post/multipart'
6
+ require 'buff/ignore'
7
+ require 'open-uri'
8
+ require 'tempfile'
9
+ require 'thor'
10
+ require 'fileutils'
11
+ require 'yaml'
12
+
13
+ CONFIG_DIR_PATH = ".reemo"
14
+ OLD_SESSION_ID_FILE_PATH = File.join(CONFIG_DIR_PATH, "session_id")
15
+ IGNORE_FILE_NAME = '.reemoignore'
16
+ OUTPUT_DIR_PATH = "output"
17
+ GLOBAL_CONFIG_DIR_PATH = File.join(ENV["HOME"], ".config", "reemo-cli")
18
+ GLOBAL_CONFIG_YAML_PATH = File.join(GLOBAL_CONFIG_DIR_PATH, "config.yaml")
19
+
20
+ module Reemo
21
+ class CLI < Thor
22
+
23
+ # (from: http://secret-garden.hatenablog.com/entry/2015/05/27/193313)
24
+ map "run" => :run_
25
+
26
+ desc "sever-config", "Configure a server setting"
27
+ option :host, :required => true, :type => :string
28
+ option :http_port, :required => true, :type => :numeric
29
+ option :ssh_port, :required => true, :type => :numeric
30
+ def server_config()
31
+ host = options[:host]
32
+ http_port = options[:http_port]
33
+ ssh_port = options[:ssh_port]
34
+
35
+ # If global config directory doesn't exist yet
36
+ if !Dir.exists?(GLOBAL_CONFIG_DIR_PATH)
37
+ # Make the directory
38
+ FileUtils.makedirs(GLOBAL_CONFIG_DIR_PATH)
39
+ end
40
+
41
+ # Get config yaml
42
+ if File.exists?(GLOBAL_CONFIG_YAML_PATH)
43
+ config_yaml_map = YAML::load_file(GLOBAL_CONFIG_YAML_PATH)
44
+ else
45
+ config_yaml_map = {}
46
+ end
47
+
48
+ # Set server config
49
+ config_yaml_map["server"] = {
50
+ "host" => host,
51
+ "http_port" => http_port,
52
+ "ssh_port" => ssh_port
53
+ }
54
+
55
+ # Write to yaml
56
+ File.write(GLOBAL_CONFIG_YAML_PATH, YAML::dump(config_yaml_map))
57
+
58
+ puts("Server configuration successful!")
59
+ end
60
+
61
+ desc "run", "Run this project in current working directory"
62
+ def run_()
63
+
64
+ # If configure file doesn't exist
65
+ if !File.exists?(GLOBAL_CONFIG_YAML_PATH)
66
+ STDERR.puts <<EOS
67
+ Error: Configure not found
68
+ You should configure server setting like the following.
69
+ $ reemo server-config --host=hogehoge.io --http-port=4567 --ssh-port=2222
70
+ EOS
71
+ exit(1)
72
+ end
73
+
74
+ config_yaml_map = YAML::load_file(GLOBAL_CONFIG_YAML_PATH)
75
+
76
+ # Load server setting from yaml
77
+ host = config_yaml_map["server"]["host"]
78
+ http_port = config_yaml_map["server"]["http_port"]
79
+ ssh_port = config_yaml_map["server"]["ssh_port"]
80
+
81
+ url = URI.parse("http://#{host}:#{http_port}/build") # TODO Hard code
82
+
83
+ if !Dir.exists?(CONFIG_DIR_PATH)
84
+ Dir.mkdir(CONFIG_DIR_PATH)
85
+ end
86
+
87
+ # Session ID (This will be filled)
88
+ session_id = nil
89
+
90
+ # Get old session ID
91
+ old_session_id = File.exists?(OLD_SESSION_ID_FILE_PATH)? File.read(OLD_SESSION_ID_FILE_PATH) : nil
92
+
93
+ Tempfile.open(){|tar_gz_f|
94
+ workspace_tar_gz_path = tar_gz_f.path
95
+ # Compress workspace to tar.gz
96
+ Zlib::GzipWriter.open(tar_gz_f){|sgz|
97
+ Archive::Tar::Minitar::Output.open(sgz){|tar|
98
+ # Get ignore file path
99
+ ignore_file_path = IGNORE_FILE_NAME
100
+ # Get all files
101
+ all_file_paths = Dir.glob("**/*", File::FNM_DOTMATCH).reject{|e| [".",".."].any?{|s| s== File::basename(e)}}
102
+ # Ignore file exists or not
103
+ if File.exists?(ignore_file_path)
104
+ # Generate ignore
105
+ ignore = Buff::Ignore::IgnoreFile.new(IGNORE_FILE_NAME)
106
+ # Create file paths by using ignore
107
+ file_paths = ignore.apply(all_file_paths)
108
+ else
109
+ # File paths are the same as all file paths because of no ignore
110
+ file_paths = all_file_paths
111
+ end
112
+ # Archive files
113
+ file_paths.each{|entry|
114
+ Minitar.pack_file(entry, tar)
115
+ }
116
+ }
117
+ }
118
+ tar_gz_f.close()
119
+
120
+ File.open(workspace_tar_gz_path, 'rb') do |f|
121
+ # p f.read(10000)
122
+ req = Net::HTTP::Post::Multipart.new(
123
+ url.path,
124
+ "file" => UploadIO.new(f, "application/tar+gzip", "dummy.tar.gz"),
125
+ "old_session_id" => old_session_id
126
+ )
127
+ res = Net::HTTP.start(url.host, url.port) do |http|
128
+ http.request(req)
129
+ end
130
+
131
+ session_id = res.entity
132
+ end
133
+ }
134
+
135
+ puts("Session ID: #{session_id}")
136
+ File.write(OLD_SESSION_ID_FILE_PATH, session_id)
137
+
138
+ user_name = session_id
139
+ ssh_command = "ssh -t -p #{ssh_port} #{user_name}@#{host}"
140
+ system(ssh_command)
141
+
142
+ open("http://#{host}:#{http_port}/output?session_id=#{session_id}"){|f|
143
+ Tempfile.open(){|tmp_out_f|
144
+ IO.copy_stream(f, tmp_out_f)
145
+ tmp_out_f.close()
146
+
147
+ if !File.empty?(tmp_out_f.path)
148
+ if !Dir.exists?(OUTPUT_DIR_PATH)
149
+ Dir.mkdir(OUTPUT_DIR_PATH)
150
+ end
151
+
152
+ # (from: http://www.itmedia.co.jp/help/tips/linux/l0418.html)
153
+ system("tar xzf #{tmp_out_f.path} -C #{OUTPUT_DIR_PATH}/") # TODO: Not to use system
154
+ end
155
+ }
156
+ }
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,3 @@
1
+ module Reemo
2
+ VERSION = "0.2.0-SNAPSHOT"
3
+ end
data/reemo.gemspec ADDED
@@ -0,0 +1,40 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "reemo/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "reemo"
8
+ spec.version = Reemo::VERSION
9
+ spec.authors = ["Ryo Ota"]
10
+ spec.email = ["nwtgck@gmail.com"]
11
+
12
+ spec.summary = %q{Write a short summary, because RubyGems requires one.}
13
+ spec.description = %q{Write a longer description or delete this line.}
14
+ spec.homepage = "https://github.com/nwtgck/reemo-cli-ruby"
15
+
16
+
17
+ spec.add_dependency 'multipart-post'
18
+ spec.add_dependency 'minitar'
19
+ spec.add_dependency 'buff-ignore'
20
+ spec.add_dependency 'thor'
21
+
22
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
23
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
24
+ if spec.respond_to?(:metadata)
25
+ # spec.metadata["allowed_push_host"] = "Set to 'http://mygemserver.com'"
26
+ else
27
+ raise "RubyGems 2.0 or newer is required to protect against " \
28
+ "public gem pushes."
29
+ end
30
+
31
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
32
+ f.match(%r{^(test|spec|features)/})
33
+ end
34
+ spec.bindir = "exe"
35
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
36
+ spec.require_paths = ["lib"]
37
+
38
+ spec.add_development_dependency "bundler", "~> 1.16"
39
+ spec.add_development_dependency "rake", "~> 10.0"
40
+ end
@@ -0,0 +1 @@
1
+ /.reemo
@@ -0,0 +1,18 @@
1
+ #include <stdio.h>
2
+
3
+ const int GREETING_LEN = 13;
4
+ const char * const greetings[] = {
5
+ "Hello", "Hola", "Bonjour",
6
+ "Ciao", "こんにちは", "안녕하세요",
7
+ "Cześć", "Olá", "Здравствуйте",
8
+ "Chào bạn", "您好", "Hallo",
9
+ "Hej"
10
+ };
11
+
12
+ int main(){
13
+ puts("=== Hello from a gcc project! ===");
14
+ for(int i = 0; i < GREETING_LEN; i++){
15
+ puts(greetings[i]);
16
+ }
17
+ return 0;
18
+ }
@@ -0,0 +1,11 @@
1
+ image: gcc:7.2
2
+
3
+ script: |
4
+ pwd
5
+ gcc main.c -o main
6
+ ./main
7
+ ./main > /output/main_out.txt
8
+
9
+ #image: alpine
10
+ #
11
+ #script: /bin/sh
@@ -0,0 +1,4 @@
1
+ .stack-work/
2
+ haskell-stack-project1.cabal
3
+ *~
4
+ /.reemo
@@ -0,0 +1,3 @@
1
+ # Changelog for haskell-stack-project1
2
+
3
+ ## Unreleased changes
@@ -0,0 +1,30 @@
1
+ Copyright Ryo Ota (c) 2017
2
+
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ * Redistributions in binary form must reproduce the above
12
+ copyright notice, this list of conditions and the following
13
+ disclaimer in the documentation and/or other materials provided
14
+ with the distribution.
15
+
16
+ * Neither the name of Ryo Ota nor the names of other
17
+ contributors may be used to endorse or promote products derived
18
+ from this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ # haskell-stack-project1
@@ -0,0 +1,2 @@
1
+ import Distribution.Simple
2
+ main = defaultMain
@@ -0,0 +1,17 @@
1
+ module Main where
2
+
3
+ import Control.Monad
4
+
5
+ -- Greetings around world
6
+ -- (from: https://www.rust-lang.org/)
7
+ greetings = ["Hello", "Hola", "Bonjour",
8
+ "Ciao", "こんにちは", "안녕하세요",
9
+ "Cześć", "Olá", "Здравствуйте",
10
+ "Chào bạn", "您好", "Hallo",
11
+ "Hej"]
12
+
13
+ main :: IO ()
14
+ main = do
15
+ putStrLn "=== Hello from a haskell-stack project! ==="
16
+ -- Hello world
17
+ mapM_ putStrLn greetings
@@ -0,0 +1,44 @@
1
+ name: haskell-stack-project1
2
+ version: 0.1.0.0
3
+ github: "nwtgck/haskell-stack-project1"
4
+ license: BSD3
5
+ author: "Ryo Ota"
6
+ maintainer: "nwtgck@gmail.com"
7
+ copyright: "2017 Ryo Ota"
8
+
9
+ extra-source-files:
10
+ - README.md
11
+ - ChangeLog.md
12
+
13
+ # Metadata used when publishing your package
14
+ synopsis: Short description of your package
15
+ # category: Web
16
+
17
+ # To avoid duplicated efforts in documentation and dealing with the
18
+ # complications of embedding Haddock markup inside cabal files, it is
19
+ # common to point users to the README.md file.
20
+ description: Please see the README on Github at <https://github.com/nwtgck/haskell-stack-project1#readme>
21
+
22
+ dependencies:
23
+ - base >= 4.7 && < 5
24
+
25
+
26
+ executables:
27
+ haskell-stack-project1-exe:
28
+ main: Main.hs
29
+ source-dirs: app
30
+ ghc-options:
31
+ - -threaded
32
+ - -rtsopts
33
+ - -with-rtsopts=-N
34
+ dependencies: []
35
+
36
+ tests:
37
+ haskell-stack-project1-test:
38
+ main: Spec.hs
39
+ source-dirs: test
40
+ ghc-options:
41
+ - -threaded
42
+ - -rtsopts
43
+ - -with-rtsopts=-N
44
+ dependencies: []
@@ -0,0 +1,8 @@
1
+ image: nwtgck/haskell-stack-1.2.0
2
+
3
+ script: |
4
+ export LC_ALL=C.UTF-8
5
+ stack build --install-ghc --allow-different-user
6
+
7
+ cache_dirs:
8
+ - /root/.stack
@@ -0,0 +1,66 @@
1
+ # This file was automatically generated by 'stack init'
2
+ #
3
+ # Some commonly used options have been documented as comments in this file.
4
+ # For advanced use and comprehensive documentation of the format, please see:
5
+ # https://docs.haskellstack.org/en/stable/yaml_configuration/
6
+
7
+ # Resolver to choose a 'specific' stackage snapshot or a compiler version.
8
+ # A snapshot resolver dictates the compiler version and the set of packages
9
+ # to be used for project dependencies. For example:
10
+ #
11
+ # resolver: lts-3.5
12
+ # resolver: nightly-2015-09-21
13
+ # resolver: ghc-7.10.2
14
+ # resolver: ghcjs-0.1.0_ghc-7.10.2
15
+ # resolver:
16
+ # name: custom-snapshot
17
+ # location: "./custom-snapshot.yaml"
18
+ resolver: lts-9.3
19
+
20
+ # User packages to be built.
21
+ # Various formats can be used as shown in the example below.
22
+ #
23
+ # packages:
24
+ # - some-directory
25
+ # - https://example.com/foo/bar/baz-0.0.2.tar.gz
26
+ # - location:
27
+ # git: https://github.com/commercialhaskell/stack.git
28
+ # commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
29
+ # - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
30
+ # extra-dep: true
31
+ # subdirs:
32
+ # - auto-update
33
+ # - wai
34
+ #
35
+ # A package marked 'extra-dep: true' will only be built if demanded by a
36
+ # non-dependency (i.e. a user package), and its test suites and benchmarks
37
+ # will not be run. This is useful for tweaking upstream packages.
38
+ packages:
39
+ - .
40
+ # Dependency packages to be pulled from upstream that are not in the resolver
41
+ # (e.g., acme-missiles-0.3)
42
+ #extra-deps: []
43
+
44
+ # Override default flag values for local packages and extra-deps
45
+ # flags: {}
46
+
47
+ # Extra package databases containing global packages
48
+ # extra-package-dbs: []
49
+
50
+ # Control whether we use the GHC we find on the path
51
+ # system-ghc: true
52
+ #
53
+ # Require a specific version of stack, using version ranges
54
+ # require-stack-version: -any # Default
55
+ # require-stack-version: ">=1.6"
56
+ #
57
+ # Override the architecture used by stack, especially useful on Windows
58
+ # arch: i386
59
+ # arch: x86_64
60
+ #
61
+ # Extra directories used by stack for building
62
+ # extra-include-dirs: [/path/to/dir]
63
+ # extra-lib-dirs: [/path/to/dir]
64
+ #
65
+ # Allow a newer minor version of GHC than the snapshot specifies
66
+ # compiler-check: newer-minor
@@ -0,0 +1,2 @@
1
+ main :: IO ()
2
+ main = putStrLn "Test suite not yet implemented"
@@ -0,0 +1,2 @@
1
+ /target
2
+ /.reemo
@@ -0,0 +1,2 @@
1
+ target
2
+ target/*
@@ -0,0 +1,4 @@
1
+ [root]
2
+ name = "rust-project1"
3
+ version = "0.1.0"
4
+
@@ -0,0 +1,6 @@
1
+ [package]
2
+ name = "rust-project1"
3
+ version = "0.1.0"
4
+ authors = ["Ryo Ota <nwtgck@gmail.com>"]
5
+
6
+ [dependencies]
@@ -0,0 +1,7 @@
1
+ image: rust:1.22
2
+
3
+ script: |
4
+ cargo run
5
+
6
+ cache_dirs:
7
+ - /workspace/target
@@ -0,0 +1,13 @@
1
+ // Hello world
2
+ // (from: https://www.rust-lang.org/)
3
+ fn main() {
4
+ let greetings = ["Hello", "Hola", "Bonjour",
5
+ "Ciao", "こんにちは", "안녕하세요",
6
+ "Cześć", "Olá", "Здравствуйте",
7
+ "Chào bạn", "您好", "Hallo",
8
+ "Hej"];
9
+
10
+ for greeting in greetings.iter() {
11
+ println!("{}", greeting);
12
+ }
13
+ }
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: reemo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0.pre.SNAPSHOT
5
+ platform: ruby
6
+ authors:
7
+ - Ryo Ota
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-01-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: multipart-post
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitar
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: buff-ignore
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.16'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.16'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ description: Write a longer description or delete this line.
98
+ email:
99
+ - nwtgck@gmail.com
100
+ executables:
101
+ - reemo
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - ".gitignore"
106
+ - Gemfile
107
+ - Gemfile.lock
108
+ - README.md
109
+ - Rakefile
110
+ - bin/console
111
+ - bin/setup
112
+ - exe/reemo
113
+ - lib/reemo.rb
114
+ - lib/reemo/version.rb
115
+ - reemo.gemspec
116
+ - sample_workspaces/gcc-project1/.gitignore
117
+ - sample_workspaces/gcc-project1/main.c
118
+ - sample_workspaces/gcc-project1/reemo.yaml
119
+ - sample_workspaces/haskell-stack-project1/.gitignore
120
+ - sample_workspaces/haskell-stack-project1/ChangeLog.md
121
+ - sample_workspaces/haskell-stack-project1/LICENSE
122
+ - sample_workspaces/haskell-stack-project1/README.md
123
+ - sample_workspaces/haskell-stack-project1/Setup.hs
124
+ - sample_workspaces/haskell-stack-project1/app/Main.hs
125
+ - sample_workspaces/haskell-stack-project1/package.yaml
126
+ - sample_workspaces/haskell-stack-project1/reemo.yaml
127
+ - sample_workspaces/haskell-stack-project1/stack.yaml
128
+ - sample_workspaces/haskell-stack-project1/test/Spec.hs
129
+ - sample_workspaces/rust-cargo-project1/.gitignore
130
+ - sample_workspaces/rust-cargo-project1/.reemoignore
131
+ - sample_workspaces/rust-cargo-project1/Cargo.lock
132
+ - sample_workspaces/rust-cargo-project1/Cargo.toml
133
+ - sample_workspaces/rust-cargo-project1/reemo.yaml
134
+ - sample_workspaces/rust-cargo-project1/src/main.rs
135
+ homepage: https://github.com/nwtgck/reemo-cli-ruby
136
+ licenses: []
137
+ metadata: {}
138
+ post_install_message:
139
+ rdoc_options: []
140
+ require_paths:
141
+ - lib
142
+ required_ruby_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">"
150
+ - !ruby/object:Gem::Version
151
+ version: 1.3.1
152
+ requirements: []
153
+ rubyforge_project:
154
+ rubygems_version: 2.6.12
155
+ signing_key:
156
+ specification_version: 4
157
+ summary: Write a short summary, because RubyGems requires one.
158
+ test_files: []