Skip to content
Permalink
Browse files

minor follow up and changelog for JENKINS-8383

  • Loading branch information
kutzi committed Sep 6, 2011
1 parent 9015b0b commit 38e5d115c9beece378082542c55ddbc5013caf57
Showing with 12 additions and 4 deletions.
  1. +3 −0 changelog.html
  2. +9 −4 maven-plugin/src/main/java/hudson/maven/reporters/MavenFingerprinter.java
@@ -67,6 +67,9 @@
Bundling <a href="https://wiki.jenkins-ci.org/display/JENKINS/Translation+Assistance+Plugin">the translation assistance plugin</a> in the hope of increasing the contribution.
<li class=rfe>
Introduce a fine-grained permission to control who is allowed to run the Groovy Console.
<li class=rfe>
Maven jobs should include fingerprints of their parent POMs
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-8383">issue 8383</a>)
</ul>
</div><!--=TRUNK-END=-->

@@ -81,7 +81,8 @@ public boolean preBuild(MavenBuildProxy build, MavenProject pom, BuildListener l
* Mojos perform different dependency resolution, so we need to check this for each mojo.
*/
public boolean postExecute(MavenBuildProxy build, MavenProject pom, MojoInfo mojo, BuildListener listener, Throwable error) throws InterruptedException, IOException {
recordParents(pom);
// TODO (kutzi, 2011/09/06): it should be perfectly save to move all these records to the
// postBuild method as artifacts should only be added by mojos, but never removed/modified.
record(pom.getArtifacts(),used);
record(pom.getArtifact(),produced);
record(pom.getAttachedArtifacts(),produced);
@@ -94,7 +95,11 @@ public boolean postExecute(MavenBuildProxy build, MavenProject pom, MojoInfo moj
* Sends the collected fingerprints over to the master and record them.
*/
public boolean postBuild(MavenBuildProxy build, MavenProject pom, BuildListener listener) throws InterruptedException, IOException {

recordParents(pom);

build.executeAsync(new BuildCallable<Void,IOException>() {
private static final long serialVersionUID = -1360161848504044869L;
// record is transient, so needs to make a copy first
private final Map<String,String> u = used;
private final Map<String,String> p = produced;
@@ -125,7 +130,7 @@ private void recordParents(MavenProject pom) throws IOException, InterruptedExce
while (parent != null) {
File parentFile = parent.getFile();
if (parentFile == null) {
// Parent Artifact contains no acual file, so we resolve against
// Parent artifact contains no actual file, so we resolve against
// the local repository
parentFile = parent.getProjectBuildingRequest()
.getLocalRepository().find(parent.getArtifact())
@@ -161,14 +166,14 @@ private void record(Artifact a, Map<String,String> record) throws IOException, I
* This method contains the logic to avoid doubly recording the fingerprint
* of the same file.
*/
private void record(String groupId, File f, Map<String, String> record) throws IOException, InterruptedException {
private void record(String fileNamePrefix, File f, Map<String, String> record) throws IOException, InterruptedException {
if(f==null || files.contains(f) || !f.isFile())
return;

// new file
files.add(f);
String digest = new FilePath(f).digest();
record.put(groupId+':'+f.getName(),digest);
record.put(fileNamePrefix+':'+f.getName(),digest);
}

@Extension

0 comments on commit 38e5d11

Please sign in to comment.
You can’t perform that action at this time.