transcriptic 0.2.5 → 0.2.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8355c09f01b2a64094cbc945adffbae042760c5d
4
- data.tar.gz: 7d155a0be0936b2acc2bd0428c2aa683fea8d410
3
+ metadata.gz: b0ddaaffe1e8a3fe9e353498e519dedb9c9c6f67
4
+ data.tar.gz: 3a5cf1b0f657319e93563e7ec1188580007522d6
5
5
  SHA512:
6
- metadata.gz: c7999ec8082e52be1e31545974a191b87038ef51f1a49a137530571d87b09860a69c1a9349a5c477b6035094546e2247c821d685117e5fb24df5c03e5a54ee7a
7
- data.tar.gz: 1a518e186920536abc2c0c4b87cae7aa45c5559f5f4fae3af2767abb908e3c1d7c8d117c855a19cd3fbfad6fd13efb0c4bb88f98364f1de7546cd776d35b1053
6
+ metadata.gz: 2248fd95af2523dd56b823614c9aa0eeb425404c3a1d2ac47e55b46fcc5bdc6ceb37179c9481a811c940e51b518cc59b971538e55d1ba62a74deb11ebe627435
7
+ data.tar.gz: 30b755de92ac786cabbe7a4b26cc901f57dec3d87f083c952834ec0c07ed814df619a816186b954ed672ffb56ba8b10861afe724591e6aa13213bbd0194b2ef9
@@ -14,15 +14,17 @@ require 'chozo/core_ext'
14
14
  require 'rexml/document'
15
15
  require 'rest-client'
16
16
  require 'uri'
17
+ require 'faraday'
17
18
  require 'net/http'
18
19
  require 'time'
19
20
 
20
21
  require 'vendor/okjson'
21
22
 
23
+ require 'thor/monkies'
22
24
  require 'transcriptic/version'
23
25
  require 'transcriptic/core_ext'
24
26
  require 'transcriptic/errors'
25
- require 'thor/monkies'
27
+ require 'transcriptic/helpers'
26
28
 
27
29
  module Transcriptic
28
30
  class << self
@@ -17,7 +17,7 @@ module Transcriptic
17
17
  user_pass = ":#{@api_key}"
18
18
  options = {
19
19
  :headers => {},
20
- :host => 'transcriptic.com',
20
+ :host => 'secure.transcriptic.com',
21
21
  :nonblock => false,
22
22
  :scheme => 'https'
23
23
  }.merge(options)
@@ -26,7 +26,7 @@ module Transcriptic
26
26
  'Accept-Encoding' => 'gzip',
27
27
  'Accept-Language' => 'en-US, en;q=0.8',
28
28
  'Authorization' => "Token token=\"#{@api_key}\"",
29
- 'User-Agent' => "transcriptic-cli/#{Transcriptic::API::VERSION}",
29
+ 'User-Agent' => "transcriptic/#{Transcriptic::API::VERSION}",
30
30
  'X-Transcriptic-API-Version' => '1',
31
31
  'X-Ruby-Version' => RUBY_VERSION,
32
32
  'X-Ruby-Platform' => RUBY_PLATFORM
@@ -1,5 +1,8 @@
1
1
  class Transcriptic::Auth
2
2
  class << self
3
+ include Transcriptic::Helpers
4
+ include Thor::Shell
5
+
3
6
  attr_accessor :credentials
4
7
 
5
8
  def client
@@ -26,11 +29,11 @@ class Transcriptic::Auth
26
29
 
27
30
  # just a stub; will raise if not authenticated
28
31
  def check
29
- client.list
32
+ client.list_runs
30
33
  end
31
34
 
32
35
  def default_host
33
- "transcriptic.com"
36
+ "https://secure.transcriptic.com"
34
37
  end
35
38
 
36
39
  def host
@@ -82,10 +85,8 @@ class Transcriptic::Auth
82
85
  def ask_for_credentials
83
86
  puts "Enter your Transcriptic credentials."
