Добавлены скрипты сборки для кроссплатформенных двоичных файлов и лицензия GPL.
- Добавлен файл LICENSE с лицензией GNU General Public License версии 3.0. - Создан скрипт PowerShell (build-all.ps1) для сборки двоичных файлов Windows и Linux из Windows с использованием кросс-компиляции. - Разработан скрипт сборки Linux (build-linux.sh) для сборки двоичных файлов Linux. - Реализован скрипт PowerShell (build-windows.ps1) для сборки двоичных файлов Windows. - Каждый скрипт сборки включает упаковку и генерацию контрольной суммы SHA256 для двоичных файлов.
This commit is contained in:
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
func TestNewCompressionConfig(t *testing.T) {
|
||||
|
||||
@@ -3,7 +3,7 @@ package entities_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
func TestCompressionResult_CalculateCompressionRatio(t *testing.T) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package repositories
|
||||
|
||||
import "compressor/internal/domain/entities"
|
||||
import "compress/internal/domain/entities"
|
||||
|
||||
// ConfigRepository интерфейс для работы с конфигурацией приложения
|
||||
type AppConfigRepository interface {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
// PDFCompressor интерфейс для сжатия PDF файлов
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"github.com/pdfcpu/pdfcpu/pkg/api"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
// PDFCPUCompressor реализация компрессора с использованием PDFCPU
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/unidoc/unipdf/v3/model"
|
||||
"github.com/unidoc/unipdf/v3/model/optimize"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
// UniPDFCompressor реализация компрессора с использованием UniPDF
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
"os"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
// ConfigRepository реализация репозитория конфигурации
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
)
|
||||
|
||||
// FileSystemRepository реализация репозитория для работы с файловой системой
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
usecases "compressor/internal/usecase"
|
||||
"compress/internal/domain/entities"
|
||||
usecases "compress/internal/usecase"
|
||||
)
|
||||
|
||||
// CLIController контроллер для командной строки
|
||||
@@ -38,7 +38,7 @@ func NewCLIController(
|
||||
|
||||
// HandleSingleFile обрабатывает сжатие одного файла
|
||||
func (c *CLIController) HandleSingleFile(inputPath, outputPath string) error {
|
||||
fmt.Println("🔥 PDF Compressor - Сжатие PDF файлов")
|
||||
fmt.Println("🔥 Compress - Сжатие файлов")
|
||||
fmt.Println("====================================")
|
||||
|
||||
// Запрашиваем уровень сжатия
|
||||
@@ -60,7 +60,7 @@ func (c *CLIController) HandleSingleFile(inputPath, outputPath string) error {
|
||||
|
||||
// HandleDirectory обрабатывает сжатие директории
|
||||
func (c *CLIController) HandleDirectory(inputDir, outputDir string) error {
|
||||
fmt.Println("🔥 PDF Compressor - Сжатие директории PDF файлов")
|
||||
fmt.Println("🔥 Compress - Сжатие директории файлов")
|
||||
fmt.Println("================================================")
|
||||
|
||||
// Запрашиваем уровень сжатия
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package tui
|
||||
|
||||
import (
|
||||
"compressor/internal/domain/repositories"
|
||||
"compress/internal/domain/repositories"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compress/internal/domain/entities"
|
||||
|
||||
"github.com/gdamore/tcell/v2"
|
||||
"github.com/rivo/tview"
|
||||
@@ -176,7 +176,7 @@ func (m *Manager) loadConfig() {
|
||||
LogLevel: "info",
|
||||
ProgressBar: true,
|
||||
LogToFile: true,
|
||||
LogFileName: "compressor.log",
|
||||
LogFileName: "compress.log",
|
||||
LogMaxSizeMB: 10,
|
||||
},
|
||||
}
|
||||
@@ -230,7 +230,7 @@ func (m *Manager) createMainMenu() {
|
||||
})
|
||||
|
||||
m.mainMenu.SetBorder(true).
|
||||
SetTitle("🔥 Universal File Compressor - Главное меню").
|
||||
SetTitle("🔥 Universal File Compress - Главное меню").
|
||||
SetTitleAlign(tview.AlignCenter)
|
||||
|
||||
// Настраиваем стиль
|
||||
@@ -302,7 +302,7 @@ func (m *Manager) createConfigScreen() {
|
||||
m.updateLicenseFieldVisibility()
|
||||
|
||||
m.configForm.SetBorder(true).
|
||||
SetTitle("🔥 Universal File Compressor - Конфигурация (ESC - выйти без сохранения)").
|
||||
SetTitle("🔥 Universal File Compress - Конфигурация (ESC - выйти без сохранения)").
|
||||
SetTitleAlign(tview.AlignCenter)
|
||||
|
||||
// Обработка ESC для выхода без сохранения
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compressor/internal/domain/repositories"
|
||||
"compress/internal/domain/entities"
|
||||
"compress/internal/domain/repositories"
|
||||
)
|
||||
|
||||
// CompressDirectoryUseCase сценарий сжатия всех PDF файлов в директории
|
||||
|
||||
@@ -5,9 +5,9 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compressor/internal/domain/repositories"
|
||||
"compressor/internal/infrastructure/compressors"
|
||||
"compress/internal/domain/entities"
|
||||
"compress/internal/domain/repositories"
|
||||
"compress/internal/infrastructure/compressors"
|
||||
)
|
||||
|
||||
// CompressImageUseCase обрабатывает сжатие изображений
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compressor/internal/domain/repositories"
|
||||
"compress/internal/domain/entities"
|
||||
"compress/internal/domain/repositories"
|
||||
)
|
||||
|
||||
// CompressPDFUseCase сценарий сжатия одного PDF файла
|
||||
|
||||
@@ -5,9 +5,9 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compressor/internal/domain/repositories"
|
||||
"compressor/internal/infrastructure/compressors"
|
||||
"compress/internal/domain/entities"
|
||||
"compress/internal/domain/repositories"
|
||||
"compress/internal/infrastructure/compressors"
|
||||
)
|
||||
|
||||
// ProcessAllFilesUseCase сценарий для обработки всех поддерживаемых типов файлов
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"compressor/internal/domain/entities"
|
||||
"compressor/internal/domain/repositories"
|
||||
"compress/internal/domain/entities"
|
||||
"compress/internal/domain/repositories"
|
||||
)
|
||||
|
||||
// ProcessPDFsUseCase сценарий автоматической обработки PDF файлов
|
||||
|
||||
Reference in New Issue
Block a user