You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2022/01/07 18:34:14 UTC
[jackrabbit-filevault] branch master updated: JCRVLT-580 parameterize Maven version
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git
The following commit(s) were added to refs/heads/master by this push:
new bac0646 JCRVLT-580 parameterize Maven version
bac0646 is described below
commit bac0646f74fd4c26deab1e618080c0dcdc716a88
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Jan 7 19:34:06 2022 +0100
JCRVLT-580 parameterize Maven version
retry deleting directories on Windows during ITs
---
Jenkinsfile | 6 +++++-
.../packaging/integration/IntegrationTestBase.java | 25 ++++++++++++++++++++--
2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index f320d2f..3bce96b 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -20,4 +20,8 @@
// use the shared library from https://github.com/apache/jackrabbit-filevault-jenkins-lib
library "filevault@master"
-fileVaultMavenStdBuild([11, 8, 17], 11, [ "ubuntu", "Windows"], "ubuntu", "apache_jackrabbit-filevault")
\ No newline at end of file
+vaultPipeline('ubuntu', 11, '3', {
+ vaultStageBuild(['ubuntu', 'Windows'], [8, 11, 17], ['3', '3.6.3'], 'apache_jackrabbit-filevault')
+ vaultStageDeploy()
+ }
+)
\ No newline at end of file
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
index 8e522bc..8feb266 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
@@ -109,6 +109,7 @@ import org.apache.jackrabbit.vault.packaging.impl.ActivityLog;
import org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl;
import org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage;
import org.apache.jackrabbit.vault.packaging.registry.impl.JcrPackageRegistry;
+import org.codehaus.plexus.util.Os;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -268,18 +269,38 @@ public class IntegrationTestBase {
return new DataStoreBlobStore(fds);
}
+ private static void deleteDirectory(File directory) throws IOException {
+ try {
+ FileUtils.deleteDirectory(directory);
+ } catch (IOException ioe) {
+ // retry after wait on Windows, as it may release file locks in a deferred manner
+ if (Os.isFamily(Os.FAMILY_WINDOWS)) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
+ IOException wrappedIOException = new IOException("Initially failed with IOException and waiting was interrupted", ioe);
+ wrappedIOException.addSuppressed(ie);
+ }
+ FileUtils.deleteDirectory(directory);
+ } else {
+ throw ioe;
+ }
+ }
+ }
+
@AfterClass
public static void shutdownRepository() throws IOException {
if (repository instanceof RepositoryImpl) {
((RepositoryImpl) repository).shutdown();
- FileUtils.deleteDirectory(DIR_JR2_REPO_HOME);
+ deleteDirectory(DIR_JR2_REPO_HOME);
} else if (repository instanceof org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl) {
((org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl) repository).shutdown();
if (fileStore != null) {
fileStore.close();
fileStore = null;
}
- FileUtils.deleteDirectory(DIR_OAK_REPO_HOME);
+ deleteDirectory(DIR_OAK_REPO_HOME);
}
repository = null;
}