提交 f43a450c 编写于 作者: J Jesse Glick

Replaced Fingerprinter.recordBuildArtifacts with ArtifactArchiver.fingerprint.

This is simpler: we do not need to inspect the configuration of the project.
上级 f6b43d08
......@@ -87,6 +87,7 @@ public class ArtifactArchiver extends Recorder {
*/
private boolean onlyIfSuccessful;
private boolean fingerprint;
/**
* Default ant exclusion
......@@ -159,6 +160,15 @@ public class ArtifactArchiver extends Recorder {
this.onlyIfSuccessful = onlyIfSuccessful;
}
public boolean isFingerprint() {
return fingerprint;
}
/** Whether to fingerprint the artifacts after we archive them. */
@DataBoundSetter public void setFingerprint(boolean fingerprint) {
this.fingerprint = fingerprint;
}
public boolean getAllowEmptyArchive() {
return allowEmptyArchive;
}
......@@ -208,6 +218,9 @@ public class ArtifactArchiver extends Recorder {
Map<String,String> files = ws.act(new ListFiles(artifacts, excludes, defaultExcludes));
if (!files.isEmpty()) {
build.pickArtifactManager().archive(ws, launcher, listener, files);
if (fingerprint) {
new Fingerprinter(artifacts).perform(build, launcher, listener);
}
} else {
Result result = build.getResult();
if (result != null && result.isBetterOrEqualTo(Result.UNSTABLE)) {
......@@ -302,11 +315,12 @@ public class ArtifactArchiver extends Recorder {
}
@Extension public static final class Migrator extends ItemListener {
@SuppressWarnings("deprecation")
@Override public void onLoaded() {
for (AbstractProject<?,?> p : Jenkins.getInstance().getAllItems(AbstractProject.class)) {
ArtifactArchiver aa = p.getPublishersList().get(ArtifactArchiver.class);
if (aa != null && aa.latestOnly != null) {
try {
try {
ArtifactArchiver aa = p.getPublishersList().get(ArtifactArchiver.class);
if (aa != null && aa.latestOnly != null) {
if (aa.latestOnly) {
BuildDiscarder bd = p.getBuildDiscarder();
if (bd instanceof LogRotator) {
......@@ -324,9 +338,17 @@ public class ArtifactArchiver extends Recorder {
}
aa.latestOnly = null;
p.save();
} catch (IOException x) {
LOG.log(Level.WARNING, "could not migrate " + p, x);
}
Fingerprinter f = p.getPublishersList().get(Fingerprinter.class);
if (f.getRecordBuildArtifacts()) {
f.recordBuildArtifacts = null;
if (aa != null) {
aa.setFingerprint(true);
}
p.save();
}
} catch (IOException x) {
LOG.log(Level.WARNING, "could not migrate " + p, x);
}
}
}
......
......@@ -87,14 +87,16 @@ public class Fingerprinter extends Recorder implements Serializable, DependencyD
*/
private final String targets;
/**
* Also record all the finger prints of the build artifacts.
*/
private final boolean recordBuildArtifacts;
@Deprecated
Boolean recordBuildArtifacts;
@DataBoundConstructor
public Fingerprinter(String targets, boolean recordBuildArtifacts) {
@DataBoundConstructor public Fingerprinter(String targets) {
this.targets = targets;
}
@Deprecated
public Fingerprinter(String targets, boolean recordBuildArtifacts) {
this(targets);
this.recordBuildArtifacts = recordBuildArtifacts;
}
......@@ -102,8 +104,9 @@ public class Fingerprinter extends Recorder implements Serializable, DependencyD
return targets;
}
@Deprecated
public boolean getRecordBuildArtifacts() {
return recordBuildArtifacts;
return recordBuildArtifacts != null && recordBuildArtifacts;
}
@Override
......@@ -119,18 +122,6 @@ public class Fingerprinter extends Recorder implements Serializable, DependencyD
record(build, listener, record, expandedTargets);
}
if(recordBuildArtifacts) {
ArtifactArchiver aa = build.getProject().getPublishersList().get(ArtifactArchiver.class);
if(aa==null) {
// configuration error
listener.error(Messages.Fingerprinter_NoArchiving());
build.setResult(Result.FAILURE);
return true;
}
String expandedArtifacts = environment.expand(aa.getArtifacts());
record(build, listener, record, expandedArtifacts);
}
FingerprintAction fingerprintAction = build.getAction(FingerprintAction.class);
if (fingerprintAction != null) {
fingerprintAction.add(record);
......
......@@ -36,6 +36,9 @@ THE SOFTWARE.
</f:entry>
<f:entry field="onlyIfSuccessful" >
<f:checkbox title="${%onlyIfSuccessful}"/>
</f:entry>
<f:entry field="fingerprint">
<f:checkbox title="${%Fingerprint all archived artifacts}"/>
</f:entry>
<f:entry field="defaultExcludes" >
<f:checkbox title="${%defaultExcludes}" default="true"/>
......
......@@ -22,3 +22,4 @@
Files\ to\ archive=Filer der skal arkiveres
Excludes=Ekskluderer
Fingerprint\ all\ archived\ artifacts=Tag filfingeraftryk af alle arkiverede artifakter
......@@ -22,3 +22,4 @@
Files\ to\ archive=Dateien, die archiviert werden sollen
Excludes=Ausschl\u00fcsse
Fingerprint\ all\ archived\ artifacts=Erzeuge Fingerabdr\u00fccke von allen archivierten Artefakten
......@@ -22,3 +22,4 @@
Excludes=Excluir
Files\ to\ archive=Ficheros para guardar
Fingerprint\ all\ archived\ artifacts=Almacenar la firmar de todos los ficheros generados
......@@ -25,3 +25,4 @@ Excludes=Exclusions
allowEmptyArchive=Ne pas faire \u00e9chouer la construction si l''archive retourn\u00e9e est vide
defaultExcludes=Utilise les exclusions par d\u00e9faut
onlyIfSuccessful=Archive les artifacts seulement si la construction est un succ\u00e8s
Fingerprint\ all\ archived\ artifacts=Marquer d''une empreinte num\u00e9rique tous les artefacts archiv\u00e9s
......@@ -22,4 +22,5 @@
Files\ to\ archive=\u4fdd\u5b58\u3059\u308b\u30d5\u30a1\u30a4\u30eb
Excludes=\u9664\u5916\u3059\u308b\u30d5\u30a1\u30a4\u30eb
allowEmptyArchive=\u6210\u679c\u7269\u304c\u4f55\u3082\u306a\u3044\u5834\u5408\u3067\u3082\u30d3\u30eb\u30c9\u3092\u5931\u6557\u306b\u3057\u306a\u3044
\ No newline at end of file
allowEmptyArchive=\u6210\u679c\u7269\u304c\u4f55\u3082\u306a\u3044\u5834\u5408\u3067\u3082\u30d3\u30eb\u30c9\u3092\u5931\u6557\u306b\u3057\u306a\u3044
Fingerprint\ all\ archived\ artifacts=\u4fdd\u5b58\u3055\u308c\u305f\u6210\u679c\u7269\u306e\u6307\u7d0b\u3092\u8a18\u9332
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc.
# Copyright 2014 Jesse Glick.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
......
......@@ -22,4 +22,4 @@
Files\ to\ archive=Arquivos para arquivar
Excludes=Exclus\u00f5es
Fingerprint\ all\ archived\ artifacts=Criar assinatura para todos os artefatos arquivados
......@@ -22,3 +22,4 @@
Files\ to\ archive=\u0424\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u0438
Excludes=\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f
Fingerprint\ all\ archived\ artifacts=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432
......@@ -22,4 +22,4 @@
Files\ to\ archive=Ar\u015fivlenecek dosyalar
Excludes=Harici tutulanlar
Fingerprint\ all\ archived\ artifacts=T\u00fcm ar\u015fivlenmi\u015f artefaktlar\u0131n parmakizini kaydet
......@@ -23,3 +23,4 @@
Files\ to\ archive=\u8981\u5c01\u5b58\u7684\u6a94\u6848
Excludes=\u6392\u9664
allowEmptyArchive=\u5c31\u7b97\u6c92\u6709\u5c01\u5b58\u5230\u4efb\u4f55\u6a94\u6848\uff0c\u4e5f\u4e0d\u8981\u5c07\u5efa\u7f6e\u7d50\u679c\u8996\u70ba\u5931\u6557
Fingerprint\ all\ archived\ artifacts=\u6309\u62bc\u6240\u6709\u5c01\u5b58\u7684\u6210\u54c1
......@@ -26,8 +26,4 @@ THE SOFTWARE.
<f:entry title="${%Files to fingerprint}" field="targets">
<f:textbox/>
</f:entry>
<f:entry title="">
<f:checkbox name="recordBuildArtifacts" checked="${instance.recordBuildArtifacts}"
title="${%Fingerprint all archived artifacts}"/>
</f:entry>
</j:jelly>
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Filer der skal tages filfingeraftryk af
Fingerprint\ all\ archived\ artifacts=Tag filfingeraftryk af alle arkiverede artifakter
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Dateien, von denen Fingerabdr\u00fccke erzeugt werden sollen
Fingerprint\ all\ archived\ artifacts=Erzeuge Fingerabdr\u00fccke von allen archivierten Artefakten
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Almacenar la firma de los ficheros:
Fingerprint\ all\ archived\ artifacts=Almacenar la firmar de todos los ficheros generados
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Fichiers \u00e0 marquer d''une empreinte num\u00e9rique
Fingerprint\ all\ archived\ artifacts=Marquer d''une empreinte num\u00e9rique tous les artefacts archiv\u00e9s
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=\u8a18\u9332\u3059\u308b\u30d5\u30a1\u30a4\u30eb
Fingerprint\ all\ archived\ artifacts=\u4fdd\u5b58\u3055\u308c\u305f\u6210\u679c\u7269\u306e\u6307\u7d0b\u3092\u8a18\u9332
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Arquivos para gerar assinatura
Fingerprint\ all\ archived\ artifacts=Criar assinatura para todos os artefatos arquivados
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=\u0424\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432
Fingerprint\ all\ archived\ artifacts=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u043e\u0432
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=Parmakizi kaydedilecek dosyalar
Fingerprint\ all\ archived\ artifacts=T\u00fcm ar\u015fivlenmi\u015f artefaktlar\u0131n parmakizini kaydet
......@@ -21,4 +21,3 @@
# THE SOFTWARE.
Files\ to\ fingerprint=\u8981\u6309\u62bc\u6307\u7d0b\u7684\u6a94\u6848
Fingerprint\ all\ archived\ artifacts=\u6309\u62bc\u6240\u6709\u5c01\u5b58\u7684\u6210\u54c1
......@@ -62,7 +62,6 @@ Fingerprinter.DigestFailed=Failed to compute digest for {0}
Fingerprinter.DisplayName=Record fingerprints of files to track usage
Fingerprinter.Failed=Failed to record fingerprints
Fingerprinter.FailedFor=failed to record fingerprint for {0}
Fingerprinter.NoArchiving=Build artifacts are supposed to be fingerprinted, but build artifact archiving is not configured
Fingerprinter.NoWorkspace=Unable to record fingerprints because there\u2019s no workspace
Fingerprinter.Recording=Recording fingerprints
......
......@@ -24,7 +24,6 @@ BuildTrigger.DisplayName=Byg andre projekter
JavadocArchiver.Publishing=Publicerer Javadoc
ArtifactArchiver.ARCHIVING_ARTIFACTS=Arkiverer artifakter
Maven.NotMavenDirectory={0} ligner ikke et Maven direktorie
Fingerprinter.NoArchiving=Der b\u00f8r opsamles filfingeraftryk p\u00e5 Byggeartifakter, men byggeartifakter er ikke sl\u00e5et til
Ant.NotADirectory={0} er ikke et direktorie
Fingerprinter.FailedFor=Kunne ikke opsamle filfingeraftryk for {0}
JavadocArchiver.DisplayName=Publicer Javadoc
......
......@@ -54,7 +54,6 @@ Fingerprinter.DigestFailed=Berechnung der Pr\u00fcfsumme f\u00fcr {0} fehlgeschl
Fingerprinter.DisplayName=Fingerabdr\u00fccke von Dateien aufzeichnen, um deren Verwendung zu verfolgen
Fingerprinter.Failed=Aufzeichnen der Fingerabdr\u00fccke fehlgeschlagen
Fingerprinter.FailedFor=Aufzeichnen des Fingerabdrucks f\u00fcr {0} fehlgeschlagen
Fingerprinter.NoArchiving=Die Fingerabdr\u00fccke von Build-Artefakten sollen aufgezeichnet werden, aber die Archivierung der Artefakte ist nicht konfiguriert.
Fingerprinter.NoWorkspace=Fingerabdr\u00fccke k\u00f6nnen nicht aufgezeichnet werden, weil der Arbeitsbereich fehlt.
Fingerprinter.Recording=Zeichne Fingerabr\u00fccke auf
......
......@@ -53,7 +53,6 @@ Fingerprinter.DigestFailed=Imposible de calcular la firma para {0}
Fingerprinter.DisplayName=Almacenar firma de ficheros para poder hacer seguimiento
Fingerprinter.Failed=Imposible de grabar firmas
Fingerprinter.FailedFor=fallo al grabar la firma de {0}
Fingerprinter.NoArchiving=Se supone que la produccion de artefactos debe ser firmada pero no est\u00e1 configurada la opci\u00f3n de guardar artefactos.
Fingerprinter.NoWorkspace=No se pueden guardar firmas porque no hay o no se ha creado el espacio de trabajo
Fingerprinter.Recording=Almacenando firmas
......
......@@ -55,7 +55,6 @@ Fingerprinter.DigestFailed=Impossible de calculer le r\u00e9sum\u00e9 pour {0}
Fingerprinter.DisplayName=Enregistrer les empreintes num\u00e9riques des fichiers pour en suivre l''utilisation
Fingerprinter.Failed=Impossible d''enregistrer les empreintes num\u00e9riques
Fingerprinter.FailedFor=Impossible d''enregistrer les empreintes num\u00e9riques pour {0}
Fingerprinter.NoArchiving=Les artefacts du build sont suppos\u00e9s recevoir une empreinte num\u00e9rique, mais l''archivage n''a pas \u00e9t\u00e9 activ\u00e9
Fingerprinter.NoWorkspace=Impossible d''enregistrer les empreintes num\u00e9riques, parce qu''il n''y a pas de r\u00e9pertoire de travail
Fingerprinter.Recording=Enregistrement des empreintes num\u00e9riques
......
......@@ -55,7 +55,6 @@ Fingerprinter.DigestFailed={0} \u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u3092\
Fingerprinter.DisplayName=\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u3092\u8a18\u9332\u3057\u3066\u30d5\u30a1\u30a4\u30eb\u306e\u5229\u7528\u72b6\u6cc1\u3092\u8ffd\u8de1
Fingerprinter.Failed=\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u306e\u8a18\u9332\u306b\u5931\u6557\u3057\u307e\u3057\u305f
Fingerprinter.FailedFor={0} \u306e\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u306e\u8a18\u9332\u306b\u5931\u6557\u3057\u307e\u3057\u305f
Fingerprinter.NoArchiving=\u6210\u679c\u7269\u306e\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u3092\u8a18\u9332\u3059\u308b\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u6210\u679c\u7269\u306e\u4fdd\u5b58\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
Fingerprinter.NoWorkspace=\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u304c\u306a\u3044\u306e\u3067\u3001\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u3092\u8a18\u9332\u3067\u304d\u307e\u305b\u3093
Fingerprinter.Recording=\u30d5\u30a1\u30a4\u30eb\u6307\u7d0b\u306e\u8a18\u9332
......
......@@ -52,7 +52,6 @@ Fingerprinter.DigestFailed=Kon de "digest" niet berekenen voor {0}
Fingerprinter.DisplayName=Leg de vingerafdrukken van bestanden vast om hun gebruik te volgen.
Fingerprinter.Failed=Kon de vingerafdrukken niet vastleggen.
Fingerprinter.FailedFor=Kon de vingerafdrukken niet vastleggen voor {0}
Fingerprinter.NoArchiving=Er dienen vingerafdrukken van de bouwartefacten genomen te worden, maar het archiveren van artefacten werd niet geconfigureerd!
Fingerprinter.NoWorkspace=Kon de vingerafdrukken niet vastleggen omdat er geen werkplaats is!
Fingerprinter.Recording=Vingerafdrukken vastleggen
......
......@@ -51,7 +51,6 @@ Fingerprinter.DigestFailed=Falhou ao computar resumo para {0}
Fingerprinter.DisplayName=Gravar fingerprints de arquivos para trilhar o uso
Fingerprinter.Failed=Falhou ao gravar fingerprints
Fingerprinter.FailedFor=Falhou ao gravar fingerprint para {0}
Fingerprinter.NoArchiving=Os artenfatos de builds devem ter o fingerprint marcado, mas o arquivamento de artefato de builds n\u00e3o est\u00e1 configurado
Fingerprinter.NoWorkspace=N\u00e3o foi poss\u00edvel gravar fingerprints porque n\u00e3o h\u00e1 nenhum workspace
Fingerprinter.Recording=Gravando fingerprints
......
......@@ -54,7 +54,6 @@ Fingerprinter.DigestFailed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u04
Fingerprinter.DisplayName=\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 (fingerprints) \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f
Fingerprinter.Failed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438
Fingerprinter.FailedFor=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 {0}
Fingerprinter.NoArchiving=\u0410\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u044b, \u043d\u043e \u0430\u0440\u0445\u0438\u0432\u0430\u0446\u0438\u044f \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430
Fingerprinter.NoWorkspace=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438, \u0442.\u043a. \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f
Fingerprinter.Recording=\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u044e \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u043a\u0438 (fingerprints)
......
......@@ -54,7 +54,6 @@ Fingerprinter.DigestFailed={0} i\u00e7in digest olu\u015fturma ba\u015far\u0131s
Fingerprinter.DisplayName=Takip ama\u00e7l\u0131 dosyalar\u0131n parmakizlerini kaydet
Fingerprinter.Failed=Parmakizi kayd\u0131 ba\u015far\u0131s\u0131z oldu
Fingerprinter.FailedFor={0} i\u00e7in parmakizi kayd\u0131 ba\u015far\u0131s\u0131z oldu
Fingerprinter.NoArchiving=Yap\u0131land\u0131rma artefaktlar\u0131n\u0131n parmakizlerinin al\u0131nmas\u0131 gerekirdi, fakat yap\u0131land\u0131rma artefaktlar\u0131 i\u00e7in bir ar\u015fivleme konfig\u00fcrasyonu yap\u0131lmam\u0131\u015f.
Fingerprinter.NoWorkspace=Herhangi bir \u00e7al\u0131\u015fma alan\u0131 olmad\u0131\u011f\u0131 i\u00e7in parmakzi kaydedilemiyor.
Fingerprinter.Recording=Parmakizi kaydediliyor
......
......@@ -58,7 +58,6 @@ Fingerprinter.DigestFailed=\u7121\u6cd5\u8a08\u7b97 {0} \u7684 Digest \u503c
Fingerprinter.DisplayName=\u8a18\u9304\u6a94\u6848\u6307\u7d0b\uff0c\u4ee5\u4fbf\u8ffd\u8e64\u4f7f\u7528\u72c0\u6cc1
Fingerprinter.Failed=\u7121\u6cd5\u8a18\u9304\u6307\u7d0b
Fingerprinter.FailedFor=\u7121\u6cd5\u8a18\u9304 {0} \u7684\u6307\u7d0b
Fingerprinter.NoArchiving=\u61c9\u8a72\u8981\u8a18\u9304\u5efa\u7f6e\u6210\u54c1\u7684\u6307\u7d0b\uff0c\u4f46\u662f\u6c92\u6709\u8a2d\u5b9a\u5c01\u5b58\u5efa\u7f6e\u6210\u54c1\u529f\u80fd
Fingerprinter.NoWorkspace=\u6c92\u6709\u5de5\u4f5c\u5340\uff0c\u7121\u6cd5\u8a18\u9304\u6307\u7d0b
Fingerprinter.Recording=\u8a18\u9304\u6307\u7d0b
......
......@@ -231,4 +231,20 @@ public class ArtifactArchiverTest {
assertTrue(xml, xml.contains("<artifactNumToKeep>1</artifactNumToKeep>"));
}
@LocalData
@Test public void fingerprintMigration() throws Exception {
FreeStyleProject p = j.jenkins.getItemByFullName("sample", FreeStyleProject.class);
assertNotNull(p);
String xml = p.getConfigFile().asString();
assertFalse(xml, xml.contains("<recordBuildArtifacts>"));
assertTrue(xml, xml.contains("<fingerprint>true</fingerprint>"));
ArtifactArchiver aa = p.getPublishersList().get(ArtifactArchiver.class);
assertTrue(aa.isFingerprint());
FreeStyleBuild b1 = j.buildAndAssertSuccess(p);
assertEquals(1, b1.getArtifacts().size());
Fingerprinter.FingerprintAction a = b1.getAction(Fingerprinter.FingerprintAction.class);
assertNotNull(a);
assertEquals("[stuff]", a.getFingerprints().keySet().toString());
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册