84
87
 
85
- print "Email: "
86
- user = ask
88
+ user = ask "Email: "
87
89
 
88
- print "Password: "
89
90
  password = running_on_windows? ? ask_for_password_on_windows : ask_for_password
90
91
  api_key = Transcriptic::Client.auth(user, password, host)['api_key']
91
92
  [user, api_key]
@@ -96,6 +97,7 @@ class Transcriptic::Auth
96
97
  char = nil
97
98
  password = ''
98
99
 
100
+ print "Password: "
99
101
  while char = Win32API.new("crtdll", "_getch", [ ], "L").Call do
100
102
  break if char == 10 || char == 13 # received carriage return or newline
101
103
  if char == 127 || char == 8 # backspace and delete
@@ -111,7 +113,7 @@ class Transcriptic::Auth
111
113
 
112
114
  def ask_for_password
113
115
  echo_off
114
- password = ask
116
+ password = ask "Password: "
115
117
  puts
116
118
  echo_on
117
119
  return password
@@ -125,7 +127,7 @@ class Transcriptic::Auth
125
127
  rescue ::RestClient::Unauthorized, ::RestClient::ResourceNotFound => e
126
128
  delete_credentials
127
129
  clear
128
- display "Authentication failed."
130
+ say "Authentication failed."
129
131
  retry if retry_login?
130
132
  exit 1
131
133
  rescue Exception => e
@@ -66,33 +66,32 @@ module Transcriptic
66
66
  type: :string,
67
67
  desc: 'Brief one-line description of the project'
68
68
  def new(name)
69
- Transcriptic::ProjectGenerator.new([File.join(Dir.pwd, name), name], options).invoke_all
69
+ Transcriptic::ProjectGenerator.new([File.join(Dir.pwd, name), name], options).generate
70
70
  end
71
71
 
72
72
  desc "logs RUNID", "Get log data from a run"
73
73
  def logs(run_id)
74
- transcriptic.read_logs(run_id)
74
+ transcriptic_client.read_logs(run_id)
75
75
  end
76
76
 
77
77
  desc "status RUNID", "Show status for a given run ID"
78
78
  def status(run_id)
79
- ret = transcriptic.status(run_id)
79
+ ret = transcriptic_client.run_info(run_id)
80
80
  if ret.nil?
81
- error "#{run_id} not found for #{transcriptic.user}"
81
+ error "#{run_id} not found for #{transcriptic_client.user}"
82
82
  end
83
- say(ret.inspect)
83
+ say ret["status"]
84
84
  end
85
85
 
86
86
  desc "list", "List your in-flight run IDs"
87
87
  def list
88
- ret = transcriptic.list
88
+ ret = transcriptic_client.list_runs
89
89
  if ret.empty?
90
- say "No runs for #{transcriptic.user}"
90
+ say "No runs for #{transcriptic_client.user}"
91
91
  return
92
92
  end
93
- say("Runs:")
94
93
  ret.each do |run|
95
- say " #{run.name}"
94
+ say "#{run["title"]}\t#{run["id"]}\t#{run["partials"].length} partials\t#{run["status"]}"
96
95
  end
97
96
  end
98
97
 
@@ -109,7 +108,7 @@ module Transcriptic
109
108
  LONGDESC
110
109
  method_option :limit, type: :numeric, desc: "Maximum number of results to return"
111
110
  def lookup(term)
112
- ret = transcriptic.search_resources(term)
111
+ ret = transcriptic_client.search_resources(term)
113
112
  ret["results"].each do |result|
114
113
  output_with_arrow "#{result[:resource_id]}: #{result[:name]}"
115
114
  end
@@ -121,6 +120,7 @@ module Transcriptic
121
120
  output_with_arrow "Updating dependencies..."
122
121
  labfile = Transcriptic::Labfile.from_file(Transcriptic.find_labfile)
