diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index e0ec4e81..5d43b303 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -869,6 +869,10 @@ Erlang: - .es - .escript - .hrl + filenames: + - rebar.config + - rebar.config.lock + - rebar.lock ace_mode: erlang interpreters: - escript diff --git a/samples/Erlang/filenames/rebar.config b/samples/Erlang/filenames/rebar.config new file mode 100644 index 00000000..91d3dff4 --- /dev/null +++ b/samples/Erlang/filenames/rebar.config @@ -0,0 +1,260 @@ +%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- +%% ex: ts=4 sw=4 ft=erlang et +%% This is a sample rebar.conf file that shows examples of some of rebar's +%% options. + +%% == Core == + +%% Extend list of always recursive commands +{recursive_cmds, []}. + +%% Check required ERTS or OTP release version +{require_erts_vsn, ".*"}. +{require_otp_vsn, ".*"}. +{require_min_otp_vsn, ".*"}. + +%% Additional library directories to add to the code path +{lib_dirs, []}. + +%% == Erlang Compiler == + +%% Erlang files to compile before the rest. Rebar automatically compiles +%% parse_transforms and custom behaviours before anything other than the files +%% in this list. +{erl_first_files, ["src/mymib1.erl", "src/mymib2.erl"]}. + +%% Erlang compiler options +{erl_opts, [no_debug_info, + {i, "myinclude"}, + {src_dirs, ["src", "src2", "src3"]}, + {platform_define, + "(linux|solaris|freebsd|darwin)", 'HAVE_SENDFILE'}, + {platform_define, "(linux|freebsd)", 'BACKLOG', 128}, + {platform_define, "R13", 'old_inets'}]}. + +%% MIB Options? +{mib_opts, []}. + +%% SNMP mibs to compile first? +{mib_first_files, []}. + +%% leex options +{xrl_opts, []}. + +%% leex files to compile first +{xrl_first_files, []}. + +%% yecc options +{yrl_opts, []}. + +%% yecc files to compile first +{yrl_first_files, []}. + +%% == EDoc == + +%% EDoc options +{edoc_opts, []}. + +%% == Port Compiler == + +%% Port compilation environment variables. See rebar_port_compiler.erl for +%% more info. Default is `[]' +{port_env, [{"CFLAGS", "$CFLAGS -Ifoo"}, + {"freebsd", "LDFLAGS", "$LDFLAGS -lfoo"}]}. + +%% port_specs +%% List of filenames or wildcards to be compiled. May also contain a tuple +%% consisting of a regular expression to be applied against the system +%% architecture as a filter. +{port_specs, [{"priv/so_name.so", ["c_src/*.c"]}, + {"linux", "priv/hello_linux", ["c_src/hello_linux.c"]}, + {"linux", "priv/hello_linux", ["c_src/*.c"], [{env, []}]}]}. + +%% == escriptize == +{escript_name, "application"}. +{escript_incl_apps, []}. +{escript_shebang, "#!/usr/bin/env escript\n"}. +{escript_comment, "%%\n"}. +{escript_emu_args, "%%! -pa application/application/ebin\n"}. + +%% == LFE Compiler == + +%% LFE files to compile before the rest +{lfe_first_files, []}. + +%% Options for the LFE compiler: reuse {erl_opts, []} + +%% == ErlyDTL Compiler == + +%% Options for the ErlyDTL compiler +{erlydtl_opts, []}. + +%% == Proto compiler == +{proto_opts, [ + {compiler, protobuffs}, + {src_dirs, ["src"]} +]}. +%% Available compilers for protocol buffer files (*.proto): +%% protobuffs (default) +%% gpb +%% Optional src_dirs which is a list of directories where +%% to look for .proto files, default is src + +%% Options for the gpb protocol buffer compiler, +%% if selected by the proto_compiler option +{gpb_opts, []}. + +%% == EUnit == + +%% Options for eunit:test() +{eunit_opts, []}. + +%% Additional compile options for eunit. erl_opts is also used +{eunit_compile_opts, []}. + +%% Same as erl_first_files, but used only when running 'eunit' +{eunit_first_files, []}. + +%% == Cover == + +%% Whether to enable coverage reporting. Default is `false' +{cover_enabled, false}. + +%% Whether to print coverage report to console. Default is `false' +{cover_print_enabled, false}. + +%% Whether to export coverage report to file. Default is `false' +{cover_export_enabled, false}. + +%% == Common Test == + +%% Override the default "test" directory in which SUITEs are located +{ct_dir, "itest"}. + +%% Override the default "logs" directory in which SUITEs are logged +{ct_log_dir, "test/logs"}. + +%% Option to pass extra parameters when launching Common Test +{ct_extra_params, "-boot start_sasl -s myapp"}. + +%% Option to use short names (i.e., -sname test) when starting ct +{ct_use_short_names, true}. + +%% == QuickCheck == + +%% If qc_mod is unspecified, rebar tries to detect Triq or EQC +{qc_opts, [{qc_mod, module()}, Options]}. + +%% Additional compile options for qc. erl_opts is also used +{qc_compile_opts, []}. + +%% Same as erl_first_files, but used only when running 'qc' +{qc_first_files, []}. + +%% == Cleanup == + +%% Which files to cleanup +{clean_files, ["file", "file2"]}. + +%% == OTP Applications == + +%% Enable validation of the OTP app module list. Default is 'true' +{validate_app_modules, true}. + +%% == Dependencies == + +%% Where to put any downloaded dependencies. Default is "deps" +{deps_dir, "deps"}. + +%% What dependencies we have, dependencies can be of 3 forms, an application +%% name as an atom, eg. mochiweb, a name and a version (from the .app file), or +%% an application name, a version and the SCM details on how to fetch it (SCM +%% type, location and revision). +%% Rebar currently supports git, hg, bzr, svn, rsync, fossil, and p4. +{deps, [app_name, + {rebar, "1.0.*"}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git"}}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git", "Rev"}}, + {rebar, "1.0.*", + {git, "git://github.com/rebar/rebar.git", {branch, "master"}}}, + {rebar, "1.0.0", + {git, "git://github.com/rebar/rebar.git", {tag, "1.0.0"}}}, + %% Dependencies can be marked as 'raw'. Rebar does not require + %% such dependencies to have a standard Erlang/OTP layout + %% which assumes the presence of either + %% "src/dependency_name.app.src" or "ebin/dependency_name.app" + %% files. + %% + %% 'raw' dependencies can still contain 'rebar.config' and + %% even can have the proper OTP directory layout, but they + %% won't be compiled. + %% + %% Only a subset of rebar commands will be executed on the + %% 'raw' subdirectories: get-deps, update-deps, check-deps, + %% list-deps and delete-deps. + {rebar, "", + {git, "git://github.com/rebar/rebar.git", {branch, "master"}}, + [raw]}, + {app_name, ".*", {hg, "https://www.example.org/url"}}, + {app_name, ".*", {rsync, "Url"}}, + {app_name, ".*", {svn, "https://www.example.org/url"}}, + {app_name, ".*", {svn, "svn://svn.example.org/url"}}, + {app_name, ".*", {bzr, "https://www.example.org/url", "Rev"}}, + {app_name, ".*", {fossil, "https://www.example.org/url"}}, + {app_name, ".*", {fossil, "https://www.example.org/url", "Vsn"}}, + {app_name, ".*", {p4, "//depot/subdir/app_dir"}}]}. + +%% == Subdirectories == + +%% Subdirectories? +{sub_dirs, ["dir1", "dir2"]}. + +%% == Plugins == + +%% Plugins you wish to include. +%% These can include any module on the code path, including deps. +%% Alternatively, plugins can be placed as source files in the plugin_dir, in +%% which case they will be compiled and loaded dynamically at runtime. +{plugins, [plugin1, plugin2]}. + +%% Override the directory in which plugin sources can be found. +%% Defaults to ./plugins +{plugin_dir, "some_other_directory"}. + + +%% == Pre/Post Command Hooks == + +{pre_hooks, [{clean, "./prepare_package_files.sh"}, + {"linux", compile, "c_src/build_linux.sh"}, + {compile, "escript generate_headers"}, + {compile, "escript check_headers"}]}. + +{post_hooks, [{clean, "touch file1.out"}, + {"freebsd", compile, "c_src/freebsd_tweaks.sh"}, + {eunit, "touch file2.out"}, + {compile, "touch postcompile.out"}]}. + +%% == xref == + +{xref_warnings, false}. + +%% optional extra paths to include in xref:set_library_path/2. +%% specified relative location of rebar.config. +%% e.g. {xref_extra_paths,["../gtknode/src"]} +{xref_extra_paths,[]}. + +%% xref checks to run +{xref_checks, [undefined_function_calls, undefined_functions, + locals_not_used, exports_not_used, + deprecated_function_calls, deprecated_functions]}. + +%% Optional custom xref queries (xref manual has details) specified as +%% {xref_queries, [{query_string(), expected_query_result()},...]} +%% The following for example removes all references to mod:*foo/4 +%% functions from undefined external function calls as those are in a +%% generated module +{xref_queries, + [{"(XC - UC) || (XU - X - B" + " - (\"mod\":\".*foo\"/\"4\"))",[]}]}. diff --git a/samples/Erlang/filenames/rebar.config.lock b/samples/Erlang/filenames/rebar.config.lock new file mode 100644 index 00000000..1627a9b1 --- /dev/null +++ b/samples/Erlang/filenames/rebar.config.lock @@ -0,0 +1,158 @@ +%% THIS FILE IS GENERATED. DO NOT EDIT IT MANUALLY %% + +{sub_dirs,["rel","apps/riak"]}. +{require_otp_vsn,"R16|17"}. +{cover_enabled,true}. +{lib_dirs,["apps/riak"]}. +{erl_opts,[debug_info,fail_on_warning]}. +{eunit_opts,[verbose]}. +{erlydtl_opts,[{compiler_options,[report,return,debug_info]}]}. +{deps,[{rebar_lock_deps_plugin,".*", + {git,"git://github.com/seth/rebar_lock_deps_plugin.git", + "7a5835029c42b8138325405237ea7e8516a84800"}}, + {node_package,".*", + {git,"git://github.com/basho/node_package.git", + "a829631eccebe3c1d7657a0075584f55bf342977"}}, + {goldrush,".*", + {git,"git://github.com/DeadZen/goldrush.git", + "71e63212f12c25827e0c1b4198d37d5d018a7fec"}}, + {lager,".*", + {git,"git://github.com/basho/lager.git", + "b6b6cebcb27ccff8acc59ae775acebc2f52e4926"}}, + {syslog,".*", + {git,"git://github.com/Vagabond/erlang-syslog.git", + "918c9b453e0811b24f2c99b35b712b0ef9f29c7e"}}, + {lager_syslog,".*", + {git,"git://github.com/basho/lager_syslog.git", + "fa2e7e3daee0d0a59dadb820fd3381eac4a65770"}}, + {cluster_info,".*", + {git,"git://github.com/basho/cluster_info.git", + "e231144ca32dc83317be3360a4a259c73826b08a"}}, + {sidejob,".*", + {git,"git://github.com/basho/sidejob.git", + "c5aabba2d7daa80c340e110902bbcfcb552ccdcf"}}, + {erlang_js,".*", + {git,"git://github.com/basho/erlang_js.git", + "07467d899ab90a2b719ad19ab0be0048c1c8d873"}}, + {meck,".*", + {git,"git://github.com/basho/meck.git", + "dde759050eff19a1a80fd854d7375174b191665d"}}, + {getopt,".*", + {git,"git://github.com/jcomellas/getopt.git", + "659a28f4145bc9843598972854299dc4ea77e4cb"}}, + {neotoma,".*", + {git,"git://github.com/seancribbs/neotoma.git", + "760928ec8870da02eb11bccb501e2700925d06c6"}}, + {cuttlefish,".*", + {git,"git://github.com/basho/cuttlefish.git", + "c92c8325aeaea6b6ba7516bbd434f8e408f87d60"}}, + {bitcask,".*", + {git,"git://github.com/basho/bitcask.git", + "c74d0c43fdefdd435f7621ddf1fc2995b5bd123c"}}, + {eper,".*", + {git,"git://github.com/basho/eper.git", + "7222ecaebceb5422e74a9c1503043bbc6036f6b7"}}, + {edown,".*", + {git,"git://github.com/uwiger/edown.git", + "d62ec85281e451a46ba30045917c119d65b72a84"}}, + {sext,".*", + {git,"git://github.com/basho/sext.git", + "846b9cc22456287a572efd4c924203d77778670f"}}, + {poolboy,".*", + {git,"git://github.com/basho/poolboy.git", + "8bb45fbc715c5f493642a1cc572ec7017d0d5fa3"}}, + {basho_stats,".*", + {git,"git://github.com/basho/basho_stats.git", + "19c532af235ae675439d491b329c55c2f9b02deb"}}, + {riak_sysmon,".*", + {git,"git://github.com/basho/riak_sysmon.git", + "26a58bcaba96d07df885f7b3db4d4306f995ce14"}}, + {eleveldb,".*", + {git,"git://github.com/basho/eleveldb.git", + "0e4e4e7cf3ddc26523a77f853ea9409c1707b26c"}}, + {riak_ensemble,".*", + {git,"git://github.com/basho/riak_ensemble", + "78dc8f623353a212ca3cf12236d1e9ac824bde16"}}, + {pbkdf2,".*", + {git,"git://github.com/basho/erlang-pbkdf2.git", + "7076584f5377e98600a7e2cb81980b2992fb2f71"}}, + {parse_trans,".*", + {git,"git://github.com/uwiger/parse_trans.git", + "82cc00264aa1bad8fc5c0739b7541feb4a843432"}}, + {bear,".*", + {git,"git://github.com/basho/bear.git", + "da820a13c607c3f816ee8b83c587266da5389761"}}, + {folsom,".*", + {git,"git://github.com/basho/folsom.git", + "72944523b6467c9f7add5f1c96dd5020424a2681"}}, + {setup,".*", + {git,"git://github.com/uwiger/setup.git", + "51ee7c9f64d2bbe9dcbb58c278e8fbfd4d0ca5e2"}}, + {exometer_core,".*", + {git,"git://github.com/basho/exometer_core.git", + "b47a5d65d9500c2b8f6ccc50e34005503589ef77"}}, + {clique,".*", + {git,"git://github.com/basho/clique.git", + "3af4db8ea0f74aca42f6713446dcd5915c795a74"}}, + {riak_core,".*", + {git,"git://github.com/basho/riak_core.git", + "044c4e7f8dbfe8c49c45f2f7090adff4cd5aba50"}}, + {riak_pipe,".*", + {git,"git://github.com/basho/riak_pipe.git", + "3c0abc7ba301d57940c5a9c5de368b70429c28ff"}}, + {protobuffs,".*", + {git,"git://github.com/basho/erlang_protobuffs.git", + "f88fc3c6881687432ddd5546b3c7b08009dfb26f"}}, + {riak_pb,".*", + {git,"git://github.com/basho/riak_pb.git", + "78c50efa698f33f7d6ab1c7f5fa4666ec03b46b4"}}, + {mochiweb,".*", + {git,"git://github.com/basho/mochiweb.git", + "ade2a9b29a11034eb550c1d79b4f991bf5ca05ba"}}, + {webmachine,".*", + {git,"git://github.com/basho/webmachine.git", + "7677c240f4a7ed020f4bab48278224966bb42311"}}, + {riak_api,".*", + {git,"git://github.com/basho/riak_api.git", + "2781e66796903bc6847bffcf71a6ba7a05d69275"}}, + {riak_dt,".*", + {git,"git://github.com/basho/riak_dt.git", + "f7981d4ad7407ddc085f133f204dd71bf9d50c56"}}, + {eunit_formatters,".*", + {git,"git://github.com/seancribbs/eunit_formatters", + "96b6ced4d45ba641cbf2c8a8ae9b350dd300bc10"}}, + {riak_kv,".*", + {git,"git://github.com/basho/riak_kv.git", + "404619cb57574cd43e2dc0dc0453884ec6732a99"}}, + {merge_index,".*", + {git,"git://github.com/basho/merge_index.git", + "b701dde5c28956c3b629411e5ff7e50cbb5cb4b3"}}, + {riak_search,".*", + {git,"git://github.com/basho/riak_search.git", + "8fe4a8c020a74c52ee877bf6dd410824b4f79f8b"}}, + {erlydtl,".*", + {git,"git://github.com/evanmiller/erlydtl.git", + "d20b53f04837a1053ed18987f645cb60eae82453"}}, + {riak_control,".*", + {git,"git://github.com/basho/riak_control.git", + "09073ce672260e1ec0ba3999fabed7f319624ba1"}}, + {riaknostic,".*", + {git,"git://github.com/basho/riaknostic.git", + "101d95bddff4b70afcd1dd5442b8c6651887e0a4"}}, + {kvc,".*", + {git,"git://github.com/etrepum/kvc.git", + "5565fe51857747662410cc3c06362ebcf48a2f04"}}, + {ibrowse,".*", + {git,"git://github.com/cmullaparthi/ibrowse.git", + "e8ae353c16d4f0897abb9f80025b52925b974dd1"}}, + {yokozuna,".*", + {git,"git://github.com/basho/yokozuna.git", + "5868266b11f131d14c85495e50f899f3fe8158ba"}}, + {canola,".*", + {git,"git://github.com/basho/canola.git", + "9bdfee88fce20b3a01b7003696b53eb21913d6fb"}}, + {riak_auth_mods,".*", + {git,"git://github.com/basho/riak_auth_mods.git", + "31b8b30e6c215418522eaa615264ae9769a87410"}}]}. +{plugins,[rebar_lock_deps_plugin]}. + diff --git a/samples/Erlang/filenames/rebar.lock b/samples/Erlang/filenames/rebar.lock new file mode 100644 index 00000000..1d3a3982 --- /dev/null +++ b/samples/Erlang/filenames/rebar.lock @@ -0,0 +1,16 @@ +[{<<"goldrush">>, + {git,"git://github.com/DeadZen/goldrush.git", + {ref,"71e63212f12c25827e0c1b4198d37d5d018a7fec"}}, + 1}, + {<<"riak_dt">>, + {git,"git://github.com/helium/riak_dt.git", + {ref,"15d66cb26c2028c1ad1271c359b1d5da213825c3"}}, + 0}, + {<<"lager">>, + {git,"git://github.com/basho/lager.git", + {ref,"d33ccf3b69de09a628fe38b4d7981bb8671b8a4f"}}, + 0}, + {<<"eleveldb">>, + {git,"git://github.com/helium/eleveldb.git", + {ref,"29a5360dc0365b3330dd0cd45b0b8166f3b854be"}}, + 0}].