Browse Source

Bug 150271 "Allow multiple levels of LTW information" (make weaving/not weaving messages debug and add -debug to options for aop.xml)

tags/BEFORE_133532
mwebster 18 years ago
parent
commit
8549d861b1

+ 1
- 1
loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java View File

@@ -673,7 +673,7 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor {
private void defineClass(ClassLoader loader, String name, byte[] bytes) {
if (trace.isTraceEnabled()) trace.enter("defineClass",this,new Object[] {loader,name,bytes});
Object clazz = null;
info("generating class '" + name + "'");
debug("generating class '" + name + "'");
try {
//TODO av protection domain, and optimize

+ 4
- 0
loadtime/src/org/aspectj/weaver/loadtime/DefaultMessageHandler.java View File

@@ -21,6 +21,7 @@ import org.aspectj.bridge.AbortException;
public class DefaultMessageHandler implements IMessageHandler {

boolean isVerbose = false;
boolean isDebug = false;
boolean showWeaveInfo = false;
boolean showWarn = true;

@@ -43,6 +44,9 @@ public class DefaultMessageHandler implements IMessageHandler {
if (kind.isSameOrLessThan(IMessage.INFO)) {
return !isVerbose;
}
if (kind.isSameOrLessThan(IMessage.DEBUG)) {
return !isDebug;
}
return !showWarn;
}


+ 7
- 0
loadtime/src/org/aspectj/weaver/loadtime/Options.java View File

@@ -35,6 +35,7 @@ public class Options {
private final static String OPTION_noWarnNone = "-warn:none";
private final static String OPTION_proceedOnError = "-proceedOnError";
private final static String OPTION_verbose = "-verbose";
private final static String OPTION_debug = "-debug";
private final static String OPTION_reweavable = "-Xreweavable";//notReweavable is default for LTW
private final static String OPTION_noinline = "-Xnoinline";
private final static String OPTION_addSerialVersionUID = "-XaddSerialVersionUID";
@@ -106,6 +107,8 @@ public class Options {
weaverOption.optionalJoinpoints = arg.substring(OPTIONVALUED_joinpoints.length()).trim();
} else if (arg.equalsIgnoreCase(OPTION_verbose)) {
weaverOption.verbose = true;
} else if (arg.equalsIgnoreCase(OPTION_debug)) {
weaverOption.debug = true;
} else if (arg.equalsIgnoreCase(OPTION_pinpoint)) {
weaverOption.pinpoint = true;
} else if (arg.startsWith(OPTIONVALUED_messageHandler)) {
@@ -141,6 +144,9 @@ public class Options {
if (weaverOption.verbose) {
weaverOption.messageHandler.dontIgnore(IMessage.INFO);
}
if (weaverOption.debug) {
weaverOption.messageHandler.dontIgnore(IMessage.DEBUG);
}
if (weaverOption.showWeaveInfo) {
weaverOption.messageHandler.dontIgnore(IMessage.WEAVEINFO);
}
@@ -156,6 +162,7 @@ public class Options {
boolean noWarn;
boolean proceedOnError;
boolean verbose;
boolean debug;
boolean notReWeavable = true;//default to notReweavable for LTW (faster)
boolean noInline;
boolean addSerialVersionUID;

+ 4
- 4
tests/java5/ataspectj/ajc-ant.xml View File

@@ -1,11 +1,13 @@
<!-- ajc-ant script, not to be used from Ant commant line - see AntSpec -->
<project name="ltw" default="javac.ltw">
<project name="ltw" default="RunThemAllWithJavacCompiledAndLTW">

<!-- using this we can debug the forked VM -->
<property
name="jdwp"
value="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/>

<target name="RunThemAllWithJavacCompiledAndLTW" depends="compile:javac, ltw"/>

<target name="compile:javac">
<!-- compile only javac compilable stuff, exclude the one that needs other dependencies -->
<javac destdir="${aj.sandbox}" classpathref="aj.path"
@@ -68,8 +70,6 @@
</java>
</target>

<target name="javac.ltw" depends="compile:javac, ltw"/>

<target name="ltw.Aspect2MainTest">
<!-- javac Aspect2 -->
<javac destdir="${aj.sandbox}" classpathref="aj.path"
@@ -168,7 +168,7 @@
</java>
</target>

<target name="ltw.oldAspectsDeclared">
<target name="Compile time aspects declared to ltw weaver">
<!--Aspects woven at compile time must be declared in an aop.xml file.
If they are not declared, then they will be lost during reweaving-->


+ 3
- 3
tests/java5/ataspectj/ataspectj/TestHelper.java View File

@@ -57,9 +57,9 @@ public class TestHelper extends DefaultMessageHandler {

public boolean handleMessage(IMessage message) throws AbortException {
boolean ret = super.handleMessage(message);
if (message.getKind().isSameOrLessThan(IMessage.INFO)) {
;
} else {
if (message.getKind().isSameOrLessThan(IMessage.INFO));
if (message.getKind().isSameOrLessThan(IMessage.DEBUG));
else {
// we do exit here since Assert.fail will only trigger a runtime exception that might
// be catched by the weaver anyway
System.err.println("*** Exiting - got a warning/fail/error/abort IMessage");

+ 1
- 1
tests/java5/ataspectj/ataspectj/aop-dumpbeforeandafter.xml View File

@@ -3,7 +3,7 @@
<aspects>
<aspect name="ataspectj.EmptyAspect"/>
</aspects>
<weaver options="-XlazyTjp -verbose">
<weaver options="-XlazyTjp -verbose -debug">
<dump within="com.foo.bar..*" beforeandafter="true"/>
<include within="com.foo..*"/>
<exclude within="com.foo.bar..*CGLIB*"/>

+ 1
- 1
tests/java5/ataspectj/ataspectj/ltwlog/aop-verbose.xml View File

@@ -1,5 +1,5 @@
<aspectj>
<weaver options="-verbose"/>
<weaver options="-verbose -debug"/>
<aspects>
<aspect name="ataspectj.ltwlog.Aspect1"/>
</aspects>

+ 1
- 1
tests/java5/ataspectj/ataspectj/ltwlog/aop-verboseandshow.xml View File

@@ -1,5 +1,5 @@
<aspectj>
<weaver options="-showWeaveInfo -verbose"/>
<weaver options="-showWeaveInfo -verbose -debug"/>
<aspects>
<aspect name="ataspectj.ltwlog.Aspect1"/>
</aspects>

+ 1
- 1
tests/ltw/aop-defineaspect.xml View File

@@ -4,6 +4,6 @@
<pointcut name="scope" expression="within(Main)"/>
</concrete-aspect>
</aspects>
<weaver options="-verbose"/>
<weaver options="-verbose -debug"/>
</aspectj>

+ 1
- 1
tests/ltw/aop-emptytests.xml View File

@@ -2,7 +2,7 @@
<aspects>
<aspect name="EmptyAspect"/>
</aspects>
<weaver options="-verbose">
<weaver options="-verbose -debug">
<include within="*1"/>
</weaver>
</aspectj>

+ 1
- 1
tests/ltw/aop-nomatch.xml View File

@@ -3,5 +3,5 @@
<aspect name="Aspect3"/>
</aspects>
<weaver options="-verbose -showWeaveInfo"/>
<weaver options="-verbose -debug -showWeaveInfo"/>
</aspectj>

+ 1
- 1
tests/ltw/aop-nomatchxlint.xml View File

@@ -3,5 +3,5 @@
<aspect name="Aspect3"/>
</aspects>
<weaver options="-verbose -showWeaveInfo -Xlint:warning"/>
<weaver options="-verbose -debug -showWeaveInfo -Xlint:warning"/>
</aspectj>

+ 1
- 1
tests/ltw/aop-nomatchxlintfile.xml View File

@@ -3,5 +3,5 @@
<aspect name="Aspect3"/>
</aspects>
<weaver options="-verbose -showWeaveInfo -Xlintfile:Xlint-nomatch.properties"/>
<weaver options="-verbose -debug -showWeaveInfo -Xlintfile:Xlint-nomatch.properties"/>
</aspectj>

+ 8
- 8
tests/src/org/aspectj/systemtest/ajc150/ataspectj/ltw.xml View File

@@ -2,7 +2,7 @@
<suite>

<ajc-test dir="java5/ataspectj" title="RunThemAllWithJavacCompiledAndLTW">
<ant file="ajc-ant.xml" target="javac.ltw" verbose="true"/>
<ant file="ajc-ant.xml" target="RunThemAllWithJavacCompiledAndLTW" verbose="true"/>
</ajc-test>

<ajc-test dir="java5/ataspectj" title="AjcLTW PerClauseTest -XterminateAfterCompilation">
@@ -113,8 +113,8 @@
<line text="info register classloader"/>
<line text="info using"/>
<line text="info register aspect ataspectj.EmptyAspect"/>
<line text="info not weaving 'com.foo.bar.Test$$EnhancerByCGLIB$$12345'"/>
<line text="info weaving 'com.foo.bar.Test'"/>
<line text="debug not weaving 'com.foo.bar.Test$$EnhancerByCGLIB$$12345'"/>
<line text="debug weaving 'com.foo.bar.Test'"/>
</stderr>
</run>
</ajc-test>
@@ -182,8 +182,8 @@
<line text="info register classloader"/>
<line text="info using"/>
<line text="info register aspect ataspectj.ltwlog.Aspect1"/>
<line text="info weaving 'ataspectj.ltwlog.Main'"/>
<line text="info weaving 'ataspectj.ltwlog.Aspect1'"/>
<line text="debug weaving 'ataspectj.ltwlog.Main'"/>
<line text="debug weaving 'ataspectj.ltwlog.Aspect1'"/>
</stderr>
</run>
</ajc-test>
@@ -207,9 +207,9 @@
<line text="info register classloader"/>
<line text="info using"/>
<line text="info register aspect ataspectj.ltwlog.Aspect1"/>
<line text="info weaving 'ataspectj.ltwlog.Main'"/>
<line text="debug weaving 'ataspectj.ltwlog.Main'"/>
<line text="weaveinfo Join point 'method-execution(void ataspectj.ltwlog.Main.target())' in Type 'ataspectj.ltwlog.Main' (Main.java:22) advised by before advice from 'ataspectj.ltwlog.Aspect1' (Aspect1.java)"/>
<line text="info weaving 'ataspectj.ltwlog.Aspect1'"/>
<line text="debug weaving 'ataspectj.ltwlog.Aspect1'"/>
</stderr>
</run>
</ajc-test>
@@ -264,7 +264,7 @@
files="ataspectj/ltwlog/MessageHolder.java,ataspectj/ltwreweavable/MainReweavableLogging.java,ataspectj/ltwreweavable/AspectReweavableLogging.java,ataspectj/ltwreweavable/Advisable.java,ataspectj/ltwreweavable/EmptyAtAspect.java"
options="-1.5"
outjar="main1.jar"/>
<ant file="ajc-ant.xml" target="ltw.oldAspectsDeclared" verbose="true"/>
<ant file="ajc-ant.xml" target="Compile time aspects declared to ltw weaver" verbose="true"/>
</ajc-test>

<ajc-test dir="java5/ataspectj" title="Concrete@Aspect">

+ 8
- 8
tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml View File

@@ -6,7 +6,7 @@
<compile
files="Main.java, Aspect1.aj"
outjar="main1.jar"
options="-showWeaveInfo"
options="-showWeaveInfo -verbose"
>
<message kind="weave" text="method-execution(void Main.test1())' in Type 'Main' (Main.java:17) advised by before advice from 'Aspect1' (Aspect1.aj:16)"/>
</compile>
@@ -14,7 +14,7 @@
classpath="main1.jar"
files="Aspect2.aj"
outjar="aspect2.jar"
options="-showWeaveInfo"
options="-showWeaveInfo -verbose"
>
</compile>
<run class="Main" ltw="aop-ltwreweavable.xml">
@@ -227,8 +227,8 @@
<line text="info AspectJ Weaver Version"/>
<line text="info register classloader"/>
<line text="info using"/>
<line text="info generating class 'ConcreteAspect'"/>
<line text="info weaving 'Main'"/>
<line text="debug generating class 'ConcreteAspect'"/>
<line text="debug weaving 'Main'"/>
<line text="AbstractSuperAspect.before_test1"/>
</stderr>
</run>
@@ -396,7 +396,7 @@
<line text="info register classloader"/>
<line text="info using"/>
<line text="info register aspect Aspect3"/>
<line text="info weaving 'Main'"/>
<line text="debug weaving 'Main'"/>
</stderr>
</run>
</ajc-test>
@@ -419,7 +419,7 @@
<line text="info using"/>
<line text="info register aspect Aspect3"/>
<line text="can not build thisJoinPoint lazily for this advice"/>
<line text="info weaving 'Main'"/>
<line text="debug weaving 'Main'"/>
</stderr>
</run>
</ajc-test>
@@ -442,7 +442,7 @@
<line text="info using"/>
<line text="info register aspect Aspect3"/>
<line text="can not build thisJoinPoint lazily for this advice"/>
<line text="info weaving 'Main'"/>
<line text="debug weaving 'Main'"/>
</stderr>
</run>
</ajc-test>
@@ -465,7 +465,7 @@
<line text="info using"/>
<line text="info register aspect Aspect3"/>
<line text="can not build thisJoinPoint lazily for this advice"/>
<line text="info weaving 'Main'"/>
<line text="debug weaving 'Main'"/>
</stderr>
</run>
</ajc-test>

+ 2
- 2
tests/src/org/aspectj/systemtest/ajc152/ajc152.xml View File

@@ -703,8 +703,8 @@
<line text="info register classloader org.aspectj.weaver.loadtime.WeavingURLClassLoader"/>
<line text="info using configuration"/>
<line text="info register aspect EmptyAspect"/>
<line text="info weaving"/>
<line text="info not weaving"/>
<line text="debug weaving"/>
<line text="debug not weaving"/>
</stderr>
</run>
</ajc-test>

+ 9
- 4
weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java View File

@@ -233,17 +233,17 @@ public class WeavingAdaptor implements IMessageContext {
// a valid aspectOf()/hasAspect() generated in them. However - if they are excluded
// (via include/exclude in aop.xml) they really should only get aspectOf()/hasAspect()
// and not be included in the full set of aspects being applied by 'this' weaver
info("weaving '" + name + "'");
debug("weaving '" + name + "'");
bytes = getWovenBytes(name, bytes);
} else if (shouldWeaveAnnotationStyleAspect(name, bytes)) {
// an @AspectJ aspect needs to be at least munged by the aspectOf munger
info("weaving '" + name + "'");
debug("weaving '" + name + "'");
bytes = getAtAspectJAspectBytes(name, bytes);
} else {
info("not weaving '" + name + "'");
debug("not weaving '" + name + "'");
}
} else {
info("cannot weave '" + name + "'");
debug("cannot weave '" + name + "'");
}
if (trace.isTraceEnabled()) trace.exit("weaveClass",bytes);
@@ -392,6 +392,10 @@ public class WeavingAdaptor implements IMessageContext {
return ret;
}
protected boolean debug (String message) {
return MessageUtil.debug(messageHandler,message);
}
protected boolean info (String message) {
return MessageUtil.info(messageHandler,message);
}
@@ -542,6 +546,7 @@ public class WeavingAdaptor implements IMessageContext {
super(writer,true);
ignore(IMessage.WEAVEINFO);
ignore(IMessage.DEBUG);
ignore(IMessage.INFO);
this.failKind = IMessage.ERROR;
}

Loading…
Cancel
Save