123
122
  Transcriptic::DependenciesGenerator.new([Dir.pwd, labfile.dependencies], options).invoke_all
123
+ Transcriptic::ProjectGenerator.new([Dir.pwd, labfile.options[:name]], options).update_build_version(labfile)
124
124
  end
125
125
 
126
126
  desc "compile", "Compile the project"
@@ -130,6 +130,13 @@ module Transcriptic
130
130
  Transcriptic::SBT.compile
131
131
  end
132
132
 
133
+ desc "clean", "Wipe out generated (compiled) files"
134
+ def clean
135
+ require_labfile!
136
+ update
137
+ Transcriptic::SBT.compile
138
+ end
139
+
133
140
  desc "analyze OBJECTPATH", "Analyze a protocol. Object path is of the form edu.foo.bar where bar is the name of your Protocol object."
134
141
  method_options :raw => :boolean, :iterations => :numeric, :linearize => :boolean
135
142
  def analyze(object_path, *params)
@@ -155,7 +162,10 @@ module Transcriptic
155
162
  desc "publish", "Packages up the current project and uploads it to the Autoprotocol Central Repository"
156
163
  def publish
157
164
  labfile = require_labfile!
158
- if compile
165
+ update
166
+ Transcriptic::SBT.clean
167
+ compiled_jar_path = Transcriptic::SBT.stage
168
+ if compiled_jar_path
159
169
  dependencies = labfile.dependencies.map {|d| "#{d[:group]}.#{d[:name]}/#{d[:version]}" }.join(", ")
160
170
  output_with_arrow "Preparing to publish..."
161
171
  output_with_arrow "Project name: #{labfile.options[:name]}, Author: #{labfile.options[:author]}, Email: #{labfile.options[:email]}"
@@ -167,8 +177,21 @@ module Transcriptic
167
177
  if labfile.dependencies.length > 0
168
178
  output_with_arrow "Dependencies: #{dependencies}}"
169
179
  end
170
- confirm(format_with_bang("Are you sure you want to publish version #{labfile.options[:version]} of this project? (y/N)"))
171
- output_with_arrow "Not yet available!"
180
+ if confirm(format_with_bang("Are you sure you want to publish version #{labfile.options[:version]} of this project? (y/N)"))
181
+ output_with_arrow "Uploading #{compiled_jar_path} to Transcriptic..."
182
+
183
+ signature = transcriptic_client.sign_upload(labfile, File.basename(compiled_jar_path))
184
+ res = transcriptic_client.create_or_get_protocol(labfile, signature)
185
+ if res["success"]
186
+ transcriptic_client.upload_to_s3(compiled_jar_path, signature)
187
+ output_with_arrow "Revision #{labfile.options[:version]} of #{labfile.options[:name]} published!"
188
+ else
189
+ errors = res["errors"].map { |e| e[1].map { |m| "#{e[0]} #{m}" }.join(", ") }.join(", ")
190
+ display format_with_bang("Errors occurred: #{errors}")
191
+ end
192
+ else
193
+ display "Aborting."
194
+ end
172
195
  end
173
196
  end
174
197
 
@@ -188,7 +211,7 @@ module Transcriptic
188
211
  project_id = args.shift
189
212
  end
190
213
  run = action("Uploading `#{path}`") {
191
- transcriptic.create_run(fd, project_id)
214
+ transcriptic_client.create_run(fd, project_id)
192
215
  }
193
216
 
194
217
  if run["success"]
@@ -198,10 +221,10 @@ module Transcriptic
198
221
  if Transcriptic.ui.confirm_quote
199
222
  Transcriptic.ui.display
200
223
  Transcriptic.ui.action("Launching") {
201
- transcriptic.launch_run(run["run_id"])
224
+ transcriptic_client.launch_run(run["run_id"])
202
225
  }
203
226
  Transcriptic.ui.output_with_arrow "Protocol run launched. ID: #{run["run_id"]}"
