Skip to content

Instantly share code, notes, and snippets.

View jlaxson's full-sized avatar

John Laxson jlaxson

View GitHub Profile
@jlaxson
jlaxson / aar.bzl
Created April 13, 2022 22:24
Bazel Transitive AAR Rule
def _format_zip_path(f):
return "libs/{}={}".format(f.basename, f.path)
def _format_native_lib(item):
arch, file = item
return "jni/{}/{}={}".format(arch, file.basename, file.path)
def _android_aar_impl(ctx):
print([ d[JavaInfo].java_outputs[0].class_jar for d in ctx.attr.deps if JavaInfo in d])
@jlaxson
jlaxson / taskflow_callback.cpp
Last active August 20, 2020 00:38
Taskflow Syntax Ideas
tf::Continuation token_; // this is a functor-like object that can be called to signify the task is actually complete.
void StartExpensiveTaskWithToken(tf::Continuation token) {
token_ = token;
}
tf::Taskflow flow;
auto t1 = flow.emplace([](tf::Continuation token)) {
std::cout << "T1 running...";
StartExpensiveTaskWithToken(token);
@jlaxson
jlaxson / gist:9194159
Created February 24, 2014 18:37
Paperclip backtrace
paperclip (4.1.1) lib/paperclip/has_attached_file.rb:83:in `block in add_required_validations'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:39:in `call'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:39:in `validator_relevant?'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:27:in `block in validations'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:26:in `select'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:26:in `validations'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:129:in `validations?'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/validations.rb:136:in `required?'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/labelling.rb:25:in `requirement_text_or_proc'
formtastic (2.3.0.rc2) lib/formtastic/inputs/base/labelling.rb:29:in `requirement_text'
@jlaxson
jlaxson / listen_test.rb
Last active January 3, 2016 05:19
Test code for the Listen gem
require 'rubygems'
require 'listen'
listener = Listen.to('.') do |modified, added, removed|
puts "modified absolute path: #{modified}"
puts "added absolute path: #{added}"
puts "removed absolute path: #{removed}"
end
listener.start # not blocking
sleep