   def after_release(_), do: nil
   def after_cleanup(_), do: nil
 
-  defp load_schema(app), do: load_schema(app, nil)
-  defp load_schema(app, _) do
-    path = app |> schema_path
-    case File.exists?(path) do
-      true  -> path |> Conform.Schema.load
-      false -> Conform.Schema.empty
-    end
-  end
-
-  defp schema_path(app), do: Path.join([File.cwd!, "config", "#{app}.schema.exs"])
-
-  defp merge_schema(new, old) do
-    mappings     = merge_mappings(Keyword.get(new, :mappings, []), Keyword.get(old, :mappings, []))
-    translations = merge_translations(Keyword.get(new, :translations, []), Keyword.get(old, :translations, []))
-    [mappings: mappings, translations: translations]
-  end
-  defp merge_mappings(new, old) do
-    # Iterate over each mapping in new, and add it if it doesn't
-    # exist in old, otherwise, do nothing
-    new |> Enum.reduce(old, fn {key, mapping}, acc ->
-      case acc |> Keyword.get(key) do
-        nil -> acc ++ [{key, mapping}]
-        _   -> acc
-      end
-    end)
-  end
-  defp merge_translations(new, old) do
-    # Iterate over each translation in new, and add it if it doesn't
-    # exist in old, otherwise, do nothing
-    new |> Enum.reduce(old, fn {key, translation}, acc ->
-      case acc |> Keyword.get(key) do
-        nil -> acc ++ [{key, translation}]
-        _   -> acc
-      end
-    end)
-  end
 end


    debug "Conform: Updating schema..."
    # Get top-level schema...
    schema = load_schema(app)
    # Get schemas from all dependencies
    proj_config = [build_path: Mix.Project.build_path, umbrella?: Mix.Project.umbrella?]
    dep_schemas = for %Mix.Dep{app: app, opts: opts} <- Mix.Dep.loaded([]) do
      Mix.Project.in_project(app, opts[:path], proj_config, &(load_schema(app, &1)))
    end
    # Merge schemas
    merged = dep_schemas |> Enum.reduce(schema, &merge_schema/2)
    # If the merged schema is non-empty, save the schema to config/{app}.schema.exs
    continue? = case merged do
      ^empty_schema ->
        warn "Conform: No schema found, proceeding without one."
        false
      _ ->
        Conform.Schema.write(merged, schema_path(app))
        info "Conform: #{app}.schema.exs updated succesfully!"
        true
    end

  def before_release(%Config{name: app, version: version}) do
    empty_schema = Conform.Schema.empty
    relx_config  = Utils.rel_file_dest_path("relx.config") |> Utils.read_terms
    schema_path  = Conform.Schema.schema_path(app)
    conf_path    = Path.join([File.cwd!, "config", "#{app}.conf"])

    # Ensure config directory exists