204
- Transcriptic.ui.output_with_arrow "Monitor at: https://secure.transcriptic.com/#{run["organization_id"]}/#{run["project_id"]}/runs/#{run["run_id"]}"
227
+ Transcriptic.ui.output_with_arrow "Monitor at: https://secure.transcriptic_client.com/#{run["organization_id"]}/#{run["project_id"]}/runs/#{run["run_id"]}"
205
228
  end
206
229
  else
207
230
  Transcriptic.ui.error_with_failure "Error creating protocol run."
@@ -209,7 +232,7 @@ module Transcriptic
209
232
  end
210
233
 
211
234
  private
212
- def transcriptic
235
+ def transcriptic_client
213
236
  Transcriptic::Auth.client
214
237
  end
215
238
 
@@ -10,6 +10,11 @@
10
10
  #
11
11
  class Transcriptic::Client
12
12
  include Transcriptic::UI
13
+ include Transcriptic::Helpers
14
+
15
+ class << self
16
+ include Transcriptic::Helpers
17
+ end
13
18
 
14
19
  def self.version
15
20
  Transcriptic::VERSION
@@ -23,7 +28,10 @@ class Transcriptic::Client
23
28
 
24
29
  def self.auth(user, password, host = Transcriptic::Auth.default_host)
25
30
  client = new(user, nil, host)
26
- json_decode client.post('/users/sign_in', { 'user[email]' => user, 'user[password]' => password }, :accept => 'json').to_s
31
+ json_decode client.post('/users/sign_in', {
32
+ 'user[email]' => user,
33
+ 'user[password]' => password
34
+ }, :accept => 'json').to_s
27
35
  end
28
36
 
29
37
  def initialize(user, api_key, host = Transcriptic::Auth.default_host)
@@ -49,7 +57,73 @@ class Transcriptic::Client
49
57
  end
50
58
 
51
59
  def run_info(id)
52
- json_decode get("/api/runs/#{id}.json").to_s
60
+ begin
61
+ json_decode get("/api/runs/#{id}.json").to_s
62
+ rescue RestClient::ResourceNotFound
63
+ false
64
+ end
65
+ end
66
+
67
+ def sign_upload(labfile, filename)
68
+ json_decode get("/api/upload/sign?type=protocol-pkg&group=#{labfile.options[:group]}&name=#{labfile.options[:name]}&filename=#{filename}&version=#{labfile.options[:version]}").to_s
69
+ end
70
+
71
+ def upload_to_s3(path, signature)
72
+ conn = Faraday.new(:url => "https://#{signature["bucket"]}.s3.amazonaws.com") do |faraday|
73
+ faraday.request :multipart
74
+ faraday.request :url_encoded
75
+ faraday.adapter :net_http
76
+ end
77
+ res = conn.post "/", {
78
+ "key" => signature["key"],
79
+ "AWSAccessKeyId" => signature["access_key"],
80
+ "acl" => "private",
81
+ "success_action_status" => signature["success_action_status"],
82
+ "policy" => signature["policy"],
83
+ "signature" => signature["signature"],
84
+ "file" => Faraday::UploadIO.new(path, 'application/jar')
85
+ }
86
+ end
87
+
88
+ def get_protocol(labfile)
89
+ begin
90
+ json_decode get("/api/protocols/#{labfile.options[:name]}").to_s
91
+ rescue RestClient::ResourceNotFound
92
+ false
93
+ end
94
+ end
95
+
96
+ def create_protocol(labfile)
97
+ json_decode post("/api/protocols", {
98
+ "protocol[name]" => labfile.options[:name],
99
+ "protocol[author_email]" => labfile.options[:email],
100
+ "protocol[author_name]" => labfile.options[:author],
101
+ "protocol[description]" => labfile.options[:description]
102
+ }).to_s
103
+ end
104
+
105
+ def update_protocol(labfile, signature)
106
+ payload = {
107
+ "protocol[name]" => labfile.options[:name],
108
+ "protocol[author_email]" => labfile.options[:email],
109
+ "protocol[author_name]" => labfile.options[:author],
110
+ "protocol[description]" => labfile.options[:description],
111
+ "protocol[package][key]" => signature["key"],
112
+ "protocol[package][version]" => labfile.options[:version],
113
+ "protocol[package][dependencies]" => labfile.dependencies.to_json
114
+ }
115
+ begin
116
+ json_decode put("/api/protocols/#{labfile.options[:name]}", payload).to_s
117
+ rescue RestClient::UnprocessableEntity => ex
118
+ json_decode ex.response.to_s
119
+ end
120
+ end
121
+
122
+ def create_or_get_protocol(labfile, signature)
123
+ if not get_protocol(labfile)
124
+ create_protocol(labfile)
125
+ end
126
+ update_protocol(labfile, signature)
53
127
  end
