diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/checksums.lock b/kamco-geojson-scheduler/.gradle/8.14.3/checksums/checksums.lock
deleted file mode 100644
index 84f69a3..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/checksums.lock and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/md5-checksums.bin b/kamco-geojson-scheduler/.gradle/8.14.3/checksums/md5-checksums.bin
deleted file mode 100644
index 2fa0678..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/md5-checksums.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/sha1-checksums.bin b/kamco-geojson-scheduler/.gradle/8.14.3/checksums/sha1-checksums.bin
deleted file mode 100644
index 5c44705..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/checksums/sha1-checksums.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.bin b/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.bin
deleted file mode 100644
index 38f9904..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.lock b/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.lock
deleted file mode 100644
index 90ab786..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/executionHistory/executionHistory.lock and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/fileChanges/last-build.bin b/kamco-geojson-scheduler/.gradle/8.14.3/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/fileChanges/last-build.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.bin b/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.bin
deleted file mode 100644
index 24a6148..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.lock b/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.lock
deleted file mode 100644
index 91b1371..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/fileHashes.lock and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/resourceHashesCache.bin b/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/resourceHashesCache.bin
deleted file mode 100644
index f954524..0000000
Binary files a/kamco-geojson-scheduler/.gradle/8.14.3/fileHashes/resourceHashesCache.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/8.14.3/gc.properties b/kamco-geojson-scheduler/.gradle/8.14.3/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/kamco-geojson-scheduler/.gradle/buildOutputCleanup/buildOutputCleanup.lock
deleted file mode 100644
index 9e3e5d7..0000000
Binary files a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/buildOutputCleanup.lock and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/cache.properties b/kamco-geojson-scheduler/.gradle/buildOutputCleanup/cache.properties
deleted file mode 100644
index 1fd9686..0000000
--- a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/cache.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Sun Feb 08 18:46:40 KST 2026
-gradle.version=8.14.3
diff --git a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/outputFiles.bin b/kamco-geojson-scheduler/.gradle/buildOutputCleanup/outputFiles.bin
deleted file mode 100644
index f4a1970..0000000
Binary files a/kamco-geojson-scheduler/.gradle/buildOutputCleanup/outputFiles.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/file-system.probe b/kamco-geojson-scheduler/.gradle/file-system.probe
deleted file mode 100644
index 90b3e73..0000000
Binary files a/kamco-geojson-scheduler/.gradle/file-system.probe and /dev/null differ
diff --git a/kamco-geojson-scheduler/.gradle/vcs-1/gc.properties b/kamco-geojson-scheduler/.gradle/vcs-1/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/kamco-geojson-scheduler/.idea/.gitignore b/kamco-geojson-scheduler/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/kamco-geojson-scheduler/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/kamco-geojson-scheduler/.idea/compiler.xml b/kamco-geojson-scheduler/.idea/compiler.xml
deleted file mode 100644
index 40c9d5a..0000000
--- a/kamco-geojson-scheduler/.idea/compiler.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/.idea/gradle.xml b/kamco-geojson-scheduler/.idea/gradle.xml
deleted file mode 100644
index c6d035a..0000000
--- a/kamco-geojson-scheduler/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/.idea/misc.xml b/kamco-geojson-scheduler/.idea/misc.xml
deleted file mode 100644
index 596538b..0000000
--- a/kamco-geojson-scheduler/.idea/misc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/build.gradle b/kamco-geojson-scheduler/build.gradle
deleted file mode 100644
index 7947e95..0000000
--- a/kamco-geojson-scheduler/build.gradle
+++ /dev/null
@@ -1,45 +0,0 @@
-plugins {
- id 'java'
- id 'org.springframework.boot' version '3.5.7'
- id 'io.spring.dependency-management' version '1.1.7'
-}
-
-group = 'com.kamco.cd'
-version = '0.0.1-SNAPSHOT'
-
-java {
- toolchain {
- languageVersion = JavaLanguageVersion.of(21)
- }
-}
-
-configurations {
- compileOnly {
- extendsFrom annotationProcessor
- }
-}
-
-repositories {
- mavenCentral()
-}
-
-dependencies {
- implementation 'org.springframework.boot:spring-boot-starter-batch'
- implementation 'org.springframework.boot:spring-boot-starter-jdbc'
- compileOnly 'org.projectlombok:lombok'
- runtimeOnly 'org.postgresql:postgresql'
- annotationProcessor 'org.projectlombok:lombok'
- testImplementation 'org.springframework.boot:spring-boot-starter-test'
- testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
-
- // JSON
- implementation 'com.fasterxml.jackson.core:jackson-databind'
-}
-
-tasks.named('test') {
- useJUnitPlatform()
-}
-
-bootJar {
- archiveFileName = 'generator-dataset-for-training.jar'
-}
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class
deleted file mode 100644
index 177b31c..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class
deleted file mode 100644
index 35064af..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class
deleted file mode 100644
index 5ac8d2f..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/config/DockerProperties.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/config/DockerProperties.class
deleted file mode 100644
index ee2453a..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/config/DockerProperties.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class
deleted file mode 100644
index 19e26d0..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class
deleted file mode 100644
index 344c86c..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class
deleted file mode 100644
index ae8c356..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class
deleted file mode 100644
index d012de1..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class
deleted file mode 100644
index 96a321c..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class
deleted file mode 100644
index 2a14cda..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class
deleted file mode 100644
index 7be65c6..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class
deleted file mode 100644
index 5efc3b4..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/InspectState.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/InspectState.class
deleted file mode 100644
index 09ec616..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/InspectState.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class
deleted file mode 100644
index d12e2f1..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class
deleted file mode 100644
index 868b8b8..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.class b/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.class
deleted file mode 100644
index ecbf1cd..0000000
Binary files a/kamco-geojson-scheduler/build/classes/java/main/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/libs/generator-dataset-for-training.jar b/kamco-geojson-scheduler/build/libs/generator-dataset-for-training.jar
deleted file mode 100644
index d3e5c94..0000000
Binary files a/kamco-geojson-scheduler/build/libs/generator-dataset-for-training.jar and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/libs/kamco-geojson-scheduler-0.0.1-SNAPSHOT-plain.jar b/kamco-geojson-scheduler/build/libs/kamco-geojson-scheduler-0.0.1-SNAPSHOT-plain.jar
deleted file mode 100644
index 4337d94..0000000
Binary files a/kamco-geojson-scheduler/build/libs/kamco-geojson-scheduler-0.0.1-SNAPSHOT-plain.jar and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/resolvedMainClassName b/kamco-geojson-scheduler/build/resolvedMainClassName
deleted file mode 100644
index 1fe26ac..0000000
--- a/kamco-geojson-scheduler/build/resolvedMainClassName
+++ /dev/null
@@ -1 +0,0 @@
-com.kamco.cd.geojsonscheduler.GeoJsonSchedulerApplication
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/build/resources/main/application-dev.yml b/kamco-geojson-scheduler/build/resources/main/application-dev.yml
deleted file mode 100644
index 9f7f5ea..0000000
--- a/kamco-geojson-scheduler/build/resources/main/application-dev.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://192.168.2.127:15432/kamco_cds
- username: kamco_cds
- password: kamco_cds_Q!W@E#R$
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/dataset
diff --git a/kamco-geojson-scheduler/build/resources/main/application-local.yml b/kamco-geojson-scheduler/build/resources/main/application-local.yml
deleted file mode 100644
index 7cc0acf..0000000
--- a/kamco-geojson-scheduler/build/resources/main/application-local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://localhost:5432/kamco_cds
- username: kamco_cds
- password: kamco_cds
-
-training-data:
- geojson-dir: /tmp/geojson
diff --git a/kamco-geojson-scheduler/build/resources/main/application-prod.yml b/kamco-geojson-scheduler/build/resources/main/application-prod.yml
deleted file mode 100644
index 707a18c..0000000
--- a/kamco-geojson-scheduler/build/resources/main/application-prod.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://127.0.0.1:15432/kamco_cds
- username: kamco_cds
- password: kamco_cds_Q!W@E#R$
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/dataset
diff --git a/kamco-geojson-scheduler/build/resources/main/application.yml b/kamco-geojson-scheduler/build/resources/main/application.yml
deleted file mode 100644
index c1f830a..0000000
--- a/kamco-geojson-scheduler/build/resources/main/application.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-spring:
- application:
- name: kamco-geojson-scheduler
- profiles:
- active: local
- datasource:
- driver-class-name: org.postgresql.Driver
- hikari:
- minimum-idle: 2
- maximum-pool-size: 2
- connection-timeout: 20000
- idle-timeout: 300000
- max-lifetime: 1800000
- batch:
- job:
- enabled: true
- initialize-schema: never
-
-training-data:
- docker:
- image: kamco-cd-dataset:latest
- user: "1000:1000"
- dataset-volume: /kamco-nfs/dataset:/dataset
- images-volume: /kamco-nfs/images:/kamco-nfs:ro
- input-root: /dataset
- output-root: /dataset
- patch-size: 512
- overlap-pct: 50
- train-val-test-ratio:
- - "0.7"
- - "0.2"
- - "0.1"
- keep-empty-ratio: 0.1
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/build/tmp/bootJar/MANIFEST.MF b/kamco-geojson-scheduler/build/tmp/bootJar/MANIFEST.MF
deleted file mode 100644
index 58630c0..0000000
--- a/kamco-geojson-scheduler/build/tmp/bootJar/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonJobConfig.class.uniqueId8 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonJobConfig.class.uniqueId8
deleted file mode 100644
index 35064af..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonJobConfig.class.uniqueId8 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonTasklet.class.uniqueId0 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonTasklet.class.uniqueId0
deleted file mode 100644
index eef1139..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/ExportGeoJsonTasklet.class.uniqueId0 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/GeoJsonSchedulerApplication.class.uniqueId6 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/GeoJsonSchedulerApplication.class.uniqueId6
deleted file mode 100644
index 831247e..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/GeoJsonSchedulerApplication.class.uniqueId6 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalCntInfo.class.uniqueId2 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalCntInfo.class.uniqueId2
deleted file mode 100644
index 04b6fd8..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalCntInfo.class.uniqueId2 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalMapSheetList.class.uniqueId3 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalMapSheetList.class.uniqueId3
deleted file mode 100644
index 7c91436..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$AnalMapSheetList.class.uniqueId3 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class.uniqueId4 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class.uniqueId4
deleted file mode 100644
index 0ec9caf..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class.uniqueId4 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$Properties.class.uniqueId10 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$Properties.class.uniqueId10
deleted file mode 100644
index 6717ab8..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData$Properties.class.uniqueId10 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData.class.uniqueId5 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData.class.uniqueId5
deleted file mode 100644
index 120f727..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$CompleteLabelData.class.uniqueId5 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$FeatureCollection.class.uniqueId1 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$FeatureCollection.class.uniqueId1
deleted file mode 100644
index 31799e2..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto$FeatureCollection.class.uniqueId1 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto.class.uniqueId9 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto.class.uniqueId9
deleted file mode 100644
index 951e39a..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobDto.class.uniqueId9 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobRepository.class.uniqueId7 b/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobRepository.class.uniqueId7
deleted file mode 100644
index fc11cbb..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/compileTransaction/stash-dir/TrainingDataReviewJobRepository.class.uniqueId7 and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/compileJava/previous-compilation-data.bin b/kamco-geojson-scheduler/build/tmp/compileJava/previous-compilation-data.bin
deleted file mode 100644
index 4f0245c..0000000
Binary files a/kamco-geojson-scheduler/build/tmp/compileJava/previous-compilation-data.bin and /dev/null differ
diff --git a/kamco-geojson-scheduler/build/tmp/jar/MANIFEST.MF b/kamco-geojson-scheduler/build/tmp/jar/MANIFEST.MF
deleted file mode 100644
index 58630c0..0000000
--- a/kamco-geojson-scheduler/build/tmp/jar/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/kamco-geojson-scheduler/gradle/linux/pack_offline_bundle_airgap.sh b/kamco-geojson-scheduler/gradle/linux/pack_offline_bundle_airgap.sh
deleted file mode 100644
index 9cc9fc5..0000000
--- a/kamco-geojson-scheduler/gradle/linux/pack_offline_bundle_airgap.sh
+++ /dev/null
@@ -1,550 +0,0 @@
-#!/bin/bash
-# pack_offline_bundle_airgap.sh
-# ============================================================================
-# Gradle Offline Bundle Packer
-# ============================================================================
-# Version: 4.0
-#
-# WORKFLOW:
-# 1. [ONLINE] Build project (./gradlew bootJar) - downloads all deps
-# 2. [ONLINE] Test run (./gradlew bootRun) - verify app works
-# 3. [OFFLINE TEST] Verify offline build works
-# 4. Create bundle with all cached dependencies
-#
-# REQUIREMENTS:
-# - Internet connection (for initial build)
-# - Project with gradlew
-# ============================================================================
-
-set -e
-
-# ============================================================================
-# Configuration
-# ============================================================================
-WRAPPER_SEED_PATH="wrapper_jar_seed"
-OFFLINE_HOME_NAME="_offline_gradle_home"
-BOOTRUN_TIMEOUT_SECONDS=60
-
-# Color codes
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-CYAN='\033[0;36m'
-GRAY='\033[0;90m'
-WHITE='\033[1;37m'
-NC='\033[0m' # No Color
-
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Gradle Offline Bundle Packer v4.0${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-echo -e "${WHITE} This script will:${NC}"
-echo -e "${GRAY} 1. Build project with internet (download dependencies)${NC}"
-echo -e "${GRAY} 2. Test run application (verify it works)${NC}"
-echo -e "${GRAY} 3. Test offline build (verify cache is complete)${NC}"
-echo -e "${GRAY} 4. Create offline bundle for air-gapped environment${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-# ============================================================================
-# [1/20] Check Current Directory
-# ============================================================================
-echo -e "${YELLOW}==[1/20] Check Current Directory ==${NC}"
-ROOT="$(pwd)"
-echo "ROOT_DIR: $ROOT"
-echo ""
-
-# ============================================================================
-# [2/20] Check Required Files
-# ============================================================================
-echo -e "${YELLOW}==[2/20] Check Required Files ==${NC}"
-
-if [ ! -f "./gradlew" ]; then
- echo -e "${RED}ERROR: gradlew not found. Run from project root.${NC}"
- exit 1
-fi
-chmod +x ./gradlew
-echo -e "${GREEN}[OK] gradlew${NC}"
-
-BUILD_FILE=""
-if [ -f "./build.gradle" ]; then
- BUILD_FILE="build.gradle"
-elif [ -f "./build.gradle.kts" ]; then
- BUILD_FILE="build.gradle.kts"
-else
- echo -e "${RED}ERROR: build.gradle(.kts) not found.${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] $BUILD_FILE${NC}"
-
-SETTINGS_FILE=""
-if [ -f "./settings.gradle" ]; then
- SETTINGS_FILE="settings.gradle"
- echo -e "${GREEN}[OK] $SETTINGS_FILE${NC}"
-elif [ -f "./settings.gradle.kts" ]; then
- SETTINGS_FILE="settings.gradle.kts"
- echo -e "${GREEN}[OK] $SETTINGS_FILE${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [3/20] Check Gradle Wrapper
-# ============================================================================
-echo -e "${YELLOW}==[3/20] Check Gradle Wrapper ==${NC}"
-
-WRAPPER_DIR="$ROOT/gradle/wrapper"
-WRAPPER_JAR="$WRAPPER_DIR/gradle-wrapper.jar"
-WRAPPER_PROP="$WRAPPER_DIR/gradle-wrapper.properties"
-
-mkdir -p "$WRAPPER_DIR"
-
-if [ ! -f "$WRAPPER_PROP" ]; then
- echo -e "${RED}ERROR: gradle-wrapper.properties not found.${NC}"
- exit 1
-fi
-
-if [ ! -f "$WRAPPER_JAR" ]; then
- SEED_JAR="$ROOT/$WRAPPER_SEED_PATH/gradle-wrapper.jar"
- if [ -f "$SEED_JAR" ]; then
- cp "$SEED_JAR" "$WRAPPER_JAR"
- echo -e "${GREEN}[OK] Wrapper jar injected from seed${NC}"
- else
- echo -e "${RED}ERROR: gradle-wrapper.jar missing${NC}"
- exit 1
- fi
-else
- echo -e "${GREEN}[OK] gradle-wrapper.jar exists${NC}"
-fi
-
-# Create seed backup
-SEED_DIR="$ROOT/$WRAPPER_SEED_PATH"
-if [ ! -d "$SEED_DIR" ]; then
- mkdir -p "$SEED_DIR"
- cp "$WRAPPER_JAR" "$SEED_DIR/gradle-wrapper.jar"
-fi
-echo ""
-
-# ============================================================================
-# [4/20] Set GRADLE_USER_HOME (Project Local)
-# ============================================================================
-echo -e "${YELLOW}==[4/20] Set GRADLE_USER_HOME ==${NC}"
-
-OFFLINE_HOME="$ROOT/$OFFLINE_HOME_NAME"
-mkdir -p "$OFFLINE_HOME"
-export GRADLE_USER_HOME="$OFFLINE_HOME"
-
-echo -e "${CYAN}GRADLE_USER_HOME = $GRADLE_USER_HOME${NC}"
-echo -e "${GRAY}[INFO] All dependencies will be cached in project folder${NC}"
-echo ""
-
-# ============================================================================
-# [5/20] Check Internet Connection
-# ============================================================================
-echo -e "${YELLOW}==[5/20] Check Internet Connection ==${NC}"
-
-HAS_INTERNET=false
-TEST_HOSTS=("plugins.gradle.org" "repo.maven.apache.org" "repo1.maven.org")
-
-for TEST_HOST in "${TEST_HOSTS[@]}"; do
- if ping -c 1 -W 3 "$TEST_HOST" &>/dev/null; then
- HAS_INTERNET=true
- echo -e "${GREEN}[OK] Connected to $TEST_HOST${NC}"
- break
- fi
-done
-
-if [ "$HAS_INTERNET" = false ]; then
- # Try DNS resolution as fallback
- if nslookup google.com &>/dev/null || host google.com &>/dev/null; then
- HAS_INTERNET=true
- echo -e "${GREEN}[OK] Internet available (DNS)${NC}"
- fi
-fi
-
-if [ "$HAS_INTERNET" = false ]; then
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} ERROR: No Internet Connection!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}This script requires internet for initial build.${NC}"
- echo -e "${YELLOW}Please connect to internet and run again.${NC}"
- echo ""
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [6/20] Initial Gradle Setup
-# ============================================================================
-echo -e "${YELLOW}==[6/20] Initial Gradle Setup ==${NC}"
-echo -e "${GRAY}[INFO] Downloading Gradle distribution...${NC}"
-
-if ./gradlew --version &>/dev/null; then
- GRADLE_VERSION=$(./gradlew --version 2>&1 | grep "^Gradle" | awk '{print $2}')
- echo -e "${GREEN}[OK] Gradle $GRADLE_VERSION${NC}"
-else
- echo -e "${RED}[ERROR] Gradle setup failed${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [7/20] ONLINE BUILD - bootJar (Download All Dependencies)
-# ============================================================================
-echo -e "${YELLOW}==[7/20] ONLINE BUILD - bootJar ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} ONLINE BUILD (with Internet)${NC}"
-echo -e "${CYAN} Downloading all dependencies to local cache${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BUILD_SUCCESS=false
-
-./gradlew clean bootJar --no-daemon
-if [ $? -eq 0 ]; then
- BUILD_SUCCESS=true
- echo ""
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} ONLINE BUILD SUCCESS!${NC}"
- echo -e "${GREEN}============================================================${NC}"
- echo ""
-
- if [ -d "./build/libs" ]; then
- echo -e "${CYAN}JAR files:${NC}"
- ls -lh ./build/libs/*.jar 2>/dev/null | awk '{print " " $9 " (" $5 ")"}'
- fi
-else
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} BUILD FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Build failed. Cannot continue.${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [8/20] Stop Daemons
-# ============================================================================
-echo -e "${YELLOW}==[8/20] Stop Daemons ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [9/20] ONLINE TEST - bootRun (Verify Application Works)
-# ============================================================================
-echo -e "${YELLOW}==[9/20] ONLINE TEST - bootRun ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Testing application startup (timeout: ${BOOTRUN_TIMEOUT_SECONDS}s)${NC}"
-echo -e "${CYAN} Will automatically stop after successful startup${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BOOTRUN_SUCCESS=false
-
-timeout ${BOOTRUN_TIMEOUT_SECONDS}s ./gradlew bootRun --no-daemon &
-BOOTRUN_PID=$!
-
-sleep 10
-
-if ps -p $BOOTRUN_PID &>/dev/null; then
- BOOTRUN_SUCCESS=true
- echo ""
- echo -e "${GREEN}[OK] Application started successfully${NC}"
- kill $BOOTRUN_PID &>/dev/null || true
- sleep 2
-else
- echo ""
- echo -e "${YELLOW}[WARN] Application may not have started properly${NC}"
-fi
-
-# Cleanup
-pkill -f "gradle.*bootRun" &>/dev/null || true
-sleep 2
-echo ""
-
-# ============================================================================
-# [10/20] Stop Daemons Again
-# ============================================================================
-echo -e "${YELLOW}==[10/20] Stop Daemons Again ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [11/20] OFFLINE BUILD TEST (Verify Cache Completeness)
-# ============================================================================
-echo -e "${YELLOW}==[11/20] OFFLINE BUILD TEST ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} OFFLINE BUILD TEST (--offline flag)${NC}"
-echo -e "${CYAN} Verifying all dependencies are cached${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-OFFLINE_SUCCESS=false
-
-./gradlew clean bootJar --offline --no-daemon
-if [ $? -eq 0 ]; then
- OFFLINE_SUCCESS=true
- echo ""
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} OFFLINE BUILD TEST PASSED!${NC}"
- echo -e "${GREEN}============================================================${NC}"
- echo ""
- echo -e "${GREEN}[OK] All dependencies are cached${NC}"
-else
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} OFFLINE BUILD TEST FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Some dependencies may be missing from cache.${NC}"
- echo -e "${YELLOW}The bundle may not work in air-gapped environment.${NC}"
- echo ""
-
- read -p "Continue anyway? (y/N): " -n 1 -r
- echo
- if [[ ! $REPLY =~ ^[Yy]$ ]]; then
- exit 1
- fi
-fi
-echo ""
-
-# ============================================================================
-# [12/20] Stop Daemons Before Archive
-# ============================================================================
-echo -e "${YELLOW}==[12/20] Stop Daemons Before Archive ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [13/20] Verify settings.gradle for Offline
-# ============================================================================
-echo -e "${YELLOW}==[13/20] Verify settings.gradle ==${NC}"
-
-if [ -n "$SETTINGS_FILE" ]; then
- if grep -q "mavenLocal()" "$SETTINGS_FILE" && grep -q "pluginManagement" "$SETTINGS_FILE"; then
- echo -e "${GREEN}[OK] settings.gradle configured for offline${NC}"
- else
- echo -e "${YELLOW}[WARN] settings.gradle may need offline configuration${NC}"
- echo -e "${GRAY}[INFO] Consider adding mavenLocal() to pluginManagement and repositories${NC}"
- fi
-else
- echo -e "${GRAY}[INFO] No settings.gradle found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [14/20] Create Helper Scripts
-# ============================================================================
-echo -e "${YELLOW}==[14/20] Create Helper Scripts ==${NC}"
-
-# run_offline_build.sh
-cat > "$ROOT/run_offline_build.sh" << 'EOF'
-#!/bin/bash
-# run_offline_build.sh - Build JAR offline
-export GRADLE_USER_HOME="$(pwd)/_offline_gradle_home"
-echo "GRADLE_USER_HOME = $GRADLE_USER_HOME"
-echo ""
-./gradlew --offline bootJar --no-daemon
-if [ $? -eq 0 ]; then
- echo ""
- echo "BUILD SUCCESS!"
- echo ""
- echo "JAR files:"
- ls -lh ./build/libs/*.jar 2>/dev/null | awk '{print " " $9}'
-else
- echo "BUILD FAILED"
-fi
-EOF
-chmod +x "$ROOT/run_offline_build.sh"
-echo -e "${GREEN}[OK] run_offline_build.sh${NC}"
-
-# run_offline_bootrun.sh
-cat > "$ROOT/run_offline_bootrun.sh" << 'EOF'
-#!/bin/bash
-# run_offline_bootrun.sh - Run application offline
-export GRADLE_USER_HOME="$(pwd)/_offline_gradle_home"
-echo "GRADLE_USER_HOME = $GRADLE_USER_HOME"
-echo ""
-echo "Starting application (Ctrl+C to stop)..."
-echo ""
-./gradlew --offline bootRun --no-daemon
-EOF
-chmod +x "$ROOT/run_offline_bootrun.sh"
-echo -e "${GREEN}[OK] run_offline_bootrun.sh${NC}"
-echo ""
-
-# ============================================================================
-# [15/20] Final Daemon Cleanup
-# ============================================================================
-echo -e "${YELLOW}==[15/20] Final Daemon Cleanup ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [16/20] Clean Lock Files
-# ============================================================================
-echo -e "${YELLOW}==[16/20] Clean Lock Files ==${NC}"
-
-DAEMON_DIR="$OFFLINE_HOME/daemon"
-if [ -d "$DAEMON_DIR" ]; then
- rm -rf "$DAEMON_DIR" 2>/dev/null || true
-fi
-
-find "$OFFLINE_HOME" -type f \( -name "*.lock" -o -name "*.log" -o -name "*.tmp" \) -delete 2>/dev/null || true
-
-echo -e "${GREEN}[OK] Lock files cleaned${NC}"
-echo ""
-
-# ============================================================================
-# [17/20] Calculate Cache Size
-# ============================================================================
-echo -e "${YELLOW}==[17/20] Cache Summary ==${NC}"
-
-CACHES_DIR="$OFFLINE_HOME/caches"
-WRAPPER_DISTS="$OFFLINE_HOME/wrapper/dists"
-
-TOTAL_SIZE=0
-
-if [ -d "$CACHES_DIR" ]; then
- SIZE=$(du -sb "$CACHES_DIR" 2>/dev/null | cut -f1)
- TOTAL_SIZE=$((TOTAL_SIZE + SIZE))
- SIZE_MB=$(echo "scale=2; $SIZE / 1048576" | bc)
- echo -e "${CYAN}[INFO] Dependencies: ${SIZE_MB} MB${NC}"
-fi
-
-if [ -d "$WRAPPER_DISTS" ]; then
- SIZE=$(du -sb "$WRAPPER_DISTS" 2>/dev/null | cut -f1)
- TOTAL_SIZE=$((TOTAL_SIZE + SIZE))
- SIZE_MB=$(echo "scale=2; $SIZE / 1048576" | bc)
- echo -e "${CYAN}[INFO] Gradle dist: ${SIZE_MB} MB${NC}"
-fi
-
-TOTAL_MB=$(echo "scale=2; $TOTAL_SIZE / 1048576" | bc)
-echo -e "${CYAN}[INFO] Total cache: ${TOTAL_MB} MB${NC}"
-echo ""
-
-# ============================================================================
-# [18/20] Create Archive
-# ============================================================================
-echo -e "${YELLOW}==[18/20] Create Archive ==${NC}"
-
-BASE_NAME=$(basename "$ROOT")
-TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
-PARENT=$(dirname "$ROOT")
-ARCHIVE_PATH="${PARENT}/${BASE_NAME}_offline_bundle_${TIMESTAMP}.tar.gz"
-
-echo "Archive: $ARCHIVE_PATH"
-echo -e "${GRAY}[INFO] Creating archive (this may take several minutes)...${NC}"
-
-tar -czf "$ARCHIVE_PATH" \
- --exclude=".git" \
- --exclude=".idea" \
- --exclude=".DS_Store" \
- --exclude="*.log" \
- --exclude="*.lock" \
- --exclude="_offline_gradle_home/daemon" \
- --exclude="_offline_gradle_home/native" \
- --exclude="_offline_gradle_home/jdks" \
- --exclude="build" \
- --exclude="out" \
- --exclude=".gradle" \
- -C "$ROOT" .
-
-if [ $? -ne 0 ]; then
- echo -e "${RED}ERROR: tar failed${NC}"
- exit 1
-fi
-
-ARCHIVE_SIZE=$(stat -f%z "$ARCHIVE_PATH" 2>/dev/null || stat -c%s "$ARCHIVE_PATH" 2>/dev/null)
-ARCHIVE_SIZE_MB=$(echo "scale=2; $ARCHIVE_SIZE / 1048576" | bc)
-echo -e "${GREEN}[OK] Archive created: ${ARCHIVE_SIZE_MB} MB${NC}"
-echo ""
-
-# ============================================================================
-# [19/20] Verify Archive
-# ============================================================================
-echo -e "${YELLOW}==[19/20] Verify Archive ==${NC}"
-
-CHECKS=(
- "gradle/wrapper/gradle-wrapper.jar"
- "gradlew"
- "_offline_gradle_home/caches"
- "run_offline_build.sh"
-)
-
-for CHECK in "${CHECKS[@]}"; do
- if tar -tzf "$ARCHIVE_PATH" | grep -q "$CHECK"; then
- echo -e " ${GREEN}[OK] $CHECK${NC}"
- else
- echo -e " ${YELLOW}[WARN] $CHECK${NC}"
- fi
-done
-echo ""
-
-# ============================================================================
-# [20/20] Complete
-# ============================================================================
-echo -e "${GREEN}============================================================${NC}"
-echo -e "${GREEN} BUNDLE CREATION COMPLETE!${NC}"
-echo -e "${GREEN}============================================================${NC}"
-echo ""
-echo -e "${CYAN}Archive: $ARCHIVE_PATH${NC}"
-echo -e "${CYAN}Size: ${ARCHIVE_SIZE_MB} MB${NC}"
-echo ""
-
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Test Results${NC}"
-echo -e "${CYAN}============================================================${NC}"
-if [ "$BUILD_SUCCESS" = true ]; then
- echo -e " Online build (bootJar): ${GREEN}PASSED${NC}"
-else
- echo -e " Online build (bootJar): ${RED}FAILED${NC}"
-fi
-if [ "$BOOTRUN_SUCCESS" = true ]; then
- echo -e " Online test (bootRun): ${GREEN}PASSED${NC}"
-else
- echo -e " Online test (bootRun): ${YELLOW}SKIPPED${NC}"
-fi
-if [ "$OFFLINE_SUCCESS" = true ]; then
- echo -e " Offline build test: ${GREEN}PASSED${NC}"
-else
- echo -e " Offline build test: ${RED}FAILED${NC}"
-fi
-echo ""
-
-echo -e "${YELLOW}============================================================${NC}"
-echo -e "${YELLOW} Usage in Air-gapped Environment${NC}"
-echo -e "${YELLOW}============================================================${NC}"
-echo ""
-echo -e "${WHITE}Option 1: Use unpack script${NC}"
-echo -e "${GRAY} ./unpack_and_offline_build_airgap.sh${NC}"
-echo ""
-echo -e "${WHITE}Option 2: Manual extraction${NC}"
-echo -e "${GRAY} tar -xzf .tar.gz${NC}"
-echo -e "${GRAY} cd ${NC}"
-echo -e "${GRAY} ./run_offline_build.sh${NC}"
-echo ""
-echo -e "${WHITE}Option 3: Direct commands${NC}"
-echo -e "${GRAY} export GRADLE_USER_HOME=\"./_offline_gradle_home\"${NC}"
-echo -e "${GRAY} ./gradlew --offline bootJar --no-daemon${NC}"
-echo ""
diff --git a/kamco-geojson-scheduler/gradle/linux/unpack_and_offline_build_airgap.sh b/kamco-geojson-scheduler/gradle/linux/unpack_and_offline_build_airgap.sh
deleted file mode 100644
index b279202..0000000
--- a/kamco-geojson-scheduler/gradle/linux/unpack_and_offline_build_airgap.sh
+++ /dev/null
@@ -1,347 +0,0 @@
-#!/bin/bash
-# unpack_and_offline_build_airgap.sh
-# ============================================================================
-# Execution Environment: OFFLINE (Air-gapped, No Internet)
-# Purpose: Extract bundle and run offline build
-# ============================================================================
-# Linux Bash Script
-# Version: 3.1
-#
-# IMPORTANT: This script automatically:
-# 1. Extracts the archive
-# 2. Sets GRADLE_USER_HOME to project local cache
-# 3. Configures settings.gradle for offline resolution
-# 4. Runs build with --offline flag
-# ============================================================================
-
-set -e
-
-# ============================================================================
-# Configuration
-# ============================================================================
-WRAPPER_SEED_PATH="wrapper_jar_seed"
-OFFLINE_HOME_NAME="_offline_gradle_home"
-
-# Color codes
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-CYAN='\033[0;36m'
-GRAY='\033[0;90m'
-WHITE='\033[1;37m'
-NC='\033[0m' # No Color
-
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Gradle Offline Build Runner${NC}"
-echo -e "${CYAN} Environment: AIR-GAPPED (No Internet)${NC}"
-echo -e "${CYAN} Mode: Fully Offline (--offline enforced)${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-# ============================================================================
-# [1/16] Check Current Directory
-# ============================================================================
-echo -e "${YELLOW}==[1/16] Check Current Directory ==${NC}"
-START_DIR="$(pwd)"
-echo "PWD: $START_DIR"
-echo ""
-
-# ============================================================================
-# [2/16] Select Archive
-# ============================================================================
-echo -e "${YELLOW}==[2/16] Select Archive ==${NC}"
-
-ARCHIVE=""
-if [ $# -ge 1 ]; then
- ARCHIVE="$1"
-fi
-
-if [ -z "$ARCHIVE" ]; then
- # Auto-detect most recent .tar.gz file
- ARCHIVE=$(find "$START_DIR" -maxdepth 1 -type f \( -name "*.tar.gz" -o -name "*.tgz" \) -printf '%T@ %p\n' 2>/dev/null | sort -rn | head -1 | cut -d' ' -f2-)
-
- if [ -z "$ARCHIVE" ]; then
- echo -e "${RED}[ERROR] No archive found${NC}"
- ls -lh "$START_DIR"
- exit 1
- fi
-
- echo -e "${CYAN}[AUTO] $(basename "$ARCHIVE")${NC}"
-else
- if [ ! -f "$ARCHIVE" ]; then
- ARCHIVE="$START_DIR/$ARCHIVE"
- fi
- echo -e "${CYAN}[USER] $(basename "$ARCHIVE")${NC}"
-fi
-
-if [ ! -f "$ARCHIVE" ]; then
- echo -e "${RED}ERROR: Archive not found: $ARCHIVE${NC}"
- exit 1
-fi
-
-ARCHIVE_SIZE=$(stat -f%z "$ARCHIVE" 2>/dev/null || stat -c%s "$ARCHIVE" 2>/dev/null)
-ARCHIVE_SIZE_MB=$(echo "scale=2; $ARCHIVE_SIZE / 1048576" | bc)
-echo "Size: ${ARCHIVE_SIZE_MB} MB"
-echo ""
-
-# ============================================================================
-# [3/16] Check tar
-# ============================================================================
-echo -e "${YELLOW}==[3/16] Check tar ==${NC}"
-
-if ! command -v tar &>/dev/null; then
- echo -e "${RED}ERROR: tar not found${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] tar found${NC}"
-echo ""
-
-# ============================================================================
-# [4/16] Extract Archive
-# ============================================================================
-echo -e "${YELLOW}==[4/16] Extract Archive ==${NC}"
-echo -e "${GRAY}[INFO] Extracting...${NC}"
-
-tar -xzf "$ARCHIVE" -C "$START_DIR"
-if [ $? -ne 0 ]; then
- echo -e "${RED}ERROR: Extraction failed${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] Extracted${NC}"
-echo ""
-
-# ============================================================================
-# [5/16] Set Permissions
-# ============================================================================
-echo -e "${YELLOW}==[5/16] Set Permissions ==${NC}"
-
-chmod -R u+rw "$START_DIR" 2>/dev/null || true
-echo -e "${GREEN}[OK] Permissions set${NC}"
-echo ""
-
-# ============================================================================
-# [6/16] Find Project Root
-# ============================================================================
-echo -e "${YELLOW}==[6/16] Find Project Root ==${NC}"
-
-GRADLEW=$(find "$START_DIR" -name "gradlew" -type f 2>/dev/null | sort | head -1)
-if [ -z "$GRADLEW" ]; then
- echo -e "${RED}ERROR: gradlew not found${NC}"
- exit 1
-fi
-
-PROJECT_DIR=$(dirname "$GRADLEW")
-echo -e "${CYAN}Project: $PROJECT_DIR${NC}"
-cd "$PROJECT_DIR"
-echo ""
-
-# ============================================================================
-# [7/16] Fix Permissions
-# ============================================================================
-echo -e "${YELLOW}==[7/16] Fix Permissions ==${NC}"
-
-chmod +x ./gradlew
-find . -name "*.sh" -type f -exec chmod +x {} \; 2>/dev/null || true
-echo -e "${GREEN}[OK] Permissions fixed${NC}"
-echo ""
-
-# ============================================================================
-# [8/16] Verify Wrapper
-# ============================================================================
-echo -e "${YELLOW}==[8/16] Verify Wrapper ==${NC}"
-
-WRAPPER_DIR="$PROJECT_DIR/gradle/wrapper"
-WRAPPER_JAR="$WRAPPER_DIR/gradle-wrapper.jar"
-WRAPPER_PROP="$WRAPPER_DIR/gradle-wrapper.properties"
-
-if [ ! -f "$WRAPPER_PROP" ]; then
- echo -e "${RED}ERROR: gradle-wrapper.properties missing${NC}"
- exit 1
-fi
-
-if [ ! -f "$WRAPPER_JAR" ]; then
- SEED_JAR="$PROJECT_DIR/$WRAPPER_SEED_PATH/gradle-wrapper.jar"
- if [ -f "$SEED_JAR" ]; then
- mkdir -p "$WRAPPER_DIR"
- cp "$SEED_JAR" "$WRAPPER_JAR"
- echo -e "${GREEN}[OK] Injected from seed${NC}"
- else
- echo -e "${RED}ERROR: wrapper jar missing${NC}"
- exit 1
- fi
-else
- echo -e "${GREEN}[OK] Wrapper verified${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [9/16] Set GRADLE_USER_HOME
-# ============================================================================
-echo -e "${YELLOW}==[9/16] Set GRADLE_USER_HOME ==${NC}"
-
-OFFLINE_HOME="$PROJECT_DIR/$OFFLINE_HOME_NAME"
-if [ ! -d "$OFFLINE_HOME" ]; then
- echo -e "${RED}ERROR: _offline_gradle_home not found in archive${NC}"
- exit 1
-fi
-
-export GRADLE_USER_HOME="$OFFLINE_HOME"
-echo -e "${CYAN}GRADLE_USER_HOME = $GRADLE_USER_HOME${NC}"
-
-# Check cache
-CACHES_DIR="$OFFLINE_HOME/caches"
-if [ -d "$CACHES_DIR" ]; then
- CACHE_SIZE=$(du -sb "$CACHES_DIR" 2>/dev/null | cut -f1)
- CACHE_SIZE_MB=$(echo "scale=2; $CACHE_SIZE / 1048576" | bc)
- echo -e "${CYAN}[INFO] Cache size: ${CACHE_SIZE_MB} MB${NC}"
-else
- echo -e "${YELLOW}[WARN] No cache folder found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [10/16] Verify settings.gradle
-# ============================================================================
-echo -e "${YELLOW}==[10/16] Verify settings.gradle ==${NC}"
-
-SETTINGS_FILE=""
-if [ -f "./settings.gradle" ]; then
- SETTINGS_FILE="settings.gradle"
-elif [ -f "./settings.gradle.kts" ]; then
- SETTINGS_FILE="settings.gradle.kts"
-fi
-
-if [ -n "$SETTINGS_FILE" ]; then
- if grep -q "mavenLocal()" "$SETTINGS_FILE" && grep -q "pluginManagement" "$SETTINGS_FILE"; then
- echo -e "${GREEN}[OK] settings.gradle configured for offline${NC}"
- else
- echo -e "${YELLOW}[WARN] settings.gradle may not be configured for offline${NC}"
- echo -e "${GRAY}[INFO] Build may fail if plugins not cached${NC}"
- fi
-fi
-echo ""
-
-# ============================================================================
-# [11/16] Test Gradle
-# ============================================================================
-echo -e "${YELLOW}==[11/16] Test Gradle ==${NC}"
-
-GRADLE_WORKS=false
-if ./gradlew --offline --version &>/dev/null; then
- GRADLE_WORKS=true
- echo -e "${GREEN}[OK] Gradle working in offline mode${NC}"
-else
- echo -e "${YELLOW}[WARN] Gradle --version failed${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [12/16] Stop Daemon
-# ============================================================================
-echo -e "${YELLOW}==[12/16] Stop Daemon ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemon stopped${NC}"
-echo ""
-
-# ============================================================================
-# [13/16] Run Offline Build
-# ============================================================================
-echo -e "${YELLOW}==[13/16] Run Offline Build ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Building with --offline flag${NC}"
-echo -e "${CYAN} All dependencies from local cache${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BUILD_SUCCESS=false
-BUILD_TASK=""
-
-# Try bootJar
-echo -e "${GRAY}[TRY] --offline bootJar...${NC}"
-if ./gradlew --offline clean bootJar --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="bootJar"
-fi
-
-# Try jar
-if [ "$BUILD_SUCCESS" = false ]; then
- echo -e "${GRAY}[TRY] --offline jar...${NC}"
- if ./gradlew --offline clean jar --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="jar"
- fi
-fi
-
-# Try build
-if [ "$BUILD_SUCCESS" = false ]; then
- echo -e "${GRAY}[TRY] --offline build...${NC}"
- if ./gradlew --offline build --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="build"
- fi
-fi
-
-echo ""
-if [ "$BUILD_SUCCESS" = true ]; then
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} BUILD SUCCESS! (task: $BUILD_TASK)${NC}"
- echo -e "${GREEN}============================================================${NC}"
-else
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} BUILD FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Possible causes:${NC}"
- echo -e "${WHITE} - Dependencies not in cache${NC}"
- echo -e "${WHITE} - Plugin resolution failed${NC}"
- echo -e "${WHITE} - Need complete build in online env first${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [14/16] Show Build Output
-# ============================================================================
-echo -e "${YELLOW}==[14/16] Build Output ==${NC}"
-
-LIBS_DIR="$PROJECT_DIR/build/libs"
-if [ -d "$LIBS_DIR" ]; then
- echo -e "${CYAN}build/libs contents:${NC}"
- ls -lh "$LIBS_DIR"/*.jar 2>/dev/null | awk '{printf " %-40s %10s\n", $9, $5}'
-
- MAIN_JAR=$(find "$LIBS_DIR" -name "*.jar" -type f ! -name "*-plain.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" 2>/dev/null | head -1)
-else
- echo -e "${YELLOW}[WARN] build/libs not found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [15/16] Run Instructions
-# ============================================================================
-echo -e "${YELLOW}==[15/16] Run Instructions ==${NC}"
-echo ""
-
-if [ -n "$MAIN_JAR" ]; then
- echo -e "${CYAN}To run the application:${NC}"
- echo -e "${WHITE} java -jar $(basename "$MAIN_JAR")${NC}"
- echo ""
-fi
-
-echo -e "${CYAN}To rebuild:${NC}"
-echo -e "${WHITE} export GRADLE_USER_HOME=\"./_offline_gradle_home\"${NC}"
-echo -e "${WHITE} ./gradlew --offline bootJar --no-daemon${NC}"
-echo ""
-
-# ============================================================================
-# [16/16] Complete
-# ============================================================================
-echo -e "${GREEN}============================================================${NC}"
-echo -e "${GREEN} Offline Build Complete!${NC}"
-echo -e "${GREEN}============================================================${NC}"
-echo ""
-echo -e "${CYAN}Project: $PROJECT_DIR${NC}"
-echo ""
diff --git a/kamco-geojson-scheduler/gradle/mac/pack_offline_bundle_airgap_macos.sh b/kamco-geojson-scheduler/gradle/mac/pack_offline_bundle_airgap_macos.sh
deleted file mode 100755
index 1a34086..0000000
--- a/kamco-geojson-scheduler/gradle/mac/pack_offline_bundle_airgap_macos.sh
+++ /dev/null
@@ -1,571 +0,0 @@
-#!/bin/bash
-# pack_offline_bundle_airgap_macos.sh
-# ============================================================================
-# Gradle Offline Bundle Packer (macOS)
-# ============================================================================
-# Version: 4.0
-#
-# WORKFLOW:
-# 1. [ONLINE] Build project (./gradlew bootJar) - downloads all deps
-# 2. [ONLINE] Test run (./gradlew bootRun) - verify app works
-# 3. [OFFLINE TEST] Verify offline build works
-# 4. Create bundle with all cached dependencies
-#
-# REQUIREMENTS:
-# - Internet connection (for initial build)
-# - Project with gradlew
-# - macOS 10.13+ (High Sierra or later)
-# ============================================================================
-
-set -e
-
-# ============================================================================
-# Configuration
-# ============================================================================
-WRAPPER_SEED_PATH="wrapper_jar_seed"
-OFFLINE_HOME_NAME="_offline_gradle_home"
-BOOTRUN_TIMEOUT_SECONDS=60
-
-# Color codes
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-CYAN='\033[0;36m'
-GRAY='\033[0;90m'
-WHITE='\033[1;37m'
-NC='\033[0m' # No Color
-
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Gradle Offline Bundle Packer v4.0 (macOS)${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-echo -e "${WHITE} This script will:${NC}"
-echo -e "${GRAY} 1. Build project with internet (download dependencies)${NC}"
-echo -e "${GRAY} 2. Test run application (verify it works)${NC}"
-echo -e "${GRAY} 3. Test offline build (verify cache is complete)${NC}"
-echo -e "${GRAY} 4. Create offline bundle for air-gapped environment${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-# ============================================================================
-# [1/20] Check Current Directory
-# ============================================================================
-echo -e "${YELLOW}==[1/20] Check Current Directory ==${NC}"
-ROOT="$(pwd)"
-echo "ROOT_DIR: $ROOT"
-echo ""
-
-# ============================================================================
-# [2/20] Check Required Files
-# ============================================================================
-echo -e "${YELLOW}==[2/20] Check Required Files ==${NC}"
-
-if [ ! -f "./gradlew" ]; then
- echo -e "${RED}ERROR: gradlew not found. Run from project root.${NC}"
- exit 1
-fi
-chmod +x ./gradlew
-echo -e "${GREEN}[OK] gradlew${NC}"
-
-BUILD_FILE=""
-if [ -f "./build.gradle" ]; then
- BUILD_FILE="build.gradle"
-elif [ -f "./build.gradle.kts" ]; then
- BUILD_FILE="build.gradle.kts"
-else
- echo -e "${RED}ERROR: build.gradle(.kts) not found.${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] $BUILD_FILE${NC}"
-
-SETTINGS_FILE=""
-if [ -f "./settings.gradle" ]; then
- SETTINGS_FILE="settings.gradle"
- echo -e "${GREEN}[OK] $SETTINGS_FILE${NC}"
-elif [ -f "./settings.gradle.kts" ]; then
- SETTINGS_FILE="settings.gradle.kts"
- echo -e "${GREEN}[OK] $SETTINGS_FILE${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [3/20] Check Gradle Wrapper
-# ============================================================================
-echo -e "${YELLOW}==[3/20] Check Gradle Wrapper ==${NC}"
-
-WRAPPER_DIR="$ROOT/gradle/wrapper"
-WRAPPER_JAR="$WRAPPER_DIR/gradle-wrapper.jar"
-WRAPPER_PROP="$WRAPPER_DIR/gradle-wrapper.properties"
-
-mkdir -p "$WRAPPER_DIR"
-
-if [ ! -f "$WRAPPER_PROP" ]; then
- echo -e "${RED}ERROR: gradle-wrapper.properties not found.${NC}"
- exit 1
-fi
-
-if [ ! -f "$WRAPPER_JAR" ]; then
- SEED_JAR="$ROOT/$WRAPPER_SEED_PATH/gradle-wrapper.jar"
- if [ -f "$SEED_JAR" ]; then
- cp "$SEED_JAR" "$WRAPPER_JAR"
- echo -e "${GREEN}[OK] Wrapper jar injected from seed${NC}"
- else
- echo -e "${RED}ERROR: gradle-wrapper.jar missing${NC}"
- exit 1
- fi
-else
- echo -e "${GREEN}[OK] gradle-wrapper.jar exists${NC}"
-fi
-
-# Create seed backup
-SEED_DIR="$ROOT/$WRAPPER_SEED_PATH"
-if [ ! -d "$SEED_DIR" ]; then
- mkdir -p "$SEED_DIR"
- cp "$WRAPPER_JAR" "$SEED_DIR/gradle-wrapper.jar"
-fi
-echo ""
-
-# ============================================================================
-# [4/20] Set GRADLE_USER_HOME (Project Local)
-# ============================================================================
-echo -e "${YELLOW}==[4/20] Set GRADLE_USER_HOME ==${NC}"
-
-OFFLINE_HOME="$ROOT/$OFFLINE_HOME_NAME"
-mkdir -p "$OFFLINE_HOME"
-export GRADLE_USER_HOME="$OFFLINE_HOME"
-
-echo -e "${CYAN}GRADLE_USER_HOME = $GRADLE_USER_HOME${NC}"
-echo -e "${GRAY}[INFO] All dependencies will be cached in project folder${NC}"
-echo ""
-
-# ============================================================================
-# [5/20] Check Internet Connection
-# ============================================================================
-echo -e "${YELLOW}==[5/20] Check Internet Connection ==${NC}"
-
-HAS_INTERNET=false
-TEST_HOSTS=("plugins.gradle.org" "repo.maven.apache.org" "repo1.maven.org")
-
-for TEST_HOST in "${TEST_HOSTS[@]}"; do
- # macOS ping doesn't have -W, use -t instead
- if ping -c 1 -t 3 "$TEST_HOST" &>/dev/null; then
- HAS_INTERNET=true
- echo -e "${GREEN}[OK] Connected to $TEST_HOST${NC}"
- break
- fi
-done
-
-if [ "$HAS_INTERNET" = false ]; then
- # Try DNS resolution as fallback
- if nslookup google.com &>/dev/null || host google.com &>/dev/null; then
- HAS_INTERNET=true
- echo -e "${GREEN}[OK] Internet available (DNS)${NC}"
- fi
-fi
-
-if [ "$HAS_INTERNET" = false ]; then
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} ERROR: No Internet Connection!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}This script requires internet for initial build.${NC}"
- echo -e "${YELLOW}Please connect to internet and run again.${NC}"
- echo ""
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [6/20] Initial Gradle Setup
-# ============================================================================
-echo -e "${YELLOW}==[6/20] Initial Gradle Setup ==${NC}"
-echo -e "${GRAY}[INFO] Downloading Gradle distribution...${NC}"
-
-if ./gradlew --version &>/dev/null; then
- GRADLE_VERSION=$(./gradlew --version 2>&1 | grep "^Gradle" | awk '{print $2}')
- echo -e "${GREEN}[OK] Gradle $GRADLE_VERSION${NC}"
-else
- echo -e "${RED}[ERROR] Gradle setup failed${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [7/20] ONLINE BUILD - bootJar (Download All Dependencies)
-# ============================================================================
-echo -e "${YELLOW}==[7/20] ONLINE BUILD - bootJar ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} ONLINE BUILD (with Internet)${NC}"
-echo -e "${CYAN} Downloading all dependencies to local cache${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BUILD_SUCCESS=false
-
-./gradlew clean bootJar --no-daemon
-if [ $? -eq 0 ]; then
- BUILD_SUCCESS=true
- echo ""
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} ONLINE BUILD SUCCESS!${NC}"
- echo -e "${GREEN}============================================================${NC}"
- echo ""
-
- if [ -d "./build/libs" ]; then
- echo -e "${CYAN}JAR files:${NC}"
- ls -lh ./build/libs/*.jar 2>/dev/null | awk '{print " " $9 " (" $5 ")"}'
- fi
-else
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} BUILD FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Build failed. Cannot continue.${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [8/20] Stop Daemons
-# ============================================================================
-echo -e "${YELLOW}==[8/20] Stop Daemons ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [9/20] ONLINE TEST - bootRun (Verify Application Works)
-# ============================================================================
-echo -e "${YELLOW}==[9/20] ONLINE TEST - bootRun ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Testing application startup (timeout: ${BOOTRUN_TIMEOUT_SECONDS}s)${NC}"
-echo -e "${CYAN} Will automatically stop after successful startup${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BOOTRUN_SUCCESS=false
-
-# macOS uses gtimeout if available, otherwise perl-based timeout
-if command -v gtimeout &>/dev/null; then
- gtimeout ${BOOTRUN_TIMEOUT_SECONDS}s ./gradlew bootRun --no-daemon &
-else
- # Fallback: start in background and kill after timeout
- ./gradlew bootRun --no-daemon &
-fi
-BOOTRUN_PID=$!
-
-sleep 10
-
-if ps -p $BOOTRUN_PID &>/dev/null; then
- BOOTRUN_SUCCESS=true
- echo ""
- echo -e "${GREEN}[OK] Application started successfully${NC}"
- kill $BOOTRUN_PID &>/dev/null || true
- sleep 2
-else
- echo ""
- echo -e "${YELLOW}[WARN] Application may not have started properly${NC}"
-fi
-
-# Cleanup - macOS process cleanup
-pkill -f "gradle.*bootRun" &>/dev/null || true
-sleep 2
-echo ""
-
-# ============================================================================
-# [10/20] Stop Daemons Again
-# ============================================================================
-echo -e "${YELLOW}==[10/20] Stop Daemons Again ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [11/20] OFFLINE BUILD TEST (Verify Cache Completeness)
-# ============================================================================
-echo -e "${YELLOW}==[11/20] OFFLINE BUILD TEST ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} OFFLINE BUILD TEST (--offline flag)${NC}"
-echo -e "${CYAN} Verifying all dependencies are cached${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-OFFLINE_SUCCESS=false
-
-./gradlew clean bootJar --offline --no-daemon
-if [ $? -eq 0 ]; then
- OFFLINE_SUCCESS=true
- echo ""
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} OFFLINE BUILD TEST PASSED!${NC}"
- echo -e "${GREEN}============================================================${NC}"
- echo ""
- echo -e "${GREEN}[OK] All dependencies are cached${NC}"
-else
- echo ""
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} OFFLINE BUILD TEST FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Some dependencies may be missing from cache.${NC}"
- echo -e "${YELLOW}The bundle may not work in air-gapped environment.${NC}"
- echo ""
-
- read -p "Continue anyway? (y/N): " -n 1 -r
- echo
- if [[ ! $REPLY =~ ^[Yy]$ ]]; then
- exit 1
- fi
-fi
-echo ""
-
-# ============================================================================
-# [12/20] Stop Daemons Before Archive
-# ============================================================================
-echo -e "${YELLOW}==[12/20] Stop Daemons Before Archive ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [13/20] Verify settings.gradle for Offline
-# ============================================================================
-echo -e "${YELLOW}==[13/20] Verify settings.gradle ==${NC}"
-
-if [ -n "$SETTINGS_FILE" ]; then
- if grep -q "mavenLocal()" "$SETTINGS_FILE" && grep -q "pluginManagement" "$SETTINGS_FILE"; then
- echo -e "${GREEN}[OK] settings.gradle configured for offline${NC}"
- else
- echo -e "${YELLOW}[WARN] settings.gradle may need offline configuration${NC}"
- echo -e "${GRAY}[INFO] Consider adding mavenLocal() to pluginManagement and repositories${NC}"
- fi
-else
- echo -e "${GRAY}[INFO] No settings.gradle found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [14/20] Create Helper Scripts
-# ============================================================================
-echo -e "${YELLOW}==[14/20] Create Helper Scripts ==${NC}"
-
-# run_offline_build.sh
-cat > "$ROOT/run_offline_build.sh" << 'EOF'
-#!/bin/bash
-# run_offline_build.sh - Build JAR offline
-export GRADLE_USER_HOME="$(pwd)/_offline_gradle_home"
-echo "GRADLE_USER_HOME = $GRADLE_USER_HOME"
-echo ""
-./gradlew --offline bootJar --no-daemon
-if [ $? -eq 0 ]; then
- echo ""
- echo "BUILD SUCCESS!"
- echo ""
- echo "JAR files:"
- ls -lh ./build/libs/*.jar 2>/dev/null | awk '{print " " $9}'
-else
- echo "BUILD FAILED"
-fi
-EOF
-chmod +x "$ROOT/run_offline_build.sh"
-echo -e "${GREEN}[OK] run_offline_build.sh${NC}"
-
-# run_offline_bootrun.sh
-cat > "$ROOT/run_offline_bootrun.sh" << 'EOF'
-#!/bin/bash
-# run_offline_bootrun.sh - Run application offline
-export GRADLE_USER_HOME="$(pwd)/_offline_gradle_home"
-echo "GRADLE_USER_HOME = $GRADLE_USER_HOME"
-echo ""
-echo "Starting application (Ctrl+C to stop)..."
-echo ""
-./gradlew --offline bootRun --no-daemon
-EOF
-chmod +x "$ROOT/run_offline_bootrun.sh"
-echo -e "${GREEN}[OK] run_offline_bootrun.sh${NC}"
-echo ""
-
-# ============================================================================
-# [15/20] Final Daemon Cleanup
-# ============================================================================
-echo -e "${YELLOW}==[15/20] Final Daemon Cleanup ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemons stopped${NC}"
-echo ""
-
-# ============================================================================
-# [16/20] Clean Lock Files
-# ============================================================================
-echo -e "${YELLOW}==[16/20] Clean Lock Files ==${NC}"
-
-DAEMON_DIR="$OFFLINE_HOME/daemon"
-if [ -d "$DAEMON_DIR" ]; then
- rm -rf "$DAEMON_DIR" 2>/dev/null || true
-fi
-
-find "$OFFLINE_HOME" -type f \( -name "*.lock" -o -name "*.log" -o -name "*.tmp" \) -delete 2>/dev/null || true
-
-echo -e "${GREEN}[OK] Lock files cleaned${NC}"
-echo ""
-
-# ============================================================================
-# [17/20] Calculate Cache Size
-# ============================================================================
-echo -e "${YELLOW}==[17/20] Cache Summary ==${NC}"
-
-CACHES_DIR="$OFFLINE_HOME/caches"
-WRAPPER_DISTS="$OFFLINE_HOME/wrapper/dists"
-
-TOTAL_SIZE=0
-
-if [ -d "$CACHES_DIR" ]; then
- # macOS uses different options for du
- if du -k "$CACHES_DIR" &>/dev/null; then
- SIZE=$(du -sk "$CACHES_DIR" 2>/dev/null | cut -f1)
- SIZE=$((SIZE * 1024)) # Convert to bytes
- else
- SIZE=0
- fi
- TOTAL_SIZE=$((TOTAL_SIZE + SIZE))
- SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $SIZE / 1048576}")
- echo -e "${CYAN}[INFO] Dependencies: ${SIZE_MB} MB${NC}"
-fi
-
-if [ -d "$WRAPPER_DISTS" ]; then
- if du -k "$WRAPPER_DISTS" &>/dev/null; then
- SIZE=$(du -sk "$WRAPPER_DISTS" 2>/dev/null | cut -f1)
- SIZE=$((SIZE * 1024))
- else
- SIZE=0
- fi
- TOTAL_SIZE=$((TOTAL_SIZE + SIZE))
- SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $SIZE / 1048576}")
- echo -e "${CYAN}[INFO] Gradle dist: ${SIZE_MB} MB${NC}"
-fi
-
-TOTAL_MB=$(awk "BEGIN {printf \"%.2f\", $TOTAL_SIZE / 1048576}")
-echo -e "${CYAN}[INFO] Total cache: ${TOTAL_MB} MB${NC}"
-echo ""
-
-# ============================================================================
-# [18/20] Create Archive
-# ============================================================================
-echo -e "${YELLOW}==[18/20] Create Archive ==${NC}"
-
-BASE_NAME=$(basename "$ROOT")
-TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
-PARENT=$(dirname "$ROOT")
-ARCHIVE_PATH="${PARENT}/${BASE_NAME}_offline_bundle_${TIMESTAMP}.tar.gz"
-
-echo "Archive: $ARCHIVE_PATH"
-echo -e "${GRAY}[INFO] Creating archive (this may take several minutes)...${NC}"
-
-# macOS tar with BSD options
-tar -czf "$ARCHIVE_PATH" \
- --exclude=".git" \
- --exclude=".idea" \
- --exclude=".DS_Store" \
- --exclude="*.log" \
- --exclude="*.lock" \
- --exclude="_offline_gradle_home/daemon" \
- --exclude="_offline_gradle_home/native" \
- --exclude="_offline_gradle_home/jdks" \
- --exclude="build" \
- --exclude="out" \
- --exclude=".gradle" \
- -C "$ROOT" .
-
-if [ $? -ne 0 ]; then
- echo -e "${RED}ERROR: tar failed${NC}"
- exit 1
-fi
-
-# macOS stat command
-ARCHIVE_SIZE=$(stat -f%z "$ARCHIVE_PATH" 2>/dev/null)
-ARCHIVE_SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $ARCHIVE_SIZE / 1048576}")
-echo -e "${GREEN}[OK] Archive created: ${ARCHIVE_SIZE_MB} MB${NC}"
-echo ""
-
-# ============================================================================
-# [19/20] Verify Archive
-# ============================================================================
-echo -e "${YELLOW}==[19/20] Verify Archive ==${NC}"
-
-CHECKS=(
- "gradle/wrapper/gradle-wrapper.jar"
- "gradlew"
- "_offline_gradle_home/caches"
- "run_offline_build.sh"
-)
-
-for CHECK in "${CHECKS[@]}"; do
- if tar -tzf "$ARCHIVE_PATH" | grep -q "$CHECK"; then
- echo -e " ${GREEN}[OK] $CHECK${NC}"
- else
- echo -e " ${YELLOW}[WARN] $CHECK${NC}"
- fi
-done
-echo ""
-
-# ============================================================================
-# [20/20] Complete
-# ============================================================================
-echo -e "${GREEN}============================================================${NC}"
-echo -e "${GREEN} BUNDLE CREATION COMPLETE!${NC}"
-echo -e "${GREEN}============================================================${NC}"
-echo ""
-echo -e "${CYAN}Archive: $ARCHIVE_PATH${NC}"
-echo -e "${CYAN}Size: ${ARCHIVE_SIZE_MB} MB${NC}"
-echo ""
-
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Test Results${NC}"
-echo -e "${CYAN}============================================================${NC}"
-if [ "$BUILD_SUCCESS" = true ]; then
- echo -e " Online build (bootJar): ${GREEN}PASSED${NC}"
-else
- echo -e " Online build (bootJar): ${RED}FAILED${NC}"
-fi
-if [ "$BOOTRUN_SUCCESS" = true ]; then
- echo -e " Online test (bootRun): ${GREEN}PASSED${NC}"
-else
- echo -e " Online test (bootRun): ${YELLOW}SKIPPED${NC}"
-fi
-if [ "$OFFLINE_SUCCESS" = true ]; then
- echo -e " Offline build test: ${GREEN}PASSED${NC}"
-else
- echo -e " Offline build test: ${RED}FAILED${NC}"
-fi
-echo ""
-
-echo -e "${YELLOW}============================================================${NC}"
-echo -e "${YELLOW} Usage in Air-gapped Environment${NC}"
-echo -e "${YELLOW}============================================================${NC}"
-echo ""
-echo -e "${WHITE}Option 1: Use unpack script${NC}"
-echo -e "${GRAY} ./unpack_and_offline_build_airgap.sh${NC}"
-echo ""
-echo -e "${WHITE}Option 2: Manual extraction${NC}"
-echo -e "${GRAY} tar -xzf .tar.gz${NC}"
-echo -e "${GRAY} cd ${NC}"
-echo -e "${GRAY} ./run_offline_build.sh${NC}"
-echo ""
-echo -e "${WHITE}Option 3: Direct commands${NC}"
-echo -e "${GRAY} export GRADLE_USER_HOME=\"./_offline_gradle_home\"${NC}"
-echo -e "${GRAY} ./gradlew --offline bootJar --no-daemon${NC}"
-echo ""
diff --git a/kamco-geojson-scheduler/gradle/mac/unpack_and_offline_build_airgap_macos.sh b/kamco-geojson-scheduler/gradle/mac/unpack_and_offline_build_airgap_macos.sh
deleted file mode 100755
index 4ab128e..0000000
--- a/kamco-geojson-scheduler/gradle/mac/unpack_and_offline_build_airgap_macos.sh
+++ /dev/null
@@ -1,359 +0,0 @@
-#!/bin/bash
-# unpack_and_offline_build_airgap_macos.sh
-# ============================================================================
-# Execution Environment: OFFLINE (Air-gapped, No Internet)
-# Purpose: Extract bundle and run offline build
-# ============================================================================
-# macOS Bash Script
-# Version: 3.1
-#
-# IMPORTANT: This script automatically:
-# 1. Extracts the archive
-# 2. Sets GRADLE_USER_HOME to project local cache
-# 3. Configures settings.gradle for offline resolution
-# 4. Runs build with --offline flag
-# ============================================================================
-
-set -e
-
-# ============================================================================
-# Configuration
-# ============================================================================
-WRAPPER_SEED_PATH="wrapper_jar_seed"
-OFFLINE_HOME_NAME="_offline_gradle_home"
-
-# Color codes
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-CYAN='\033[0;36m'
-GRAY='\033[0;90m'
-WHITE='\033[1;37m'
-NC='\033[0m' # No Color
-
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Gradle Offline Build Runner (macOS)${NC}"
-echo -e "${CYAN} Environment: AIR-GAPPED (No Internet)${NC}"
-echo -e "${CYAN} Mode: Fully Offline (--offline enforced)${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-# ============================================================================
-# [1/16] Check Current Directory
-# ============================================================================
-echo -e "${YELLOW}==[1/16] Check Current Directory ==${NC}"
-START_DIR="$(pwd)"
-echo "PWD: $START_DIR"
-echo ""
-
-# ============================================================================
-# [2/16] Select Archive
-# ============================================================================
-echo -e "${YELLOW}==[2/16] Select Archive ==${NC}"
-
-ARCHIVE=""
-if [ $# -ge 1 ]; then
- ARCHIVE="$1"
-fi
-
-if [ -z "$ARCHIVE" ]; then
- # Auto-detect most recent .tar.gz file (macOS compatible)
- ARCHIVE=$(find "$START_DIR" -maxdepth 1 -type f \( -name "*.tar.gz" -o -name "*.tgz" \) -exec stat -f "%m %N" {} \; 2>/dev/null | sort -rn | head -1 | cut -d' ' -f2-)
-
- if [ -z "$ARCHIVE" ]; then
- echo -e "${RED}[ERROR] No archive found${NC}"
- ls -lh "$START_DIR"
- exit 1
- fi
-
- echo -e "${CYAN}[AUTO] $(basename "$ARCHIVE")${NC}"
-else
- if [ ! -f "$ARCHIVE" ]; then
- ARCHIVE="$START_DIR/$ARCHIVE"
- fi
- echo -e "${CYAN}[USER] $(basename "$ARCHIVE")${NC}"
-fi
-
-if [ ! -f "$ARCHIVE" ]; then
- echo -e "${RED}ERROR: Archive not found: $ARCHIVE${NC}"
- exit 1
-fi
-
-# macOS stat command
-ARCHIVE_SIZE=$(stat -f%z "$ARCHIVE" 2>/dev/null)
-ARCHIVE_SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $ARCHIVE_SIZE / 1048576}")
-echo "Size: ${ARCHIVE_SIZE_MB} MB"
-echo ""
-
-# ============================================================================
-# [3/16] Check tar
-# ============================================================================
-echo -e "${YELLOW}==[3/16] Check tar ==${NC}"
-
-if ! command -v tar &>/dev/null; then
- echo -e "${RED}ERROR: tar not found${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] tar found${NC}"
-echo ""
-
-# ============================================================================
-# [4/16] Extract Archive
-# ============================================================================
-echo -e "${YELLOW}==[4/16] Extract Archive ==${NC}"
-echo -e "${GRAY}[INFO] Extracting...${NC}"
-
-tar -xzf "$ARCHIVE" -C "$START_DIR"
-if [ $? -ne 0 ]; then
- echo -e "${RED}ERROR: Extraction failed${NC}"
- exit 1
-fi
-echo -e "${GREEN}[OK] Extracted${NC}"
-echo ""
-
-# ============================================================================
-# [5/16] Set Permissions
-# ============================================================================
-echo -e "${YELLOW}==[5/16] Set Permissions ==${NC}"
-
-chmod -R u+rw "$START_DIR" 2>/dev/null || true
-# Remove extended attributes that macOS may add
-xattr -cr "$START_DIR" 2>/dev/null || true
-echo -e "${GREEN}[OK] Permissions set${NC}"
-echo ""
-
-# ============================================================================
-# [6/16] Find Project Root
-# ============================================================================
-echo -e "${YELLOW}==[6/16] Find Project Root ==${NC}"
-
-GRADLEW=$(find "$START_DIR" -name "gradlew" -type f 2>/dev/null | sort | head -1)
-if [ -z "$GRADLEW" ]; then
- echo -e "${RED}ERROR: gradlew not found${NC}"
- exit 1
-fi
-
-PROJECT_DIR=$(dirname "$GRADLEW")
-echo -e "${CYAN}Project: $PROJECT_DIR${NC}"
-cd "$PROJECT_DIR"
-echo ""
-
-# ============================================================================
-# [7/16] Fix Permissions
-# ============================================================================
-echo -e "${YELLOW}==[7/16] Fix Permissions ==${NC}"
-
-chmod +x ./gradlew
-find . -name "*.sh" -type f -exec chmod +x {} \; 2>/dev/null || true
-# Remove quarantine attributes that macOS adds to downloaded files
-xattr -d com.apple.quarantine ./gradlew 2>/dev/null || true
-find . -name "*.jar" -exec xattr -d com.apple.quarantine {} \; 2>/dev/null || true
-echo -e "${GREEN}[OK] Permissions fixed${NC}"
-echo ""
-
-# ============================================================================
-# [8/16] Verify Wrapper
-# ============================================================================
-echo -e "${YELLOW}==[8/16] Verify Wrapper ==${NC}"
-
-WRAPPER_DIR="$PROJECT_DIR/gradle/wrapper"
-WRAPPER_JAR="$WRAPPER_DIR/gradle-wrapper.jar"
-WRAPPER_PROP="$WRAPPER_DIR/gradle-wrapper.properties"
-
-if [ ! -f "$WRAPPER_PROP" ]; then
- echo -e "${RED}ERROR: gradle-wrapper.properties missing${NC}"
- exit 1
-fi
-
-if [ ! -f "$WRAPPER_JAR" ]; then
- SEED_JAR="$PROJECT_DIR/$WRAPPER_SEED_PATH/gradle-wrapper.jar"
- if [ -f "$SEED_JAR" ]; then
- mkdir -p "$WRAPPER_DIR"
- cp "$SEED_JAR" "$WRAPPER_JAR"
- echo -e "${GREEN}[OK] Injected from seed${NC}"
- else
- echo -e "${RED}ERROR: wrapper jar missing${NC}"
- exit 1
- fi
-else
- echo -e "${GREEN}[OK] Wrapper verified${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [9/16] Set GRADLE_USER_HOME
-# ============================================================================
-echo -e "${YELLOW}==[9/16] Set GRADLE_USER_HOME ==${NC}"
-
-OFFLINE_HOME="$PROJECT_DIR/$OFFLINE_HOME_NAME"
-if [ ! -d "$OFFLINE_HOME" ]; then
- echo -e "${RED}ERROR: _offline_gradle_home not found in archive${NC}"
- exit 1
-fi
-
-export GRADLE_USER_HOME="$OFFLINE_HOME"
-echo -e "${CYAN}GRADLE_USER_HOME = $GRADLE_USER_HOME${NC}"
-
-# Check cache
-CACHES_DIR="$OFFLINE_HOME/caches"
-if [ -d "$CACHES_DIR" ]; then
- # macOS du command
- if du -k "$CACHES_DIR" &>/dev/null; then
- CACHE_SIZE=$(du -sk "$CACHES_DIR" 2>/dev/null | cut -f1)
- CACHE_SIZE=$((CACHE_SIZE * 1024))
- else
- CACHE_SIZE=0
- fi
- CACHE_SIZE_MB=$(awk "BEGIN {printf \"%.2f\", $CACHE_SIZE / 1048576}")
- echo -e "${CYAN}[INFO] Cache size: ${CACHE_SIZE_MB} MB${NC}"
-else
- echo -e "${YELLOW}[WARN] No cache folder found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [10/16] Verify settings.gradle
-# ============================================================================
-echo -e "${YELLOW}==[10/16] Verify settings.gradle ==${NC}"
-
-SETTINGS_FILE=""
-if [ -f "./settings.gradle" ]; then
- SETTINGS_FILE="settings.gradle"
-elif [ -f "./settings.gradle.kts" ]; then
- SETTINGS_FILE="settings.gradle.kts"
-fi
-
-if [ -n "$SETTINGS_FILE" ]; then
- if grep -q "mavenLocal()" "$SETTINGS_FILE" && grep -q "pluginManagement" "$SETTINGS_FILE"; then
- echo -e "${GREEN}[OK] settings.gradle configured for offline${NC}"
- else
- echo -e "${YELLOW}[WARN] settings.gradle may not be configured for offline${NC}"
- echo -e "${GRAY}[INFO] Build may fail if plugins not cached${NC}"
- fi
-fi
-echo ""
-
-# ============================================================================
-# [11/16] Test Gradle
-# ============================================================================
-echo -e "${YELLOW}==[11/16] Test Gradle ==${NC}"
-
-GRADLE_WORKS=false
-if ./gradlew --offline --version &>/dev/null; then
- GRADLE_WORKS=true
- echo -e "${GREEN}[OK] Gradle working in offline mode${NC}"
-else
- echo -e "${YELLOW}[WARN] Gradle --version failed${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [12/16] Stop Daemon
-# ============================================================================
-echo -e "${YELLOW}==[12/16] Stop Daemon ==${NC}"
-
-./gradlew --stop &>/dev/null || true
-sleep 2
-echo -e "${GREEN}[OK] Daemon stopped${NC}"
-echo ""
-
-# ============================================================================
-# [13/16] Run Offline Build
-# ============================================================================
-echo -e "${YELLOW}==[13/16] Run Offline Build ==${NC}"
-echo ""
-echo -e "${CYAN}============================================================${NC}"
-echo -e "${CYAN} Building with --offline flag${NC}"
-echo -e "${CYAN} All dependencies from local cache${NC}"
-echo -e "${CYAN}============================================================${NC}"
-echo ""
-
-BUILD_SUCCESS=false
-BUILD_TASK=""
-
-# Try bootJar
-echo -e "${GRAY}[TRY] --offline bootJar...${NC}"
-if ./gradlew --offline clean bootJar --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="bootJar"
-fi
-
-# Try jar
-if [ "$BUILD_SUCCESS" = false ]; then
- echo -e "${GRAY}[TRY] --offline jar...${NC}"
- if ./gradlew --offline clean jar --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="jar"
- fi
-fi
-
-# Try build
-if [ "$BUILD_SUCCESS" = false ]; then
- echo -e "${GRAY}[TRY] --offline build...${NC}"
- if ./gradlew --offline build --no-daemon; then
- BUILD_SUCCESS=true
- BUILD_TASK="build"
- fi
-fi
-
-echo ""
-if [ "$BUILD_SUCCESS" = true ]; then
- echo -e "${GREEN}============================================================${NC}"
- echo -e "${GREEN} BUILD SUCCESS! (task: $BUILD_TASK)${NC}"
- echo -e "${GREEN}============================================================${NC}"
-else
- echo -e "${RED}============================================================${NC}"
- echo -e "${RED} BUILD FAILED!${NC}"
- echo -e "${RED}============================================================${NC}"
- echo ""
- echo -e "${YELLOW}Possible causes:${NC}"
- echo -e "${WHITE} - Dependencies not in cache${NC}"
- echo -e "${WHITE} - Plugin resolution failed${NC}"
- echo -e "${WHITE} - Need complete build in online env first${NC}"
- exit 1
-fi
-echo ""
-
-# ============================================================================
-# [14/16] Show Build Output
-# ============================================================================
-echo -e "${YELLOW}==[14/16] Build Output ==${NC}"
-
-LIBS_DIR="$PROJECT_DIR/build/libs"
-if [ -d "$LIBS_DIR" ]; then
- echo -e "${CYAN}build/libs contents:${NC}"
- ls -lh "$LIBS_DIR"/*.jar 2>/dev/null | awk '{printf " %-40s %10s\n", $9, $5}'
-
- MAIN_JAR=$(find "$LIBS_DIR" -name "*.jar" -type f ! -name "*-plain.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" 2>/dev/null | head -1)
-else
- echo -e "${YELLOW}[WARN] build/libs not found${NC}"
-fi
-echo ""
-
-# ============================================================================
-# [15/16] Run Instructions
-# ============================================================================
-echo -e "${YELLOW}==[15/16] Run Instructions ==${NC}"
-echo ""
-
-if [ -n "$MAIN_JAR" ]; then
- echo -e "${CYAN}To run the application:${NC}"
- echo -e "${WHITE} java -jar $(basename "$MAIN_JAR")${NC}"
- echo ""
-fi
-
-echo -e "${CYAN}To rebuild:${NC}"
-echo -e "${WHITE} export GRADLE_USER_HOME=\"./_offline_gradle_home\"${NC}"
-echo -e "${WHITE} ./gradlew --offline bootJar --no-daemon${NC}"
-echo ""
-
-# ============================================================================
-# [16/16] Complete
-# ============================================================================
-echo -e "${GREEN}============================================================${NC}"
-echo -e "${GREEN} Offline Build Complete!${NC}"
-echo -e "${GREEN}============================================================${NC}"
-echo ""
-echo -e "${CYAN}Project: $PROJECT_DIR${NC}"
-echo ""
diff --git a/kamco-geojson-scheduler/gradle/win/kamco-dabeeo-backoffice_gradle.tar.gz b/kamco-geojson-scheduler/gradle/win/kamco-dabeeo-backoffice_gradle.tar.gz
deleted file mode 100755
index bcc4932..0000000
Binary files a/kamco-geojson-scheduler/gradle/win/kamco-dabeeo-backoffice_gradle.tar.gz and /dev/null differ
diff --git a/kamco-geojson-scheduler/gradle/win/scripts/Readme.txt b/kamco-geojson-scheduler/gradle/win/scripts/Readme.txt
deleted file mode 100755
index 03c24ff..0000000
--- a/kamco-geojson-scheduler/gradle/win/scripts/Readme.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-How to Use
-
-[1] Move The Two scripts to a Last location
-1. pack_offline_bundle_airgap.ps1
-2. unpack_and_offline_build_airgap.ps1
-
-[2] Packing Scripts Start --Options: Internet connect Require when you packing, after then you will get all gradle File
-command on powershell: powershell -ExecutionPolicy Bypass -File .\pack_offline_bundle_airgap.ps1
-
-[3] UnPacking Scripts Start --Options: The JPA Spring boot Project All gradle, gradle cache File, Build File etc (Check using .\gradlew.bat bootRun --offline)
-command on powershell: powershell -ExecutionPolicy Bypass -File .\unpack_and_offline_build_airgap.ps1 .\kamco-dabeeo-backoffice_offline_bundle_20260121_145830.tar.gz (The tar File name have to be changed)
-
-
-PS. You can check the ALL Gradle Backup File location Users/d-pn-0071/Desktop/lala/kamco-dabeeo-backoffice/gradle/win/kamco-dabeeo-backoffice_gradle.tar.gz
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/gradle/win/scripts/pack_offline_bundle_airgap.ps1 b/kamco-geojson-scheduler/gradle/win/scripts/pack_offline_bundle_airgap.ps1
deleted file mode 100755
index 35e2b99..0000000
--- a/kamco-geojson-scheduler/gradle/win/scripts/pack_offline_bundle_airgap.ps1
+++ /dev/null
@@ -1,672 +0,0 @@
-# pack_offline_bundle_airgap.ps1
-# ============================================================================
-# Gradle Offline Bundle Packer
-# ============================================================================
-# Version: 4.0
-#
-# WORKFLOW:
-# 1. [ONLINE] Build project (./gradlew.bat bootJar) - downloads all deps
-# 2. [ONLINE] Test run (./gradlew.bat bootRun) - verify app works
-# 3. [OFFLINE TEST] Verify offline build works
-# 4. Create bundle with all cached dependencies
-#
-# REQUIREMENTS:
-# - Internet connection (for initial build)
-# - Project with gradlew.bat
-# ============================================================================
-
-$ErrorActionPreference = "Stop"
-$ProgressPreference = "SilentlyContinue"
-
-# ============================================================================
-# Configuration
-# ============================================================================
-$WRAPPER_SEED_PATH = "wrapper_jar_seed"
-$OFFLINE_HOME_NAME = "_offline_gradle_home"
-$BOOTRUN_TIMEOUT_SECONDS = 60
-
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Gradle Offline Bundle Packer v4.0" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-Write-Host " This script will:" -ForegroundColor White
-Write-Host " 1. Build project with internet (download dependencies)" -ForegroundColor Gray
-Write-Host " 2. Test run application (verify it works)" -ForegroundColor Gray
-Write-Host " 3. Test offline build (verify cache is complete)" -ForegroundColor Gray
-Write-Host " 4. Create offline bundle for air-gapped environment" -ForegroundColor Gray
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-# ============================================================================
-# [1/20] Check Current Directory
-# ============================================================================
-Write-Host "==[1/20] Check Current Directory ==" -ForegroundColor Yellow
-$Root = (Get-Location).Path
-Write-Host ("ROOT_DIR: " + $Root)
-Write-Host ""
-
-# ============================================================================
-# [2/20] Check Required Files
-# ============================================================================
-Write-Host "==[2/20] Check Required Files ==" -ForegroundColor Yellow
-
-if (!(Test-Path -LiteralPath ".\gradlew.bat")) {
- throw "ERROR: gradlew.bat not found. Run from project root."
-}
-Write-Host "[OK] gradlew.bat" -ForegroundColor Green
-
-$buildFile = $null
-if (Test-Path -LiteralPath ".\build.gradle") { $buildFile = "build.gradle" }
-elseif (Test-Path -LiteralPath ".\build.gradle.kts") { $buildFile = "build.gradle.kts" }
-else { throw "ERROR: build.gradle(.kts) not found." }
-Write-Host ("[OK] " + $buildFile) -ForegroundColor Green
-
-$settingsFile = $null
-if (Test-Path -LiteralPath ".\settings.gradle") { $settingsFile = "settings.gradle" }
-elseif (Test-Path -LiteralPath ".\settings.gradle.kts") { $settingsFile = "settings.gradle.kts" }
-if ($settingsFile) { Write-Host ("[OK] " + $settingsFile) -ForegroundColor Green }
-Write-Host ""
-
-# ============================================================================
-# [3/20] Check Gradle Wrapper
-# ============================================================================
-Write-Host "==[3/20] Check Gradle Wrapper ==" -ForegroundColor Yellow
-
-$WrapperDir = Join-Path $Root "gradle\wrapper"
-$WrapperJar = Join-Path $WrapperDir "gradle-wrapper.jar"
-$WrapperProp = Join-Path $WrapperDir "gradle-wrapper.properties"
-
-New-Item -ItemType Directory -Force -Path $WrapperDir | Out-Null
-
-if (!(Test-Path -LiteralPath $WrapperProp)) {
- throw "ERROR: gradle-wrapper.properties not found."
-}
-
-if (!(Test-Path -LiteralPath $WrapperJar)) {
- $SeedJar = Join-Path $Root "$WRAPPER_SEED_PATH\gradle-wrapper.jar"
- if (Test-Path -LiteralPath $SeedJar) {
- Copy-Item -Force -LiteralPath $SeedJar -Destination $WrapperJar
- Write-Host "[OK] Wrapper jar injected from seed" -ForegroundColor Green
- } else {
- throw "ERROR: gradle-wrapper.jar missing"
- }
-} else {
- Write-Host "[OK] gradle-wrapper.jar exists" -ForegroundColor Green
-}
-
-# Create seed backup
-$SeedDir = Join-Path $Root $WRAPPER_SEED_PATH
-if (!(Test-Path -LiteralPath $SeedDir)) {
- New-Item -ItemType Directory -Force -Path $SeedDir | Out-Null
- Copy-Item -Force -LiteralPath $WrapperJar -Destination (Join-Path $SeedDir "gradle-wrapper.jar")
-}
-Write-Host ""
-
-# ============================================================================
-# [4/20] Set GRADLE_USER_HOME (Project Local)
-# ============================================================================
-Write-Host "==[4/20] Set GRADLE_USER_HOME ==" -ForegroundColor Yellow
-
-$OfflineHome = Join-Path $Root $OFFLINE_HOME_NAME
-New-Item -ItemType Directory -Force -Path $OfflineHome | Out-Null
-$env:GRADLE_USER_HOME = $OfflineHome
-
-Write-Host ("GRADLE_USER_HOME = " + $env:GRADLE_USER_HOME) -ForegroundColor Cyan
-Write-Host "[INFO] All dependencies will be cached in project folder" -ForegroundColor Gray
-Write-Host ""
-
-# ============================================================================
-# [5/20] Check Internet Connection
-# ============================================================================
-Write-Host "==[5/20] Check Internet Connection ==" -ForegroundColor Yellow
-
-$hasInternet = $false
-$testHosts = @("plugins.gradle.org", "repo.maven.apache.org", "repo1.maven.org")
-
-foreach ($testHost in $testHosts) {
- try {
- $result = Test-Connection -ComputerName $testHost -Count 1 -Quiet -TimeoutSeconds 3 -ErrorAction SilentlyContinue
- if ($result) {
- $hasInternet = $true
- Write-Host ("[OK] Connected to " + $testHost) -ForegroundColor Green
- break
- }
- } catch { }
-}
-
-if (-not $hasInternet) {
- # Try DNS resolution as fallback
- try {
- [System.Net.Dns]::GetHostAddresses("google.com") | Out-Null
- $hasInternet = $true
- Write-Host "[OK] Internet available (DNS)" -ForegroundColor Green
- } catch { }
-}
-
-if (-not $hasInternet) {
- Write-Host ""
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host " ERROR: No Internet Connection!" -ForegroundColor Red
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host ""
- Write-Host "This script requires internet for initial build." -ForegroundColor Yellow
- Write-Host "Please connect to internet and run again." -ForegroundColor Yellow
- Write-Host ""
- throw "No internet connection"
-}
-Write-Host ""
-
-# ============================================================================
-# [6/20] Initial Gradle Setup
-# ============================================================================
-Write-Host "==[6/20] Initial Gradle Setup ==" -ForegroundColor Yellow
-Write-Host "[INFO] Downloading Gradle distribution..." -ForegroundColor Gray
-
-try {
- $output = cmd /c ".\gradlew.bat --version 2>&1"
- if ($LASTEXITCODE -eq 0) {
- $gradleVersion = $output | Select-String "Gradle\s+(\d+\.\d+)" |
- ForEach-Object { $_.Matches[0].Groups[1].Value }
- Write-Host ("[OK] Gradle " + $gradleVersion) -ForegroundColor Green
- } else {
- throw "Gradle setup failed"
- }
-} catch {
- Write-Host "[ERROR] Gradle setup failed" -ForegroundColor Red
- throw $_
-}
-Write-Host ""
-
-# ============================================================================
-# [7/20] ONLINE BUILD - bootJar (Download All Dependencies)
-# ============================================================================
-Write-Host "==[7/20] ONLINE BUILD - bootJar ==" -ForegroundColor Yellow
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Building project (downloading all dependencies)" -ForegroundColor Cyan
-Write-Host " This may take several minutes on first run..." -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-$buildSuccess = $false
-
-try {
- cmd /c ".\gradlew.bat clean bootJar --no-daemon"
- if ($LASTEXITCODE -eq 0) {
- $buildSuccess = $true
- }
-} catch { }
-
-if (-not $buildSuccess) {
- Write-Host ""
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host " BUILD FAILED!" -ForegroundColor Red
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host ""
- Write-Host "Please fix build errors and run this script again." -ForegroundColor Yellow
- throw "Build failed"
-}
-
-Write-Host ""
-Write-Host "[OK] bootJar build SUCCESS" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [8/20] ONLINE TEST - bootRun (Verify Application Works)
-# ============================================================================
-Write-Host "==[8/20] ONLINE TEST - bootRun ==" -ForegroundColor Yellow
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Starting application to verify it works..." -ForegroundColor Cyan
-Write-Host " Will run for $BOOTRUN_TIMEOUT_SECONDS seconds then stop" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-$bootRunSuccess = $false
-
-try {
- # Start bootRun as background job
- $job = Start-Job -ScriptBlock {
- param($projectDir, $gradleHome)
- Set-Location $projectDir
- $env:GRADLE_USER_HOME = $gradleHome
- cmd /c ".\gradlew.bat bootRun --no-daemon 2>&1"
- } -ArgumentList $Root, $OfflineHome
-
- Write-Host "[INFO] Application starting..." -ForegroundColor Gray
-
- # Wait for startup (check for typical Spring Boot messages)
- $startTime = Get-Date
- $startupDetected = $false
-
- while (((Get-Date) - $startTime).TotalSeconds -lt $BOOTRUN_TIMEOUT_SECONDS) {
- Start-Sleep -Seconds 3
-
- # Check if job has output
- $jobOutput = Receive-Job -Job $job -Keep -ErrorAction SilentlyContinue
-
- if ($jobOutput) {
- $outputText = $jobOutput -join "`n"
-
- # Check for Spring Boot startup success indicators
- if ($outputText -match "Started .+ in .+ seconds" -or
- $outputText -match "Tomcat started on port" -or
- $outputText -match "Netty started on port" -or
- $outputText -match "Application .+ started") {
- $startupDetected = $true
- Write-Host "[OK] Application started successfully!" -ForegroundColor Green
- break
- }
-
- # Check for errors
- if ($outputText -match "APPLICATION FAILED TO START" -or
- $outputText -match "Error starting ApplicationContext") {
- Write-Host "[ERROR] Application failed to start" -ForegroundColor Red
- break
- }
- }
-
- $elapsed = [math]::Round(((Get-Date) - $startTime).TotalSeconds)
- Write-Host ("[INFO] Waiting... " + $elapsed + "s") -ForegroundColor Gray
- }
-
- # Stop the job
- Write-Host "[INFO] Stopping application..." -ForegroundColor Gray
- Stop-Job -Job $job -ErrorAction SilentlyContinue
- Remove-Job -Job $job -Force -ErrorAction SilentlyContinue
-
- # Also stop any remaining Gradle processes
- cmd /c ".\gradlew.bat --stop 2>&1" | Out-Null
-
- if ($startupDetected) {
- $bootRunSuccess = $true
- }
-
-} catch {
- Write-Host "[WARN] bootRun test encountered error: $_" -ForegroundColor DarkYellow
-}
-
-# Cleanup any remaining processes
-try {
- Get-Process -Name "java" -ErrorAction SilentlyContinue |
- Where-Object { $_.CommandLine -match "bootRun|spring" } |
- Stop-Process -Force -ErrorAction SilentlyContinue
-} catch { }
-
-Write-Host ""
-
-if ($bootRunSuccess) {
- Write-Host "[OK] bootRun test PASSED" -ForegroundColor Green
-} else {
- Write-Host "[WARN] bootRun test could not verify startup" -ForegroundColor DarkYellow
- Write-Host "[INFO] Continuing anyway - bootJar succeeded" -ForegroundColor Gray
-}
-Write-Host ""
-
-# ============================================================================
-# [9/20] Stop All Gradle Daemons
-# ============================================================================
-Write-Host "==[9/20] Stop Gradle Daemons ==" -ForegroundColor Yellow
-
-cmd /c ".\gradlew.bat --stop 2>&1" | Out-Null
-Start-Sleep -Seconds 3
-Write-Host "[OK] Daemons stopped" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [10/20] OFFLINE TEST - Verify Offline Build Works
-# ============================================================================
-Write-Host "==[10/20] OFFLINE TEST - Verify Cache ==" -ForegroundColor Yellow
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Testing offline build (--offline flag)" -ForegroundColor Cyan
-Write-Host " This verifies all dependencies are cached" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-$offlineSuccess = $false
-
-try {
- cmd /c ".\gradlew.bat --offline clean bootJar --no-daemon"
- if ($LASTEXITCODE -eq 0) {
- $offlineSuccess = $true
- }
-} catch { }
-
-Write-Host ""
-
-if ($offlineSuccess) {
- Write-Host "[OK] Offline build SUCCESS - Cache is complete!" -ForegroundColor Green
-} else {
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host " OFFLINE BUILD FAILED!" -ForegroundColor Red
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host ""
- Write-Host "Some dependencies may not be cached properly." -ForegroundColor Yellow
- Write-Host ""
-
- $continue = Read-Host "Continue creating bundle anyway? (y/N)"
- if ($continue -ne "y" -and $continue -ne "Y") {
- throw "Offline verification failed"
- }
-}
-Write-Host ""
-
-# ============================================================================
-# [11/20] Backup Original settings.gradle
-# ============================================================================
-Write-Host "==[11/20] Backup settings.gradle ==" -ForegroundColor Yellow
-
-if ($settingsFile) {
- $settingsPath = Join-Path $Root $settingsFile
- $settingsBackup = Join-Path $Root "${settingsFile}.original.bak"
-
- if (!(Test-Path -LiteralPath $settingsBackup)) {
- Copy-Item -Force -LiteralPath $settingsPath -Destination $settingsBackup
- Write-Host "[OK] Backup: ${settingsFile}.original.bak" -ForegroundColor Green
- } else {
- Write-Host "[OK] Backup exists" -ForegroundColor Green
- }
-}
-Write-Host ""
-
-# ============================================================================
-# [12/20] Modify settings.gradle for Offline
-# ============================================================================
-Write-Host "==[12/20] Configure settings.gradle for Offline ==" -ForegroundColor Yellow
-
-if ($settingsFile) {
- $settingsPath = Join-Path $Root $settingsFile
- $content = Get-Content -LiteralPath $settingsPath -Raw
-
- # --- Always strip BOM if present (prevents Groovy 'Unexpected character: ')
- $hadBom = $false
- if ($content.Length -gt 0 -and $content[0] -eq [char]0xFEFF) {
- $hadBom = $true
- $content = $content -replace "^\uFEFF", ""
- }
-
- $isOfflineConfigured =
- ($content -match "mavenLocal\(\)") -and
- ($content -match "pluginManagement[\s\S]*repositories")
-
- if ($isOfflineConfigured) {
- # Even if already configured, re-save without BOM if needed
- if ($hadBom) {
- [System.IO.File]::WriteAllText(
- $settingsPath,
- $content,
- (New-Object System.Text.UTF8Encoding($false))
- )
- Write-Host "[FIX] settings.gradle BOM removed (saved as UTF-8 without BOM)" -ForegroundColor Green
- } else {
- Write-Host "[OK] Already configured for offline" -ForegroundColor Green
- }
- } else {
- $newHeader = @"
-// ============================================================================
-// OFFLINE BUILD CONFIGURATION (Auto-generated by pack script)
-// Original backup: ${settingsFile}.original.bak
-// ============================================================================
-pluginManagement {
- repositories {
- mavenLocal()
- gradlePluginPortal()
- }
-}
-
-"@
-
- # Remove existing pluginManagement
- $cleaned = $content -replace '(?s)pluginManagement\s*\{[^{}]*(\{[^{}]*\}[^{}]*)*\}\s*', ''
- $final = $newHeader + $cleaned.Trim()
-
- # --- Write as UTF-8 WITHOUT BOM
- [System.IO.File]::WriteAllText(
- $settingsPath,
- $final,
- (New-Object System.Text.UTF8Encoding($false))
- )
-
- Write-Host "[OK] settings.gradle updated for offline (UTF-8 without BOM)" -ForegroundColor Green
- }
-}
-Write-Host ""
-
-# ============================================================================
-# [13/20] Copy Maven Local Repository
-# ============================================================================
-Write-Host "==[13/20] Copy Maven Local (.m2) ==" -ForegroundColor Yellow
-
-$m2Repo = Join-Path $env:USERPROFILE ".m2\repository"
-$localM2 = Join-Path $OfflineHome "m2_repository"
-
-if (Test-Path -LiteralPath $m2Repo) {
- $m2Size = (Get-ChildItem -Path $m2Repo -Recurse -File -ErrorAction SilentlyContinue |
- Measure-Object -Property Length -Sum).Sum
-
- if ($m2Size -gt 1MB) {
- $m2SizeMB = [math]::Round($m2Size / 1MB, 2)
- Write-Host ("[INFO] .m2 size: " + $m2SizeMB + " MB") -ForegroundColor Cyan
-
- # Copy important plugin directories
- $pluginDirs = @(
- "org\springframework\boot",
- "io\spring",
- "com\diffplug"
- )
-
- foreach ($dir in $pluginDirs) {
- $src = Join-Path $m2Repo $dir
- if (Test-Path -LiteralPath $src) {
- $dst = Join-Path $localM2 $dir
- New-Item -ItemType Directory -Force -Path (Split-Path $dst -Parent) | Out-Null
- if (!(Test-Path -LiteralPath $dst)) {
- Copy-Item -Recurse -Force -LiteralPath $src -Destination $dst -ErrorAction SilentlyContinue
- Write-Host ("[OK] Copied " + $dir) -ForegroundColor Green
- }
- }
- }
- }
-} else {
- Write-Host "[INFO] No .m2 repository found" -ForegroundColor Gray
-}
-Write-Host ""
-
-# ============================================================================
-# [14/20] Create Helper Scripts
-# ============================================================================
-Write-Host "==[14/20] Create Helper Scripts ==" -ForegroundColor Yellow
-
-# run_offline_build.ps1
-$runScript = @'
-# run_offline_build.ps1 - Quick offline build script
-$env:GRADLE_USER_HOME = Join-Path (Get-Location).Path "_offline_gradle_home"
-Write-Host "GRADLE_USER_HOME = $env:GRADLE_USER_HOME" -ForegroundColor Cyan
-Write-Host ""
-.\gradlew.bat --offline bootJar --no-daemon
-if ($LASTEXITCODE -eq 0) {
- Write-Host ""
- Write-Host "BUILD SUCCESS!" -ForegroundColor Green
- Write-Host ""
- Write-Host "JAR files:" -ForegroundColor Cyan
- Get-ChildItem .\build\libs\*.jar | ForEach-Object { Write-Host (" " + $_.Name) }
-} else {
- Write-Host "BUILD FAILED" -ForegroundColor Red
-}
-'@
-
-[System.IO.File]::WriteAllText((Join-Path $Root "run_offline_build.ps1"), $runScript, (New-Object System.Text.UTF8Encoding($false)))
-Write-Host "[OK] run_offline_build.ps1" -ForegroundColor Green
-
-# run_offline_bootrun.ps1
-$bootRunScript = @'
-# run_offline_bootrun.ps1 - Run application offline
-$env:GRADLE_USER_HOME = Join-Path (Get-Location).Path "_offline_gradle_home"
-Write-Host "GRADLE_USER_HOME = $env:GRADLE_USER_HOME" -ForegroundColor Cyan
-Write-Host ""
-Write-Host "Starting application (Ctrl+C to stop)..." -ForegroundColor Yellow
-Write-Host ""
-.\gradlew.bat --offline bootRun --no-daemon
-'@
-
-[System.IO.File]::WriteAllText((Join-Path $Root "run_offline_bootrun.ps1"), $bootRunScript, (New-Object System.Text.UTF8Encoding($false)))
-Write-Host "[OK] run_offline_bootrun.ps1" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [15/20] Stop Daemons Again
-# ============================================================================
-Write-Host "==[15/20] Final Daemon Cleanup ==" -ForegroundColor Yellow
-
-cmd /c ".\gradlew.bat --stop 2>&1" | Out-Null
-Start-Sleep -Seconds 2
-Write-Host "[OK] Daemons stopped" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [16/20] Clean Lock Files
-# ============================================================================
-Write-Host "==[16/20] Clean Lock Files ==" -ForegroundColor Yellow
-
-try {
- $DaemonDir = Join-Path $OfflineHome "daemon"
- if (Test-Path -LiteralPath $DaemonDir) {
- Remove-Item -Recurse -Force -LiteralPath $DaemonDir -ErrorAction SilentlyContinue
- }
-
- Get-ChildItem -Path $OfflineHome -Recurse -Include "*.lock","*.log","*.tmp" -File -ErrorAction SilentlyContinue |
- ForEach-Object { Remove-Item -Force -LiteralPath $_.FullName -ErrorAction SilentlyContinue }
-
- Write-Host "[OK] Lock files cleaned" -ForegroundColor Green
-} catch {
- Write-Host "[WARN] Some files could not be cleaned" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [17/20] Calculate Cache Size
-# ============================================================================
-Write-Host "==[17/20] Cache Summary ==" -ForegroundColor Yellow
-
-$CachesDir = Join-Path $OfflineHome "caches"
-$WrapperDists = Join-Path $OfflineHome "wrapper\dists"
-
-$totalSize = 0
-
-if (Test-Path -LiteralPath $CachesDir) {
- $size = (Get-ChildItem -Path $CachesDir -Recurse -File -ErrorAction SilentlyContinue |
- Measure-Object -Property Length -Sum).Sum
- $totalSize += $size
- Write-Host ("[INFO] Dependencies: " + [math]::Round($size/1MB, 2) + " MB") -ForegroundColor Cyan
-}
-
-if (Test-Path -LiteralPath $WrapperDists) {
- $size = (Get-ChildItem -Path $WrapperDists -Recurse -File -ErrorAction SilentlyContinue |
- Measure-Object -Property Length -Sum).Sum
- $totalSize += $size
- Write-Host ("[INFO] Gradle dist: " + [math]::Round($size/1MB, 2) + " MB") -ForegroundColor Cyan
-}
-
-Write-Host ("[INFO] Total cache: " + [math]::Round($totalSize/1MB, 2) + " MB") -ForegroundColor Cyan
-Write-Host ""
-
-# ============================================================================
-# [18/20] Create Archive
-# ============================================================================
-Write-Host "==[18/20] Create Archive ==" -ForegroundColor Yellow
-
-$BaseName = Split-Path $Root -Leaf
-$Ts = Get-Date -Format "yyyyMMdd_HHmmss"
-$Parent = Split-Path $Root -Parent
-$ArchivePath = Join-Path $Parent "${BaseName}_offline_bundle_${Ts}.tar.gz"
-
-Write-Host ("Archive: " + $ArchivePath)
-
-$tar = Get-Command tar.exe -ErrorAction SilentlyContinue
-if (-not $tar) { throw "ERROR: tar.exe not found" }
-
-Write-Host "[INFO] Creating archive (this may take several minutes)..." -ForegroundColor Gray
-
-& tar.exe -czf $ArchivePath `
- --exclude ".git" `
- --exclude ".idea" `
- --exclude ".DS_Store" `
- --exclude "*.log" `
- --exclude "*.lock" `
- --exclude "_offline_gradle_home/daemon" `
- --exclude "_offline_gradle_home/native" `
- --exclude "_offline_gradle_home/jdks" `
- --exclude "build" `
- --exclude "out" `
- --exclude ".gradle" `
- -C $Root .
-
-if ($LASTEXITCODE -ne 0) { throw "ERROR: tar failed" }
-
-$archiveSize = (Get-Item -LiteralPath $ArchivePath).Length
-$archiveSizeMB = [math]::Round($archiveSize / 1MB, 2)
-Write-Host ("[OK] Archive created: " + $archiveSizeMB + " MB") -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [19/20] Verify Archive
-# ============================================================================
-Write-Host "==[19/20] Verify Archive ==" -ForegroundColor Yellow
-
-$listOutput = & tar.exe -tzf $ArchivePath 2>&1
-
-$checks = @(
- "gradle/wrapper/gradle-wrapper.jar",
- "gradlew.bat",
- "_offline_gradle_home/caches",
- "run_offline_build.ps1"
-)
-
-foreach ($check in $checks) {
- $found = $listOutput | Select-String -SimpleMatch $check
- if ($found) {
- Write-Host (" [OK] " + $check) -ForegroundColor Green
- } else {
- Write-Host (" [WARN] " + $check) -ForegroundColor DarkYellow
- }
-}
-Write-Host ""
-
-# ============================================================================
-# [20/20] Complete
-# ============================================================================
-Write-Host "============================================================" -ForegroundColor Green
-Write-Host " BUNDLE CREATION COMPLETE!" -ForegroundColor Green
-Write-Host "============================================================" -ForegroundColor Green
-Write-Host ""
-Write-Host ("Archive: " + $ArchivePath) -ForegroundColor Cyan
-Write-Host ("Size: " + $archiveSizeMB + " MB") -ForegroundColor Cyan
-Write-Host ""
-
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Test Results" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host (" Online build (bootJar): " + $(if($buildSuccess){"PASSED"}else{"FAILED"})) -ForegroundColor $(if($buildSuccess){"Green"}else{"Red"})
-Write-Host (" Online test (bootRun): " + $(if($bootRunSuccess){"PASSED"}else{"SKIPPED"})) -ForegroundColor $(if($bootRunSuccess){"Green"}else{"Yellow"})
-Write-Host (" Offline build test: " + $(if($offlineSuccess){"PASSED"}else{"FAILED"})) -ForegroundColor $(if($offlineSuccess){"Green"}else{"Red"})
-Write-Host ""
-
-Write-Host "============================================================" -ForegroundColor Yellow
-Write-Host " Usage in Air-gapped Environment" -ForegroundColor Yellow
-Write-Host "============================================================" -ForegroundColor Yellow
-Write-Host ""
-Write-Host "Option 1: Use unpack script" -ForegroundColor White
-Write-Host " .\unpack_and_offline_build_airgap.ps1" -ForegroundColor Gray
-Write-Host ""
-Write-Host "Option 2: Manual extraction" -ForegroundColor White
-Write-Host " tar -xzf .tar.gz" -ForegroundColor Gray
-Write-Host " cd " -ForegroundColor Gray
-Write-Host " .\run_offline_build.ps1" -ForegroundColor Gray
-Write-Host ""
-Write-Host "Option 3: Direct commands" -ForegroundColor White
-Write-Host ' $env:GRADLE_USER_HOME = ".\\_offline_gradle_home"' -ForegroundColor Gray
-Write-Host " .\gradlew.bat --offline bootJar --no-daemon" -ForegroundColor Gray
-Write-Host ""
diff --git a/kamco-geojson-scheduler/gradle/win/scripts/unpack_and_offline_build_airgap.ps1 b/kamco-geojson-scheduler/gradle/win/scripts/unpack_and_offline_build_airgap.ps1
deleted file mode 100755
index 9342a2f..0000000
--- a/kamco-geojson-scheduler/gradle/win/scripts/unpack_and_offline_build_airgap.ps1
+++ /dev/null
@@ -1,355 +0,0 @@
-# unpack_and_offline_build_airgap.ps1
-# ============================================================================
-# Execution Environment: OFFLINE (Air-gapped, No Internet)
-# Purpose: Extract bundle and run offline build
-# ============================================================================
-# Windows PowerShell Only
-# Version: 3.1
-#
-# IMPORTANT: This script automatically:
-# 1. Extracts the archive
-# 2. Sets GRADLE_USER_HOME to project local cache
-# 3. Configures settings.gradle for offline resolution
-# 4. Runs build with --offline flag
-# ============================================================================
-
-$ErrorActionPreference = "Stop"
-$ProgressPreference = "SilentlyContinue"
-
-# ============================================================================
-# Configuration
-# ============================================================================
-$WRAPPER_SEED_PATH = "wrapper_jar_seed"
-$OFFLINE_HOME_NAME = "_offline_gradle_home"
-
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Gradle Offline Build Runner" -ForegroundColor Cyan
-Write-Host " Environment: AIR-GAPPED (No Internet)" -ForegroundColor Cyan
-Write-Host " Mode: Fully Offline (--offline enforced)" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-# ============================================================================
-# [1/16] Check Current Directory
-# ============================================================================
-Write-Host "==[1/16] Check Current Directory ==" -ForegroundColor Yellow
-$Start = (Get-Location).Path
-Write-Host ("PWD: " + $Start)
-Write-Host ""
-
-# ============================================================================
-# [2/16] Select Archive
-# ============================================================================
-Write-Host "==[2/16] Select Archive ==" -ForegroundColor Yellow
-
-$Archive = $null
-if ($args.Count -ge 1) {
- $Archive = $args[0].Trim().Trim('"').Trim("'")
-}
-
-if ([string]::IsNullOrWhiteSpace($Archive)) {
- $candidates = Get-ChildItem -Path $Start -File -ErrorAction SilentlyContinue |
- Where-Object { $_.Name -match "\.(tar\.gz|tgz)$" } |
- Sort-Object LastWriteTime -Descending
-
- if (-not $candidates -or $candidates.Count -eq 0) {
- Write-Host "[ERROR] No archive found" -ForegroundColor Red
- Get-ChildItem -Path $Start -File | Format-Table Name, Length -AutoSize
- throw "ERROR: No .tar.gz file found"
- }
-
- $Archive = $candidates[0].FullName
- Write-Host ("[AUTO] " + (Split-Path $Archive -Leaf)) -ForegroundColor Cyan
-} else {
- if (-not [System.IO.Path]::IsPathRooted($Archive)) {
- $Archive = Join-Path $Start $Archive
- }
- Write-Host ("[USER] " + (Split-Path $Archive -Leaf)) -ForegroundColor Cyan
-}
-
-if (-not (Test-Path -LiteralPath $Archive)) {
- throw "ERROR: Archive not found: $Archive"
-}
-
-$archiveSizeMB = [math]::Round((Get-Item -LiteralPath $Archive).Length / 1MB, 2)
-Write-Host ("Size: " + $archiveSizeMB + " MB")
-Write-Host ""
-
-# ============================================================================
-# [3/16] Check tar.exe
-# ============================================================================
-Write-Host "==[3/16] Check tar.exe ==" -ForegroundColor Yellow
-
-$tar = Get-Command tar.exe -ErrorAction SilentlyContinue
-if (-not $tar) { throw "ERROR: tar.exe not found" }
-Write-Host "[OK] tar.exe found" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [4/16] Extract Archive
-# ============================================================================
-Write-Host "==[4/16] Extract Archive ==" -ForegroundColor Yellow
-Write-Host "[INFO] Extracting..." -ForegroundColor Gray
-
-& tar.exe -xzf $Archive -C $Start
-if ($LASTEXITCODE -ne 0) { throw "ERROR: Extraction failed" }
-Write-Host "[OK] Extracted" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [5/16] Unblock Files
-# ============================================================================
-Write-Host "==[5/16] Unblock Files ==" -ForegroundColor Yellow
-
-try {
- Get-ChildItem -Path $Start -Recurse -Force -ErrorAction SilentlyContinue |
- Unblock-File -ErrorAction SilentlyContinue
- Write-Host "[OK] Files unblocked" -ForegroundColor Green
-} catch {
- Write-Host "[WARN] Unblock failed" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [6/16] Find Project Root
-# ============================================================================
-Write-Host "==[6/16] Find Project Root ==" -ForegroundColor Yellow
-
-$gradlewList = Get-ChildItem -Path $Start -Recurse -Filter "gradlew.bat" -File -ErrorAction SilentlyContinue
-if (-not $gradlewList) { throw "ERROR: gradlew.bat not found" }
-
-$gradlew = $gradlewList | Sort-Object { $_.FullName.Length } | Select-Object -First 1
-$ProjectDir = $gradlew.Directory.FullName
-
-Write-Host ("Project: " + $ProjectDir) -ForegroundColor Cyan
-Set-Location -LiteralPath $ProjectDir
-Write-Host ""
-
-# ============================================================================
-# [7/16] Fix Permissions
-# ============================================================================
-Write-Host "==[7/16] Fix Permissions ==" -ForegroundColor Yellow
-
-try {
- $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
- cmd /c "icacls `"$ProjectDir`" /grant `"$currentUser`:(OI)(CI)F`" /t /q" 2>&1 | Out-Null
- Write-Host "[OK] Permissions fixed" -ForegroundColor Green
-} catch {
- Write-Host "[WARN] icacls failed" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [8/16] Verify Wrapper
-# ============================================================================
-Write-Host "==[8/16] Verify Wrapper ==" -ForegroundColor Yellow
-
-$WrapperDir = Join-Path $ProjectDir "gradle\wrapper"
-$WrapperJar = Join-Path $WrapperDir "gradle-wrapper.jar"
-$WrapperProp = Join-Path $WrapperDir "gradle-wrapper.properties"
-
-if (!(Test-Path -LiteralPath $WrapperProp)) {
- throw "ERROR: gradle-wrapper.properties missing"
-}
-
-if (!(Test-Path -LiteralPath $WrapperJar)) {
- $SeedJar = Join-Path $ProjectDir "$WRAPPER_SEED_PATH\gradle-wrapper.jar"
- if (Test-Path -LiteralPath $SeedJar) {
- New-Item -ItemType Directory -Force -Path $WrapperDir | Out-Null
- Copy-Item -Force -LiteralPath $SeedJar -Destination $WrapperJar
- Write-Host "[OK] Injected from seed" -ForegroundColor Green
- } else {
- throw "ERROR: wrapper jar missing"
- }
-} else {
- Write-Host "[OK] Wrapper verified" -ForegroundColor Green
-}
-Write-Host ""
-
-# ============================================================================
-# [9/16] Set GRADLE_USER_HOME
-# ============================================================================
-Write-Host "==[9/16] Set GRADLE_USER_HOME ==" -ForegroundColor Yellow
-
-$OfflineHome = Join-Path $ProjectDir $OFFLINE_HOME_NAME
-if (!(Test-Path -LiteralPath $OfflineHome)) {
- throw "ERROR: _offline_gradle_home not found in archive"
-}
-
-$env:GRADLE_USER_HOME = $OfflineHome
-Write-Host ("GRADLE_USER_HOME = " + $env:GRADLE_USER_HOME) -ForegroundColor Cyan
-
-# Check cache
-$CachesDir = Join-Path $OfflineHome "caches"
-if (Test-Path -LiteralPath $CachesDir) {
- $cacheSize = (Get-ChildItem -Path $CachesDir -Recurse -File -ErrorAction SilentlyContinue |
- Measure-Object -Property Length -Sum).Sum
- $cacheSizeMB = [math]::Round($cacheSize / 1MB, 2)
- Write-Host ("[INFO] Cache size: " + $cacheSizeMB + " MB") -ForegroundColor Cyan
-} else {
- Write-Host "[WARN] No cache folder found" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [10/16] Verify settings.gradle
-# ============================================================================
-Write-Host "==[10/16] Verify settings.gradle ==" -ForegroundColor Yellow
-
-$settingsFile = $null
-if (Test-Path -LiteralPath ".\settings.gradle") { $settingsFile = "settings.gradle" }
-elseif (Test-Path -LiteralPath ".\settings.gradle.kts") { $settingsFile = "settings.gradle.kts" }
-
-if ($settingsFile) {
- $content = Get-Content -LiteralPath ".\$settingsFile" -Raw
- if ($content -match "mavenLocal\(\)" -and $content -match "pluginManagement") {
- Write-Host "[OK] settings.gradle configured for offline" -ForegroundColor Green
- } else {
- Write-Host "[WARN] settings.gradle may not be configured for offline" -ForegroundColor DarkYellow
- Write-Host "[INFO] Build may fail if plugins not cached" -ForegroundColor Gray
- }
-}
-Write-Host ""
-
-# ============================================================================
-# [11/16] Test Gradle
-# ============================================================================
-Write-Host "==[11/16] Test Gradle ==" -ForegroundColor Yellow
-
-$gradleWorks = $false
-try {
- $output = cmd /c ".\gradlew.bat --offline --version 2>&1"
- if ($LASTEXITCODE -eq 0) {
- $gradleWorks = $true
- Write-Host "[OK] Gradle working in offline mode" -ForegroundColor Green
- }
-} catch { }
-
-if (-not $gradleWorks) {
- Write-Host "[WARN] Gradle --version failed" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [12/16] Stop Daemon
-# ============================================================================
-Write-Host "==[12/16] Stop Daemon ==" -ForegroundColor Yellow
-
-try { cmd /c ".\gradlew.bat --stop 2>&1" | Out-Null } catch { }
-Start-Sleep -Seconds 2
-Write-Host "[OK] Daemon stopped" -ForegroundColor Green
-Write-Host ""
-
-# ============================================================================
-# [13/16] Run Offline Build
-# ============================================================================
-Write-Host "==[13/16] Run Offline Build ==" -ForegroundColor Yellow
-Write-Host ""
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host " Building with --offline flag" -ForegroundColor Cyan
-Write-Host " All dependencies from local cache" -ForegroundColor Cyan
-Write-Host "============================================================" -ForegroundColor Cyan
-Write-Host ""
-
-$buildSuccess = $false
-$buildTask = $null
-
-# Try bootJar
-Write-Host "[TRY] --offline bootJar..." -ForegroundColor Gray
-try {
- cmd /c ".\gradlew.bat --offline clean bootJar --no-daemon"
- if ($LASTEXITCODE -eq 0) {
- $buildSuccess = $true
- $buildTask = "bootJar"
- }
-} catch { }
-
-# Try jar
-if (-not $buildSuccess) {
- Write-Host "[TRY] --offline jar..." -ForegroundColor Gray
- try {
- cmd /c ".\gradlew.bat --offline clean jar --no-daemon"
- if ($LASTEXITCODE -eq 0) {
- $buildSuccess = $true
- $buildTask = "jar"
- }
- } catch { }
-}
-
-# Try build
-if (-not $buildSuccess) {
- Write-Host "[TRY] --offline build..." -ForegroundColor Gray
- try {
- cmd /c ".\gradlew.bat --offline build --no-daemon"
- if ($LASTEXITCODE -eq 0) {
- $buildSuccess = $true
- $buildTask = "build"
- }
- } catch { }
-}
-
-Write-Host ""
-if ($buildSuccess) {
- Write-Host "============================================================" -ForegroundColor Green
- Write-Host (" BUILD SUCCESS! (task: " + $buildTask + ")") -ForegroundColor Green
- Write-Host "============================================================" -ForegroundColor Green
-} else {
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host " BUILD FAILED!" -ForegroundColor Red
- Write-Host "============================================================" -ForegroundColor Red
- Write-Host ""
- Write-Host "Possible causes:" -ForegroundColor Yellow
- Write-Host " - Dependencies not in cache" -ForegroundColor White
- Write-Host " - Plugin resolution failed" -ForegroundColor White
- Write-Host " - Need complete build in online env first" -ForegroundColor White
- throw "Build failed"
-}
-Write-Host ""
-
-# ============================================================================
-# [14/16] Show Build Output
-# ============================================================================
-Write-Host "==[14/16] Build Output ==" -ForegroundColor Yellow
-
-$libsDir = Join-Path $ProjectDir "build\libs"
-if (Test-Path -LiteralPath $libsDir) {
- Write-Host "build/libs contents:" -ForegroundColor Cyan
- Get-ChildItem -LiteralPath $libsDir |
- Format-Table Name, @{L="Size(KB)";E={[math]::Round($_.Length/1KB,1)}} -AutoSize |
- Out-Host
-
- $mainJar = Get-ChildItem -LiteralPath $libsDir -Filter "*.jar" |
- Where-Object { $_.Name -notmatch "plain|sources|javadoc" } |
- Select-Object -First 1
-} else {
- Write-Host "[WARN] build/libs not found" -ForegroundColor DarkYellow
-}
-Write-Host ""
-
-# ============================================================================
-# [15/16] Run Instructions
-# ============================================================================
-Write-Host "==[15/16] Run Instructions ==" -ForegroundColor Yellow
-Write-Host ""
-
-if ($mainJar) {
- Write-Host "To run the application:" -ForegroundColor Cyan
- Write-Host (" java -jar build\libs\" + $mainJar.Name) -ForegroundColor White
- Write-Host ""
-}
-
-Write-Host "To rebuild:" -ForegroundColor Cyan
-Write-Host ' $env:GRADLE_USER_HOME = ".\\_offline_gradle_home"' -ForegroundColor White
-Write-Host " .\gradlew.bat --offline bootJar --no-daemon" -ForegroundColor White
-Write-Host ""
-
-# ============================================================================
-# [16/16] Complete
-# ============================================================================
-Write-Host "============================================================" -ForegroundColor Green
-Write-Host " Offline Build Complete!" -ForegroundColor Green
-Write-Host "============================================================" -ForegroundColor Green
-Write-Host ""
-Write-Host ("Project: " + $ProjectDir) -ForegroundColor Cyan
-Write-Host ""
diff --git a/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.jar b/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 1b33c55..0000000
Binary files a/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.properties b/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index d4081da..0000000
--- a/kamco-geojson-scheduler/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/kamco-geojson-scheduler/gradlew b/kamco-geojson-scheduler/gradlew
deleted file mode 100755
index 23d15a9..0000000
--- a/kamco-geojson-scheduler/gradlew
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015-2021 the original authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-##############################################################################
-#
-# Gradle start up script for POSIX generated by Gradle.
-#
-# Important for running:
-#
-# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-# noncompliant, but you have some other compliant shell such as ksh or
-# bash, then to run this script, type that shell name before the whole
-# command line, like:
-#
-# ksh Gradle
-#
-# Busybox and similar reduced shells will NOT work, because this script
-# requires all of these POSIX shell features:
-# * functions;
-# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-# * compound commands having a testable exit status, especially «case»;
-# * various built-in commands including «command», «set», and «ulimit».
-#
-# Important for patching:
-#
-# (2) This script targets any POSIX shell, so it avoids extensions provided
-# by Bash, Ksh, etc; in particular arrays are avoided.
-#
-# The "traditional" practice of packing multiple parameters into a
-# space-separated string is a well documented source of bugs and security
-# problems, so this is (mostly) avoided, by progressively accumulating
-# options in "$@", and eventually passing that to Java.
-#
-# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-# see the in-line comments for details.
-#
-# There are tweaks for specific operating systems such as AIX, CygWin,
-# Darwin, MinGW, and NonStop.
-#
-# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-# within the Gradle project.
-#
-# You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
- APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
- [ -h "$app_path" ]
-do
- ls=$( ls -ld "$app_path" )
- link=${ls#*' -> '}
- case $link in #(
- /*) app_path=$link ;; #(
- *) app_path=$APP_HOME$link ;;
- esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
- echo "$*"
-} >&2
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in #(
- CYGWIN* ) cygwin=true ;; #(
- Darwin* ) darwin=true ;; #(
- MSYS* | MINGW* ) msys=true ;; #(
- NONSTOP* ) nonstop=true ;;
-esac
-
-CLASSPATH="\\\"\\\""
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD=$JAVA_HOME/jre/sh/java
- else
- JAVACMD=$JAVA_HOME/bin/java
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD=java
- if ! command -v java >/dev/null 2>&1
- then
- die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
- case $MAX_FD in #(
- max*)
- # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- MAX_FD=$( ulimit -H -n ) ||
- warn "Could not query maximum file descriptor limit"
- esac
- case $MAX_FD in #(
- '' | soft) :;; #(
- *)
- # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- ulimit -n "$MAX_FD" ||
- warn "Could not set maximum file descriptor limit to $MAX_FD"
- esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-# * args from the command line
-# * the main class name
-# * -classpath
-# * -D...appname settings
-# * --module-path (only if needed)
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
- APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
-
- JAVACMD=$( cygpath --unix "$JAVACMD" )
-
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- for arg do
- if
- case $arg in #(
- -*) false ;; # don't mess with options #(
- /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
- [ -e "$t" ] ;; #(
- *) false ;;
- esac
- then
- arg=$( cygpath --path --ignore --mixed "$arg" )
- fi
- # Roll the args list around exactly as many times as the number of
- # args, so each arg winds up back in the position where it started, but
- # possibly modified.
- #
- # NB: a `for` loop captures its iteration list before it begins, so
- # changing the positional parameters here affects neither the number of
- # iterations, nor the values presented in `arg`.
- shift # remove old arg
- set -- "$@" "$arg" # push replacement arg
- done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
-# and any embedded shellness will be escaped.
-# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-# treated as '${Hostname}' itself on the command line.
-
-set -- \
- "-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
- -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
- "$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
- die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-#
-# In Bash we could simply go:
-#
-# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-# set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
- printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
- xargs -n1 |
- sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
- tr '\n' ' '
- )" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/kamco-geojson-scheduler/gradlew.bat b/kamco-geojson-scheduler/gradlew.bat
deleted file mode 100644
index 5eed7ee..0000000
--- a/kamco-geojson-scheduler/gradlew.bat
+++ /dev/null
@@ -1,94 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class
deleted file mode 100644
index 831247e..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class
deleted file mode 100644
index 35064af..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class
deleted file mode 100644
index 2f7d141..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class
deleted file mode 100644
index 19e26d0..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalCntInfo.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class
deleted file mode 100644
index 344c86c..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList$AnalMapSheetListBuilder.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class
deleted file mode 100644
index ae8c356..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$AnalMapSheetList.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class
deleted file mode 100644
index d012de1..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$GeoJsonFeature.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class
deleted file mode 100644
index 96a321c..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData$Properties.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class
deleted file mode 100644
index 2a14cda..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$CompleteLabelData.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class
deleted file mode 100644
index 7be65c6..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto$FeatureCollection.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class
deleted file mode 100644
index 5efc3b4..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/InspectState.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/InspectState.class
deleted file mode 100644
index 09ec616..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/InspectState.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class
deleted file mode 100644
index d12e2f1..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/enums/LabelMngState.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class b/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class
deleted file mode 100644
index 868b8b8..0000000
Binary files a/kamco-geojson-scheduler/out/production/classes/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.class and /dev/null differ
diff --git a/kamco-geojson-scheduler/out/production/resources/application-dev.yml b/kamco-geojson-scheduler/out/production/resources/application-dev.yml
deleted file mode 100644
index 544f864..0000000
--- a/kamco-geojson-scheduler/out/production/resources/application-dev.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://192.168.2.127:15432/kamco_cds
- username: kamco_cds
- password: kamco_cds_Q!W@E#R$
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/model_output/labeling/
diff --git a/kamco-geojson-scheduler/out/production/resources/application-local.yml b/kamco-geojson-scheduler/out/production/resources/application-local.yml
deleted file mode 100644
index 7cc0acf..0000000
--- a/kamco-geojson-scheduler/out/production/resources/application-local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://localhost:5432/kamco_cds
- username: kamco_cds
- password: kamco_cds
-
-training-data:
- geojson-dir: /tmp/geojson
diff --git a/kamco-geojson-scheduler/out/production/resources/application-prod.yml b/kamco-geojson-scheduler/out/production/resources/application-prod.yml
deleted file mode 100644
index d57a835..0000000
--- a/kamco-geojson-scheduler/out/production/resources/application-prod.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://10.100.0.10:25432/temp
- username: temp
- password: temp123!
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/model_output/labeling/
diff --git a/kamco-geojson-scheduler/out/production/resources/application.yml b/kamco-geojson-scheduler/out/production/resources/application.yml
deleted file mode 100644
index 8693eba..0000000
--- a/kamco-geojson-scheduler/out/production/resources/application.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-spring:
- application:
- name: kamco-geojson-scheduler
- profiles:
- active: local
- datasource:
- driver-class-name: org.postgresql.Driver
- hikari:
- minimum-idle: 2
- maximum-pool-size: 2
- connection-timeout: 20000
- idle-timeout: 300000
- max-lifetime: 1800000
- batch:
- job:
- enabled: true
- initialize-schema: always
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/settings.gradle b/kamco-geojson-scheduler/settings.gradle
deleted file mode 100644
index 5d260cf..0000000
--- a/kamco-geojson-scheduler/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = 'kamco-geojson-scheduler'
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.java
deleted file mode 100644
index 3165867..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/GeoJsonSchedulerApplication.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.kamco.cd.geojsonscheduler;
-
-import com.kamco.cd.geojsonscheduler.config.DockerProperties;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-
-@SpringBootApplication
-@EnableConfigurationProperties(DockerProperties.class)
-public class GeoJsonSchedulerApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(GeoJsonSchedulerApplication.class, args);
- }
-}
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.java
deleted file mode 100644
index 49888f9..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonJobConfig.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.kamco.cd.geojsonscheduler.batch;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.batch.core.Job;
-import org.springframework.batch.core.Step;
-import org.springframework.batch.core.job.builder.JobBuilder;
-import org.springframework.batch.core.repository.JobRepository;
-import org.springframework.batch.core.step.builder.StepBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.PlatformTransactionManager;
-
-@Configuration
-@RequiredArgsConstructor
-public class ExportGeoJsonJobConfig {
-
- private final JobRepository jobRepository;
- private final PlatformTransactionManager transactionManager;
- private final ExportGeoJsonTasklet exportGeoJsonTasklet;
-
- @Bean
- public Job exportGeoJsonJob() {
- return new JobBuilder("exportGeoJsonJob", jobRepository).start(exportGeoJsonStep()).build();
- }
-
- @Bean
- public Step exportGeoJsonStep() {
- return new StepBuilder("exportGeoJsonStep", jobRepository)
- .tasklet(exportGeoJsonTasklet, transactionManager)
- .build();
- }
-}
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.java
deleted file mode 100644
index 4976bd7..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/batch/ExportGeoJsonTasklet.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.kamco.cd.geojsonscheduler.batch;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.AnalCntInfo;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.AnalMapSheetList;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.CompleteLabelData;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.CompleteLabelData.GeoJsonFeature;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.FeatureCollection;
-import com.kamco.cd.geojsonscheduler.repository.TrainingDataReviewJobRepository;
-import com.kamco.cd.geojsonscheduler.service.DockerRunnerService;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.Objects;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.batch.core.StepContribution;
-import org.springframework.batch.core.scope.context.ChunkContext;
-import org.springframework.batch.core.step.tasklet.Tasklet;
-import org.springframework.batch.repeat.RepeatStatus;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-@Log4j2
-@Component
-@RequiredArgsConstructor
-public class ExportGeoJsonTasklet implements Tasklet {
-
- private final TrainingDataReviewJobRepository repository;
- private final DockerRunnerService dockerRunnerService;
-
- @Value("${training-data.geojson-dir}")
- private String trainingDataDir;
-
- @Override
- public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) {
-
- // 진행중인 회차 중, complete_cnt 가 존재하는 회차 목록 가져오기
- List analList = repository.findAnalCntInfoList();
-
- for (AnalCntInfo info : analList) {
- if (Objects.equals(info.getAllCnt(), info.getFileCnt())) {
- continue;
- }
-
- String resultUid = info.getResultUid();
- // 어제까지 검수 완료된 총 데이터의 도엽별 목록 가져오기
- List analMapList = repository.findCompletedAnalMapSheetList(info.getAnalUid());
-
- //TODO 도엽이 4개이상 존재할때 만 RUN 하기
- if (analMapList.isEmpty()) {
- continue;
- }
-
- boolean anyProcessed = false;
-
- for (AnalMapSheetList mapSheet : analMapList) {
- //도엽별 geom 데이터 가지고 와서 geojson 만들기
- List completeList =
- repository.findCompletedYesterdayLabelingList(
- info.getAnalUid(), mapSheet.getMapSheetNum());
-
- if (!completeList.isEmpty()) {
- List geoUids = completeList.stream().map(CompleteLabelData::getGeoUid).toList();
-
- List features = completeList.stream().map(GeoJsonFeature::from).toList();
-
- FeatureCollection collection = new FeatureCollection(features);
- String filename = mapSheet.buildFilename(resultUid);
-
- // 형식 /kamco-nfs/dataset/request/uuid/filename
- Path outputPath = Paths.get(trainingDataDir + File.separator + "request" + File.separator + resultUid, filename);
-
- try {
- Files.createDirectories(outputPath.getParent());
-
- ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
- objectMapper.writeValue(outputPath.toFile(), collection);
-
- repository.updateLearnDataGeomFileCreateYn(geoUids);
- anyProcessed = true;
- } catch (IOException e) {
- log.error(e.getMessage());
- }
- }
- }
-
- if (anyProcessed) {
- dockerRunnerService.run(resultUid);
- }
- }
-
- return RepeatStatus.FINISHED;
- }
-}
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/config/DockerProperties.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/config/DockerProperties.java
deleted file mode 100644
index fc834c1..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/config/DockerProperties.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.kamco.cd.geojsonscheduler.config;
-
-import java.util.List;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@Getter
-@Setter
-@ConfigurationProperties(prefix = "training-data.docker")
-public class DockerProperties {
-
- private String image;
- private String user;
- private String datasetVolume;
- private String imagesVolume;
- private String inputRoot;
- private String outputRoot;
- private int patchSize;
- private int overlapPct;
- private List trainValTestRatio;
- private double keepEmptyRatio;
-}
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java
deleted file mode 100644
index 8d4698b..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/dto/TrainingDataReviewJobDto.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.kamco.cd.geojsonscheduler.dto;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.CompleteLabelData.GeoJsonFeature;
-import java.util.List;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-
-public class TrainingDataReviewJobDto {
-
- @Getter
- @Setter
- @RequiredArgsConstructor
- @AllArgsConstructor
- public static class AnalCntInfo {
-
- Long analUid;
- String resultUid;
- Long allCnt;
- Long completeCnt;
- Long fileCnt;
- }
-
- @Getter
- @Builder
- @AllArgsConstructor
- public static class AnalMapSheetList {
-
- private Integer compareYyyy;
- private Integer targetYyyy;
- private String mapSheetNum;
-
- public String buildFilename(String resultUid) {
- return String.format(
- "%s_%s_%s_%s_D15.geojson",
- resultUid.substring(0, 8),
- compareYyyy,
- targetYyyy,
- mapSheetNum);
- }
- }
-
- @Getter
- @Setter
- @JsonPropertyOrder({"type", "features"})
- public static class FeatureCollection {
-
- private final String type = "FeatureCollection";
- private List features;
-
- public FeatureCollection(List features) {
- this.features = features;
- }
- }
-
- @Getter
- @Setter
- @JsonPropertyOrder({"type", "geometry", "properties"})
- public static class CompleteLabelData {
-
- private Long geoUid;
- private String type;
- @JsonIgnore private String geomStr;
- private JsonNode geometry;
- private Properties properties;
-
- public CompleteLabelData(Long geoUid, String type, String geomStr, Properties properties) {
- this.geoUid = geoUid;
- this.type = type;
- this.geomStr = geomStr;
- ObjectMapper mapper = new ObjectMapper();
- JsonNode jsonNode = null;
- try {
- if (geomStr != null) {
- jsonNode = mapper.readTree(this.geomStr);
- }
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
- }
-
- this.geometry = jsonNode;
- if (jsonNode != null && jsonNode.isObject()) {
- ((ObjectNode) jsonNode).remove("crs");
- }
-
- this.properties = properties;
- }
-
- @Getter
- @Setter
- @RequiredArgsConstructor
- @AllArgsConstructor
- public static class Properties {
-
- private String modelId;
- private String before;
- private String after;
- }
-
- @Getter
- @AllArgsConstructor
- public static class GeoJsonFeature {
-
- private String type;
- private JsonNode geometry;
- private Properties properties;
-
- public static GeoJsonFeature from(CompleteLabelData data) {
- return new GeoJsonFeature(data.getType(), data.getGeometry(), data.getProperties());
- }
- }
- }
-}
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/InspectState.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/InspectState.java
deleted file mode 100644
index 233903b..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/InspectState.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.kamco.cd.geojsonscheduler.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor
-public enum InspectState {
- UNCONFIRM("미확인"),
- EXCEPT("제외"),
- COMPLETE("완료");
-
- private final String desc;
-
- public String getId() {
- return name();
- }
-}
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/LabelMngState.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/LabelMngState.java
deleted file mode 100644
index e211fcf..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/enums/LabelMngState.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.kamco.cd.geojsonscheduler.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor
-public enum LabelMngState {
- PENDING("작업대기"),
- ASSIGNED("작업할당"),
- ING("진행중"),
- FINISH("종료");
-
- private final String desc;
-
- public String getId() {
- return name();
- }
-}
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java
deleted file mode 100644
index bb80e86..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/repository/TrainingDataReviewJobRepository.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.kamco.cd.geojsonscheduler.repository;
-
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.AnalCntInfo;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.AnalMapSheetList;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.CompleteLabelData;
-import com.kamco.cd.geojsonscheduler.dto.TrainingDataReviewJobDto.CompleteLabelData.Properties;
-import java.sql.Timestamp;
-import java.time.LocalDate;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.util.List;
-import java.util.stream.Collectors;
-import lombok.RequiredArgsConstructor;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Repository;
-
-@Repository
-@RequiredArgsConstructor
-public class TrainingDataReviewJobRepository {
-
- private final JdbcTemplate jdbcTemplate;
-
- public List findAnalCntInfoList() {
- String sql =
- """
- SELECT
- la.anal_uid,
- msl.uid AS result_uid,
- SUM(CASE WHEN la.inspect_state IN ('UNCONFIRM', 'COMPLETE') OR la.inspect_state IS NULL THEN 1 ELSE 0 END) AS all_cnt,
- SUM(CASE WHEN la.inspect_state = 'COMPLETE' THEN 1 ELSE 0 END) AS complete_cnt,
- SUM(CASE WHEN mslg.file_create_yn = true THEN 1 ELSE 0 END) AS file_cnt
- FROM tb_labeling_assignment la
- INNER JOIN tb_map_sheet_anal_inference msai ON la.anal_uid = msai.anal_uid AND msai.anal_state = 'ING'
- LEFT JOIN tb_map_sheet_learn msl ON msai.learn_id = msl.id
- LEFT JOIN tb_map_sheet_learn_data_geom mslg ON la.inference_geom_uid = mslg.geo_uid
- GROUP BY la.anal_uid, msl.uid
- HAVING SUM(CASE WHEN la.inspect_state = 'COMPLETE' THEN 1 ELSE 0 END) > 0
- """;
- return jdbcTemplate.query(
- sql,
- (rs, rowNum) ->
- new AnalCntInfo(
- rs.getLong("anal_uid"),
- rs.getString("result_uid"),
- rs.getLong("all_cnt"),
- rs.getLong("complete_cnt"),
- rs.getLong("file_cnt")));
- }
-
- public List findCompletedAnalMapSheetList(Long analUid) {
- ZonedDateTime end =
- LocalDate.now(ZoneId.of("Asia/Seoul")).atStartOfDay(ZoneId.of("Asia/Seoul"));
- String sql =
- """
- SELECT
- msai.compare_yyyy,
- msai.target_yyyy,
- la.assign_group_id
- FROM tb_labeling_assignment la
- INNER JOIN tb_map_sheet_anal_inference msai ON la.anal_uid = msai.anal_uid
- WHERE la.anal_uid = ?
- AND la.inspect_state = 'COMPLETE'
- AND la.inspect_stat_dttm < ?
- GROUP BY msai.compare_yyyy, msai.target_yyyy, la.assign_group_id
- """;
- return jdbcTemplate.query(
- sql,
- (rs, rowNum) ->
- AnalMapSheetList.builder()
- .compareYyyy(rs.getInt("compare_yyyy"))
- .targetYyyy(rs.getInt("target_yyyy"))
- .mapSheetNum(rs.getString("assign_group_id"))
- .build(),
- analUid,
- Timestamp.from(end.toInstant()));
- }
-
- public List findCompletedYesterdayLabelingList(
- Long analUid, String mapSheetNum) {
- ZonedDateTime end =
- LocalDate.now(ZoneId.of("Asia/Seoul")).atStartOfDay(ZoneId.of("Asia/Seoul"));
- String sql =
- """
- SELECT
- mslg.geo_uid,
- 'Feature' AS type,
- ST_AsGeoJSON(mslg.geom) AS geom_str,
- CASE
- WHEN mslg.class_after_cd IN ('building', 'container') THEN 'M1'
- WHEN mslg.class_after_cd = 'waste' THEN 'M2'
- ELSE 'M3'
- END AS model_id,
- mslg.class_before_cd,
- mslg.class_after_cd
- FROM tb_labeling_assignment la
- LEFT JOIN tb_map_sheet_learn_data_geom mslg ON la.inference_geom_uid = mslg.geo_uid
- WHERE la.anal_uid = ?
- AND la.assign_group_id = ?
- AND la.inspect_state = 'COMPLETE'
- AND la.inspect_stat_dttm < ?
- """;
- return jdbcTemplate.query(
- sql,
- (rs, rowNum) ->
- new CompleteLabelData(
- rs.getLong("geo_uid"),
- rs.getString("type"),
- rs.getString("geom_str"),
- new Properties(
- rs.getString("model_id"),
- rs.getString("class_before_cd"),
- rs.getString("class_after_cd"))),
- analUid,
- mapSheetNum,
- Timestamp.from(end.toInstant()));
- }
-
- public void updateLearnDataGeomFileCreateYn(List geoUids) {
- String placeholders = geoUids.stream().map(id -> "?").collect(Collectors.joining(","));
- String sql =
- "UPDATE tb_map_sheet_learn_data_geom SET file_create_yn = true, modified_date = NOW()"
- + " WHERE geo_uid IN ("
- + placeholders
- + ")";
- jdbcTemplate.update(sql, geoUids.toArray());
- }
-}
\ No newline at end of file
diff --git a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.java b/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.java
deleted file mode 100644
index 42e6e47..0000000
--- a/kamco-geojson-scheduler/src/main/java/com/kamco/cd/geojsonscheduler/service/DockerRunnerService.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.kamco.cd.geojsonscheduler.service;
-
-import com.kamco.cd.geojsonscheduler.config.DockerProperties;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.stereotype.Service;
-
-@Log4j2
-@Service
-@RequiredArgsConstructor
-public class DockerRunnerService {
-
- private final DockerProperties dockerProperties;
-
- public void run(String resultUid) {
- List command = buildCommand(resultUid);
- log.info("Running docker command: {}", String.join(" ", command));
-
- try {
- ProcessBuilder pb = new ProcessBuilder(command);
- pb.redirectErrorStream(true);
- Process process = pb.start();
-
- try (BufferedReader reader =
- new BufferedReader(new InputStreamReader(process.getInputStream()))) {
- String line;
- while ((line = reader.readLine()) != null) {
- log.info("[docker] {}", line);
- }
- }
-
- int exitCode = process.waitFor();
- if (exitCode != 0) {
- log.error("Docker process exited with code {} for resultUid: {}", exitCode, resultUid);
- } else {
- log.info("Docker process completed successfully for resultUid: {}", resultUid);
- }
- } catch (IOException e) {
- log.error("Failed to run docker command for resultUid {}: {}", resultUid, e.getMessage());
- } catch (InterruptedException e) {
- log.error("Docker process interrupted for resultUid {}: {}", resultUid, e.getMessage());
- Thread.currentThread().interrupt();
- }
- }
-
- private List buildCommand(String resultUid) {
- List cmd = new ArrayList<>();
- cmd.add("docker");
- cmd.add("run");
- cmd.add("--rm");
- cmd.add("--user");
- cmd.add(dockerProperties.getUser());
- cmd.add("-v");
- cmd.add(dockerProperties.getDatasetVolume());
- cmd.add("-v");
- cmd.add(dockerProperties.getImagesVolume());
- cmd.add("--entrypoint");
- cmd.add("python");
- cmd.add(dockerProperties.getImage());
- cmd.add("code/kamco_full_pipeline.py");
- cmd.add("--labelling-folder");
- cmd.add("request/" + resultUid);
- cmd.add("--output-folder");
- cmd.add("response/" + resultUid);
- cmd.add("--input_root");
- cmd.add(dockerProperties.getInputRoot());
- cmd.add("--output_root");
- cmd.add(dockerProperties.getOutputRoot());
- cmd.add("--patch_size");
- cmd.add(String.valueOf(dockerProperties.getPatchSize()));
- cmd.add("--overlap_pct");
- cmd.add(String.valueOf(dockerProperties.getOverlapPct()));
- cmd.add("--train_val_test_ratio");
- cmd.addAll(dockerProperties.getTrainValTestRatio());
- cmd.add("--keep_empty_ratio");
- cmd.add(String.valueOf(dockerProperties.getKeepEmptyRatio()));
- return cmd;
- }
-}
diff --git a/kamco-geojson-scheduler/src/main/resources/application-dev.yml b/kamco-geojson-scheduler/src/main/resources/application-dev.yml
deleted file mode 100644
index 9f7f5ea..0000000
--- a/kamco-geojson-scheduler/src/main/resources/application-dev.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://192.168.2.127:15432/kamco_cds
- username: kamco_cds
- password: kamco_cds_Q!W@E#R$
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/dataset
diff --git a/kamco-geojson-scheduler/src/main/resources/application-local.yml b/kamco-geojson-scheduler/src/main/resources/application-local.yml
deleted file mode 100644
index 7cc0acf..0000000
--- a/kamco-geojson-scheduler/src/main/resources/application-local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://localhost:5432/kamco_cds
- username: kamco_cds
- password: kamco_cds
-
-training-data:
- geojson-dir: /tmp/geojson
diff --git a/kamco-geojson-scheduler/src/main/resources/application-prod.yml b/kamco-geojson-scheduler/src/main/resources/application-prod.yml
deleted file mode 100644
index 707a18c..0000000
--- a/kamco-geojson-scheduler/src/main/resources/application-prod.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-spring:
- datasource:
- url: jdbc:postgresql://127.0.0.1:15432/kamco_cds
- username: kamco_cds
- password: kamco_cds_Q!W@E#R$
- hikari:
- minimum-idle: 2
- maximum-pool-size: 5
-
-training-data:
- geojson-dir: /kamco-nfs/dataset
diff --git a/kamco-geojson-scheduler/src/main/resources/application.yml b/kamco-geojson-scheduler/src/main/resources/application.yml
deleted file mode 100644
index c1f830a..0000000
--- a/kamco-geojson-scheduler/src/main/resources/application.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-spring:
- application:
- name: kamco-geojson-scheduler
- profiles:
- active: local
- datasource:
- driver-class-name: org.postgresql.Driver
- hikari:
- minimum-idle: 2
- maximum-pool-size: 2
- connection-timeout: 20000
- idle-timeout: 300000
- max-lifetime: 1800000
- batch:
- job:
- enabled: true
- initialize-schema: never
-
-training-data:
- docker:
- image: kamco-cd-dataset:latest
- user: "1000:1000"
- dataset-volume: /kamco-nfs/dataset:/dataset
- images-volume: /kamco-nfs/images:/kamco-nfs:ro
- input-root: /dataset
- output-root: /dataset
- patch-size: 512
- overlap-pct: 50
- train-val-test-ratio:
- - "0.7"
- - "0.2"
- - "0.1"
- keep-empty-ratio: 0.1
\ No newline at end of file