1 package org.apache.maven.artifact.ant;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.tools.ant.BuildException;
23 import org.apache.tools.ant.Project;
24 import org.apache.tools.ant.Task;
25
26
27
28
29
30
31
32 public class ClassLoaderTask
33 extends Task
34 {
35 private String set;
36
37 private String check;
38
39 public String getSet()
40 {
41 return set;
42 }
43
44 public void setSet( String set )
45 {
46 this.set = set;
47 }
48
49 public String getCheck()
50 {
51 return check;
52 }
53
54 public void setCheck( String check )
55 {
56 this.check = check;
57 }
58
59 public void execute()
60 {
61 if ( set != null )
62 {
63 getProject().addReference( set, Thread.currentThread().getContextClassLoader() );
64 log( "context classloader stored in " + set, Project.MSG_INFO );
65 }
66
67 if ( check != null )
68 {
69 ClassLoader classLoader = (ClassLoader) getProject().getReference( check );
70 ClassLoader found = Thread.currentThread().getContextClassLoader();
71
72 if ( classLoader != found )
73 {
74 throw new BuildException( "found bad context classloader: " + found + " instead of " + classLoader );
75 }
76
77 log( "context classloader " + check + " correctly switched back", Project.MSG_INFO );
78 }
79 }
80 }