54
128
 
55
129
  def create_run(fd, project_id)
@@ -60,10 +134,6 @@ class Transcriptic::Client
60
134
  json_decode post("/api/runs", payload, { 'Content-Type' => 'application/zip; charset=UTF-8' }).to_s
61
135
  end
62
136
 
63
- def protocol(run_id)
64
- Protocol.new(self, run_id)
65
- end
66
-
67
137
  def read_logs(run_id, options=[])
68
138
  query = "&" + options.join("&") unless options.empty?
69
139
  url = get("/api/runs/#{run_id}/logs.json?#{query}").to_s
@@ -96,73 +166,6 @@ class Transcriptic::Client
96
166
  end
97
167
  end
98
168
 
99
- class ProtocolException < RuntimeError; end
100
-
101
- class Protocol
102
- attr_accessor :attached
103
-
104
- def initialize(client, protocol)
105
- @client = client
106
- @protocol = protocol
107
- end
108
-
109
- # launch the protocol
110
- def launch(command, attached = false)
111
- @attached = attached
112
- @response = @client.post(
113
- "/api/runs/#{@app}/confirm",
114
- command,
115
- :content_type => 'application/json'
116
- )
117
- @next_chunk = @response.to_s
118
- @interval = 0
119
- self
120
- rescue RestClient::RequestFailed => e
121
- raise ProtocolException, e.http_body if e.http_code == 502
122
- raise
123
- end
124
-
125
- # Does the service have any remaining output?
126
- def end_of_stream?
127
- @next_chunk.nil?
128
- end
129
-
130
- # Read the next chunk of output.
131
- def read
132
- chunk = @client.get(@next_chunk)
133
- if chunk.headers[:location].nil? && chunk.code != 204
134
- # no more chunks
135
- @next_chunk = nil
136
- chunk.to_s
137
- elsif chunk.to_s == ''
138
- # assume no content and back off
139
- @interval = 2
140
- ''
141
- elsif location = chunk.headers[:location]
142
- # some data read and next chunk available
143
- @next_chunk = location
144
- @interval = 0
145
- chunk.to_s
146
- end
147
- end
148
-
149
- # Iterate over all output chunks until EOF is reached.
150
- def each
151
- until end_of_stream?
152
- sleep(@interval)
153
- output = read
154
- yield output unless output.empty?
155
- end
156
- end
157
-
158
- # All output as a string
159
- def to_s
160
- buf = []
161
- each { |part| buf << part }
162
- buf.join
163
- end
164
- end
165
-
166
169
  def on_warning(&blk)
167
170
  @warning_callback = blk
168
171
  end
@@ -201,10 +204,10 @@ class Transcriptic::Client
201
204
  response = resource(uri, resource_options, host).send(*args)
202
205
  rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT, SocketError
203
206
  host = URI.parse(realize_full_uri(uri, host)).host
204
- error " ! Unable to connect to #{host}"
207
+ Transcriptic.ui.error " ! Unable to connect to #{host}"
205
208
  rescue RestClient::SSLCertificateNotVerified => ex
