diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..bc7102f --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,114 @@ +pipeline +/* +Bit Inspector + +Requirements: + +Maven is Installed + +Java 21 is installed - variable JAVA_21_HOME is set + +*/ +{ + agent any + environment { + AAA = 'aaa' + } + stages + { + stage('Build') + { + steps { + + echo "*** Building ${env.JOB_NAME} ***" + sh ''' + #!/bin/bash + echo JOB_NAME=$JOB_NAME + + if [ -z "$JAVA_21_HOME" ] + then + echo "KO : Variable JAVA_21_HOME is empty. You fix this issue by adding this variable to configuration of Jenkins." + exit 1 + else + echo "OK : Variable JAVA_21_HOME is NOT empty" + fi + export JAVA_HOME=$JAVA_21_HOME + case $BRANCH_NAME in + + master | deploy_prod) + mvn clean install + ;; + + develop | jenkins | deploy_test) + echo Branch $BRANCH_NAME is supported. Continuing. + version=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout` + echo version=$version + case "$version" in + *"SNAPSHOT"*) echo echo version is OK ;; + * ) echo echo "You cannot build releases on Jenkins, only snapshots!"&&exit 1 ;; + esac + mvn clean deploy + ;; + + *) + echo Branch $BRANCH_NAME is not supported. A failure happened. Exiting. + exit 1 + ;; + esac + + echo "Build of $JOB_NAME was successful" + ''' + } + } + + stage('Deploy') + { + steps { + echo "*** Deploying ${env.JOB_NAME} ***" + + sh ''' + #!/bin/bash + + echo "Nothing to do" + exit + + case $BRANCH_NAME in + + master | deploy_prod) + echo Branch $BRANCH_NAME is supported. Continuing. + TOMCAT_HOME=$TOMCAT10_HOME + systemdService=tomcat10 + ;; + + develop | jenkins | deploy_test) + echo Branch $BRANCH_NAME is supported. Continuing. + TOMCAT_HOME=$TOMCAT10_TEST_HOME + systemdService=tomcat10test + ;; + + *) + echo Branch $BRANCH_NAME is not supported. A failure happened. Exiting. + exit 1 + ;; + esac + + ''' + + } + } + } + post { + always { + script { + env.color = "${currentBuild.currentResult == 'SUCCESS' ? 'green' : 'red'}" + } + + echo 'Sending e-mail.' + sh "printenv | sort" + emailext body: "${currentBuild.currentResult} - ${env.JOB_NAME} (#${env.BUILD_NUMBER})
", + recipientProviders: [[$class: 'DevelopersRecipientProvider'], [$class: 'RequesterRecipientProvider']], + subject: "Jenkins Build - ${currentBuild.currentResult} - $JOB_NAME (#$BUILD_NUMBER)" + + } + } +} diff --git a/pom.xml b/pom.xml index ca12fa9..6d9c2e6 100644 --- a/pom.xml +++ b/pom.xml @@ -40,8 +40,6 @@ UTF-8 true 2.0.1-SNAPSHOT - 19 - 19 0.1.1-SNAPSHOT @@ -112,7 +110,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.2.0 + ${build-helper-maven-plugin.version} add-resource diff --git a/src/main/java/org/nanoboot/bitinspector/commands/CheckCommand.java b/src/main/java/org/nanoboot/bitinspector/commands/CheckCommand.java index 58cb931..b6d8aee 100644 --- a/src/main/java/org/nanoboot/bitinspector/commands/CheckCommand.java +++ b/src/main/java/org/nanoboot/bitinspector/commands/CheckCommand.java @@ -40,7 +40,7 @@ import org.nanoboot.bitinspector.persistence.impl.sqlite.SqliteDatabaseMigration import org.nanoboot.dbmigration.core.main.MigrationResult; import org.nanoboot.powerframework.time.duration.Duration; import org.nanoboot.powerframework.time.moment.LocalDateTime; -import org.nanoboot.powerframework.time.utils.RemainingTimeCalculator; +import org.nanoboot.powerframework.time.utils.ProgressTracker; import org.nanoboot.powerframework.time.utils.TimeUnit; /** @@ -348,7 +348,7 @@ public class CheckCommand implements Command { List filesToUpdateLastCheckDate = new ArrayList<>(); int contentAndModTimeWereChanged = 0; - RemainingTimeCalculator rtc = new RemainingTimeCalculator(filesInDb.size() - filesToBeRemovedFromDb.size()); + ProgressTracker progressTracker = new ProgressTracker(filesInDb.size() - filesToBeRemovedFromDb.size()); for (FsFile fileInDb : filesInDb) { String absolutePathOfFileInDb = fileInDb.getAbsolutePath(); if (filesToBeRemovedFromDb.contains(fileInDb)) { @@ -356,12 +356,12 @@ public class CheckCommand implements Command { continue; } - rtc.nextDone(); + progressTracker.nextDone(); processedCount = processedCount + 1; if (processedCount % 100 == 0) { double progress = ((double) processedCount) / countOfFilesToCalculateHashSum * 100; LOG.info("Update - Progress: " + processedCount + "/" + countOfFilesToCalculateHashSum + " " + String.format("%,.2f", progress) + "%"); - LOG.info("Remains: " + Duration.of(rtc.getRemainingSecondsUntilEnd(), TimeUnit.SECOND).toHumanString()); + LOG.info("Remains: " + Duration.of(progressTracker.getRemainingSecondsUntilEnd(), TimeUnit.SECOND).toHumanString()); } File file = new File("./" + absolutePathOfFileInDb);