JavaFX-приложение для автоматического расчёта последовательности обновлений конфигураций 1С по таблице Excel.
- Загрузка и парсинг Excel-файлов с версиями. Проще всего скопировать в Excel таблицу релизов с сайта releases.1c.ru для своей конфигурации.
- Автоматический подбор минимальной цепочки промежуточных обновлений между двумя версиями
- Графический интерфейс на JavaFX (FXML)
- Модель версий с валидацией и сортировкой
- Генерация результирующего списка обновлений
- Сохранение результатов в файл
./gradlew runПосле сборки через jpackage вы можете запускать:
.exe(Windows).deb,.rpm, илиapp-image(Linux)
Создаёт модульный образ Java-приложения с JavaFX:
./gradlew jlink- Выходной каталог:
build/image - Используется: JavaFX 21, JDK 21
Создаёт платформенно-зависимые пакеты: .exe, .deb, .rpm, .pkg, app-image.
./gradlew jpackage [-PinstallerType=тип]| Тип | Команда | Платформа |
|---|---|---|
app-image |
./gradlew jpackage (по умолчанию) |
Все платформы |
exe |
./gradlew jpackage -PinstallerType=exe |
Windows |
deb |
./gradlew jpackage -PinstallerType=deb |
Linux (Debian) |
rpm |
./gradlew jpackage -PinstallerType=rpm |
Linux (RHEL) |
pkg |
./gradlew jpackage -PinstallerType=pkg |
macOS |
Сборка под macOS (
.pkg) теоретически поддерживается, но не тестировалась.
Требуется установленный Xcode и (опционально) код-подписывающий сертификат от Apple.
Выходной каталог: build/jpackage/
При использовании jlink/ jpackage все зависимости (включая JavaFX) вшиваются. Дополнительные компоненты не требуются.
-
JDK 21
-
Gradle 8
-
Linux:
dpkg,fakeroot(для .deb)rpm(для .rpm)
update-calculator-1c/
├── assets/
│ └── screenshot.png # Скриншот для README
├── src/
│ └── main/
│ ├── java/
│ │ ├── module-info.java
│ │ └── io/github/snood21/update_calculator_1c/
│ │ ├── controllers/
│ │ │ └── MainFormController.java # FXML-контроллер
│ │ ├── Release.java # Модель обновления
│ │ ├── Version.java # Обработка версий
│ │ ├── UpdateCalculator.java # Логика расчёта
│ │ └── UpdateCalculatorApp.java # Точка входа JavaFX
│ └── resources/io/github/snood21/update_calculator_1c/
│ ├── application.properties # Версия приложения
│ ├── forms/
│ │ ├── mainForm.fxml # Главная форма
│ │ └── aboutDialog.fxml # Диалог "О программе"
│ ├── icons/
│ │ ├── icon.png
│ │ └── icon.ico
│ └── legal/
│ ├── LICENSE
│ └── NOTICE
├── build.gradle.kts # Скрипт сборки
├── settings.gradle.kts
├── gradle.properties # Версия и параметры сборки
├── gradlew / gradlew.bat
├── LICENSE # Лицензия Apache 2.0
├── NOTICE
├── THIRD_PARTY_LICENSES.md # Сторонние лицензии
└── README.md
Автосборка при каждом push/ PR:
.github/workflows/build.yml- Java 21
- Gradle Wrapper
./gradlew clean jpackage
Готовые артефакты: раздел Actions на GitHub
Код этого проекта распространяется под лицензией Apache License 2.0.
Сторонние зависимости:
- Apache POI — лицензия Apache 2.0
- JetBrains Annotations — лицензия Apache 2.0
Подробности — в THIRD_PARTY_LICENSES.md
Скачайте последнюю версию с GitHub Releases