206
209
  host = URI.parse(realize_full_uri(uri, host)).host
207
- error "WARNING: Unable to verify SSL certificate for #{host}\nTo disable SSL verification, run with TRANSCRIPTIC_SSL_VERIFY=disable"
210
+ Transcriptic.ui.error "WARNING: Unable to verify SSL certificate for #{host}\nTo disable SSL verification, run with TRANSCRIPTIC_SSL_VERIFY=disable"
208
211
  end
209
212
 
210
213
  extract_warning(response)
@@ -225,10 +228,10 @@ class Transcriptic::Client
225
228
 
226
229
  def transcriptic_headers # :nodoc:
227
230
  headers = {
228
- 'X-Transcriptic-API-Version' => '1',
229
- 'User-Agent' => self.class.gem_version_string,
230
- 'X-Ruby-Version' => RUBY_VERSION,
231
- 'X-Ruby-Platform' => RUBY_PLATFORM
231
+ 'X-API-Version' => '1',
232
+ 'User-Agent' => self.class.gem_version_string,
233
+ 'X-Ruby-Version' => RUBY_VERSION,
234
+ 'X-Ruby-Platform' => RUBY_PLATFORM
232
235
  }
233
236
  headers = headers.merge({'Authorization' => "Token token=\"#{@api_key}\""}) if @api_key
234
237
  headers
@@ -265,7 +268,7 @@ class Transcriptic::Client
265
268
  def default_resource_options_for_uri(uri)
266
269
  if ENV["TRANSCRIPTIC_SSL_VERIFY"] == "disable"
267
270
  {}
268
- elsif realize_full_uri(uri) =~ %r|^https://www.transcriptic.com|
271
+ elsif realize_full_uri(uri) =~ %r|^https://secure.transcriptic.com|
269
272
  # OpenSSL::SSL::VERIFY_PEER
270
273
  { }
271
274
  #{ :verify_ssl => OpenSSL::SSL::VERIFY_NONE, :ssl_ca_file => local_ca_file }
@@ -0,0 +1,25 @@
1
+ module Transcriptic
2
+ module Helpers
3
+
4
+ def running_on_windows?
5
+ RUBY_PLATFORM =~ /mswin32|mingw32/
6
+ end
7
+
8
+ def running_on_a_mac?
9
+ RUBY_PLATFORM =~ /-darwin\d/
10
+ end
11
+
12
+ def json_encode(object)
13
+ Transcriptic::OkJson.encode(object)
14
+ rescue Transcriptic::OkJson::Error
15
+ nil
16
+ end
17
+
18
+ def json_decode(json)
19
+ Transcriptic::OkJson.decode(json)
20
+ rescue Transcriptic::OkJson::Error
21
+ nil
22
+ end
23
+
24
+ end
25
+ end
@@ -58,6 +58,10 @@ module Transcriptic
58
58
  @options[:description] = desc
59
59
  end
60
60
 
61
+ def group(grp)
62
+ @options[:group] = grp
63
+ end
64
+
61
65
  def dependency(group, name, version)
