diff options
author | Ruben Pollan <meskio@sindominio.net> | 2019-01-12 18:18:23 +0100 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2019-01-15 14:39:21 +0100 |
commit | bea32af5d45702e5608d347bf2bf6314d899f2e0 (patch) | |
tree | 3a3b65123a751624a866176d9d59424707474363 /pkg/config | |
parent | 933ad2aeda754499753e91be05aa9f5556539d35 (diff) |
[feat] Reorganize code
Let's use a more structured folder system:
https://github.com/golang-standards/project-layout
- Resolves: #99
Diffstat (limited to 'pkg/config')
-rw-r--r-- | pkg/config/darwin.go | 24 | ||||
-rw-r--r-- | pkg/config/logger.go | 31 | ||||
-rw-r--r-- | pkg/config/unix.go | 24 | ||||
-rw-r--r-- | pkg/config/windows.go | 22 |
4 files changed, 101 insertions, 0 deletions
diff --git a/pkg/config/darwin.go b/pkg/config/darwin.go new file mode 100644 index 0000000..123060c --- /dev/null +++ b/pkg/config/darwin.go @@ -0,0 +1,24 @@ +// +build darwin +// Copyright (C) 2018 LEAP +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package config + +import ( + "os" +) + +// Path for the config files +var Path = os.Getenv("HOME") + "/Library/Preferences/leap" diff --git a/pkg/config/logger.go b/pkg/config/logger.go new file mode 100644 index 0000000..09d96b7 --- /dev/null +++ b/pkg/config/logger.go @@ -0,0 +1,31 @@ +// Copyright (C) 2018 LEAP +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package config + +import ( + "io" + "log" + "os" +) + +//ConfigureLogger to write logs into a file as well as the stderr +func ConfigureLogger(logPath string) (io.Closer, error) { + logFile, err := os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) + if err == nil { + log.SetOutput(io.MultiWriter(logFile, os.Stderr)) + } + return logFile, err +} diff --git a/pkg/config/unix.go b/pkg/config/unix.go new file mode 100644 index 0000000..7425f5b --- /dev/null +++ b/pkg/config/unix.go @@ -0,0 +1,24 @@ +// +build !windows,!darwin +// Copyright (C) 2018 LEAP +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package config + +import ( + "os" +) + +// Path for the config files +var Path = os.Getenv("HOME") + "/.config/leap" diff --git a/pkg/config/windows.go b/pkg/config/windows.go new file mode 100644 index 0000000..8977842 --- /dev/null +++ b/pkg/config/windows.go @@ -0,0 +1,22 @@ +// +build windows +// Copyright (C) 2018 LEAP +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package config + +import "os" + +// Path for the config files +var Path = os.Getenv("LOCALAPPDATA") + "\\leap" |