@Override public void perform(Run<?,?> build, FilePath workspace, Launcher launcher, TaskListener listener) throws InterruptedException { try { listener.getLogger().println(Messages.Fingerprinter_Recording()); Map<String,String> record = new HashMap<String,String>(); EnvVars environment = build.getEnvironment(listener); if(targets.length()!=0) { String expandedTargets = environment.expand(targets); record(build, workspace, listener, record, expandedTargets); } FingerprintAction fingerprintAction = build.getAction(FingerprintAction.class); if (fingerprintAction != null) { fingerprintAction.add(record); } else { build.addAction(new FingerprintAction(build,record)); } if (enableFingerprintsInDependencyGraph) { Jenkins.getInstance().rebuildDependencyGraphAsync(); } } catch (IOException e) { Functions.printStackTrace(e, listener.error(Messages.Fingerprinter_Failed())); build.setResult(Result.FAILURE); } // failing to record fingerprints is an error but not fatal }
public Void call(MavenBuild build) throws IOException, InterruptedException { FingerprintMap map = Jenkins.getInstance().getFingerprintMap(); for (Entry<String, String> e : p.entrySet()) map.getOrCreate(build, e.getKey(), e.getValue()).add(build); for (Entry<String, String> e : u.entrySet()) map.getOrCreate(null, e.getKey(), e.getValue()).add(build); Map<String,String> all = new HashMap<String, String>(u); all.putAll(p); // add action FingerprintAction fa = build.getAction(FingerprintAction.class); if (fa!=null) fa.add(all); else build.getActions().add(new FingerprintAction(build,all)); return null; } }
/** * Creates {@link FingerprintAction} for {@link MavenModuleSetBuild} * by aggregating all fingerprints from module builds. */ public static void aggregate(MavenModuleSetBuild mmsb) throws IOException { Map<String,String> records = new HashMap<String, String>(); for (List<MavenBuild> builds : mmsb.getModuleBuilds().values()) { for (MavenBuild build : builds) { FingerprintAction fa = build.getAction(FingerprintAction.class); if(fa!=null) records.putAll(fa.getRecords()); } } if(!records.isEmpty()) { FingerprintMap map = Hudson.getInstance().getFingerprintMap(); for (Entry<String, String> e : records.entrySet()) map.getOrCreate(null, e.getKey(), e.getValue()).add(mmsb); mmsb.addAction(new FingerprintAction(mmsb,records)); } }
run.addAction(new Fingerprinter.FingerprintAction(run, artifactsToFingerPrint)); } else { fingerprintAction.add(artifactsToFingerPrint);
run.addAction(new Fingerprinter.FingerprintAction(run, artifactsToFingerPrint)); } else { fingerprintAction.add(artifactsToFingerPrint);
build.getActions().add(new FingerprintAction(build,record));
fa.add(fingerprintsShallow); } else { r.addAction(new Fingerprinter.FingerprintAction(r, fingerprintsShallow));
else r.getActions().add(new FingerprintAction(r, fingerprints));
@Override public void perform(Run<?,?> build, FilePath workspace, Launcher launcher, TaskListener listener) throws InterruptedException { try { listener.getLogger().println(Messages.Fingerprinter_Recording()); Map<String,String> record = new HashMap<String,String>(); EnvVars environment = build.getEnvironment(listener); if(targets.length()!=0) { String expandedTargets = environment.expand(targets); record(build, workspace, listener, record, expandedTargets); } FingerprintAction fingerprintAction = build.getAction(FingerprintAction.class); if (fingerprintAction != null) { fingerprintAction.add(record); } else { build.addAction(new FingerprintAction(build,record)); } if (enableFingerprintsInDependencyGraph) { Jenkins.getInstance().rebuildDependencyGraphAsync(); } } catch (IOException e) { Functions.printStackTrace(e, listener.error(Messages.Fingerprinter_Failed())); build.setResult(Result.FAILURE); } // failing to record fingerprints is an error but not fatal }
/** * Adds the record to a {@link FingerprintAction} corresponding to the build. * * Safely consolidates multiple sources of records (e.g. from different post build actions) into a single * {@link FingerprintAction}. * * @param build to add the FingerprintAction and records to * @param record to add * * @since 2.1.0 */ public static void add(final AbstractBuild build, final Map<String, String> record) { checkNotNull(build); checkNotNull(record); FingerprintAction action = build.getAction(FingerprintAction.class); if(action != null) { action.add(record); } else { build.addAction(new FingerprintAction(build,record)); } }
/** * Adds the record to a {@link FingerprintAction} corresponding to the * build. * * Safely consolidates multiple sources of records (e.g. from different * post build actions) into a single {@link FingerprintAction}. * * @param build to add the FingerprintAction and records to * @param record to add * * @since 2.1.0 */ public static void add(final AbstractBuild build, final Map<String, String> record) { checkNotNull(build); checkNotNull(record); FingerprintAction action = build.getAction(FingerprintAction.class); if (action != null) { action.add(record); } else { build.addAction(new FingerprintAction(build, record)); } }
/** * Creates {@link FingerprintAction} for {@link MavenModuleSetBuild} * by aggregating all fingerprints from module builds. */ public static void aggregate(MavenModuleSetBuild mmsb) throws IOException { Map<String,String> records = new HashMap<>(); for (List<MavenBuild> builds : mmsb.getModuleBuilds().values()) { for (MavenBuild build : builds) { FingerprintAction fa = build.getAction(FingerprintAction.class); if(fa!=null) records.putAll(fa.getRecords()); } } if(!records.isEmpty()) { FingerprintMap map = Jenkins.getInstance().getFingerprintMap(); for (Entry<String, String> e : records.entrySet()) map.getOrCreate(null, e.getKey(), e.getValue()).add(mmsb); mmsb.addAction(new FingerprintAction(mmsb,records)); } }
/** * Adds the record to a {@link FingerprintAction} corresponding to the build. * * Safely consolidates multiple sources of records (e.g. from different post build actions) into a single * {@link FingerprintAction}. * * @param build to add the FingerprintAction and records to * @param record to add * * @since 2.1.0 */ public static void add(final AbstractBuild build, final Map<String, String> record) { checkNotNull(build); checkNotNull(record); FingerprintAction action = build.getAction(FingerprintAction.class); if(action != null) { action.add(record); } else { build.addAction(new FingerprintAction(build,record)); } }
/** * Adds the record to a {@link FingerprintAction} corresponding to the build. * * Safely consolidates multiple sources of records (e.g. from different post build actions) into a single * {@link FingerprintAction}. * * @param build to add the FingerprintAction and records to * @param record to add * * @since 2.1.0 */ public static void add(final AbstractBuild build, final Map<String, String> record) { checkNotNull(build); checkNotNull(record); FingerprintAction action = build.getAction(FingerprintAction.class); if(action != null) { action.add(record); } else { build.addAction(new FingerprintAction(build,record)); } }
@Override public void end() { // add action for (Run r : new Run[]{src,dst}) { if (r == null) continue; if (fingerprints.size() > 0) { FingerprintAction fa = r.getAction(FingerprintAction.class); if (fa != null) fa.add(fingerprints); else r.getActions().add(new FingerprintAction(r, fingerprints)); } } }