62
66
  @dependencies << {
63
67
  group: group,
@@ -4,9 +4,12 @@ module Transcriptic
4
4
  class ProjectGenerator < BaseGenerator
5
5
 
6
6
  argument :name
7
- class_option :package,
7
+ class_option :group,
8
8
  type: :string,
9
9
  default: "org.autoprotocol.unclaimed"
10
+ class_option :version,
11
+ type: :string,
12
+ default: "1.0.0"
10
13
  class_option :author,
11
14
  type: :string,
12
15
  default: "John Appleseed"
@@ -20,7 +23,8 @@ module Transcriptic
20
23
  def generate
21
24
  empty_directory target.join('app')
22
25
  empty_directory target.join('project')
23
- empty_directory target.join('logs')
26
+
27
+ version
24
28
 
25
29
  template 'app/Main.erb', target.join('app/Main.scala')
26
30
  template 'project/Build.erb', target.join('project/Build.scala')
@@ -33,6 +37,11 @@ module Transcriptic
33
37
  Transcriptic::DependenciesGenerator.new([File.join(Dir.pwd, name), []], options).invoke_all
34
38
  end
35
39
 
40
+ def update_build_version(labfile)
41
+ @version = labfile.options[:version]
42
+ template 'project/Build.erb', target.join('project/Build.scala'), force: true
43
+ end
44
+
36
45
  def autoprotocol_version
37
46
  Transcriptic::AUTOPROTOCOL_VERSION
38
47
  end
@@ -41,8 +50,12 @@ module Transcriptic
41
50
  options[:description]
42
51
  end
43
52
 
44
- def package
45
- options[:package]
53
+ def group
54
+ options[:group]
55
+ end
56
+
57
+ def version
58
+ @version = options[:version]
46
59
  end
47
60
 
48
61
  def author
@@ -10,7 +10,18 @@ module Transcriptic
10
10
 
11
11
  def stage
12
12
  ensure_installed
13
- sbt("stage")
13
+ if sbt("package")
14
+ jars = Dir.glob("target/scala-2.10/*.jar")
15
+ if jars.length == 0
16
+ output_with_arrow "Couldn't find compiled package! Is your code in the right directory?"
17
+ false
18
+ elsif jars.length > 1
19
+ output_with_arrow "Multiple packages found: I'm unsure which one is correct. Try `transcriptic clean` and recompiling."
20
+ false
21
+ else
22
+ jars[0]
23
+ end
24
+ end
14
25
  end
15
26
 
16
27
  def update
@@ -18,6 +29,11 @@ module Transcriptic
18
29
  sbt("update")
19
30
  end
20
31
 
32
+ def clean
33
+ ensure_installed
34
+ sbt("clean")
35
+ end
36
+
21
37
  private
22
38
  def ensure_installed
23
39
  stat = `which sbt`
@@ -1,4 +1,5 @@
1
1
  name "<%= name %>"
2
+ group "<%= group %>"
2
3
  author "<%= author %>"
3
4
  email "<%= email %>"
4
5
  version "1.0.0"
@@ -1,4 +1,4 @@
1
- package <%= package %>
1
+ package <%= group %>
2
2
 
3
3
  import org.autoprotocol.measures._
4
4
  import org.autoprotocol.core.{Aliquot, AliquotCollection, Resource, Protocol, ProtocolConfig}
@@ -1,42 +1,22 @@
1
+ // THIS FILE IS AUTOMATICALLY GENERATED.
2
+ // DO NOT EDIT THIS FILE. ALL CHANGES WILL BE LOST.
3
+
1
4
  import sbt._
2
5
  import Keys._
3
6
  import com.typesafe.sbt.SbtStartScript
4
7
 
5
8
  object BuildSettings {
6
- val buildVersion = "1.0.0-SNAPSHOT"
9
+ val buildVersion = "<%= @version %>"
7
10
  val buildScalaVersion = "2.10.0"
8
11
 
9
12
  val buildSettings = Defaults.defaultSettings ++ Seq (
10
13
  version := buildVersion,
11
- scalaVersion := buildScalaVersion,
12
- shellPrompt := ShellPrompt.buildShellPrompt
14
+ scalaVersion := buildScalaVersion
13
15
  )
14
16
  }
15
17
 
16
- object ShellPrompt {
17
- object devnull extends ProcessLogger {
18
- def info (s: => String) {}
19
- def error (s: => String) { }
20
- def buffer[T] (f: => T): T = f
21
- }
22
- def currBranch = (
23
- ("git status -sb" lines_! devnull headOption)
24
- getOrElse "-" stripPrefix "## "
25
- )
26
-
27
- val buildShellPrompt = {
28
- (state: State) => {
29
- val currProject = Project.extract (state).currentProject.id
30
- "%s:%s:%s> ".format (
31
- currProject, currBranch, BuildSettings.buildVersion
32
- )
33
- }
34
- }
35
- }
36
-
37
18
  object Resolvers {
38
- val transcriptic = "Transcriptic" at "https://raw.github.com/transcriptic/maven2/master/releases/"
39
- val autoprotocol = "Autoprotocol" at "http://transcriptic.s3.amazonaws.com/autoprotocol/"
19
+ val transcriptic = "Transcriptic" at "http://static.transcriptic.com/repo/"
40
20
  val typesafe = "Typesafe" at "http://repo.typesafe.com/typesafe/releases/"
41
21
  }
42
22
 
@@ -50,7 +30,7 @@ object AutoprotocolBuild extends Build {
50
30
  file("."),
51
31
  settings =
52
32
  buildSettings ++ Seq (libraryDependencies ++= (Seq("org.autoprotocol" %% "autoprotocol-library" % "<%= autoprotocol_version %>") ++
53
- dependencies), resolvers ++= Seq(transcriptic, autoprotocol, typesafe)) ++ Defaults.defaultSettings ++
33
+ dependencies), resolvers ++= Seq(transcriptic, typesafe)) ++ Defaults.defaultSettings ++
54
34
  SbtStartScript.startScriptForClassesSettings
