Skip to content

Commit

Permalink
edoc: Remove support for packages
Browse files Browse the repository at this point in the history
  • Loading branch information
bjorng committed Jan 9, 2013
1 parent e174aab commit beb660a
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 34 deletions.
6 changes: 3 additions & 3 deletions lib/edoc/src/edoc.erl
Expand Up @@ -456,14 +456,14 @@ expand_sources(Ss, Opts) ->
end,
expand_sources(Ss1, Suffix, sets:new(), [], []).

expand_sources([{P, F, D} | Fs], Suffix, S, As, Ms) ->
M = list_to_atom(packages:concat(P, filename:rootname(F, Suffix))),
expand_sources([{'', F, D} | Fs], Suffix, S, As, Ms) ->
M = list_to_atom(filename:rootname(F, Suffix)),
case sets:is_element(M, S) of
true ->
expand_sources(Fs, Suffix, S, As, Ms);
false ->
S1 = sets:add_element(M, S),
expand_sources(Fs, Suffix, S1, [{M, P, F, D} | As],
expand_sources(Fs, Suffix, S1, [{M, '', F, D} | As],
[M | Ms])
end;
expand_sources([], _Suffix, _S, As, Ms) ->
Expand Down
8 changes: 4 additions & 4 deletions lib/edoc/src/edoc_doclet.erl
Expand Up @@ -192,7 +192,7 @@ source({M, P, Name, Path}, Dir, Suffix, Env, Set, Private, Hidden,
andalso ((not is_hidden(Doc)) orelse Hidden) of
true ->
Text = edoc:layout(Doc, Options),
Name1 = packages:last(M) ++ Suffix,
Name1 = atom_to_list(M) ++ Suffix,
Encoding = [{encoding,encoding(Doc)}],
edoc_lib:write_file(Text, Dir, Name1, P, Encoding),
{sets:add_element(Module, Set), Error};
Expand All @@ -205,9 +205,9 @@ source({M, P, Name, Path}, Dir, Suffix, Env, Set, Private, Hidden,
end.

check_name(M, M0, P0, File) ->
P = list_to_atom(packages:strip_last(M)),
N = packages:last(M),
N0 = packages:last(M0),
P = '',
N = M,
N0 = M0,
case N of
[$? | _] ->
%% A module name of the form '?...' is assumed to be caused
Expand Down
2 changes: 1 addition & 1 deletion lib/edoc/src/edoc_extract.erl
Expand Up @@ -121,7 +121,7 @@ source1(Tree, File0, Env, Opts, TypeDocs) ->
Module = get_module_info(Tree, File),
{Header, Footer, Entries} = collect(Forms, Module),
Name = Module#module.name,
Package = list_to_atom(packages:strip_last(Name)),
Package = '',
Env1 = Env#env{module = Name,
package = Package,
root = edoc_refs:relative_package_path('', Package)},
Expand Down
21 changes: 12 additions & 9 deletions lib/edoc/src/edoc_lib.erl
Expand Up @@ -269,6 +269,10 @@ is_name_1(_) -> false.

to_atom(A) when is_atom(A) -> A;
to_atom(S) when is_list(S) -> list_to_atom(S).

to_list(A) when is_atom(A) -> atom_to_list(A);
to_list(S) when is_list(S) -> S.


%% @private
unique([X | Xs]) -> [X | unique(Xs, X)];
Expand Down Expand Up @@ -695,8 +699,7 @@ write_file(Text, Dir, Name, Package) ->
write_file(Text, Dir, Name, Package, [{encoding,latin1}]).

write_file(Text, Dir, Name, Package, Options) ->
Dir1 = filename:join([Dir | packages:split(Package)]),
File = filename:join(Dir1, Name),
File = filename:join([Dir, to_list(Package), Name]),
ok = filelib:ensure_dir(File),
case file:open(File, [write] ++ Options) of
{ok, FD} ->
Expand Down Expand Up @@ -836,7 +839,7 @@ find_sources(Path, Pkg, Rec, Ext, Opts) ->
lists:flatten(find_sources_1(Path, to_atom(Pkg), Rec, Ext, Skip)).

find_sources_1([P | Ps], Pkg, Rec, Ext, Skip) ->
Dir = filename:join(P, filename:join(packages:split(Pkg))),
Dir = filename:join(P, atom_to_list(Pkg)),
Fs1 = find_sources_1(Ps, Pkg, Rec, Ext, Skip),
case filelib:is_dir(Dir) of
true ->
Expand All @@ -862,9 +865,9 @@ find_sources_2(Dir, Pkg, Rec, Ext, Skip) ->
[]
end.

find_sources_3(Es, Dir, Pkg, Rec, Ext, Skip) ->
find_sources_3(Es, Dir, '', Rec, Ext, Skip) ->
[find_sources_2(filename:join(Dir, E),
to_atom(packages:concat(Pkg, E)), Rec, Ext, Skip)
to_atom(E), Rec, Ext, Skip)
|| E <- Es, is_package_dir(E, Dir)].

is_source_file(Name, Ext) ->
Expand All @@ -876,16 +879,16 @@ is_package_dir(Name, Dir) ->
andalso filelib:is_dir(filename:join(Dir, Name)).

%% @private
find_file([P | Ps], Pkg, Name) ->
Dir = filename:join(P, filename:join(packages:split(Pkg))),
File = filename:join(Dir, Name),
find_file([P | Ps], []=Pkg, Name) ->
Pkg = [],
File = filename:join(P, Name),
case filelib:is_file(File) of
true ->
File;
false ->
find_file(Ps, Pkg, Name)
end;
find_file([], _Pkg, _Name) ->
find_file([], [], _Name) ->
"".

%% @private
Expand Down
5 changes: 1 addition & 4 deletions lib/edoc/src/edoc_parser.yrl
Expand Up @@ -318,10 +318,7 @@ tok_val(T) -> element(3, T).

tok_line(T) -> element(2, T).

qname([A]) ->
A; % avoid unnecessary call to packages:concat/1.
qname(List) ->
list_to_atom(packages:concat(lists:reverse(List))).
qname([A]) -> A.

union(Ts) ->
case Ts of
Expand Down
19 changes: 6 additions & 13 deletions lib/edoc/src/edoc_refs.erl
Expand Up @@ -126,16 +126,15 @@ abs_uri({package, P}, Env) ->
module_ref(M, Env) ->
case (Env#env.modules)(M) of
"" ->
File = packages:last(M) ++ Env#env.file_suffix,
File = atom_to_list(M) ++ Env#env.file_suffix,
Path = relative_module_path(M, Env#env.package),
join_uri(Path, escape_uri(File));
Base ->
join_uri(Base, module_absref(M, Env))
end.

module_absref(M, Env) ->
join_segments(packages:split(M))
++ escape_uri(Env#env.file_suffix).
escape_uri(atom_to_list(M)) ++ escape_uri(Env#env.file_suffix).

package_ref(P, Env) ->
case (Env#env.packages)(P) of
Expand All @@ -147,7 +146,7 @@ package_ref(P, Env) ->
end.

package_absref(P, Env) ->
join_uri(join_segments(packages:split(P)),
join_uri(escape_uri(atom_to_list(P)),
escape_uri(Env#env.package_summary)).

app_ref(A, Env) ->
Expand Down Expand Up @@ -179,14 +178,11 @@ join_segments([S | Ss]) ->
%% The empty string is returned if the To module has only one segment,
%% implying a local reference.

relative_module_path(To, From) ->
case first(packages:split(To)) of
[] -> "";
P -> relative_path(P, packages:split(From))
end.
relative_module_path(_To, _From) ->
"".

relative_package_path(To, From) ->
relative_path(packages:split(To), packages:split(From)).
relative_path([atom_to_list(To)], [atom_to_list(From)]).

%% This takes two lists of path segments (From, To). Note that an empty
%% string will be returned if the paths are the same. Empty leading
Expand All @@ -210,6 +206,3 @@ relative_path_2([], []) ->
"";
relative_path_2([], Ts) ->
join_segments(Ts).

first([H | T]) when T /= [] -> [H | first(T)];
first(_) -> [].

0 comments on commit beb660a

Please sign in to comment.