55
35
  ) settings (
56
36
  fork in run := true
@@ -1,4 +1,4 @@
1
- // THIS FILE IS AUTOMATICALLY GENERATED
1
+ // THIS FILE IS AUTOMATICALLY GENERATED.
2
2
  // DO NOT EDIT THIS FILE. ALL CHANGES WILL BE LOST.
3
3
 
4
4
  object Dependencies {
@@ -1,3 +1,3 @@
1
- resolvers += Classpaths.typesafeResolver
1
+ resolvers += "Transcriptic" at "http://static.transcriptic.com/repo/"
2
2
 
3
- addSbtPlugin("com.typesafe.sbt" % "sbt-start-script" % "0.8.0")
3
+ addSbtPlugin("com.typesafe.sbt" % "sbt-start-script" % "0.8.0-MAC-FIXED")
@@ -1,4 +1,4 @@
1
1
  module Transcriptic
2
- VERSION = "0.2.5"
3
- AUTOPROTOCOL_VERSION = "0.2.0-SNAPSHOT"
2
+ VERSION = "0.2.10"
3
+ AUTOPROTOCOL_VERSION = "0.2.2-SNAPSHOT"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transcriptic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Transcriptic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-11 00:00:00.000000000 Z
11
+ date: 2014-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: netrc
@@ -140,16 +140,16 @@ dependencies:
140
140
  name: faraday
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ~>
144
144
  - !ruby/object:Gem::Version
145
- version: 0.8.5
145
+ version: '0.9'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ~>
151
151
  - !ruby/object:Gem::Version
152
- version: 0.8.5
152
+ version: '0.9'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: hashie
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -170,28 +170,28 @@ dependencies:
170
170
  requirements:
171
171
  - - ~>
172
172
  - !ruby/object:Gem::Version
173
- version: 0.5.4
173
+ version: '0.5'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - ~>
179
179
  - !ruby/object:Gem::Version
180
- version: 0.5.4
180
+ version: '0.5'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: retryable
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ~>
186
186
  - !ruby/object:Gem::Version
187
- version: 1.3.3
187
+ version: '1.3'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ~>
193
193
  - !ruby/object:Gem::Version
194
- version: 1.3.3
194
+ version: '1.3'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: zipruby
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -245,6 +245,7 @@ files:
245
245
  - lib/transcriptic/core_ext/string.rb
246
246
  - lib/transcriptic/dependencies_generator.rb
247
247
  - lib/transcriptic/errors.rb
248
+ - lib/transcriptic/helpers.rb
248
249
  - lib/transcriptic/labfile.rb
249
250
  - lib/transcriptic/project_generator.rb
250
251
  - lib/transcriptic/sbt.rb